当前位置: 首页 > 区块链学习 > 正文

区块链中的随机数

admin 发表于2019年9月17日 10:02

分布式账本的核心问题就是随机选择出块人,随机性要被全网认可,不可被操纵更不可被预测。

POS 这里有一点比PoW的方案要好就是,要实现攻击,先得成为持币大户,如果攻击成功币价大跌,攻击者也会承受最大的损失。(精髓)

Ouroboros协议

    密码学手段:

    1.承诺(Commitment)和打开(open)

    2.简单随机数协议(Coin-Tossing)

    3.可验证秘密共享(Verifiable Secret Sharing)

最后综合一下整个协议流程:

  1. 在提交阶段,每个节点本地生成随机数和对应的承诺,同时把随机数拆成n份匹配其他的投票节点, 并且用相应投票节点的公钥对每一份信息进行加密,保证它只能被对应的节点解密, 然后把承诺和加密后的拆分信息一起广播给区块链。

  2. 当大家收到大部分节点的承诺和拆分信息后,就进入打开阶段,每个节点把自己的打开发到链上。

  3. 然后是恢复阶段,每个节点检查是否有节点发送了承诺但没有发送打开, 如果有,则解密自己对应的那份拆分信息并发布,然后根据大家发布的拆分信息恢复出该节点的随机数。

  4. 现在大家就有了所有节点的随机数,把它们异或到一起,最终得到了一个一致的随机数,并用它来选择下一轮的出块人。

  5. images/epoch.png


全文完
本文标签: 区块链
本文标题: 区块链中的随机数
本文链接: http://blog.qqzzz.net/m/?post=69

〓 随机文章推荐

共有1867阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文

请勾选本项再提交评论