6张图告诉你 区块链的未来在哪里
近期,随着区块链跨链技术 Cosmos 的发布以及它对以太坊生态系统的潜在威胁,针对区块链互操作性也引发了不少讨论。
在这篇文章中,营长就带你走进 Cosmos 和 Polkadot,结合一定的基础知识和图解,保准你能够在技术层面上对这些协议的认识达到一个新的高度。
首先,你一定要认识到区块链互操作性的重要性。在现有网络中,你可以通过应用程序的 API 对大量的数据集进行访问和修改。而在区块链中,数据就被封锁在某一个链中。
那么,区块链具有互操作性到底意味着什么呢?
它有以下几个作用:
在深入探讨之前,营长先为你介绍一些去中心化系统的基础知识,以便帮助你理解后续概念。
去中心化系统
顾名思义,去中心化系统就是一组计算机为实现某一特定目标而共同运作,比如向世界各地的民众推送相同的内容(如 Twitter 新闻推送)。为实现这一目标,必须克服以下困难:
举个例子来说,人和人之间解决问题最好的方法就是良好的沟通。但这对计算机来说却比较困难,因为它可以是异步通信,也可以是同步通信。
该如何理解同步和异步呢?
总而言之,区块链最终实现的是安全性(达成一致输出)和活跃性(区块不断增长和运作)。
如果区块链安全但不活跃,就会停止产生区块;如果区块链的活跃但不安全,就会产生很多很多分叉。如果不制定规则,就无法辨别哪个是正确的区块链,哪个是分叉。
实用拜占庭容错算法(PBFT)
Barbara Liskov 和 Miguel Castro 于1999年推出了实用拜占庭容错算法(PBFT),由于 Cosmos 和 Polkadot 等权益证明链的基础是 PBFT,因此,你很有必要听营长介绍下它的工作原理。
以上这些步骤就可以确保每个块生成的次序是已知的(每提交一个区块,区块链的长度就会增加),每台计算机都可以计算出自己的结果并进行实时通报,还能够处理错误(恶意节点提出的区块)。
接下来,和营长一起探索 Cosmos 和 Polkadot 吧!
互操作性经典案例 — — Cosmos
2016年,Jae Kwon 和 Ethan Buchman 创建了 Cosmos(ATOM),并通过 ICO 为其集资了超过1700万美元。Cosmos Hub 是允许区块链与其他链进行通信的分区(Zone),任何一个使用 PoW 机制的区块链(如比特币、以太币、ZCash或特定的应用程序区块链)都必须通过 Inter Blockchain Communication 框架连接到 bridge-zone。
在架构这方面,2014年,Jae Kwon 根据实用拜占庭容错算法(PBFT),在 Cosmos Hub 中使用了 Tendermint 共识算法。这就意味投票环节(预投票和预提交)中,每个人都分配了固定的时间进行投票,一旦区块被创建完成,就不可逆,即只要交易处于最终确定的状态,就可以实现即时通信 & 物联网支付。由于不需要确认,因此称为“快速终结(fast finality)”。
用户可以将持有的 ATOM 作为系统中的验证器,或将 ATOM 委托给验证器。最初,Cosmos 设置了100个验证人,并计划参考治理参数不断增加验证人数,并且,只有为网络贡献力量的人才可以参与维护网络安全。
案例详解:ETH 转换为 BTC
为了更加简单明了,下面将 ETH 转换为 BTC。
在这一过程中,有些假设还得注意:
互操作性经典案例 — — Polkadot
Polkadot 由以太坊联合创始人兼前首席技术官、Web3 基金会总裁 Gavin Wood 创建,并于2017年底发售代币 DOT,融资超过1.45亿美元。如果 Cosmos 是由 Cosmos Hub 和 Zones 构成的开放网络,那么 Polkadot 就是单条“中继链”(replay chain),为平行链带来了诸多好处。
Polkadot 有以下几个关键创新点:
Polkadot 的共识机制由两部分组成:GRANDPA 和 BABE。GRANDPA 是一个终结工具,它借鉴了 GHOST 分叉选择规则的一些原则(如 Ethereum 的 Casper);而 BABE 是一种类似于 Cardano 的 Ouroboros 区块生成机制,GRANDPA 允许链的一部分“最终化”且不可逆,将终结工具与生成区块分离,允许效率较低的终结工具在生成区块的不同流程生效,这意味着区块的生成有可扩展功能,这与基于 PBFT 的 Cosmos Tendermint 算法不同。
Polkadot 生态系统包含以下几个角色:
可以将 Polkadot 看作一个互连的系统,它将想要借助 bridge-zone 实现通信的各个链连接起来,所有的平行链和中继链作为一个整体运行。平行链可以合并自定义逻辑,并负责处理自己的状态转换,同时与其他链进行消息转发与传递。通过相互监听,平行链可以自由与其他链进行通信,而在 Cosmos 网络中,所有沟通都必须依赖 Cosmos Hub。
得益于中心设计理念,Polkadot 有很好的结构——平行链被动地从连接合约(bridge-contracts)中读取信息,但并不依靠连接合约在各平行链中发送消息。每条平行链都有相同的地位,也就是说,Polkadot 跨链网络真正做到了“去信任”,平行链的利益与中继链一致,而与其验证的其他任何平行链无关,此外,每隔一段时间,各个链也会随机的重新分配验证人。
案例详解:ETH 转换为 BTC
下面,营长以 ETH 转换为 BTC 为例,更为直观的了解如何实现平行链间的代币转换。
以太坊平行链上的校对人将区块头部信息传递给所在平行链上的验证人,验证人再将以平行链可识别、可通信的格式在以太坊连接智能合约中签名并发布相关交易。任何发送的 ETH 都将由 Polkadot 验证人持有,同时,验证人也将提供 DOT 作为无效交易的抵押品。随后,ETH 平行链和 BTC 平行链之间创建通信,通过验证以后,BTC 就会指定一个地址。虽然具体设计决策还未出台,但是,在跨链通信的中心始终是“去信任”。
需要注意的是,通过链上的去信任拍卖,Polkadot 分配平行链槽(parachain slots),这些拍卖会使 DOT 在一段时间内处于锁定状态,以便保持平行链和Polkadot网络的连接。如果平行链出现严重漏洞,或者是涉嫌参与恶意行为,监管就会介入并着手解决问题。Polkadot 遵循链上治理机制,并且将其看作是加密货币网络的最佳管理方式。
正如 Gavin Wood 所说的那样:
时间线
虽然互操作性的核心应用实现已经达到了一定的水平,但执行力远远不够。Cosmos 于2019年3月推出,但也只是发布及运行 Cosmos Hub,接下来的工作就是确定链间通信框架的运作方式;而 Polkadot 将于2019年底推出,目前上线的只有中继链。
总的来说,Cosmos 和 Polkadot 的发行令我感到很兴奋,我最好奇的就是如何扩大开发人员对其的采用率、如何平衡每条平行链以及如何发挥平行链的作用。由于当前基础架构远不够完善,开发人员也还得根据需要考虑实现足够好的安全性所需要的人力及资源,就目前而言,现在创建特定的应用程序链还只是一个空谈。
在以后的发展过程中是否还需要重新调整目标做出一点妥协?这个很难说,或许以太坊的链下治理会为此带来契机。由于要实现去信任创新的同时,还要保证高度安全性,这一技术的发展相对来说比较缓慢。
另一方面,所有的加密货币网络逐渐开始将安全性委托给其他链,比如以太坊。一旦现有社区能够有较高的安全保障,它们就能专注于发展自己的链。MakerDAO 就是一个很好的例子,MakerDAO 有足够的资源来创建自己的链,并且通过成为 Polkadot 平行链的一部分来获取足够的支持,如果无法保证足够的支持,它还可以在 Cosmos 上建立一个 bridge-zone 保障其安全。Polkadot 计划则为无法保障安全性但可以实现通信的链提供 bridge-slots。
以上应是社区该给出的建议,而不是将区块链当作零和游戏。