潘超:摩根大通背后的清算体系与区块链网络

潘超:摩根大通背后的清算体系与区块链网络

演讲者:Maker Dao中国区负责人 潘超

编辑:氢3

摩根大通发行稳定币一事,在圈内引发了广泛的讨论,其中又以Maker Dao经济研究员兼中国区负责人潘超的《JPM Coin三部曲》讨论得最为详细深远。近日我们有幸邀请到潘超做客碳链价值的「碳话」线下沙龙。在这场沙龙中,潘超分析了摩根大通的稳定币和我们常见的稳定币(如USDT)有什么不同、摩根大通可能会采取怎样的共识机制,其主要追求的是哪些性能等问题。以下为碳链价值整理的演讲全文:

01 

摩根币的诞生

摩根币是什么?最简单的说,一个摩根币等于1美元,看起来和普通的稳定币一样。但是他们面向的并不是同样的一个市场。USDT、USDC、GUSD 属于零售性的稳定币,一般用户可以使用,投资者也可以在交易所上买到,做日常的交易,或者与法币交换等等。但摩根币的对象不是普通用户,而是批发性的银行。普通人接触不到,也不会有任何交易所能够上这个币。摩根币是用于实时大额资金结算,可以叫做清算凭证。 

摩根大通的成员银行把美元存在一个指定账户里,会按照1:1生成摩根币。之后可以将摩根币返还回去,获得一对一的美元。这看起来和USDT的生成与赎回一样,其实不然。如我刚刚所言,摩根币是用于实时大额资金结算。

为什么大额实时资金结算需要一个这样的东西?首先需要先了解资金是怎么在银行之间转移的。

-只有一个银行的时候,假设两人之间发生一笔10块钱的交易,那么直接记录Alice减少10块钱,Bob增加10块钱。

潘超:摩根大通背后的清算体系与区块链网络

-如果有两个银行的时候,比如说我在工行,你在建行的话,如果说我想付给你十块钱,我需要告诉工行说,说我要给你转十块钱。工行必须跟建行去达成一个协议,建立一个关系账户,在这个关系账户当中,工行和建行事先都在这一个账户当中先存一点钱,双方发生交易的时候,不用在双方之间进行一个结算,而直接在这个银行层面就可以进行结算就可以了。

潘超:摩根大通背后的清算体系与区块链网络

但是这样的模式也会产生问题。只有两个银行时,关系账户还是比较方便,但是如果银行的数量增加了,一个国家可能有成千上万个银行,那么如果每两个银行之间都要建立这样的一个账户的话,它会是一个指数关系。

那么怎样解决这样一个问题?在清结算当中有两种模式,一种叫做实时大额结算,同时还有一个叫延迟结算。对于延时结算而言,不同的银行只负责记账,不需要马上进行结算。只需要去记,比如说A欠B多少钱,B欠了C多少钱,然后在一天结束的时候看一下净额就行了。比如我们在使用微信进行一个支付的时候,它只是一个支付环节,要等到一段时间的周期后才会最终在银行层面进行结算。

潘超:摩根大通背后的清算体系与区块链网络

但是延迟结算存在一个问题。延迟结算中交易可以进行撤回。如果对方支付一笔非常大金额,往往需要实时结算,也就是交易的最终性。因为负担不起资金撤销带来的成本。银行也存在破产的风险,不能在每个银行都放置一个关系账户。

有一个解决方式,这种办法就是回到最初的银行世界,依靠一个非常大的公共账本。这个账本所做的事情就是负责大额的实时结算,这是为什么会存在中央银行的原因之一。中央银行作为一个权威,所有人都会相信这个账本。摩根大通最早在美国就起到央行的作用,这也解释了为什么摩根币会出现。涉及到大额支付的时候,银行A跟银行B把摩根大通网络当做一个大池子,银行A跟银行B都可以将自己的存款放在大池子中,然后会生成一个 1:1 的摩根币用于即时结算。

潘超:摩根大通背后的清算体系与区块链网络

02 

摩根币的诞生摩根币的区块链上有何不同?

那么为什么这个网络需要基于区块链呢?

摩根大通使用区块链的原因并非因为透明性、去中心化等原因,传统公链的特性对于摩根大通而言,反而是 Bug。

那么对于传统金融机构而言,所需要的区块链账本有什么特征呢?

