区块链中的随机数算法

本文探讨了区块链中实现随机数的两种方法:RANDAO和Threshold Signatures。RANDAO通过参与者提交承诺并进行XOR操作来产生不可预测的随机数,但存在偏差问题。为解决此问题,文章提出了结合可验证延迟函数(VDF)的RANDAO,以确保无偏性和活跃性。同时,介绍了阈值BLS签名作为另一种随机性来源,其在67%参与者在线时即可产生不可预测且无偏的随机数,但依赖复杂的分布式密钥生成(DKG)过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RANDAO

RANDAO是一种非常简单的随机性方法,因此非常常用。 一般的想法是,网络的参与者首先都是私下选择一个伪随机数,然后向该私密选择的数字提交承诺,都使用某种共识算法就某些承诺达成一致,然后全部透露其选择的数字,得出一个 对显示的数字达成共识,并对显示的数字进行XOR作为协议的输出。

它是不可预测的,并且与基础共识协议具有相同的活跃性,但存在偏差。 具体来说,一旦其他人开始透露其编号,恶意行为者便可以观察网络,并根据到目前为止所观察到的编号进行异或运算,选择是否透露其编号。 这允许单个恶意行为者对输出产生一点影响,而控制多个参与者的恶意行为者具有与其所控制的参与者数量一样多的影响。

Threshold Signatures

为了使RANDAO变得不偏不倚,一种方法是使输出不仅是XOR,而且要花费比分配的时间更多的时间来显示数字。如果最终输出的计算花费的时间比揭示阶段所需的时间长,那么恶意行为者将无法预测它们揭示或不揭示其数量的效果,因此不会影响结果。
虽然我们希望用于计算随机性的函数对生成随机数的参与者花费很长时间,但我们希望随机数的用户不必再次执行相同的昂贵函数。因此,他们需要以某种方式能够快速验证随机数是否正确生成,而无需重做昂贵的计算。

这种函数需要花费很长时间进行计算,可以快速验证计算结果,并且每个输入都有唯一的输出,因此称为可验证延迟函数(简称VDF),事实证明设计一个函数非常复杂。最近有很多突破,就是这一突破和使之成为可能的突破,以太坊目前计划将带有VDF的RANDAO用作其随机性信标。除了这种方法不可预测且无偏见这一事实之外&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值