原文作者:JosephBonneau和ValeriaNikolaenko
原文标题:PublicRandomnessandRandomnessBeacons
共随机性是许多现实世界安全协议的重要组成部分。在某些应用程序中,例如和多人游戏,随机性会增加乐趣。在其他应用中,随机性提供了一种公平的方式来分配不可分割的资源,从绿卡到巡回法院法官的案件分配,再到体育比赛的种子。它还用于分配负面资源,例如税务审计或机场的二次安检。
传统上,我们依赖受信任的权威来为这些协议生成随机性,但在web3世界中,我们需要做得更好。在这篇文章中,我们将探索通过分布式随机信标构建可公开验证的随机性的方法,然后讨论一些链上应用程序。
预期属性
生成随机数是一项众所周知的微妙任务。例如,许多加密密钥已经泄露,因为它们依赖于一个有缺陷的随机数生成器。然而,这只是私人随机性,只有一方需要生成和使用它。
相比之下,公共随机性是一个多方参与过程,这大大增加了难度。产生公共随机性的良好协议将具有以下安全属性:
无偏倚:任何攻击者或攻击者联盟都不应该能够使输出产生偏差。可靠:任何攻击者都不能阻止协议产生输出。
可验证:任何人都可以轻松验证协议输出,并且应该看到与其他人相同的输出。
不可预测:如果协议在T1时间产生输出,那么在某个时间T0<T1之前,没有人应该能够预测关于输出的任何事情,理想情况下,T0非常接近T1。
近一周内a16z相关地址已有9004枚MKR转入Coinbase:金色财经报道,据链上分析师余烬监测,a16z关联的0xd520开头地址于9小时前将1500枚MKR(约140万美元)转入Coinbase。最近一周a16z关联地址已将9004MKR(约843万美元)转入Coinbase,目前a16z相关地址还共计持有28514枚MKR(约2670万美元)。[2023/7/18 11:01:32]
无偏倚是比不可预测性更弱的属性,因为任何不可预测的协议都必须是无偏的。计算机科学家会说,无偏倚会降低为不可预测性,因为如果你有偏见,你就可以预测。但有时我们会想要分别推理它们,因为它们可能依赖于不同的假设——例如,不诚实的多数人可能会预测结果,但不会对其产生偏见。
除了这些属性之外,该协议还应该能够高效地运行并产生大量随机位。理想情况下,该协议在通信和计算成本方面也应该是有效的。
不同的协议可能会在不同的条件下实现这些属性。例如,某些协议可能不受任何f1恶意节点联盟的偏见,并且无法被任何f2<f1恶意节点联盟预测。也有不同程度的偏见。例如,在某些协议中,参与者可能能够将输出偏置“一位”——这意味着他们可以在两个可能的输出之一之间进行选择。其他攻击可能允许他们完全修复输出。然而,通常情况下,我们根本不想容忍任何偏见。
密码学理想:随机信标
密码学家通常从考虑问题的理想解决方案开始。在公共随机性的情况下,随机信标是一种理想化的服务,它定期产生满足所有必要安全要求的随机输出。
a16z在6小时前转出7504枚MKR至0xd520开头地址:7月15日消息,据链上分析师余烬监测,a16z在7月11日将7505枚MKR(688万美元)通过0xd520地址转入Coinbase后,似乎MKR就没再上涨。
6小时前a16z地址又继续转出了7504枚MKR(650万美元),目前位于0xd520地址,可以关注这笔MKR后面是否会继续转入Coinbase。[2023/7/15 10:56:46]
这种理想化的随机信标,类似于其他加密抽象——例如随机预言或通用组模型——在现实世界中并不存在。但这是一个有用的目标,也是一个有用的模型来推理依赖公共随机性的协议。
我们可以考虑一些理想随机信标的近似值。
集中式信标:产生良好随机性的最简单方法是通过具有NIST随机性信标或random.org等服务的集中式第三方,它从大气噪声中产生随机性,并经认证可用于。这种对第三方的依赖完全破坏了去中心化的理念。实际上,在上面的示例中,我们必须相信相关组织正在正确地生成随机性,而无需任何加密证明。
物理随机性展示:许多传统彩票依赖于公共展示,例如,可能包括有人伸手伸入一个装有不同数字的乒乓球容器。不幸的是,这些通常很容易操作。例如,某个球s可以放在冰箱中,然后可以告诉选择器选择冷的。
自然信标:一个常见的想法是使用随机的自然现象,如天气或宇宙背景辐射作为信标。不幸的是,所有提议的来源都没有提供强烈的共识。不同的观察者会看到略有不同的值,这需要重新引入可信方进行官方测量,具有中心化信标的所有缺点。
Gensyn完成由a16z领投4300万美元A轮融资:金色财经报道,Gensyn是一家为人工智能平台(AI)提供基于区块链的计算资源的提供商,已获得由风险投资巨头a16z领投的4300万美元A轮融资。这家总部位于英国的公司的协议使开发人员能够在较小的数据中心、个人游戏计算机和其他连接的硬件上构建人工智能系统,并按需付费。Gensysn使用加密验证网络,无需中介即可让用户确定通过协议共享的机器学习工作是否已正确完成。[2023/6/12 21:30:56]
半集中式信标:更好的方法是直接从比特币区块头或股票收盘价中获取随机性,这更容易公开验证,任何一方都更难以完全控制。然而,对工作量证明区块链随机性和股价随机性的微妙攻击仍然存在。例如,使用区块链标头,矿工可以选择保留标头产生他们不喜欢的信标值的块。或者,他们可以选择在根据首选信标输出找到两个碰撞块时打破平局。
去中心化随机信标(DRB)
解决集中式信标问题的一种自然方法是设计一个分散的密码协议来产生公共随机性。这个问题有点像设计去中心化的共识协议,只是更难。不仅所有参与者都需要就输出达成一致,而且协议中的恶意参与者也不应该对输出产生偏见或预测。
旨在模拟随机信标的协议称为分布式随机信标(DRB)。这个问题已经研究了几十年,在1980年代证明了著名的不可能结果,但在区块链时代重新点燃了兴趣。DRB可用于提供链上随机性,这将是公平、安全和透明的链上应用程序的关键要素。
经典方法:承诺-披露协议
在乐观情况下,一个非常简单的两轮协议足以满足DRB的需求。在第1轮中,每个参与者i生成一个随机值ri并发布一个密码承诺ci=Commit(ri)。在这个应用程序中,承诺可以简单地是一个像SHA-256这样的哈希函数。在每个参与者的承诺发布后,他们被锁定在他们选择的ri中,但承诺不会透露有关其他参与者贡献的任何信息。在第2轮中,每个参与者通过发布ri来“开启他们的承诺”。然后组合所有随机值,例如通过对它们进行异或或散列它们的连接。
a16z:加密仍处于早期阶段,相当于互联网的1995年:5月17日消息,a16z发布2022年加密货币概括报告。该报告指出,加密货币正处于第四个价格创新(price-innovation)周期之中,加密货币的价格可能会不稳定,但对于创业者来说,Web3仍然比Web2好。
2021年,Web3为创作者带来的人均收益达到174,000美元,远超Web2平台(例如Spotify:636美元/艺术家,YouTube:2.47美元/频道。)
DeFi也提升了金融的包容性。以太坊仍在Web3上占据主导地位,但竞争对手正在增多,包括Solana、Polygon、BNBChain、Avalanche和Fantom等区块链的开发人员正在寻求复制以太坊的成功。
该报告总结部分表示,加密仍处于早期阶段,a16z估计目前以太坊拥有700万到5000万的活跃用户,相当于互联网的1995年。[2022/5/17 3:22:41]
该协议很简单,只要其中一个参与者随机选择他们的ri,就会产生随机信标输出。不幸的是,它存在一个典型的缺陷:当所有参与者都透露了他们的随机值时,最后一个参与者能够计算假定的信标输出。如果他们不喜欢它,他们可以拒绝发布他们的值,中止协议。忽略错误参与者的贡献并不能解决问题,因为这仍然让攻击者在两个信标输出之间进行选择。
区块链为这个问题提供了一种自然的补救措施:每个参与者都可能被要求将一些资金放入托管中,如果他们不透露他们的随机贡献,这些资金就会被没收。这正是以太坊上经典的RANDAO信标所采用的方法。这种方法的缺点是输出仍然可能有偏差,如果托管中的资金少于信标结果上的资金量,这对攻击者来说可能是值得的。更好地抵御偏向攻击的安全性需要将更多的代币放入托管中。
a16z合伙人:超越web2,代币是一种新的数字原生:金色财经报道,a16z合伙人Chris Dixon发表最新的观点,他将互联网的浪潮分为了两个时代,一个是拟物时代,类似于将线下邮件搬到了线上变成了电子邮件,另一个是数字原生时代,比如网站,是互联网时代开启后独有的,而Token同样是数字原生,大多数的web3仍然只是停留在拟物时代。[2021/9/22 16:57:01]
承诺-披露-恢复协议
一些协议不是试图强迫所有各方透露他们的随机贡献,而是包含一个恢复机制,这样即使少数参与者退出,其余参与者也可以完成协议。重要的是,协议在任何一种情况下都产生相同的结果,这样各方就不能通过选择是否退出来偏向结果。
实现这一目标的一种方法是让每个参与者向其他参与者提供其秘密的共享,以便他们中的大多数人可以使用例如Shamir的秘密共享来重建它。然而,一个重要的属性是其他人可以验证提交的秘密是否已被正确共享,这需要使用更强大的原语,称为可公开验证的秘密共享(PVSS)。
其他几种恢复机制也是可能的,但它们都有相同的限制。如果有N个参与者,并且如果任何最多f个节点的组退出,我们想要弹性,那么任何N-f个参与者组都必须能够计算最终结果。但这也意味着N-f参与者的恶意联盟可以通过私下模拟恢复机制来提前预测结果,这也可能发生在协议的第一轮,在此期间,这样的联盟可以修改他们自己的随机性选择并使结果产生偏差。
换句话说,这意味着任何N-f个节点的联盟必须至少包含一个诚实节点。通过简单的代数,N-f>f,所以f<N/2,这些协议本质上需要诚实的多数。这与原始的commit-reveal安全模型有很大不同,后者只需要f<N。
这些协议通常还需要大量的通信成本来在协议的每次运行中在所有节点之间共享额外的PVSS信息。在过去的几年里,研究界在这个问题上做了相当多的工作,研究提案包括RandShare、Scrape、SecRand、HERB或Albatross,但似乎都没有看到实际部署。
可验证的基于随机函数的协议
意识到一组N-f个参与者可以计算上述协议中的随机信标值,导致了一种更简单的方法:在N方之间共享一个长期密钥,并让他们使用它来评估可验证随机函数(VRF)。密钥通过t-out-of-N阈值方案共享,因此任何t参与者都可以计算VRF。对于t=N-f,这为f个恶意节点提供了与上面讨论的commit-reveal-recover协议相同的弹性。
DFINITY率先使用这种方法作为其共识协议的一部分,使用阈值BLS签名。独立的drand随机信标使用基本相同的方法,一组参与者阈值-BLS-在每一轮中签署一个计数器。熵联盟是drand的开源实例,它使用16个参与节点每30秒产生一次随机性,由公司和大学研究小组共同运行。
这些方法的缺点是初始化阈值密钥相对复杂,当节点加入或离开时重新配置密钥也是如此。但是,在常见情况下,协议非常有效。
如上所述,简单地签署一个计数器值并不会在每轮中增加任何新的随机性,因此如果足够数量的参与者密钥被泄露,那么该协议将在未来的每一轮中都是可预测的。
ChainlinkVRF将这种方法与请求随机性的各方指定的外部随机源相结合,通常是实践中最近的区块链标头。然后,此数据通过VRF馈送,该VRF由一方运行或阈值化到一组。
以太坊的信标链目前使用基于BLS的VRF:每一轮的提议者将他们的VRF值添加到组合中。与commit-reveal范例相比,这节省了一轮通信,尽管这种设计继承了commit-reveal方法的一些警告,包括通过保留输出来偏置信标输出的可能性.
基于可验证延迟函数的协议
最后,一个有前途的新方向是使用基于时间的密码学,特别是可验证延迟函数(VDF)。这种方法有望提供良好的通信效率和鲁棒性,并具有对N-1个恶意节点的弹性。
回到最初的commit-reveal协议,传统的承诺可以用定时承诺代替,以消除参与者拒绝透露他们的随机贡献的问题。定时提交可以由原始提交者或任何愿意计算慢函数的人有效地打开。因此,如果任何参与者退出提交-显示协议,他们的承诺仍然可以被其他人打开。至关重要的是,打开承诺的最短时间足够长,以至于不能在协议的第一轮完成,否则恶意参与者可以足够快地打开其他人的承诺,从而修改自己的贡献并偏向结果.
现代VDF可以实现更优雅的一轮协议:完全放弃承诺。每个参与者可以简单地发布他们的随机贡献ri,最终结果是每个参与者的贡献的组合,通过VDF运行。计算VDF的时间延迟确保没有人可以选择他们的承诺以使最终输出有偏差。这种方法由ArjenLenstra和BenjaminWesolowski在2015年提出为UNICORN,并且确实是VDF开发中的关键激励应用。
这种方法已经看到了一些实际的部署。Chia实现了一个版本作为其共识协议的一部分,在类组中使用重复平方的VDF。Starkware使用基于SNARK的VDF实现了基于概念验证的VDF信标。以太坊也计划使用这种方法,构建一个专用的ASIC来计算VDF,以在共识层生成随机性。
公共随机性是许多协议的重要组成部分,但我们仍然缺乏任何提供高安全性的标准DRB。设计空间很大,上述方法的许多混合和组合都是可能的。例如,可以将基于VRF的协议与基于VDF的协议结合起来,这会增加新的熵,例如RandRunner提出的。以太坊的信标链目前使用VRF,但未来可能会添加VDF,以消除区块扣留攻击的偏见可能性。
当诚实多数协议可以接受时,这也是一个悬而未决的问题。对于一个相对较小的、经过审查的参与者群体——比如熵联盟——诚实的多数假设是合理的。另一方面,只需要一个诚实参与者的协议有一个固有的优势——更多的参与者只能提高安全性。这意味着这些协议可能会在开放的、无需许可的参与下进行部署。
在第二部分中,我们将讨论随机领导者选举在共识协议中的具体应用,其设计目标略有不同,因此提出了更多的协议和方法。
本文作者简介
JosephBonneau是a16zcrypto的研究合伙人。研究重点是应用密码学和区块链安全。曾在墨尔本大学、纽约大学、斯坦福大学和普林斯顿大学教授加密货币课程,并获得了剑桥大学的计算机科学博士学位和斯坦福大学的学士/硕士学位。
ValeriaNikolaenko是a16zcrypto的研究合伙人。研究重点是密码学和区块链安全、PoS共识协议中的远程攻击、签名方案、后量子安全和多方计算等主题。ValeriaNikolaenko在DanBoneh教授的指导下获得了斯坦福大学的密码学博士学位,并作为核心研究团队的一员从事Diem区块链工作。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。