收藏(0)

近期,随着区块链跨链技术 Cosmos 的发布以及它对以太坊生态系统的潜在威胁,针对区块链互操作性也引发了不少讨论。

在这篇文章中,营长就带你走进 Cosmos 和 Polkadot,结合一定的基础知识和图解,保准你能够在技术层面上对这些协议的认识达到一个新的高度。

首先,你一定要认识到区块链互操作性的重要性。在现有网络中,你可以通过应用程序的 API 对大量的数据集进行访问和修改。而在区块链中,数据就被封锁在某一个链中。

那么,区块链具有互操作性到底意味着什么呢?

它有以下几个作用:

不需要信任,不同的区块链即可直接安全地进行资产转移;

不同链之间的智能合约可以实现交互;

某些专用链可供其他区块链使用。

在深入探讨之前,营长先为你介绍一些去中心化系统的基础知识,以便帮助你理解后续概念。

去中心化系统

顾名思义,去中心化系统就是一组计算机为实现某一特定目标而共同运作,比如向世界各地的民众推送相同的内容(如 Twitter 新闻推送)。为实现这一目标,必须克服以下困难:

准时:每个系统/电脑都是按照自己的速度和节奏执行相同的任务。

次序:由于每个系统都有自己事件的事件和时间线,试图在什么时间解决发生的什么事件还是相当困难的。

错误:由于系统宕机、系统无法正确接收/发送消息或恶意操作(拜占庭),都可能会导致系统之间协调失败。

举个例子来说,人和人之间解决问题最好的方法就是良好的沟通。但这对计算机来说却比较困难,因为它可以是异步通信,也可以是同步通信。

该如何理解同步和异步呢?

同步:每个系统会给每个主机分配特定的时间轮流进行通信,这就好比人与人的面对面对话。

异步:每个系统随时都可以进行通信,并且没有任何限制,这就好比群聊天。

总而言之,区块链最终实现的是安全性(达成一致输出)和活跃性(区块不断增长和运作)。

如果区块链安全但不活跃,就会停止产生区块;如果区块链的活跃但不安全,就会产生很多很多分叉。如果不制定规则,就无法辨别哪个是正确的区块链,哪个是分叉。

实用拜占庭容错算法(PBFT)

Barbara Liskov 和 Miguel Castro 于1999年推出了实用拜占庭容错算法(PBFT),由于 Cosmos 和 Polkadot 等权益证明链的基础是 PBFT,因此,你很有必要听营长介绍下它的工作原理。

一方监听大量的交易,直到交易数足以打包成一个区块,就会停止监听,称这一方为“提案者”(proposer),因为他们产生了一个区块。

一旦产生一个区块,每个人都要参与到“预投票”环节,以确保每个人都监听的是同一区块。需要注意的是,这个区块也可以是错误或恶意的,但在“预投票”环节仍然有效,因为在这个环节中,每个人都只是试图达成共识,即他们收到了相同的数据/区块。

一旦超过2/3的参与者达成共识,即收到了相同的区块,就会进行“预提交”,随后,确定这个块是否有效,且没有恶意操作。

如果超过2/3的参与者认为这个块有效且正确,就可以成功的提交这个区块链。

区块链的高度不断增加,继续重复步骤1-5。

以上这些步骤就可以确保每个块生成的次序是已知的(每提交一个区块,区块链的长度就会增加),每台计算机都可以计算出自己的结果并进行实时通报,还能够处理错误(恶意节点提出的区块)。

仅一条评论

请输入你的评论!
请在这里输入您的名字