区块链和共识协议:灵活性和安全性缺一不可
在区块链的世界里,共识协议被广泛讨论。然而,通常很难区分竞争的协议并对它们进行评估,尤其是并不清楚某个特定协议如何解决共识问题,或者该特定问题如何与区块链的实际关注点相关联(例如,我的交易何时得到确认?)我用的是什么分叉?在这篇文章中,我将概述协商共识协议试图解决的问题,详细说明一个有效的协商共识协议应该实现什么,希望这将有助于传达解决一些问题。
大致说来,协商共识协议的目的是在相互不信任的各方之间达成的协议。在比特币网络中,节点正试图就下一个区块包含什么内容达成一致。在这个网络中,块告诉我们广播了哪些事务,以及这些事务的顺序。其他的共识协议通常是相似的——它们告诉客户应该应用哪些操作,并且这些操作的顺序是什么。
作为一个共识协议的用户,你可能一开始会想“好吧,我不太关心操作的顺序和时间,只要我能保证这些操作是正确的。”的确,正确性是一个重要的属性。但是,这个属性完全与操作的顺序和时间有关。为了了解原因,让我们看一些事务示例。
T1:公钥A将代币“Z”转移到公钥B
T2:公钥A将代币“Z”转移到公钥C
T3:公钥B将代币“Z”转移到公钥D
现在,当单独检查时,确认这些事务的正确性是微不足道的。对于事务1和事务2,验证者只需要确认事务是由与A对应的私钥签名的,这在相当枯燥的密码学中是可以实现的,并且已经存在了几十年。但是单独检查这些事务并不有趣,并且不能提供有用的正