POA(活动证明)区块链共识算法

POA(活动证明)算法是区块链的* * *算法。其基本原理是结合POW(工作证明)和POS(利害关系证明)算法的特点。POW算法和POS算法的具体内容可以参考如下:

功率算法:/p/b23cbafbbad2

POS算法:/wgnihao/article/details/80635162

与其他算法相比,POA算法能够改善网络拓扑结构,维持在线节点比例,需要较少的交易成本,减少算法识别过程中的能量消耗。

POA算法所需的网络还包括两类节点,矿工和普通参与者,其中普通参与者可能不会一直在线。在POA算法中,首先矿工构造一个块头,从块头中选出N个硬币,这N个硬币的主人参与后续的检查和生成块的过程。

由此可见,POA算法不仅与计算能力有关,而且后续n个参与者的选举完全由网络中参与者拥有的硬币总数决定。参与者的钱越多,他被选为N个后续参与者的机会就越大。后续N个参与者参与的必要条件是这N个参与者必须在线,这也是POA命名的由来。POA算法的维护依赖于网络中的活动节点。

POA算法的一个理想的基本流程是,类似于POW协议,矿工构造一个满足难度要求的块头,通过矿工获得的块头计算得出N个硬币的个数,从区块链中可以得到这些硬币的当前参与者。矿工将此块头发送给这N个参与者,其中前N-1个参与者检查并签名此块,最后第N个参与者检查并添加交易到此块,释放此块,即此块完成。

下图显示了一个理想的流程:

在实际操作中,无法保证网络上的所有参与者都在线,而不在线的参与者无法检查和签名,这种无法检查和签名的块头将被丢弃。

也就是说,在实际操作中,应该是挖掘者构造一个块头,并广播给所有参与者签名,同时继续重构一个新的块头,以避免前一个块头导出的N个参与者中有一个不在线,导致该块头被废弃。

所以,在这种情况下,一个区块是否被确认,不仅与矿工的计算能力有关,还与网络上的在线比例有关。

与纯POW相比,当在与比特币(POW)相同的时间内产生一块10分钟时,POA会因线下参与者而遭受损失。所以矿工在10分钟内可以建造的方块数量会更多,也就是方块头的难度极限会降低,矿工在采矿过程中造成的能量损失也会减少。

与纯POS相比,可以看出POA的分块过程不会链接积木块过程中的相关信息,可以明显减少区块链中为维护协议而产生的冗余信息量。

本节分析上诉协议中的一些参数设置。

矿工构造块头后检查块头并构造块的n个参与者的数量的选择类似于比特币中每个块的出块时间的选择。在比特币中,选择10分钟作为每个区块的预期时间,并通过动态调整难度来适配。

这里n的值也可以选择或动态调整。动态调整需要更复杂的协议内容,这可能带来区块链的数据膨胀,复杂的协议也增加了攻击者攻击的可能性。另外,暂时没有办法证明动态调整能带来什么好处。静态调整可以在后续分析(4安全分析)中得到N=3的值,比较合适。

从上面的描述中可以看出,除了矿工之外,还有N个币主衍生于块头。在构建了一个新的区块后,这些参与者也应该得到一些激励,让他们保持在线。

矿工和参与者的错配比例与参与者的在线状态有关。给予参与者的激励与他们保持在线的热情密切相关。在线的参与者越多,网络的稳定性就越好。因此,当网络上的在线参与者不足时,可以增加参与者的激励份额,从而刺激更多的参与者上网。

如何确定当前参与者的在线状态?当最后一个参与者可以构造一个块时,被构造但被丢弃的块头将被添加到该块中。如果丢弃的块头数量太大,说明在线人数太低,要调整分享比例。

同时,最后第n个参与者和其他参与者的划分也需要考虑。第n个参与者需要将事务添加到块中,即维护UTXO池,第n个参与者还需要将丢弃的块头添加到新构建的块中。

为了鼓励他们将丢弃的块头添加到新构造的块中,可以根据添加的块头适当增加一点激励。虽然添加更多的木头人可以提高下一轮的分成比例,但应该足以激励参与者将未使用的木头人添加到区块中(这里参与者不可能为了增加分成而添加更多的木头人,每个木头人意味着一个矿工的工作量)。

参与者不能在不维护UTXO池的情况下构建块,但是他可以参与前N-1个签名。因此,为了鼓励参与者维持UTXO池,作为最后一个建造街区的参与者,必须给予他更多的激励,例如,比其他参与者多一倍。

从3.2的描述中,我们可以知道一个用户必须在线并维护UTXO池才能获得尽可能多的好处。这种机制必然会导致部分用户将账户委托给一个集中的机构。这个组织始终保持在线,为用户维护其账户,并在被选为建造区块的参与者时参与区块的建造并获得利益。最后,组织把收入分成一些形式。

如前所述,参与者必须用自己的密钥签名,委托给某个组织后,该组织可以用这个密钥对区块进行签名,也有可能用这个密钥消费用户的财产。在这里,你可以用一把花费有限的钥匙。这个钥匙有两个作用,一是消耗账户中的部分财产,二是将全部财产转移到指定账户。保管的时候可以用这个钥匙,在被告知部分财产已经花完,保证财产安全的情况下,可以立即将全部财产转移到自己的另一个账户。

从上面的分析可以看出,POA的安全性与攻击者拥有的计算能力和股权有关。假设攻击者拥有一定比例的在线股权,攻击者的计算能力需要是其他所有计算能力的两倍才能达到分叉。假设攻击者的总持股比例和网络中诚实用户的在线比例为0,攻击者的计算能力需要是其他所有计算能力的两倍才能实现攻击。

攻击的分析表如下:

从上面的分析可以看出,POA算法与其他算法相比,能够改善网络拓扑,维持在线节点的比例,要求更少的交易成本,减少算法识别过程中的能量消耗。同时,PoA协议的攻击成本高于比特币的纯PoW协议。

引用:活动证明:通过堆栈证明扩展coin的工作证明