报告摘要
技术是存在边界的,这决定了需要引入一些其他的激励和约束机制来使得整个系统正常工作。同时在共识机制设计上,常常需要牺牲系统的某些性能来保证一致性和正确性。
公有链里的共识机制主要侧重于使用去中心化和更加具有激励性的设计,目前的许多新型区块链体系,支持可插拔的共识机制模块,可以根据应用场景和需求切换使用不同的共识机制。
联盟链更注重隐私、安全和监管,因此会加入更多的管控元素,更喜欢采用类似于传统的拜占庭家族等共识机制。
达成共识是需要成本的,最终需要衡量投入产出比,有时设计得再复杂的共识机制也许并不如一个好的商业模式来的有效。
引言在分布式系统中,多个主机通过异步通信的方式形成网络集群,主机之间进行状态的复制从而达成一致的状态共识。但是异步系统中的主机可能性能下降、网络拥塞,使得系统内传播了错误的信息。因此在设计共识机制时,要默认系统中存在不可靠的节点。从算法的角度,这些机制的设计本质上是基于经济利益的博弈,对于恶意破坏系统的参与者,好好记账获得的收益大于其破坏的收益,从而保证大部分人的合作。
以太坊核心开发者共识会议:未来几周内会确定Dencun全部范围:5月26日消息,以太坊核心开发者Tim Beiko总结称,最新一次的以太坊核心开发者共识(ACDC)会议上讨论了停用SELFDESTRUCT、EIP-4844 规范更改、操作码管理和潜在的最终Cancun添加等内容。随着Dencun的形成,Devnet-6很可能是最后一个EIP-4844独有的 Devnet,之后也将开始引入其他EIP进行测试。开发者会在未来几周内会确定Dencun(Deneb + Cancun)的全部范围。[2023/5/26 9:43:59]
一、技术的边界苹果公司在设计一款新产品时,都会先了解当下技术的边界在哪里,哪些技术已经可以完全使用了,哪些还要等几年,对于需要等几年的,它会在几年后再考虑。当然,科学和技术有着很大的不同,科学研究可以给出理论上的极限边界,而从工程设计的角度更多考虑的是如何在大概率情况会出现的大致边界内,整体上做到最好,类似于一个优化问题,我们需要知道给定的约束条件,才能最终正确地求解。
就分布式系统中状态共识问题而言,前人的科学研究已经给出了两个重要的边界:
Ripple Labs与美国SEC达成共识,向法院提交部分编辑过的文件:4月1日,Ripple Labs与SEC律师会面,讨论了Ripple要求不公开其文件的请求,之后,Ripple Labs获准部分修改其包含私人商业信息的文件,并就此与SEC达成了协议。Ripple已开始将部分编辑过的文件提交法院。律师James K. Filan已发布了Ripple Labs向治安法官Sarah Netburn提交的两份文件的筛选副本,这些文件在4月1日Ripple与SEC进行讨论后已被编辑。迄今为止,已就四份文件中的两份达成共识。SEC建议他们对这两份文件进行修订,以便Ripple不想公开的机密数据保持机密。(U.Today)[2021/4/3 19:43:27]
Fischer-Lynch-Paterson在1985年的论文中证明了:在一个多进程的异步系统中,只要有一个进程不可靠,那么就不存在一个协议,此协议能保证有限时间内使所有进程达成一致。
CAP原理:分布式计算系统不可能同时确保一致性、可用性和分区容忍性,设计中往往需要弱化对某个特性的保证。
其中一致性是指系统中服务节点对于处理结果达成的一致;可用性是指在有限时间内,任何非失败节点都能应答请求;分区容忍性是指网络可能发生分区使得节点之间通信不保障。
刘昌用:要用密码共识构建去中心化基础设施 而非搞可控区块链:7月29日早间,北京大学经济学博士、知密大学创始人刘昌用发微博称,去中心化的全球密码经济基础设施是中国突破封锁,维持世界和平、经济增长、人民安康的、最佳的也可能是最后的机会。现在要做的是用密码共识机制构建去中心化基础设施,获得先机,而不是搞可控区块链。你的“可控”是别人的“被控”。不能放心跟你玩儿。[2020/7/29]
科学家认为在分布式场景下达成完全一致性是不可能的,但是工程上的许多问题的解决,都在于如何进行合理地取舍,我们可以牺牲一部分代价来换取分布式场景的一致性。目前,基于区块链设计的各种共识机制的不同主要来源于以下两个方面的不同:
第一,算法假设的条件不同,例如Paxos和Raft等算法假设节点不会故意发送错误的消息,这当然是一个比较强的条件。在比特币使用的PoW共识机制的前提条件是并不预先知道系统内有多少记账的节点,而联盟链里常使用的PBFT等协议则假设节点需要许可。
第二,可以看成是牺牲哪一部分代价来换取多少程度的一致性。例如根据CAP原理,弱化可用性,在系统故障时拒绝服务,Paxos、Raft等算法就是弱化了可用性来保证结果一致性。再如比特币通过算力的比拼牺牲了一部分最终一致性,但是保证了整个区块链系统的合法性和鲁棒性。
动态 | 人民网:全新信任机制推进协作共识,“区块链+”推动产业升级:1月20日,人民网发布《强化知识产权保护 人民在线推出版权保护“人民方案”》文章,当前,以5G、物联网、区块链为代表的新一代技术,不断推动着技术创新带来的产业升级。云计算、人工智能带来了生产力的提升,大数据让生产资料分发更高效,而区块链使生产关系发生了变革。随着区块链行业的纵深发展,区块链已经从最初主要在底层平台上的探索萌芽阶段,发展到不断应用于医疗、金融、民生、政务、版权等领域,并赋能更广泛的实体经济,逐步成为整个社会的重要基础设施。未来,以“区块链+”模式赋能实体产业,推动区块链与产业融合,加速推进产业区块链建设,将成为块链行业发展的主旋律。[2020/1/20]
算法当然不是万能的,它的边界决定了必须要引入一些其他的激励和约束机制来使得整个系统正常工作。:在基于权益证明的加密货币中,创建新的区块并不会消耗大量CPU,如果它不诚实并不会失去什么,对于一个节点来说,利益最大化的选择是在多条链上同时挖矿,这会造成网络中的节点很难对使用哪条链达成共识,这种情况下需要通过算法外的办法来解决,加入一些惩罚的协议等等。
现场 | Bodhi Market Prediction首席执行官:加密市场低迷并不影响共识:CoinTime现场报道,今日在芝加哥举办的区块链之声大会上,CoinTime美国首席运营官Angela Tong主持了有关中国区块链生态系统的小组讨论。Bodhi Market Prediction首席执行官兼创始人Xiahong Lin指出,市场低迷是非常正常的,健康的市场有时会在新价值加入时上升,而在价值下降时下跌。 这个看跌的市场提醒人们只关注价格本身是错误的,为人们提供了更多机会去思考关于该产业的下一代,这是区块链发展的真正共识。[2018/8/25]
二、公有链的常用共识机制
就目前而言,公有链里的共识机制主要侧重于使用去中心化和更加具有激励性的设计,目前的许多新型区块链体系,支持可插拔的共识机制模块,可以根据应用场景和需求切换使用不同的共识机制。
系统的记账者都有唯一公认的历史交易序列对于公有链来说至关重要,因为这是解决“双重支付”问题的关键:为了避免双重支付的出现,那么就应当获悉这笔交易之前的所有交易,以确保这笔交易是第一次出现的。如何在双方信息不对称、不确定的环境下,使得交易可以顺利进行,这就是“拜占庭将军问题”。
比特币的PoW工作量证明机制通过以下途径来解决了拜占庭将军问题:
维持周期循环,保证节点步调一致:调整难度来保证网络一直需要花费10分钟找到一个数学难题的解,并产生一个新区块。在这10分钟内,网络上的参与者发送交易信息并完成交易,最后才会广播区块信息,这样就杜绝了节点无限制、无规律地发送命令的状态。
通过算力竞赛,确保网络单点广播:比特币通过时间戳和电子签名,确保在某一个时间点只有一个节点传输区块信息,改变了节点之间互相传送的混乱。
通过区块链,使用一个共同账本:基于P2P网络的BT技术是成熟的,网络中的节点,在每个循环周期内都是同步的,这让每个节点做决策的时候就有了共同的基础。
事实上,无论你采取什么样的方式,只要保证时间统一、步调一致、单点广播、一个链条就能解决加密货币这种分布式系统的拜占庭将军问题。
PoS作为另一种共识机制,矿工掌握的加密货币数量占比等于其挖出一个PoS矿的概率。这会导致首富账户的权力更大,有可能支配记账权,也会造成权益越来越中心化,但是PoS确实大大减少了挖矿的能源成本。长远来看,可能会有更多的币种会向PoS方向发展。
除了以上两种比较常见的基本的主流共识机制,目前的公有链共识机制的创新点在于两者之间的混合,从而可以保留去中心化特征的同时提高处理的效率。例如以Decred为代表的PoW/PoS混合共识:挖矿的过程和比特币类似,也需要完成一定量的工作量证明,但是在达成共识的环节有所区别,不同于比特币需要全网节点来验证区块,最终以最长的链为主链,混合机制引入PoS投票来决定刚挖出的区块是否有效,大大提高了验证的速度。除此以外还有以Hcash为代表的PoW/PoS混合共识+双层链结构。将PoW难度分成两级,分别发布在两条链上,使得PoW矿工和PoS矿工都能参与系统共识并发挥作用。
三、联盟链的常用共识机制
联盟链更注重隐私、安全和监管,因此会加入更多的管控元素,更喜欢采用类似于传统的拜占庭家族等共识机制。联盟链相对于公有链而言,弱化了对于去中心化的强调,同时由于节点准入制,可以理解为已经赋予了节点一定的信任。
股份授权证明机制里有股票权的人是通过选举产生和更换的,而不是和PoS一样通过币多币少这一个维度来产生的。它通过不同的策略,不定时地选中一小群节点,由这一小群节点做新区块的创建、验证,签名和互相监督,大幅度的减少了区块创建和确认所需要消耗的时间和算力成本。DPoS不需要太多的信任,所选的这些委托人不能改变交易的细节,如果节点存在试图作恶、提供的算力不稳定、计算机宕机等行为,公开的社区可以快速将他投票驱逐。
如果说PoW和PoS都是以经济模型为主解决共识问题,那么PBFT就是以算法模型来解决共识,它不存在代币分发机制,能耗很低。过程可以简述为大家先投票选出领导者,领导者记账后其他人投票通过。在PBFT算法中,可以证明只要会出错的拜占庭节点小于系统全部数量的1/3,那么整个系统就可以正常工作。目前的改进算法方向大致包括使用P2P网络、动态调整节点的数量,减少协议使用的消息数量等。
联盟链的共识机制算法的创新也包括了例如DPoS和PBFT的混合,将DPoS的授权机制应用于PBFT中实现动态授权,文献已经证明这样的算法在最佳出块时间为20秒的时间间隔下,TPS可以达到10000-12000,时延控制在100-200ms之间。正是由于联盟链保留了部分的“中心化”,从而得到了交易速度增快,交易成本大幅降低的回报。
四、共识的成本
很显然,共识是需要成本的,公有链如PoW付出了大量的算力成本,大量的硬件花费了很长的时间和很多电力来进行SHA256运算,求解一个实际上没有什么意义的难题,仅仅为了竞争记账权;即使是在联盟链上要达成共识,就像民主投票一样,需要经过一轮又一轮的磋商,交换意见最后达成一致。如何降低民主的成本,如何用最少的磋商次数,最小的沟通成本达成共识是算法追求的目标,也是决定区块链这台机器是否跑得足够快的重要因素。
而最重要的问题,我们应该思考的是从用户的角度,是否真正提升了用户的体验。毕竟,仅仅因为信仰而使用区块链上的各种服务的人只是少数,如果对于普通人而言,新的产品对他的生活品质、产品体验并没有太大的提高,那么究竟是否应该继续投入也是值得深思的问题。对于企业而言,企业当然应该仔细思量自己的投入产出比,以决定是应该使用区块链技术还是说存在成本更低的替代性方案。例如使用分布式数据库来解决企业之间的信息不对称性,对数据设置查看权限和加密等级来实现不可篡改,并配合一系列的管理办法,加上大部分场景里可能龙头企业并无太大的动机去实现数据篡改,并且有足够的动力去维护数据库,在这种情况下,设计得再复杂的共识机制也许并不如一个好的商业模式来的有效。
文章为哈希未来研究院原创作品,如需转载,请联系哈希未来工作人员。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。