乌罗波罗斯 Ouroboros 权益证明算法的可行性,是否能够解决双花问题?
发布于 3 个月前 作者 frankfanfan2009 111 次浏览 来自 技术/人物

Cardano-ADA-Proof-of-Stake-Ouroboros.png 在典型的权益证明算法中,拥有最大赌注(或最高数量的硬币)的节点在区块链中创建交易块。但是Ouroboros 算法在实现算法方面有所不同。

从广义上讲,它的工作原理如下,Ouroboros 将物理时间划分为多个时段,这些时段由固定的时间段组成。插槽 Slot 类似于工厂的工作班次。在Cardano 网络中,Slot 所包含的时间范围会有所不同,并且可以在算法中进行修改。纪元Epoch 以一种循环的方式进行:当一个Epoch 结束时,另一个Epoch 开始运转。

每个纪元Epoch 都有一个Slot 领导者,由已经产生ADA币的利益相关者Endorsers 或节点选出。Slot 领导者负责创建和确认要添加到Cardano 区块链中的交易区块。如果他们未能在某个Epoch 中创建事务块,那么下一个Slot 领导者将在下一个Epoch 对它进行另一次Shot 打包,在给定的Epoch 内必须至少产生50%或更多的块。

由Slot 领导者所产生交易区块需要由负责运行协议的第二组利益相关者批准。在一个给定的Epoch 内,可以有一对多的利益相关者,他们的选择是基于赌注份额Stake。

为了确保公正的结果,选举系统配置了两个输入。第一个是多方计算系统:网络中的一组利益相关者执行计算,即由“抛硬币”来决定数字等效性,并彼此共享其结果。第二个输入是财富或股份的分配:具有更大赌注(或更多硬币)的节点可以提高被选为Slot 领导者的可能性。

在向利益相关者提供激励的类型和形式上,Ouroboros 也不同于其他算法。工作量证明算法以硬币和交易费的形式向矿工提供奖励。但是,Ouroboros 算法的设计提供了动机因素来鼓励进行可用性和交易验证,而无需投入大量资金来开采硬币。经济回报也分为三个利益相关者:利益相关者Endorsers,多方计算利益相关者和Slot 领导者。

Ouroboros 称自己为“第一个可证明的安全权益证明算法”。该声明基于事务分类账的两个属性:持久性和活跃性。

如果诚实节点已经将其广播到网络的其余部分,则持久性假定事务是“稳定的”。此属性使用新的安全性参数来衡量分类帐的安全性。活跃性是持久性的补充。根据此属性,在算法中经过预定时间后,这样广播的诚实交易将在网络节点中变得“稳定”。

概述Ouroboros 的论文概述了算法创建者为设计它而做出的几个“合理假设”。例如,他们假设长时间不存在其网络中的节点。此外,假定不同步节点的计算中不包含所有事务的50%以上。有一部分反对者说,实现这些特性的假设是错误的。例如,他们说这些属性假定分类帐之间在任何给定时间点都是同步的。他们认为,这样的期望“对于全球区块链来说是不切实际的”。如果某些节点处于脱机状态,或者插槽领导者在其时期未完成交易,则情况可能并非如此。其他人指出,有51%的拒绝服务攻击,这可能导致大多数网络脱机,这是一种方便的假设。

另外还有部分反对者批评了Ouroboros 的算法未能完全解决双花问题。负责批准Slot 领导者交易的利益相关者Endorsers 有可能最终会批准来自两个不同Slot 领导者的同一组交易。有人说分片是一项在以太坊区块链上正在测试并试图解决该问题的技术,但它可能需要几年的时间才能实现。大家怎么看,Cardano的Ouroboros 能够替代以太坊的Ethash 吗?

回到顶部