时间:2022-02-17 15:16:41
典型的BFT算法一般由固定数量的计算节点参与,分为2轮。从一个达成共识的计算节点的视角看,其第一轮要收到2/3以上数量的对同一区块的投票,然后广播对此的确认。第二轮则是收到2/3以上数量的对同一区块的确认,从而达成共识。算法通过严格的数学证明确保了在此种条件下,计算节点确认的区块一定最终会被其他节点确认。
高效。在PBFT算法中发一个交易是无需等待确认的,如果一个区块通过PBFT算法被系统认可,那么这个区块就会是最终区块,不会被撤销。因为各个节点达成共识是在同一时刻决定的,也就意味着用PBFT维护的区块链不容易出现分叉,所以也就不用等待确认以保证当前区块所在的链是最长链。
共识层包括共识算法、共识机制。共识层能让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。目前共识机制算法有数十种,包括工作量证明、权益证明、权益授权证明、燃烧证明、重要性证明等。
中心化的系统达成共识非常的简单,因为一切数据都由中心化管理,而对于去中心化的区块链系统来说,共识则很难达成,一切都要商量这来。不同的共识算法就是不同的商量规则,通过设置不同的一组条件筛选出最具有代表性的节点来达成共识。
在区块链里,共识有两层,一层是对区块链的规则达成共识,这是社群共识;另一层则是在已达成共识的规则下,分布在各地的不同设备依据同样的规则,经过网络通讯进行交互,最终对区块链上的数据达成一致,这是技术共识,用以达成技术共识的算法就是共识算法。
图1所示为区块链通用层次化技术结构,自下而上分别为数据层、网络层、共识层、控制层和应用层。其中网络层是区块链信息交互的基础;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互。
对于算法的选择,一般来说在区块链网络中,由于应用场景的不同,所设计的目标各异,不同的区块链系统采用了不同的共识算法。在私有链和联盟链情况下,对一致性、正确性有很强的要求。一般来说要采用强一致性的共识算法。而在公有链情况下,对一致性和正确性通常没法做到百分之百,通常采用最终一致性(EventualConsistency)的共识算法。
一般来说,要对第一部分的代码进行更新是非常困难的,因为这涉及社群共识,需要非常复杂的协商和协作才能达成。因此,提升第二部分的灵活性和能力就至关重要了。Solidity作为最早的区块链编程语言,在设计之初对此考虑甚少,因此制约了很多应用的发展。一个典型的例子是以太坊的签名算法是写死在第一部分的,对于有其他签名算法需求的应用就无法在以太坊上得到满足了。
2022年中国数字创新大赛区块链赛道(泉州)-安溪)(以下简称区块链赛道)正式启动。区块链通证经济创新峰会_领导氪区块链邮轮峰会_澳门区块链峰会2022数字中国创新竞赛由数字中国建设峰会组委会主办,围绕数字城市、大数据、...
区块链应用的实施,以及区块链系统结构与其他系统结构的整合,与区块链技术和技术系统结构的变化是分不开的。盲目遵循当前主流公共链或联盟链的技术和技术系统范式,难以满足区块链系统应用实施的需要,而不需要改进和扩大业务逻辑和系统...
法国巴黎银行证劵企业于16日发新闻,产品与解决方案责任人Paul Daly与基金营销推广全球产品经历Carole Michel探讨分散型帐本(DLT)与证劵代币化如何构建基金分众营销推广实用价值全产业链。文中谈起,基金公...
以区块链为核心技术自主创新的重要突破口,是中国进入区块链技术的号角。目前,区块链已成为中国的最佳出口。siteethfans.org什么是区块链 区块链?_区块链 投机_龚鸣区块链社会解码区块链全球应用与投资案例显然,区...