×

Cardano SL中的领导者选举

96
Lilymoana
2017.12.07 17:55* 字数 612

本文由币乎社区(bihu.com)内容支持计划奖励。

这篇文章描述领导者的选举过程。

追随中本聪算法

就像前面提到的那样,Cardano SL使用追随中本聪(FTS)算法来选择领导者。每个槽(slot)当前时代(epoch)的领导者在当前时代开始的时候由FTS算法计算得出。所以创世纪块包含了一组领导者的列表。领导者的数量与每个时代的槽数量是一样的,这个数量取决于配置文件中定义的基本安全参数K

FTS使用一个共享种子,该共享种子就是多方计算(MPC)为上个时代计算的结果:在MPC的结果中一些节点揭示它们的种子,这些种子的XOR就被称为共享种子。实际上共享种子就是一个 字节串

股东被选举为领导者的概率与股东持有的币数量相关。同一个股东可以在一个时代里面被选举为多个槽的领导者。

算法

领导者选举过程的理论方面在白皮书的第11页中讲解了。

节点将所有未花费的输出(utxo)按照一种确定的方法(按字典)进行排序,所以结果是一对(StakeholderId, Coin)有序排列StakeholderId是股东的ID(股东的公钥哈希值),Coin是股东持有币的数量。这里假设utxo不是空的

然后节点选择几个在1系统中Lovelaces数量之间的随机i。为了找到第i个币的拥有者,节点找到最小的x,使得这个列表中从xi的所有币的总数不小于i(这样第x个地址就是第i个的拥有者)。

结果是一个非空的StakeholderId序列,也就是被选中的股东们的ID。SlotLeaders序列保存在节点运行环境中

由于是P2SH地址,所以节点不知道是谁将要给它们发送基金。因此,P2SH地址可以包含目标地址,该目标地址指示哪些地址应该被视为“拥有”用于FTS目的的基金。

翻译作者: 许莉
原文地址: LEADER SELECTION IN CARDANO SL

Cardano
Web note ad 1