PoW+PoS混合共识的简单示例

联系人:高吴 | 

为什么你需要一个混合的PoW PoS共识!采用PoW一致性算法的典型例子是比特币和以太网,但它们是不同的。比特币的PoW一致性通常被称为Nakamoto算法,而Ethereum的PoW一致性被称为GHOST算法,只是有一些变化。然后是Conflux项目

为什么你需要一个混合的PoW PoS共识!采用PoW一致性算法的典型例子是比特币和以太网,但它们是不同的。比特币的PoW一致性通常被称为Nakamoto算法,而Ethereum的PoW一致性被称为GHOST算法,只是有一些变化。后来,在GHOST的基础上结合DAG并行阻塞技术,将系统的吞吐量提高到网络带宽的极限。

尽管这些系统在细节上有所不同,但如果它们属于PoW类别,它们必须包含PoW的一些通用特征,这些特征通常表现为两个方面:它们的优点反映在它们的缺点上,没有这些缺点,它们就不能表现出优点。例如,缺点:高块铸造成本和高能耗;优点:包括计算历史轨迹和能耗轨迹,具有很强的历史惯性,外部力量很难篡改账簿或破坏系统。

wwW。ii35.com

PoW能够保证系统安全的前提是攻击者很难控制超过51%的计算能力。然而,矿池的出现实际上破坏了这一前提,不同矿池之间可能会签署商业协议,组成一个能够协同行动并有能力发起51%攻击的矿组。例如,在BCH-ABC和BCH-SV之间的分歧事件中,外部世界很难确认是否存在计算攻击。然而,在分岔的初始阶段,BCH的两条分岔链显然处于矿业集团的控制之下。

区块链系统的参与者大致可以分为三类:拦截者(采矿池)、货币持有者(用户)和开发者。在PoW系统中,货币持有者是最脆弱的群体,区块链系统的理想目的应该是为用户服务。数字资产属于用户,而不是矿工和开发者。然而,在大计算能力攻击和系统分叉的情况下,用户没有任何选择,其权益得不到有效保护,这是不合理的。

因此,在新系统的设计中,有必要同时引入PoW和PoS来形成一个混合的共识机制,使用户可以通过他们所拥有的货币权利进行投票,从而消除大计算能力攻击所造成的分叉链,使矿池只能作为一个blockmaker,而不能成为系统的实际控制者,并对开发者形成一定程度的制衡,而不是使区块链系统成为开发者的一个技术测试场和游乐场。

有许多新的区块链项目采用了PoW PoS混合共识,我在这里给出一个简单的设计方案。其核心思想是矿工只负责释放石块。如果计算能力攻击创建具有一定长度的临时分叉链,货币持有者可以投票选择分支机构和交易合并,并且分叉链块可以包含在整个区块链分类账中(这可以增加分类账的累计工作量的计算轨迹)。

如果货币持有人不关心系统的运行,他可以选择弃权,或委托股权代理人投票,谁将投票。股票代理系统可以通过BFT或其他低能耗的协商算法就投票结果达成一致。在区块链系统的设计中,只要有一种有效的方法来防止某些攻击,这种攻击的概率实际上变得非常小。因此,PoS子系统只需要少量的干扰就能保证整个系统的正常运行。

wwW。ii35.com

从普通人的角度来看,区块链是一个线性连锁结构,但从实际角度来看,区块链是一个树状组织。随着块高度的增加,对于每个块,根据它是否在最长的链中来选择唯一的主干(如图1中的黑色块所示),而没有成为主干的其他块分支被消除并成为孤立的分支(如图1中的蓝色块所示)。然而,主干末端的许多分支仍然处于竞争状态(如图1中的绿色块)。一个分支能否成为主干取决于以后生成的大部分块是否跟随并扩展该分支,以及竞争块中包含的事务是否处于不稳定状态有待确认。