第一点是隐私性。金融机构之间需要高度隐私性。不能把所有的账本全部都公开给大众,否则会导致挤兑风险以及流动性风险。同时银行也不希望让对手银行看见自己账户上的情况,并且还要保护用户本身的财产信息。这一点在公链尤其是以太坊网络,基本没法实现的,因为只要打开任何以太坊浏览器,就可以看到账户所有的信息,余额多少、每一笔交易的对象。传统金融机构如果用区块链研发,必须要解决隐私性问题。

第二点是需要高性能的区块链,虽然大额的资金转账对时间要求并不是那么迫切,但是现在每秒处理几个交易的公链,很难是满足全国性,或者大规模的金融应用。

第三点是最终性。最终性是说这笔交易从我账户发给你,那么我就没法对这个交易进行更改,就像现金一样。我把一百块钱给到你,你拿走这一百块钱,就代表交易结束。而不是可以撤回的交易,比如在微信转账和 Paypal 交易中,是可以撤回的。很多区块链并没有最终性,因为会出现分叉的概率。以太坊 The DAO 事件受到攻击的时候,就进行了一个分叉和回滚,黑客攻击那部分和之后的交易不被承认,而传统金融机构无法接受这件事。

03 

Quorum是什么?摩根币采用什么共识?

摩根大通银行选择的区块链是什么?摩根大通选择的是Quorum。

Quorum 可以说是以太坊的一个克隆,是一个准入系统,更类似一个联盟链。Quorum 通过链上加链下实现隐私保护,同时可以灵活的支持多种的共识机制,相对来说也具有高性能和高速度。并且抗分叉,能够实现交易最终性。

Quorum 根据以太坊客户端 Geth 进行更新。这也就意味着以太坊上使用的合约可以直接移植到 Quorum 上,包括一些开发协议(Truffle),都可以直接部署。以太坊是目前而言最健全的公链,同时也经历了多年的攻击以及抗攻击,可以说是 Bulletproofed。

那么 Quorum 和以太坊有什么区别呢?

首先在交易上有区别,一笔交易在Quorum上可以选择公开交易或者私人交易。对于公开交易来说,这笔交易是在Quorum主链上完成的。在这个主链上的节点都可以看到交易的信息,如账户的余额、发起方是谁、接收方是谁,和以太坊的逻辑上是一致的。如果选择私人交易的话,就会拿到链下,使用独立的服务器。

Quorum 主链上只存储加密后数据的哈希值,而私有交易的数据将存储在链下,通过管理理引擎(Tessera 和 Constellation)在节点共享。只有交易的相关方(以及监管部门)才能看到交易的细节,非相关方无法获取交易细节。

潘超:摩根大通背后的清算体系与区块链网络

但是这也会有一些问题,可能会出现单点故障,以及一些细节上的问题,包括监管层面。比如央行或者一个监管机构,一开始并不在这个私有列表里,但他突然觉得这笔交易存在问题,想去检查这笔交易。但是因为没法将账户直接加进来,所以没法看到之前的交易信息,这从监管层面而言不是很理想。对于摩根大通这种传统机构,他首先想到的便是监管友好。同时,这种方案无法靠区块链上的共识机制解决双花问题。

Quorum 与 Zcash 团队合作,提供了一种链上的隐私方案,连接私有合约以及主链。合约的商业逻辑在私有合约内部达成一致,然后在主链上进行清算,并以零知识证明的方式使用 z-token 作为保护隐私的桥梁。z-contract 合约会生成与主链资产 1:1 的代币资产 z-tokens。z-contract 也在主链上运行,只是其资产是隐蔽资产 (Shielded Assets) 可以隐藏交易信息(发送方、接收方、资产数量量等)。

潘超:摩根大通背后的清算体系与区块链网络

Quorum 既没有采用PoW也没有采用PoS,因为PoW和PoS都属于Nakamoto Consensus,任何人都可以随时加入和退出节点,这种共识机制通过节点之间某种公平的“投票”选择记账人。由于节点没有身份,可以自由地创造,相互不信任,因此投票资源必须是稀缺的。在PoW机制下,缺资源是物理算力,而在PoS下,这种资源是经济权益。无需准入带来了去中心化的制衡,但节点之间的“竞争”记账不可避免地牺牲了速度与效率。

而且对于一个联盟链或者私有平台、金融机构来说,是不允许任何人都可以到公链作为一个节点来记账的,所以 Quorum 不会使用 Nakamoto Consensus 全局共识机制。

