论文背景
- 论文地址:https://ieeexplore.ieee.org/document/9245302
- 论文作者:Sr dan Daniel Simi´c, Robert Šajina, Nikola Tankovi´c, Darko Etinger
- 发表学校: 普拉尤拉伊·多布里拉大学(Juraj Dobrila University of Pula)[来自克罗地亚的一所大学]
- 发表会议:International Convention on Information, Communication and Electronic Technology [2016年的影响因子仅为0.75]
阅读目标
- 了解现在需要随机数的场景以。
- 大致了解目前针对区块链以及分布式环境的随机数所遇到的问题以及解决方案。
- 理解相应的专有名词。
摘要
- 随机数的应用场景有像:
- 游戏,彩票以及随机选择。
- 生成随机数也应该是可公开验证和防篡改的,且不可预测。
1. 简介
- 分布式上的随机数需要满足4个要求:
- RQ1:随机分布。
- RQ2:不可预测结果(无固定规律)。
- RQ3:可以经过公开验证。
- RQ4:防止篡改(产生的随机数不会依赖于任何单一的参与者)。
- 一般每个要求验证的特点有:
- RQ1:需要运行非常长时间,加密Hash可以验证这一个过程(?)。
- RQ2:证明难度大。可预测性的痕迹需要通过一系列统计上的不可能事件(例如证明并不是某个参与者具有优势)来体现。一般来说,任何一个参与者都不能预先预测或提取任何信息。对于每个参与者,关于未来生成的数字的信息量应该是相同的。
- RQ3: 需要保证每个参与者收到的是可以验证的随机数,而不是系统故意分配的。
2. 方法论
- 论文将会大概研究这些领域:
- 谁将是这些方法的参与者?
- 在这个方法中运用了哪些算法?
- 这些算法最典型的特征是什么?
- 这些算法最适用于哪些领域?
背景
- 这一块主要介绍的是后续生成随机数的各种理论基础。
Publicly Verifiable Secret Sharing(PVSS) & Verifiable Secret Sharing(VSS)
- 在密码学中,如果秘密共享方案是可验证的秘密共享方案,并且任何一方(不仅仅是协议的参与者)都可以验证分发者分发的共享的有效性,那么秘密共享方案就是可公开验证的(PVSS)。
CoSi(Collective Signing)
- Cosi这是一种可扩展的见证人共同签名协议,可确保每位权威声明在被任何客户接受之前,都由各种各样的见证人进行验证和公开记录。 CoSi建立在现有的加密Schnorr签名方法之上,可通过有效的通信树上的签名聚合来扩展它们以支持成千上万的证人。
Homomorphic Encryption(同态加密)
- 这张图能够很简单的描述同态加密大概的应用。
- 比较通俗的讲解可以参见:https://www.zhihu.com/question/27645858/answer/37598506
Zero-knowledge proofs(零知识证明)
- 通俗的讲解:https://zhuanlan.zhihu.com/p/34072069
- 描述了一个不透露答案,但却能够证明,或者能够很大程度证明你对一个东西理解的问题。
BLS签名
- 这个和椭圆曲线秘钥生成有关,是一个秘钥的生成算法。
- 一个通俗的理解:https://zhuanlan.zhihu.com/p/63734137
Commit and Reveal Approaches
- Commit Reveal 是一种在规定时间内可以有多人一起参与产生随机数的流程。
- 主要的技术原理是:
- 收集有效sha3(s)
- 收集有效数字s
- 计算随机数,发放保证金以及奖励
- 问题:
- 生成随机数至少需要10个块的协调组织时间,以太坊中耗时在3分钟以上。
- 参与门槛几乎为0,任何人都可以随时加入一个随机数的生成过程,在放置串谋和可证公平方面具有特殊优势。
- 应用:
- Rando、低频率、高中奖博彩。
- 但是这个方法会导致最后一个agent可以提前了解最终的输出,所以可以不揭露它不想要的结果,这种被称为拒绝服务攻击(Denial of Service attack)。
- 通俗的解释可以参考:http://t.zoukankan.com/hzcya1995-p-13313567.html
纯粹分布式相关手段
- 一般分为两种手段,获取上一个区块的信息或者使用还未见到的下一个区块的信息。
- 实际上工作量证明本身就是一种纯粹分布式手段,nonce从理论的角度看是随机的。[nonce实际上]