随着 Cosmos 的推出以及它对以太坊生态系统潜在的威胁,最近区块链互操作性也引起了不少讨论。本文将深入探讨 Cosmos 和 Polkadot 的技术细节,同时也介绍了一些必备知识,从技术层面理解这些协议。
原文标题:《The State of Crypto Interoperability,Explained in Pictures》
文章来源:Token Economy
原文作者:Kerman Kohli,8x Protocol 创始人
翻译:头等仓
Kerman Kohli,8xProtocol 创始人
我们首先需要认识到为什么互操作性如此重要。在现在的网络中,我们可以通过 API (应用程序编程接口)访问和修改大量数据集,但是对于区块链,数据被所处的链分开,所以实现互操作性意味着什么?
- 无需信任即可在不同链上转移资产;
- 跨链智能合约实现链与链的交互;
- 可供其他区块链使用的专用链。
在我们深入了解特定互操作性方法的细节之前,我想先概述一下分布式系统的基础知识,有助于下文的概念理解,首先要认识到,区块链只是散布在世界各地的一组机器,就数据如何集成达成共识。
分布式系统
顾名思义,分布式系统是一组共同工作完成特定目标的计算机,其中的目标有可能是向世界各地的人提供相同的资讯(比如保持您的 Twitter 新闻源更新),为了实现这个目标,他们必须克服以下问题:
1、准时。每台计算机 / 系统都是按照自己的节奏和时间执行相同的任务;
2、排序。试图明确发生的事件和时间仍然非常很困难,并且时效也在不断流逝,这使得排序成为一项复杂的挑战,因为每个系统都有自己的事件和时间线;
3、失败。未能正确向其他系统发送 / 接收消息、或实施恶意行为(拜占庭)、或由于系统崩溃,都可能导致系统间的协调失败。
与人类一样,解决大多数问题的方法是良好的沟通,但对于计算机来说,这有点复杂,因为它们可以异步或同步通信。
这该如何理解?
- 同步:各个系统都有一定的时间配给来轮流进行通信,类比人类之间的交流;
- 异步:每个系统都可以随时进行通信,通信内容不预设,就像我们使用的 Slack 一样。
无论如何,区块链最终要实现的是安全性(关于相同输出的协议)和活力(链条不断增长和运作),如果您的区块链安全但不活跃,它将停止生成区块;如果它活跃但不安全,就会产生许多分叉,除非有既定规则(例如比特币中最长的链条的即为主链),否则很难分清主链和分叉。
引入实用拜占庭容错算法
实用拜占庭容错算法(Practical Byzantine Fault Tolerance)是 Barbara Liskov 和 Miguel Castro 开发并在 1999 年推出的一项方案,像 Cosmos 和 Polkadot 这样使用 PoS 机制的区块链在设计上就包含了源自 PBFT 的灵感元素,所以有必要进行概述并介绍一下他们的运作方式。
1、一方接收大量交易,直到数量足以打包一个区块,我们将这样的角色成为「提案者」(proposer),因为他们产出了一个区块;
2、一旦区块被生产出来,每个人都参与预投票(pre-vote),确认接收到了同样的区块,值得注意的是用于不正确 / 恶意用途的区块在预投票阶段仍然有效,因为在此阶段每个人只是就收到了相同的区块 / 数据达成共识;
3、一旦超过 2/3 的参与者表示收到了相同的区块,就会进入预提交阶段(pre-commit),确定这是否是有效区块并且没有任何恶意行为;
4、如果超过 2/3 的参与者投票认为该区块有效且正确,那么可以成功将此区块提交到区块链;
5、增加区块链的高度并重复步骤 1-5。
从上文可以得出,后续步骤确保区块顺序已知(一旦提交,区块链的高度随之增加),每台计算机可以花时间得出自己的结论然后传达得出的结果(计时)并且可以处理故障(恶意节点提交未经过投票的区块)。
你好,Cosmos!
Cosmos,它是由 Jae Kwon 和 Ethan Buchman 于 2016 年创立,在 ICO 中为 ATOM 筹集了超过 1700 万美元,区块链叫做 Cosmos Hub,与其他分区(区块链)连接,因此允许不同分区(zones)间的通信。任何使用 PoW 机制的区块链(如比特币,以太坊,ZCash 或特定应用区块链)都必须通过 Inter Blockchain Communication 框架连接到桥区(bridge zone)。
在结构细节这方面,Cosmos Hub 使用 Tendermint 共识算法(灵感来源于实用拜占庭容错算法),由 Jae Kwon 在 2014 年创建。这意味在进入下一个阶段之前,投票阶段(预投票和预提交)的每个人都分配了固定的时间进行投票,一旦区块完成,过程就不可逆,即只要交易处于最终确定的状态,就可以实现即时移动 & 物联网支付。由于不需要确认,因此称为「快速终结(fast finality)」。
用户可以持有 ATOM 成为验证者或将代币委托给验证者,Cosmos 区块链最初将设置 100 个验证者,并计划在未来参考治理参数增加验证人数,只有为网络贡献力量的人才能参与维护网络安全。
为了更具象地表现这些概念,我将概述将 ETH 转换为 BTC 的一系列步骤——这个例子大概每个人都很有兴趣。
- 首先为以太坊创建一个中间可信区,并且有一组验证者负责作为以太坊桥区和 Cosmos Hub 的中继。
- 由于以太坊和比特币存在不确定性(当前链有可能不是主链),验证者需要等待一定数量的确认完成以后才能认定交易可靠。
- 一旦验证者确定交易处于最终状态,就可以从所处区域向 Cosmos Hub 发起交易,表明他们确实收到了以太坊,随后,Hub 将创建一种 Wrapped Cosmos ETH 格式,剩余的所有 Cosmos 分区也会同时获知。
- 假设汇率已经事先确定,Wrapped Cosmos ETH 将被换成 Wrapped Cosmos BTC,将这个 Wrapped Cosmos BTC 发送到比特币中间可信区,然后发送到比特币链上的指定地址。
该模型中的有些假设 / 部分需要注意:
- Cosmos Hub 需要确保 Wrapped Cosmos 资产余额在正确地递增 / 递减,虽然这是一个潜在的缺点,但 Cosmos 团队设计的系统使任何人都能以自己的方式创建枢纽。本质上,Cosmos 网络由不同群体运营的枢纽和分区构成。
- 需要保证每个分区可信,正确传递资产发送 / 接收消息,也要实现发送人对验证者的信任——验证者会正确传达消息而不会窃取资产。
Polkadot 介绍
Polkadot 由 Gavin Wood 创立,他是以太坊的联合创始人兼前首席技术官,也是 Web3 基金会的总裁。Polkadot 在 2017 年底发售代币 DOT,融资超过 1.45 亿美元。如果 Cosmos 是由枢纽和分区组成的开放网络,那么 Polkadot 就是单条的「中继链」(replay chain),为「parachains」(parallelizable chains,平行链的简称)带来了诸多好处。
Polkadot 创新的几个关键方面如下:
- 每条平行链的安全性来源于中继链上的验证者,一旦成为平行链连接到 Polkadot 网络,就能同时收获与 Polkadot 网络同级别的安全性,而在 Cosmos 中,每条新链都需要验证者,安全性能由自己主导;
- 平行链可以使用去信任链间通信(trust-free interchain communication)与其他平行链交互,想要跨链通信的用户不需要信任与之交互的每一条链,而只需要信任整个 Polkadot 网络的单一安全性,这与 Cosmos 的工作方式不同——用户不需要依靠独立的验证者来信任源链,中继链和目标链。
Polkadot 的共识机制由两部分组成:GRANDPA 和 BABE。GRANDPA 是一个终结工具,它借鉴了 GHOST 分叉选择规则的一些想法(如 Ethereum 的 Casper),而 BABE 是一种类似于 Cardano 的 Ouroboros 区块生成机制,前者的引入允许链的一部分「最终化」且不可还原,将终结工具与生成区块分离,允许效率较低的终结工具在生成区块的不同流程生效,这意味着区块的生成可以进行缩放调节,这与基于 PBFT 的 Cosmos Tendermint 算法不同。
Polkadot 生态系统包含以下角色:
- 收集者(Collators)——为平行链生成区块并将信息交付至验证者验证;
- 提名者(Nominator)——将资金分配给验证者参与权益机制;
- 验证者(Validator)——需要符合高债券要求,实际负责打包中继链的新区块,起到的关键作用还包括:签署新区块;参与 GRANDPA 完善中继链;通过确认交易是否正确或跨链消息是否已处理来验证平行链区块;
- 钓鱼者(fishermen)——审查网络节点,作为发掘恶意行为的「赏金猎人」。
正确看待 Polkadot 的一个方法是将它视作一个互连的系统,连接想要借助桥梁实现通信的各个链,所有的平行链和中继链作为一个整体协同运行。平行链可以包含自定义逻辑,负责处理自己的状态转换,同时进行与其他链的消息沟通和传递。平行链可以自由与其他链产生通信,而在 Cosmos 网络中,所有沟通都必须依赖枢纽。
得益于中心设计理念,Polkadot 的结构优雅——平行链被动地从连接合约(bridge-contracts)读取信息,而不依靠连接合约在各平行链中发送消息。每条平行链地位相同,也就是说,Polkadot 的跨链网做到真正的「去信任」,平行链的既得利益与中继链一致,而与其验证的任何平行链无关,此外,每隔一段时间,验证者也会在各链间重新分配。
再举一个更确切的例子,如果你想要实现平行链之间的代币转换,那要如何操作?以备受关注的以太坊和比特币的转换为例:
以太坊平行链上的收集者会将区块头信息传递给所在平行链上的验证者,验证者将以平行链可识别、可通信的格式在以太坊连接智能合约中签署并发布相关交易。任何发送的 ETH 都将由 Polkadot 验证者持有,同时验证者也将提供 DOT 作为无效交易的抵押品,随后,以太坊平行链和比特币平行链创建通信,在通过验证以后,后者会将 BTC 发送到指定地址。具体设计决策还未出台,但在跨链通信的中心始终是「去信任。」
需要注意的一点是,Polkadot 通过链上去信任拍卖分配平行链槽(parachain slots),这些拍卖会涉及一段时间的 DOT 锁定,保持平行链和 Polkadot 网络的连接。在平行链出现严重漏洞或涉嫌参与恶意行为的紧急情况出现时,治理将介入并着手解决问题。Polkadot 遵循链上治理机制,这是它认为加密货币网络的最佳管理方式。
正如 Gavin Wood 所说:「没有引入链上治理,包括通过各种机制来引导升级的区块链最终都将被‘民粹主义’荼毒。我不认为‘链下处理’,‘链上信号’和‘粗略共识’能够提供有效手段,使区块链生态系统中的利益相关者能够有效地管理和推动区块链长期繁荣,我也不认为治理改造会奏效。」
时间线
互操作性的许多核心问题似乎都已有高水平的解决方案,但执行力远远不够。Cosmos 于 2019 年 3 月推出,但只发布并运行了 Cosmos Hub,他们接下来的工作是确定链间通信框架的运作方式;Polkadot 将于 2019 年底推出,目前上线的只有中继链。
总的来说,Cosmos 和 Polkadot 的推出都令我感到兴奋,我很好奇要如何推进开发人员的采用;如何平衡每条平行链;以及如何发挥平行链作用。现在创建应用程序特定链还是一个空谈,因为基础架构远不够完善,而且开发人员需要考虑实现足够的安全性能所需的资源和人力。
未来是否会对愿景做出妥协?很难说。也许以太坊的离线治理给它们的发展带来了契机,尽管由于要实现无信任创新,还要保证高度安全,路线图进程缓慢。
另一方面,所有的加密货币网络逐渐将安全性委托给其他链,例如以太坊,一旦现有社区全权保证链上安全,就能专注于发展自己的链。MakerDAO 就是一个很好的例子,他们有足够的资源来创建自己的链,并且通过成为 Polkadot 平行链的一部分来获取足够的支持,如果无法保证足够的支持,它可以在 Cosmos 上建立一个桥接区域负责安全管理。Polkadot 计划为无法保障安全性但可以实现通信的链提供连接槽(bridge-slots)。
这些是我们作为一个社区应当提出的拙见,而不是将区块链当作零和游戏。我对区块链带来的一切都感到激动,并且希望能得到你们的反馈,请在推特 @kermankohli 上联系我。