为了解决这些问题,Quorum 尝试采用高性能的容错分布式系统 Byzantine Fault Tolerant (BFT),如 PoA 和 IBFT; 和容故障分布式系统 Crash Fault Tolerant (CFT),如 RAFT。

PoA 的全称是Proof of Authority (权威证明)。PoA 基于一组有身份的节点,轮流进行记账。换句话说,每个节点在用自己的 身份和权威作为担保。

潘超:摩根大通背后的清算体系与区块链网络

每个区块只要一个签名确认就可以,因为只有这几个节点,不需要与其他节点产生时间竞争,和中心化服务器的效率不相上下。可能会产生一个节点权力太大的问题,为了解决这样的单个节点权力过大的问题,每个节点必须间隔记账。比如说这边有四个节点,必须在间隔两个节点之后,才能进行下一次记账,这个方式就是去限制单个节点的权利。Quorum最初使用的是 PoA,后来因为最终性(可以进行分叉)而不再使用PoA。摩根大通每天处理6万亿美金,如果进行了分叉,参考比特币现金的分叉对整个系统的影响,大家就能理解摩根大通为什么不允许分叉的产生了,因为这会导致很多交易无效。

相对而言,Quorum支持的另外两种共识机制RAFT和IBFT都是抗分叉的。RAFT 其实是一种已经广为使用的传统分布式一致性协议,应用在包括 Kubernetes, Docker Swarm等容器集群管理系统。RAFT 对于容故障、可信节点,需要更快出块时间和最终性的封闭联盟非常有效。 与以太坊相比,RAFT 也有自己的节点。相对于以太坊任何节点都可以出块, RAFT 的节点分为 Leader 、Follower 以及暂时的 Candidate。Leader 是负责生产区块的唯一节点,Follower 监听 Leader 的“心跳”,并收取 Leader 传递过来的区块。接受心跳的目的是为了抗系统故障,如果 Follower 在其周期内没有收到 Leader 发来的心跳,新的节点作为 Leader 继续出块。

潘超:摩根大通背后的清算体系与区块链网络

当新的交易产生后, Leader并不会马上记录到链上,而是等收到所有 Follower的确认回执后,记录并广播一个执行的消息,之后所有收到执行消息的 Follower才会将区块记录在本地的链上,避免分叉,确保最终性。RAFT 机制下的默认出块时间间隔是 50 ms,而且只有在有交易发生时才会出块, 大大节省了储存空间。但 RAFT 机制也有不足之处,要使其得以运转的前提是全部节点是诚实的。 RAFT虽然可以容单点故障,但是不具备容错,无法防止节点作恶和篡改历史数据。

如何防止节点作恶同时又能保证效率和最终性呢?Quorum 支持了伊斯坦布尔拜占庭容错机制。

潘超:摩根大通背后的清算体系与区块链网络

与 RAFT完全相信 Leader 不同,IBFT 的前提是包容 1/3 不诚实节点,通过验证者多轮投票,达到彼此一致后出块。由于在每个区块高度只有一个节点负责出块,不会有分叉的风险。 账本不可改,试图修改历史纪录需要获取所有备份节点和主节点的私钥。与 PoW 相比,IBFT 没有竞争机制,出块速度更快。不过,IBFT 的劣势也很明显,多个验证阶段的结构下让消息数量与节点数量成指数级增长,因此 IBFT 的节点数不能太多,通常用作企业级和政府的网络。

摩根币到底使用的是哪一种共识机制呢?虽然摩根大通对 Quorum 网络的信息十分公开, 但是并没有公布关于摩根币的共识机制。

从上文推断来看,摩根币不会选择PoA机制,因为没法实现最终性,那么只会在IBFT的跟RAFT中进行一个选择。如果所有的节点都是摩根大通信任的伙伴,那么RAFT是不二的选择;如果只是信任部分成员银行,IBFT则是可行的试点。

至少在早期阶段,摩根币的对象是相对封闭的联盟。 摩根大通的清算网络可以大大增加银行之间的网络效应,而且为跨境支付提供了更加安全的合规信息交流协议。摩根币的推出是对以太坊 ,包括区块链应用落地的一个巨大推动。从技术层面,兼容以太坊合约的 Quorum网络有机会在之后和已有的公共区块链进行互通,在中心化与点对点的货币系统之间搭建桥梁。

本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。

(0)
上一篇 2019年3月31日 下午4:30
下一篇 2019年3月31日 下午5:40

相关推荐