(9

如果最长分支上的任何一个块后接m个块,则可以认为它基本上处于稳定状态。但是m不是一个绝对的常数值,而是取决于诚实计算能力和恶意计算能力的比例。如果恶意计算能力占51%以上,您可以选择“近期内的任何块位置”来启动新的分支链,并以更快的速度扩展分支链,最终超越并推翻原来的主干,如图2中的两条紫色分支链。从101分叉比从105分叉更难。假设在105处恶意分支成功,包含在原始链分支106.a、107.c、108.b和其他块中的任何事务都可能被拒绝。如果攻击者长期(例如一个月前)使用大量计算能力从某个数据块点实施分叉攻击,那么它不会成功的概率很高。原因1:长分叉链的广播成本昂贵,网络中的大多数节点拒绝接收时间戳与当前时间相差N小时的块广播(或根据当前最长链中包含的块时间戳序列计算参考时间值);原因二:在区块链分类账的共识中有一定程度的“人民共识”。如果原始分类帐状态已被大多数参与者认可,那么用强大的计算能力来操纵它是不可行的。

计算分叉攻击是一种暴力攻击,它“短暂地时光倒流,修改已建立的交易事实,然后回到现在”。有些人认为这种攻击需要大量的计算资源,攻击者会得不偿失。这种观点经不起分析。由于挖掘池的出现,挖掘池之间可能会形成挖掘集群,计算能力租赁市场也在不断发展,这使得发起此类攻击的可能性越来越大,给人们对虚拟货币的信心带来了更大的负面影响。

例如,爱丽丝付给鲍勃一大笔钱,然后爱丽丝可能恶意地通过临时租赁的巨大计算能力来分裂和拒绝交易,给鲍勃造成巨大的损失。通过预测攻击事件对市场心理的影响,也有可能在虚拟货币期货交易市场中选择做空或多头,并有计划地操纵市场,因此将系统的安全性完全寄托在计算能力上是不可靠的。

如上所述,我们分析了单PoW共识的分歧攻击问题,以及引入PoW PoS混合共识来解决分歧攻击的总体思路。现实中出现了分叉攻击,如BTG和ETC被攻击。因此,本文将分析PoW PoS混合共识的过程。一般来说,“PoS投票子系统”可以看作是一个观察者,它不断地监视和判断“PoW计费子系统”的趋势,以避免大计算能力分叉攻击的发生。

PoS投票子系统本身可以使用BFT共识算法、VRF等机制对投票结果达成一致。如下图所示,黑色和红色块组成了PoW链,而紫色块代表恶意攻击的分叉链。PoW链负责处理转移交易和执行智能合同。绿色和蓝色块构成PoS链。绿色区块包含超过51%的PoW区块投票确认,而蓝色区块是PoS投票子系统本身的更新,例如货币持有者对投票代理人的重新选举。不管是哪条链,每次添加新块时,账簿数据都会迁移到新的状态。每个新块更新以前的账簿数据的状态。

PoS链将每四个PoS区块确认一次,PoS区块30将确认PoS区块60(分别称为S30和W60)的货币投票,其包括超过51%的货币投票交易;PoS链被故意从PoW链延迟,S30将在W63~W64处投票给W60以提高准确性。

wwW。ii35.com

PoS链的轮询结果必须最多每隔七个块引用和确认一次,如W67或S30的前一次(如W65)引用确认;S31包含PoS系统本身的一些变化(如用户爱丽丝更换投票代理);S32确认W64,其中包括超过51%的货币投票交易。PoS子系统观察到紫色区块广播明显晚于黑色区块广播(例如,接收到A0的时间与接收到W66的时间非常接近),因此S32将A0识别为分叉区块,因此W70可以参考A3区块进行分叉整合:两条链上没有冲突的所有交易生效,冲突的交易服从黑色链,紫色链中的矿工不能获得任何区块奖励和交易费用。分叉融合不是必要的设计,但这里只解释其可行性。

假设S33不能正常输出,PoW链将在W75处或之前盘旋,并且它不能继续前进。在继续之前,它必须等待PoS子系统再次稳定运行。如果PoW链长时间悬停,传统的挖掘难度调整算法会不准确,因此新算法可以参考PoS链中包含的时间戳序列来扣除悬停时间。PoW PoS混合一致性解决了PoW块中的概率确定性问题,能够实现最终确定性。拥有强大计算能力的矿商必须同时持有51%以上的货币权,才能对系统发起分叉攻击,这是极其困难的。

这里引入的混合共识实质上是将“计算能力分叉攻击的隐患”转化为“PoS投票子系统不能正常工作的隐患”。但是,在PoS投票子系统无法运行后,可以通过社区活动重新启动,不会给用户带来任何财产损失。然而,51%计算能力攻击带来的双重交易及其对真实交易的否认是无法补救的。

wwW。ii35.com

因此,在设计公共链系统时,PoS PoW的混合共识是值得考虑的,这也有助于公共链的成功引导。在引导过程中,纯PoW链很容易被外部恶意计算能力杀死。