共识算法思路分析
Posted 只是而已
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了共识算法思路分析相关的知识,希望对你有一定的参考价值。
前言,现在主流共识算法的改进基本都是基于POW(比特币系统)和DPOS(以太坊系统)做优化。为了解决拜占庭将军问题,女巫问题,自私挖矿,节点贿选,双花攻击等等问题。
PoCaC其实是对PoW做了相应改进,先是动态调整了哈希计算的目标难度值。然后加了贡献值和信誉度两个概念,在规定时间内算出目标难度值的节点获得贡献值奖励,根据节点行为增加或者扣除信誉度。最后给一个权重公式计算打包记账权。与PoW对比得出效率高,增加了节点积极性的优点
针对的其实是DPoS算法改进,目的是解决持币时间长的节点“富者愈富”、出现问题节点如何通过几轮迭代快速剔除的问题,给每一个节点赋予币龄保证金共识记录三个衡量投票权重的因素,由此得来的投票值进行高低排序
对于计票,投票两个流程的改进
- 投票激励机制,记账激励机制
- 解决拜占庭和恶意节点问题
- 把原来的DPoS算法中将系统节点分为见证人节点和受托人节点,见证人节点负责投票给受托人,选票是其持有的币龄。现如今更改为选票与币龄,保证金,参与共识次数。
- 其中,共识次数又有一个标准,就是2次成功的共识记录可以抵消一次失败的共识记录,当正确共识次数小于错误次数两倍时,统计结构为负值并呈指数减少,大于两倍时线性增长
- 激励机制改进,收益由节点缴纳的保证金和历史共识情况决定。
- 记账激励机制:根据合作博弈中的banzhaf权利指数对记账激励进行再分配。也就是说,在联盟博弈中,若某个投票者在加入一个联盟后,能使原本没有获胜几率的联盟获胜,那么这些联盟可以看做这个投票者的有效联盟。对于每个投票者来说,有效联盟越多,其拥有的投票权就越大。
- 涉及到收益分配问题,由于目的是想让联盟能够一直有效运行下去,因此要分配合理,保证公平。因此不能采取非合作博弈,要采取合作博弈。
- 解决问题,降低异常节点数目,增加节点参与度。
v o t e = { ρ ∑ i = 1 n ρ i ∗ ( C s − C e ) 2 C s ≥ 2 C e ρ ∑ i = 1 n ρ i ∗ ∣ C s − C e ∣ C s < 2 C e vote=\\left\\{\\begin{array}{l}\\frac\\rho{\\displaystyle\\sum_{i=1}^n\\rho_i}\\ast(C_s-C_e)^2C_s\\geq2C_e\\\\\\frac\\rho{\\displaystyle\\sum_{i=1}^n\\rho_i}\\ast\\left|C_s-C_e\\right|C_s<2C_e\\end{array}\\right. vote=⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧i=1∑nρiρ∗(Cs−Ce)2Cs≥2Cei=1∑nρiρ∗∣Cs−Ce∣Cs<2Ce
-
Hybrid Consensus Algorithm Based on Modified Proof-of-Probability and DPoS(基于改进概率证明(POP)和DPoS的混合一致性算法)
其实是在把挖矿和打包两个功能分给了见证人节点和受托人节点,通过见证人计算出的hash值与受托人节点选择的期望值得到真实hash值作对比,如果相同,那么认为验证成功
理想情况下,每个满足预期值的区块都可以快速通过半数以上的超级节点的验证,因此可以保证最多十分钟生成一个区块。每次成功创建一个区块,总收入的 60% 分配给成功挖矿的 PoP 节点,20% 的收入分配给当前验证块的 DPoS 超级节点。这 20% 的收入分配给投票给超级节点的一般DPoS 节点。
以上是关于共识算法思路分析的主要内容,如果未能解决你的问题,请参考以下文章