Polkadot - ELVES Protocol详解
ELVES (Endorsing Light Validity Evaluator System) 即 轻量级背书有效性评估系统, 是JAM的区块批准和审计系统.
该协议的总体思路是(VRF)随机选择一小部分初始审计员来重建和审计区块。如果存在相互矛盾的声明,或审计员缺席,则会为该区块分配更多审计员。
1. 角色
- 全体审计员(即验证者): 约400个
- 区块⽀持者: 一个区块一个
- 审计员轮流担任新区块的⽀持者
- 初始审计委员会: 约数十个
- 使⽤ VRF 从全体审计员中选举出
- 候补审计员
- 有初始审计员未及时响应时,自动选一个新的替换
- 如果发现区块无效, 则全员进行投票
图1: ELVES中的各类验证者角色
2. 运作
ELVES 如何运作?区块批准流程分为如下几个阶段:
- 支持阶段 – 支持者P验证并提议区块
- 支持者P使用重建阈值为审计员数量 1/3 ⽐例的Reed-Solomon 码对(区块)数据 m 进行编码,获得分片 (s1,...,sn)(s_1, . . . , s_n)(s1,...,sn), 并使用 Merkle 树对这些分片进行编码, 并计算从每个分片 sis_isi 到根的路径作为证明 πiπ_iπi . 并在主链中发布承诺(Merkle root) comcomcom
- 分发阶段 – 支持者将编码后的区块数据分发给所有审计员
- P 向各方 PiP_iPi 发送 (si,πi)(s_i , π_i)(si,πi)
- 各方 PiP_iPi 验证(P的签名和Merkle证明)通过后, 在主链上发布签名投票消息 viv_ivi
- 主链中出现超过 2/3 签名投票消息时, 即表示分发成功
- 批准阶段 – 使⽤ VRF 从全体审计员中选出一个初始审计委员会, 然后重建与审核区块
- 令 S 为输出签名投票的各方集合, 属于S的PiP_iPi 向 属于初始审计委员会的PjP_jPj 发送片段 (si,πi)(s_i , π_i)(si,πi)
- PjP_jPj 收集到 S 的各方片段后, 可按拉格朗日插值法重建出消息m, 并检查它的Merkle root是否为 comcomcom
- 向其它初始审计员广播签名后的赞同票/不赞同票 ViV_iVi
- 如果有审计员未及时响应时,会扩大初始审计员的规模
- 进入 4 或者 5
- 争议阶段 – 如果发现ViV_iVi为false, 会进入此阶段
- 所有验证者将进行拜占庭投票决定解决方案
- 最终结果为区块有效的话, 将惩罚投反对票的审计者, 之后进入 5
- 最终结果为区块无效的话, 说明支持者P作恶, 惩罚它, 然后结束
- 最终确定 – 只有在成功批准后,区块才会最终确定
图2: ELVES的工作机制
附录
-
论文 2024-961 : Jeff Burdges、Cevallos 等人在2024年提出的 ELVES 方案。该方案采用非冗余验证者分配策略,并将其与验证者参与的提议与审计博弈相结合。这一机制旨在清除和惩罚无效计算,同时确保一个网络的最终性状态依赖于所有因果相关的网络。
-
ELVES的支持, 分发与批准阶段
图3: ELVES的支持, 分发与批准阶段网络图
- 往期精彩回顾:
- 区块链知识系列
- 密码学系列
- 零知识证明系列
- 共识系列
- 公链调研系列
- BTC系列
- 以太坊系列
- EOS系列
- Filecoin系列
- 联盟链系列
- Fabric系列
- 智能合约系列
- Token系列