BigBang Core系统采用的共识机制为 EDPoS+CPoW,以 EDPoS 为主导,决定下次获得出块权的节点或者指明下一区块由工作量 证明共识产生。在 EDPoS 机制未能有效建立时,例如启动初始阶段, CPoW 成为唯一的出块共识机制。下面对共识机制进行详细说明。
5.1 EDPoS 节点协商过程
EDPoS 节点以所持 Token 投票数作为出块权重,通过随机数计算产生 固定出块节点系列。EDPoS 机制建立后,通过 EDPoS 节点之间协商产 生随机数。协商过程每分钟进行一轮,通过加权可验证密钥分享(VSS) 和拜占庭容错方式进行公平随机计算。 每轮协商都包括以下几个过程:1. 节点登记;2. 加密分片数据分发;3. 秘密分片公布;4. 数据重构和随机信标计算。
在每轮协商之前,每个 EDPoS 超级节点需要利用 ECC 算法产生一组私 钥:{a0,a1,...,at-1} ,以及对应公钥:{A0, A1 ,..., At-1} ,满足 Ai = aiG, (i = 0,1,...,t-1)。t 为重构数据的门限值,根据对有效 EDPoS 超级节 点设定,t 最大值为 50。
1. 节点登记
EDPoS 超级节点在本轮协商对标区块 16 个区块之前将登记信息广播上 链,包括加密后的多项式系数 {A0,A1,...,At-1}, A0 作为节点协商公钥。 2. 加密数据分发分发开始于协商对标区块之前 16 区块止于前一区块。分发过程开始时, 根据登记节点的顺序和权重分配计算序号,每个节点分配到的计算序号数 量计算方法为:
节点 i 根据其它节点 j 发布的协商公钥创建共同密钥 Kij,将秘密分片 sij 以 Kij 加密后广播全网,对应节点 j 解密后可以用节点 i 的登记信息 对 Sij 进行校验。其中 Sij 下式计算:
由于节点 i 的加密公钥 {A0,A1,...,At-1} 在登记过程已公布,节点 j 通过 下式进行校验:
若上式成立,说明节点 i 发送了正确秘密分片。
3. 秘密分片公布
当前一区块广播后,每个节点将通过校验的所有秘密分片广播全网,全网 节点在收集到解密的节点分片,也可以通过上面公式进行校验,最终剔除 恶意节点数据后将有效数据进行计算。4. 数据重构和随机信标计算
全网节点在收集节点 i 的 t 个秘密分片就可通过拉格朗日方程重构 {a0,a1, ...,at-1} ,不能收集到 t 个通过校验秘密分片的节点会被剔除, 不能进入下一阶段计算。重复上述计算过程,最终可获取所有有效节点数 据。此过程中,所有可靠节点计算结果将一致,通过组合计算,得到全网 一致的随机信标。由于用于计算的数据分别由各 EDPoS 节点随机提供, 在进行到最后一步计算前,都无法获知其它节点的数据。作弊节点在校验 和重构阶段就会被剔除,在不考虑 51% 攻击的情况下,没有节点可以控 制最终计算结果,因此可以认为产生的随机信标具备真随机属性。
5.2 出块权分配
在 EDPoS 机制没有有效建立起来的情况下,当前区块由 CPoW 共识产 生。当 EDPoS 协商成功完成,就会用随机信标进行掷骰过程,假设 EDPoS 超级节点 i 的 Token 投票为 Vi,总的 EDPoS 投票 Vd = V0+V1+...+Vn,总 Token 供应量为 S。
CPoW 等效投票为 Vwork=S*(1-Vd/S)^3 节点 i 获得出块权的概率 Pi = Vi /(Vd +Vwork)
CPoW 获得出块权概率 Pwork= Vwork / (Vd +Vwork) 重复上过程,就可以得到确定的出块序列。按照出块序列,对应节点完成 当前区块出块,并将解密后的协商最后一步计算过程记录进区块,自证出 块合法性。
在经过 EDPoS 协商,确定的出块系列可以被所有节点一致计算验证,除 了指定确定节点进行出块,有一定概率指定 CPoW 出块。如上面公式, CPoW 区块被选中的概率和参与 EDPoS 协商总 Token 数量相关:
在起始阶段,参与 EDPoS 的节点和 Token 比较少,共识机制退化为以 CPoW 为主,当越来越多 Token 参与到 EDPoS 过程,CPoW 出块几 率会迅速降低。
BigBang Core官网:https://www.bigbangcore.com
BigBang Core白皮书:https://www.bigbangcore.com/whitepaper/BigBang_Technical_WhitePaper.pdf
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。