共识机制就是确定达成某种共识和维护共识的方式。可以理解为不同的群体所寻求的共同的认识、价值、想法等,在某一个方面达成一致的意见。共识机制的发展史,代表着区块链技术从1.0走向2.0以及更远的未来。从某种程度上讲,对于共识机制的突破与创新,直接决定了区块链未来大规模商业化的应用。如果将去中心化的区块链技术比作一个生命体,那么共识机制可以说就是它的生命之源。
共识机制是什么?
相信每一位对区块链技术有所了解的人,都或多或少的了解过一个相关的理论——“拜占庭将军问题”,甚至对于很多人而言,拜占庭将军问题是很多人了解区块链技术原理的“第一扇大门”。
“拜占庭将军问题”源自著名图灵奖得主莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。根据维基百科的解释,拜占庭将军问题即:
Vitalik:与PoW的共识机制相比,PoS消耗的电力减少99.95%:金色财经联合Coinlive现场报道Singapore FinTech Festival 2022,以太坊创始人Vitalik Buterin发表题为《大合并:与 Vitalik Buterin 一起重构以太坊》的演讲,谈到了以太坊的合并的好处、困难和问题。Vitalik表示,与PoW的共识机制相比,PoS 消耗的电力减少了 99.95%。强大的共识设计和并行确认,让攻击链的难度增加、更容易进行升级、降低了代币发行要求,这些都为以太坊带来更好的稳定性。未来以太坊要提升可扩展性、用户体验、安全问题和隐私,Vitalik已经想到了几个解决方案,例如danksharding,通过添加大量数据空间来改进以太坊基础层。[2022/11/3 12:13:04]
在分布式计算中,不同的计算机通过通讯交换信息达成共识,按照同一套协作策略行动。但有時候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。
V神:没说PoS是共识机制 只是说ETH2是共识升级:刚刚,针对推特网友所说“PoS不是一种共识机制,以太坊共识机制是中本聪共识”,V神回复称,并没有说PoS是一种共识机制,只是说ETH2是共识升级。的确,ETH2是基于Nakamoto中本链的PoW升级到Casper FFG共识算法+分叉规则LMD GHOST。[2020/11/12 12:24:24]
拜占庭是古代东罗马帝国的首都,由于当时帝国的国土幅员辽阔,为了达到防御的目的,因此每个军队都分散驻守,将军与将军之间只能依靠邮差进行通信。当战争的发生时,所有将军需要达成一致的共识共同出击才能取得成功,否则就会失败。但是军队内部可能存在叛徒或间谍,因此将军们需要一种机制保证所有的将军都对进攻的时间有一个相同的认识,也就是——即使信使真的有奸细,而且他采用了任何他能想到的措施,其余忠诚的将军也可以在不受叛徒的影响下达成一致的协议。
金色相对论| 相里朋:无币区块链需对共识机制及底层技术加大探索:本期金色相对论中,对于无币区块链的共识及其技术如何应用在场景中,高级工程师、工业和信息化部电子第五研究所区块链主管相里朋表示,“Token”一直都有,而当前业内的底层技术创新还乏善可陈,多数应用解决方案尚处于研制或探索试用阶段,鲜有与业务深度融合的成功案例,行业应用层次普遍偏低。高举通证经济大旗,落地之路却步步维艰,虚拟代币涌现出无数泡沫。
当前社会并非所有场景都需要虚拟代币/通证(token)来激励,且“无币”区块链同样也支持共识机制、分布式存储、点对点通信技术及密码学技术,也可对多方参与的结果达成共识。既使在“无币”区块链方向,只要敢想敢探索,解决实际问题,也能涌现出一大批优秀案例。[2018/9/29]
OK区块链工程院认为,这是区块链共识机制产生的根源所在,“共识”就是在一个由多方组成的系统中,在某一个步骤中让一个系统中所有的节点对一个值达成一致。
动态 | Horizen(ZEN)将推出增强的共识机制以抵御51%的恶意攻击:据ambcrypto消息,Horizen(ZEN)近日正式名为Zencash,并在其Twitter上宣布,他们已经改进了原有的中本聪共识算法,以防止网络受到51%的攻击,增强后的共识通过建立惩罚机制来惩罚恶意用户。目前新的代码已完成,并已在团队内部进行测试,稍后将在社区进行测试。[2018/9/9]
也就是说,在区块链系统中,每一个共识机制都需要回答下面的问题:
What——下一个区块应包含哪些交易?
Who——下一个区块应该由谁来生成?
When——下一个区块应该何时产生?
Evolution——如何升级共识协议?
Immunity——如何解决交易历史的竞争问题?
混合共识机制公链初链TrueChain发布黄皮书:4月28日,全球首个实现混合共识机制(PBFT+POW)的公链——初链TrueChain发布技术黄皮书。初链CEO张剑南表示,技术黄皮书将随着项目进展不断更新,欢迎对黄皮书中共识及工程架构的设计进行问题发掘和建议。任何人成功发现此版黄皮书中共识设计的问题,或提出有效建议的,将得到150个TRUE作为奖励。同时,初链还发布了轻钱包内测版本并开放源代码。初链轻钱包支持ETH以太币,官方TRUE代币和其他各种符合ERC20规范的代币。钱包代码是开源的,与其他钱包相比,避免了安全隐患,具有很高的安全性。[2018/4/28]
OK区块链工程院认为,共识机制的目标就是找到这些问题的答案,并确保其健壮性以抵制攻击者试图获得网络的控制权。实际上,获得控制就意味着获得了单方面审查交易的能力。共识机制也应当能健壮地抵御攻击者利用在不同计算机上的数据库状态中的临时不一致性获取好处。
共识机制能解什么问题?
在回答“共识”究竟能解决什么问题之前,我们必须了解两个在分布式系统中已经被证明的结论:CAP定理和FLP不可能性定理。
CAP定理指的是在一个分布式系统中,在Consistency、Availability、ParTITIontolerance中,最多只能实现两点,不可三者兼得。
其中,一致性代要求在分布式系统中的所有数据,在同一时刻达到同样的值,也就是说所有节点访问同一分最新的数据副本;可用性要求,系统中部分节点出现故障以后,系统整体可以正常相应,不被故障节点影响;分区容错性则要求,系统如果不能在时限内达成数据的一致性,就必须在C和A之间做出选择。
FLP不可能性定理则是指,对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。
OK区块链工程院认为,FLP不可能性定理已经证明,在一个异步网络中我们永远也达不成一致。而CAP定理,则让我们在设计算法时所有倾向,是使用CP算法,还是AP算法。
共识算法本身可以描述为在某一个步骤中让一个系统中所有的节点对一个值达成一致,即使系统中存在故障,我们也要忽略掉这些故障节点的噪音让整个系统继续正确运行,而问题的难点就在于在一个异步网络中将这些噪音降到最小。
不得不谈的去中心化
至此,我们可以清晰地看到一些区别所在:
在一个中心化的结构体系中,整个系统的共识可以由中心来决定,各个节点只需要接受中心所下达的“命令”即可,这也是中心化系统运作更加高效的原因所在。而在去中心的体系中,所有参与系统的节点是处于一个平等的地位,当节点之间出现分歧时,就需要依靠设计巧妙的共识机制来使其顺利地运转下去。
因此,共识机制也被很多人称作是去中心化系统的核心灵魂所在,二者相辅相成、缺一不可。只有在保证去中心化的前提下共识才能保持一致,如果确保共识的节点数量较小或者受到中心化的控制,那么就很容易被攻击。
在OK区块链工程院看来,判断一个协议是不是去中心化,需要看这个协议能不能在全部节点都永久性删除后,仅依靠一个节点仍然能够恢复过来正常运作。如同一个菌丝体借助单细胞就能恢复过来一样。我们称之为完全去中心化,但逃脱不了生物学界的一个事实,多细胞生物比单细胞生物更高级,即以损失一定程度的去中心化为代价。
其实,我们在讨论一个项目是不是去中心化的时候,有所争议的往往是此节。比如对于EOS这种DPOS共识机制是否是去中心化的争论:
提问方问的是系统治理的去中心化程度,而回答者则回答其他两者的去中心化程度。如此沟通如何达成一致?因此我们有对去中心化分层的必要,并从以下三个层面来理解去中心化:
首先是系统部署的去中心化。在现实世界中,基于docker等虚拟技术和运用这些技术的云计算平台,以下三个问题往往很难拆分:
①系统有多少节点组成?
②部署在几台物理计算机中?
③分数多少个地区?
但是最终我们想实现系统部署去中心化的目的是一样的,就是降低同一时间节点崩溃的数量,例如地震、海啸、云平台安全事件等。
其次是系统逻辑去中心化;在系统的运行流程中,这个系统是由一种角色组成?还是多种角色合作组成?或者说,是由一台完整的单一设备组成,还是多种不同种类的设备组装的小组?举个例子,针对一个系统,我们在任意一个时刻,将系统分成2份,系统都能完整的独立运行下去么?如果以后两部分又合二为一了,系统还能正常运行么?
第三,系统治理去中心化;针对一个区块链项目,有两个重要的权限控制:系统修改权限和系统数据权限。针对系统修改权限,有多少个人或者组织,对组成系统的计算机拥有最终的控制权?针对系统数据权限,权限控制是否亏归属于每个个体?有多少涉及管理,查看非自身数据的权限?以及如何制定权利边界?
目前区块链技术已经发展到2020年了,从某种程度上来讲,单纯用“中心化”和“去中心化”无法准确的描述我们目前所用到的方案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。