使用的是 utxo 模型
使用Randhound 在拜占庭集合中生产分布式的无偏差随机数。
Randhound是需要领导者的,所以需要再所有的节点中选举出一个领导者来主持 RandHound 算法。
问题是 如何选举领导者? 这个问题后面解决
然后利用生成的随机数进行分片,这样保证分片的过程是无偏的。因为 ELASTICO中,是自己计算一个 pow的结果来定位分片,恶意节点可以丢弃一些对自己不利的结果,造成偏差。
ELASTIC 的不足
- 在每个shard比较小的时候,共识失败概率高,恶意节点数占 1、4,当每个shard有100个节点,公式失败的概率高达 2.76% (Cumulative binomial distribution (P =0.25, N = 100, X ≥ 34))
- 一些的矿工可以选择性的丢弃 pow 的结果造成分片结果的偏移
- 不能保障跨分片交易
- validator 频繁更换shard,导致需要存储全局性的状态。
OVERVIEW
- 每个节点有他的公钥私钥作为他的身份。
- 系统运行分为多个 epoch,每个epoch运行一段时间,比如一天,在一个epoch中进行多轮的共识。
- 设置 identity chain, 为了防御女巫攻击,可以使用一些女巫攻击的防御机制来限制身份提交到 identity chain
结构草图
通过可信随机信标将随机数 rndernd_ernde广播到整个 epoch中。
想要参与到epoch e中的validator,需要在 e-1 轮时注册到 identity chain中。
通过上一轮的随机数 rnde−1rnd_{e-1}rnde−1 来选举下一个epoch的leader。leader 负责将身份区块添加到 identity chain中。
通过随机数 rndernd_{e

最低0.47元/天 解锁文章
9743

被折叠的 条评论
为什么被折叠?



