公共随机性是许多现实世界安全协议的一个重要组成部分。在一些应用中,如和多人游戏,随机性增加了乐趣。在其他应用中,随机性提供了一种公平的方式来分配不可分割的资源,从绿卡,到巡回法庭法官的案件分配,再到体育比赛的种子选手。它也被用来分配负面资源,如税务审计或机场的二次安检。
传统上,我们依靠受信任的机构来为这些协议产生随机性,但在Web3世界中,我们需要做得更好。在这篇文章中,我们将探讨通过分布式随机信标建立可公开验证的随机性的方法,然后讨论一些链上应用。(第二部分即将发布,将特别关注领导者选举,同时提供对其他领导者选举方法的评估)。
预期的属性
生成随机数是一项众所周知的微妙任务。例如,许多加密密钥被泄露,因为它们依赖于一个有问题的随机数发生器。然而,这只是私人随机性,只有一方需要生成和使用它。
相比之下,公共随机性是一个多方参与的过程,这大大增加了难度。一个好的产生公共随机性的协议将具有以下安全特性:
无偏向性。没有攻击者或攻击者联盟能够偏袒输出。可靠的。没有攻击者能够阻止协议产生输出。可验证的。任何人都可以很容易地验证协议的输出,并且应该看到与其他人一样的输出。不可预测的。如果协议在时间T1产生输出,在某个时间T0<T1之前,没有人能够预测任何关于输出的事情,最好是T0非常接近T1。不可偏倚性是一个比不可预测性更弱的属性,因为任何可预测的协议都必须是不可偏倚的。计算机科学家会说,不偏倚性降低到不可预测性,因为如果你能偏倚,你就能预测。但有时我们会想把它们分开来推理,因为它们可能依赖于不同的假设,例如,一个不诚实的多数人可能会预测结果,但不会偏向它。
Cypher:将发布更多有关使储户完整并挽救项目的计划信息:金色财经报道,Solana生态DEX Cypher 发布黑客攻击事件进展称,团队目前正在进行多项并发工作,将与 OtterSec、Neodyme 和 SolShield 合作,进行事后分析,并了解有关漏洞利用、攻击向量和发现的更多背景信息。将随后发布更多有关使储户完整并挽救该项目的计划的信息/新闻。不管怎样,请受影响的每个人保持耐心,因为这些过程通常需要时间,但我们将在前进过程中保持更新。[2023/8/9 21:33:17]
除了这些特性之外,该协议应该是高效运行的,并产生大量的随机比特。(在实践中,应用程序通常足以产生128个随机比特,用它们作为伪随机数发生器PNRG的种子,根据需要输出更多的比特。然而,不可预知性应该保持在输出的每个单独的位上,以用于诸如彩票或资源分配等应用)。该协议最好在通信和计算成本方面也是有效的。
不同的协议可能在不同的条件下实现这些属性。例如,一些协议可能是由任何f1个恶意节点组成的联盟不可偏袒的,而由任何f2<f1个恶意节点组成的联盟是不可预测的。也有不同程度的偏见。例如,在一些协议中,一个参与者可能能够通过“一个比特”来偏置输出——这意味着他们可以在两个可能的输出中选择一个。其他攻击可能允许他们完全固定输出。然而,通常情况下,我们根本不想容忍任何偏见。
加密学的理想:随机性信标
密码学家们经常从思考他们问题的理想解决方案开始。在公共随机性的情况下,随机性信标是一种理想化的服务,它定期产生满足所有必要安全要求的随机输出。
tayvano:Curve Finance攻击事件可能造成约7000万美元损失:金色财经报道,tayvano在社交媒体上称,受Curve Finance稳定币池alETH/msETH/pETH黑客攻击事件影响,Alchemix、JPEGd、MetronomeDAO、deBridge和Ellipsis目前已累计损失约为7000万美元。其中: Alchemix(非白帽行动)损失2000万美元,1300万美元ETH+700 万美元ERC-20。CRV/ETH 交换池损失1800万美元。JPEGd损失1200万美元。Alchemix(白帽行动)损失1200万美元。Metronome损失700万美元,160万美元+CRV池530万美元。Ellipsis损失7万美元。[2023/7/31 16:08:29]
这样一个理想化的随机性信标,类似于其他密码学的抽象概念在现实世界中并不存在。但这是一个值得努力的目标,也是推理依赖公共随机性的协议的有用模型。
我们可以考虑几个理想随机性信标的近似值。
集中式信标。产生良好随机性的最简单方法是通过中心化第三方的服务,如NIST随机性信标或Random.org,它从大气噪声中产生随机性并被认可用于。这种对第三方的依赖完全破坏了去中心化的理念。事实上,在上面的例子中,我们不得不相信相关组织正在正确地生成随机性,而没有任何密码学证明。物理随机性显示。许多传统的彩票依赖于公开展示,例如,这可能包括有人将手伸进一个装有不同数字的乒乓球的容器。不幸的是,这些往往很容易被操纵。例如,可以将某些球放在冰箱里,然后告诉选择者挑选冷的球。自然信标。一个常见的想法是使用随机的自然现象,如天气或宇宙背景辐射作为一个信标。不幸的是,所有提议的来源都不能提供强有力的共识。不同的观察者会看到略有不同的数值,这就需要重新引入一个受信任的一方来进行正式的测量,这就有了中心化信标的所有缺点。半中心化的信标。一个更好的方法是直接从比特币区块头或股票收盘价中获取随机性,这更容易公开验证,任何一方都难以完全控制。然而,对工作证明区块链随机性和股票价格随机性的微妙攻击仍然存在。例如,通过区块链头,矿工可以选择扣留那些头产生他们不喜欢的信标值的区块。或者他们可以选择在发现两个相撞的区块时,根据他们喜欢的信标输出来打破平局。去中心化的随机性信标
Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。
从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。
钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]
解决中心化信标问题的一个自然方法是设计一个去中心化的加密协议来产生公共随机性。这个问题有点像设计去中心化的共识协议,只是更难。不仅所有的参与者需要就输出达成一致,而且协议中的恶意参与者应该不可能对输出产生偏见或预测。
旨在模拟随机性信标的协议被称为分布式随机性信标。其他名称包括“distributedcoin-flipping”。)这个问题已经被研究了几十年,著名的不可能性结果在20世纪80年代被证明,但在区块链时代,人们重新燃起了兴趣。DRB可以用来提供链上随机性,这将是公平、安全和透明的链上应用的一个关键因素。
Web3即时通讯应用Ktalk完成200万美元融资:4月22日消息,Web3即时通讯应用Ktalk宣布完成200万美元融资,马来西亚主权基金和East British East Asia Holdings领投。
此外,Ktalk Beta公测版将上线,支持用户直接使用钱包登陆平台,并提供多链聚合钱包资产展示、链上NFT及资产管理功能。[2023/4/22 14:20:31]
经典的方法:承诺-披露协议
在乐观的情况下,一个非常简单的两轮协议就足以满足DRB的要求。在第一轮中,每个参与者i产生一个随机值ri并公布一个加密承诺ci=Commit(ri)。在这个应用中,承诺可以是一个简单的哈希函数,如SHA-256。在每个参与者的承诺公布后,他们被锁定在他们对ri的选择上,但承诺不会透露任何关于其他参与者贡献的信息。在第二轮,每个参与者通过公布ri来“打开他们的承诺”。然后,所有的随机值被组合起来,例如通过XOR或哈希它们的连接。
这个协议很简单,只要有一个参与者随机选择他们的ri,就能产生一个随机的信标输出。不幸的是,它有一个典型的缺陷:当所有的参与者都透露了他们的随机值,最后一个参与者能够计算出假定的信标输出。如果他们不喜欢它,他们可以拒绝公布他们的值,从而中止协议。忽略一个有问题的参与者的贡献并不能解决问题,因为这仍然让攻击者在两个信标输出中选择。
区块链为这个问题提供了一个自然的补救措施:可以要求每个参与者把一些资金放在托管处,如果他们不透露他们的随机贡献,这些资金就会被扣押。这正是以太坊上的经典RANDAO信标采取的方法。这种方法的缺点是,输出仍然可能有偏差,如果托管的资金少于骑在信标结果上的资金,这对攻击者来说可能在经济上是值得的。要想更好地防范偏颇攻击,就必须在托管中投入更多的硬币。
zkSync桥接用户量突破50万,TVL达2.35亿美元:金色财经报道,据Dune数据显示,以太坊Layer2扩容解决方案zkSync桥接交易的用户数量已突破50万,截至目前为500,267个,跨链桥接存储总价值191,104ETH,按照当前价格计算约合2.35亿美元。在其他L2跨链桥交易用户方面,当前Arbitrum交易用户量为482,831、Optimism为270,274、StarkNet为86,391。[2022/12/8 21:31:34]
承诺-披露-恢复协议
一些协议并不试图强迫所有各方透露他们的随机贡献,而是包括一个恢复机制,这样即使少数参与者退出,其余的人也能完成协议。重要的是,该协议在两种情况下都能产生相同的结果,这样各方就不能通过选择是否退出而使结果产生偏差。
实现这一点的一种方法是让每个参与者向其他参与者提供其秘密的份额,这样他们中的大多数就可以重建它,例如使用Shamir的秘密共享。然而,一个重要的属性是,其他人可以验证所承诺的秘密已被正确共享,这需要使用一个更强大的原始方法,称为可公开验证的秘密共享。
其他几种恢复机制是可能的,但它们都有相同的限制。如果有N个参与者,并且我们希望在最多f个节点的任何一组退出时有弹性,那么必须是N-f个参与者的任何一组可以计算出最终结果。但这也意味着N-f个参与者的恶意联盟可以通过私下模拟恢复机制提前预测结果。这也可能发生在协议的第一轮,在此期间,这样的联盟可以修改他们自己的随机性选择并偏向于结果。
换句话说,这意味着任何N-f节点的联盟必须包括至少一个诚实的节点。通过简单的代数,N-f>f,所以f<N/2,而这些协议本质上需要一个诚实的多数。这与承诺-披露的原始安全模型有很大区别,后者只要求f<N。
这些协议通常还需要大量的通信费用,以便在协议的每次运行中的所有节点之间分享额外的PVSS信息。在过去的几年里,研究界对这个问题做了大量的工作,研究方案包括RandShare、Scrape、SecRand、HERB或Albatross,但似乎都没有看到现实世界的部署。
可验证的基于随机函数的协议
意识到一组N-f的参与者可以计算上述协议中的随机信标值,就会产生一种更简单的方法:在N方之间共享一个长期的秘密密钥,让他们用它来评估一个可验证的随机函数。秘密密钥通过一个t-out-of-N的阈值方案共享,因此任何t个参与者都可以计算VRF。对于t=N-f,这提供了与上面讨论的提交-揭示-恢复协议相同的对f个恶意节点的恢复能力。
DFINITY开创了这种方法,作为他们使用阈值BLS签名的共识协议的一部分。独立的drand随机性信标使用了基本相同的方法,由一组参与者在每一轮中对一个计数器进行阈值-BLS签名。TheLeagueofEntropy是drand的一个开源实例,使用16个参与节点每30秒产生一次随机性,由公司和大学研究团体混合运行。
这些方法的一个缺点是,初始化阈值密钥相对复杂,当节点加入或离开时,重新配置密钥也是如此。不过,在普通情况下,这些协议是非常有效的。
如上所述,简单地签署一个计数器值并不为每一轮增加任何新的随机性,所以如果有足够数量的参与者的密钥被泄露,那么该协议在未来的每一轮都是可预测的。
ChainlinkVRF将这种方法与请求随机性的各方指定的外部随机性来源相结合,在实践中通常是最近的区块链头。然后,这些数据通过一个VRF被送入,该VRF由一方运行或阈值到一个组。
以太坊的信标链目前使用基于BLS的VRF:每一轮的提议者将他们的VRF值添加到组合中。与提交-披露模式相比,这节省了一轮通信,尽管这种设计继承了提交-披露方法的一些注意事项,包括通过扣留输出而使信标的输出有偏差的可能性。
可验证的基于延迟函数的协议
最后,一个有希望的新方向是使用基于时间的密码学,特别是可验证的延迟函数。这种方法有望提供良好的通信效率和稳健性,对N-1个恶意节点具有弹性。
回到最初的承诺-披露协议,传统的承诺可以用定时承诺代替,以消除参与者拒绝披露其随机贡献的问题。定时承诺可以由最初的承诺人,或任何愿意计算慢速函数的人有效地打开。因此,如果任何参与者退出了承诺披露协议,他们的承诺仍然可以被其他人打开。至关重要的是,打开承诺的最小时间要足够长,不能在协议的第一轮完成,否则恶意的参与者可以迅速打开别人的承诺,修改自己的贡献,使结果出现偏差。
现代的VDF可以实现一个更优雅的单轮协议:完全放弃承诺。每个参与者可以简单地公布他们的随机贡献,而最终结果是每个参与者的贡献的组合,通过VDF运行。计算VDF的时间延迟确保没有人能够以偏离最终输出的方式选择他们的承诺。这种方法是ArjenLenstra和BenjaminWesolowski在2015年提出的UNICORN,实际上是VDF发展中的一个关键激励应用。
我们已经能看到了这种方法的一些实际部署。Chia实现了其中的一个版本,作为其共识协议的一部分,在班组中使用重复求和的VDFs。Starkware使用基于SNARK的VDFs实现了一个基于VDF的信标概念验证。以太坊也计划使用这种方法,建立一个专门的ASIC来计算VDF,在共识层产生随机性。
***
公共随机性是许多协议的重要组成部分,但我们仍然缺乏任何提供高安全性的标准DRB。设计空间很大,上述方法的许多混合体和组合都是可能的。例如,有可能将基于VRF的协议与基于VDF的协议结合起来,这就增加了新鲜的熵,例如RandRunner提出的。以太坊的BeaconChain目前使用VRF,尽管它可能在未来增加VDF,以消除区块扣留攻击带来的偏差的可能性。
什么时候可以接受诚实多数协议也是一个开放的问题。对于一个相对较小的、经过审查的参与者群体诚实多数假设是合理的。另一方面,只需要一个诚实参与者的协议有一个固有的优势——更多的参与者只能提高安全性。这意味着这些协议有可能被部署在开放的、无许可的参与中。
在第二部分,我们将讨论随机化领袖选举在共识协议中的具体应用,它的设计目标略有不同,因此有更多的协议和方法被提出。
***
JosephBonneau是a16zcrypto的研究合伙人。他的研究重点是应用密码学和区块链安全。他曾在墨尔本大学、纽约大学、斯坦福大学和普林斯顿大学教授加密货币课程,并获得剑桥大学的计算机科学博士学位和斯坦福大学的学士/硕士学位。
ValeriaNikolaenko是a16zcrypto的研究合伙人。她的研究重点是密码学和区块链安全。她也曾研究过PoS共识协议中的远程攻击、签名方案、后量子安全和多方计算等课题。她拥有斯坦福大学的密码学博士学位,由DanBoneh教授指导,并作为核心研究团队的一员参与了Diem区块链的研究。
***
责任编辑:MK
0.为什么还需要看OptimisticRollup?a)OP还是ZK?尽管Vitalik早在几年前就认定了zkEVMRollup是未来,同时各家zkEVM(Scroll,zkSync.
1900/1/1 0:00:00今年8月,Telegram??创始人??PavelDurov在Telegram上称,基于TON拍卖钱包用户名的成功案例,想要为其?7亿用户推出Telegram用户名拍卖功能.
1900/1/1 0:00:00在越来越快的行业周期循环中,我们见证了一批又一批新老玩家的登场与退场。依托于上一波牛市的热度和以太坊生态溢出的效应,那些埋伏了一轮熊市的公链新秀得以崭露头角,并且作为市场不断膨胀预期的「落脚点」.
1900/1/1 0:00:00原文作者:4rc.eth,由DeFi之道翻译编辑。2022年5月,在没有任何警告或理由的情况下,BanklessYouTube频道一夜之间消失了.
1900/1/1 0:00:002022年第三季度,黑客从Web3.0领域中盗取了总价值约5亿美元的资产,这个数字相比上季度减少了32.32%,同时今年的损失总额增长至28.8亿美元.
1900/1/1 0:00:00在过去十年中,区块链已成为分布式账本技术的一种主要形式。虽然区块链目前仍占据主导地位,但其存在固有的可扩展性问题,因此有越来越多的项目正在提出替代性解决方案.
1900/1/1 0:00:00