这AElf主链采用DPoS共识,而为了区别于其他DPoS共识机制,命名为AEDPoS共识机制
AEDPOS该共识相较于PoW和PoS机制,少了哈希碰撞的环节,多了几个其他环节:
在AEDPoS中,我们使用了一个系统合约(Election合约)来记录选举信息,有以下几个接口:
AEDPoS共识中,生产节点个数为 2N+1 个,其中 N 从8开始,每年增加1。即AElf主网上线当年,可以通过投票选出17个区块生产节点,第二年增加至19个,第三年增加至21个,一次类推。与此同时,为了防止生产节点数量无限制增长下去,议会可以选择通过提案来限制生产节点的最大数量。
生产节点的调度中,引入两个周期:
轮(Round),每一轮中,每个生产节点都会被随机地分配一个时间槽(time slot),在该时间槽中,生产节点可以依据当前区块链系统的运行情况,生产1-8个区块;在该轮结束时,会有随机一名生产节点拥有一个额外时间槽(extratime slot),也会产生1-8个区块,但是其中的第1个区块需要将轮次推进到下一轮。
届(Term),默认情况下,AElf主链为每7天一届,换届的时候会重新统计此时每个生产节点候选人(即声明了参选的节点)的得票数,由高到低选取名作为下一届的区块生产节点。