对比DPOS算法的功能实现
百度超级链 | Tendermint | EOS | TRX波场 | 长安链 | |
---|---|---|---|---|---|
记账人 | 25 | 1 | 21 | 27 | 4 |
出快 | 1. 超级节点之间按照顺序轮流出块2. 25个超级节点轮流出完⼀轮:轮值周期3. 每个轮值周期内,同⼀个节点可以出20个块,出块间隔时间为3秒【可配置】 | 1. validator的⽣成区块、投票区块的权重与他的质押⾦额相同2. 使⽤了复杂的算法,来保证各种情况下,节点的出块机会尽可能与它的质押⾦额相同 | 1. 节点按照字⺟顺序进⾏排序2. 按照节点顺序依次出块3. 每个节点出12个块,每个块0.5s | 1. 按照得票多少的降序作为记账顺序2. 27个记账人按照记账顺序依次生产区块3. 出快时间3秒钟 | 基于TBFT出快 |
权益 | 治理Token | Coin【币】 | EOS | TRX | ERC20合约 |
周期(世代) | 25个超级节点轮流出完⼀轮 | 每个块 | 21 * (0.5 * 12)= 126 秒 | 6小时 | 10块【配置】 |
竞选资格 | 1.提名候选人需要冻结燃料,并且金额不小于系统总金额的十万分之一【总100亿】2.该燃料会被一直冻结,直到节点退出竞选3.提名支持自提和他提,即允许第三方节点对候选人进行提名 | 质押最小金额的Coin | 任何节点 | 消耗 9999TRX | 权益数【配置】 |
选举 | 1. 冻结燃料, 每一票对应的燃料可配置2. 博尔达积分法,支持一票多投3. 排名前25的节点当选 | 1. 达到质押最小的金额的前100个节点2. 依据当前链上的验证者排名、出块历史,选择下⼀个块的proposer | 1. 质押代币,进行投票2. 可以投票给多人3. 排名前21当选4. 投票权益衰减 | 1. 质押TRX兑换选票2. 1TRX兑换1票,解除质押后,选票失效3. 只能投票一次,每次投票覆盖上一次4. 获得票数最多的27个节点当选 | 符合条件的节点,两轮次随机 |
共识 | Pipeline-Hotstuff | Tendermint | ABFT | 未知 | TBFT |
激励 | 每产生一个块会有奖励,投票的也有奖励1. 每年 增发5%2. 1/5 给to_producers,剩下约4/5放到 savings中3. 1/4的to_producers 用于 每一个块的奖励4. 剩下约 3/4 的 to_producers 用于投票奖励 | 1. 32TRX/固化块2. 所有记账人(包括记账候选人)得票数在前127名按得票比例将要获得的TRX奖励总数 | |||
惩罚 | Slashing | 1. 减少出块节点的区块奖励2. 扣除出块节点押金3. 冻结节点 |
注释:【波场】
- 固化块: 坡场27个记账人的70%记账人(witness)即18个“认可的区块”。
- 认可的区块: 基于这个块产生了新的区块。
DPOS算法功能列表
百度超级链 | CosmosTendermint | EOS | TRX波场 | 长安链 | |
---|---|---|---|---|---|
权益 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
质押 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
世代切换 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
竞选资格 | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
选举 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
共识 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
激励 | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
惩罚 | ❌ | ✔️ | ✔️ | ❌ | ❌ |