火星链 火星链
Ctrl+D收藏火星链
首页 > 火星币 > 正文

EOS:随机数是 Web3 世界不可或缺的一部分

作者:

时间:1900/1/1 0:00:00

随机&命运

如果现在有一群极其富有但极其无聊的的BTC巨鲸,决定每年共同拿出1000个BTC举办一次俄罗斯轮盘。他们会准备一把左轮手,在可装6发子弹的弹夹中只装入一颗子弹,然后对准你的脑袋扣动扳机。每次扣动扳机所产生的结果可以视为一种平行宇宙,由此在这个单一事件下,总共有对应着6种不同结局的平行宇宙,而每种平行宇宙产生的概率相同。这其中的5个平行宇宙会使你一夜暴富,甚至荣登《Forbes》封面,而剩下的唯一一个平行宇宙则会让你死相难看,贻笑大方。

你愿意参与这个局吗?愿意参与一届?两届?还是每年都来碰碰运气?

玩这个游戏需要勇气,当然也需要动一些脑筋。83%是一个很高的胜率,确定性达到83%的事情在生活中也并不多见。但如果有些贪婪的傻瓜选择一直玩下去,那20年后他们中的绝大多数应该都可以在报纸的讣闻一栏找到。在这个假设的俄罗斯轮盘游戏里,规则制定得非常清楚,赔率可以计算,风险也可以衡量,所有条件信息都已提前披露,但在现实世界中,我们往往面临的都是非对称信息的动态博弈(AsymmetricInformationGameTheory)。左右我们命运的并不是一把左轮手,或是一副扑克牌。我们不知道有多少弹夹中有多少枚子弹,也不知道这副牌有多少花色。在无限多重平行宇宙和无穷大的风险条件下,我们的命运不可预知。

而这正昭示着我们生活在一个充满随机的世界中。

如费曼所言,自然界允许我们计算的只是概率。一旦我们具备了计算「概率振幅」的超能力,我们就可以成为先知,预测甚至改变未来。换句话说,谁掌握了随机性,谁就拿到了命运的骰子,成为了上帝。

目前已有10万个独立地址帮助EIP-4844进行随机数据采样:5月31日消息,以太坊研究人员提出一项计划以使存储来自Layer 2汇总的数据成本更低,第一阶段需要将 EIP-4844(称为 proto-danksharding)引入以太坊主网,预计将在年底前与Dencun升级一起进行。目前已有10万个独立地址帮助以太坊EIP-4844引入“blob-carrying交易”进行随机数据采样。[2023/5/31 11:50:36]

随机&安全

将这种思维平移至加密世界中,生成随机数的机器就可以被视为是传达上帝神谕的使者。也正是因为扮演着这样的角色,预言机(oracle)才由此得名。在过去关于预言机的文章中,我们已经指出由于区块链系统的透明性,其链上生成的一切算法、输入、输出都会被暴露给系统参与者。因此在链上直接生成的随机序列实际是可以被预测的。

一些典型的链上随机数生成方法,比如未来区块哈希,都存在很大的作弊空间和安全漏洞。举一个简单的例子,如果矿工在玩一个游戏,这个游戏的中奖金额是10ETH,而区块奖励的金额却只有3ETH,那么矿工当然有明显动机去作弊。他可以通过丢弃和不发布区块来影响随机序列的生成(BlockWithholdingAttacks),从而为自己赢得在游戏中优势。这相当于是你和矿工打同样一局扑克,但人家可以换底牌。而如果将这种可以被篡改和预测的伪随机序列应用到Web3各个场景中,我们不难想象其背后的巨大安全风险和不公平性:一旦黑客或攻击者找到随机算法,并测算出了随机序列的初始输入值,那么无论是NFT的空投发放,GameFi中的极品装备爆出,还是用户个人钱包的私钥地址生成,都有可能被操纵和篡改。

声音 | PeckShield硅谷研发中心负责人Jeff: 竞猜类DApp链上随机数机制存在根本缺陷:在谈到为何EOS竞猜类游戏很难免疫“交易阻塞攻击”(CVE-2019-6199)时,PeckShield硅谷研发中心负责人Jeff坦言:“所有竞猜类游戏基本都包含随机数的游戏机制,但本质上随机数和区块链网络要求所有分布式节点运算结果保持一致存在内在矛盾。现有随机数解决方案(链上开奖)都采用的是链上数据(可能加上了未来等时间因素),一定程度上可以实现伪随机,但黑客可以抢先算出结果进而实现攻击。所以,建议所有采用链上开奖机制的竞猜类DApp务必高度重视“交易阻塞攻击”潜在的安全风险,在根本解决方案找到之前,应采用block.one官方推荐的随机数生成方案(包含链下随机种子),做好安全布控或搭建风控系统,排查潜在被攻击的风险。[2019/1/17]

那究竟怎样的随机数才是真正可信和安全的呢?这里我们就需要先对随机数的分类做一个简单了解。

一般地,我们将随机数分成两种:真随机数

其中,伪随机数又可以被细分为:弱伪随机数和强伪随机数。?

正如「伪」这个词所暗示的那样,伪随机数不是真正的随机。所有在区块链上生成的随机数也都是「伪」的。本质上,PRN是计算机软件根据既定的数学公式和算法指令所输出的看似随机的数字序列,需要外部输入一个初始值来充当seed。并且和许多人天然的认知相反,计算机其实很难被用来生成一些偶然的条件,因为它本身就是可预测的设备。元器件是确定的,线路是预设的,代码和算法命令是明确的,在种种固定的外界条件下,我们完全可以通过某些途径定位出序列结果。而能够被算出的结果,emm怎么不算……伪随机呢?

声音 | 慢雾:采用链上随机数方案的 DApp 需紧急暂停:根据近期针对EOS DApp遭遇“交易排挤攻击”的持续性威胁情报监测:EOS.WIN、FarmEOS、影骰、LuckBet、GameBet、Fishing、EOSDice、STACK DICE、ggeos等知名DAPP陆续被攻破,该攻击团伙(floatingsnow等)的攻击行为还在持续。在EOS主网从根本上解决这类缺陷之前,慢雾建议所有采用链上随机数方案的DAPP紧急暂停并做好风控机制升级。为了安全起见,强烈建议所有竞技类DAPP采用EOS官方很早就推荐的链下随机种子的随机数生成方案[2019/1/16]

真正的TRN,是从噪音,混乱现象,量子随机过程等物理现象中提取出来随机性,引入计算机才得以生成的。直白一点讲,就是把链下的一个大骰子接到了计算机。

在性质上,TRN需要同时具备随机性,不可预测性和不可重现性三重特质:

随机性:数列完全杂乱无章,不存在统计学偏差,但不代表不会被看穿

不可预测性:在知道过去数列的前提下,依然无法预测接下来生成的数列

不可重现性:无法重现完全相同的数列,除非将原本的数列保存下来

强PRN只具备前两者,而弱PRN只具备随机性这一个性质,很容易被看穿。

动态 | 慢雾区再发预警,请 DApp 开发者自查随机数:知名 DApp EOSDice 再次由于随机数问题被黑,攻击者是之前攻击 EOSDice 及 FFGame DApp 的黑客,攻击手法也是由于使用了可控的随机数种子,在之前(11-8号)慢雾已经预警过攻击手法,请各位 DApp 开发者仔细核对自己的随机数种子和算法是否可被预测,勿存在任何侥幸。[2018/11/10]

我们说一个随机数可信,安全,最起码的就是指它不会被看穿。因此具有不可预测性的TRN和强PRN都可以被用作可信随机数引入智能合约。弱PRN是不能被应用到比如生成密钥,生成口令密码等等密码学相关的场景中的。

至于如何生成可信安全的随机数,目前来看最直接高效的方法就是通过预言机链接外部API并生成加密认证。比如Chainlink的可验证随机函数服务,就是通过在测试网络中接入外部API,再用公钥和智能合约的seed来验证生成的强PRN,然后将其传输至智能合约。Chainlink的VRF服务主要采取订阅账号的收费方式,用户在将足够的LINK代币存入账户后即可通过发送订阅请求来获取其提供的随机数。

再比如,API3最近选择通过和澳大利亚国立大学量子光学团队合作,为dApp和Web3各类产品提供量子随机数生成服务,将其基于量子现象的生成TRN验证上链交付给请求者。QRNG也是目前唯一一个生成TRN的服务机制,根据其白皮书的相关论述,QRNG能在最大程度上防止女巫攻击,并且这一功能完全免费使用。

金色财经现场报道 TASchain创始人吴轶群:比特币的精髓是随机数据力:金色财经现场报道,在2018区块链产品技术峰会上,TASchain创始人吴轶群表示,比特币的精髓是什么?就是一个随机数据力。比特币如果只考虑安全放弃去中心化,只会是几个分散的云计算联合体。而只有把去中心化放在最重要的位置,才是真正的创新。[2018/4/28]

随机&Web3

在理解了可信随机数的定义与来源后,我们来谈谈一个更实际的问题:随机数在Web3到底有什么用?

事实上,随机数在几乎所有的Web3场景和用例中都不可或缺。

1.GameFi??

在游戏中需要用到概率分配的情况比比皆是,RPG游戏便是一个典型的例子。有些角色非常稀有,具有罕见的属性,而有些角色就极为平常。通常越是稀有的角色,就价值越高,越能帮助用户获得高额的经济回报。比如Axie,每个精灵角色都有六个组成部分,每个部分都有不同的属性和能力。游戏厂商想要为用户创造个性化的游戏体验,就必须把角色的分配机制做好,把分配概率设置得尽量公平。

在PVP对战中,玩家获胜的几率和赢得奖赏的多少都取决于他们在对战中被分配到的对手。如果游戏配对机制不公平,很有可能直接导致玩家的流失。而在世界探索类游戏中,玩家在探索地图过程中获得稀有物品和装备的几率也需要一个保证公平的概率模型。在卡牌类游戏中,玩家使用卡牌的顺序很大程度上充当着比赛的胜负手。在射击类游戏中,射击的命中率,角色复活地点的选择都会对玩家的游戏体验造成一定影响。

上述提到的种种游戏归根结底,本质都是需要通过注入一定的不可预测性来增强游戏的可玩度。而不可预测性的产生,就必然需要引入可信的随机数。

2.NFT

和GameFi中角色属性具有不同构成一样,NFT的细节也由不同的属性组成。比如BAYC的NFT,就包括背景、衣着、耳饰、眼睛、毛发、帽子和嘴七个不同的属性,而属性的稀有度实际就决定了该NFT的价值。对于稀有度分配和属性总量上限的制定,都可以通过利用可信随机数来解决。

此外,随着越来越多NFT社区的建立和成长,项目方也经常会在特殊节日里或是达成某些里程碑时,通过发放随机的NFT空投奖励来激发成员的忠诚和活跃度。而空投哪些地址,怎样保证空投的公平性,都是需要项目方谨慎地根据一定发放机制来执行。可信随机数在这类情景下就可以被视为一种良好的解决方案。事实上如今大部分NFT的空投激励活动也都是集成ChainlinkVRF等服务开展的。

3.DeFi

类似Olympus这样的DeFi协议和算法稳定币协议中,其质押机制通常会设有变基质押流程来解决份额稀释问题,或是激励特定的市场行为,比如保持算稳的价格锚定。而rebase机制的一个「敏感性」强变量就是其周期时间。

设定的rebase周期时间如果长期不变,就很可能会被短期套利者利用。因此rebase机制设计可以应用可信随机数,来决定一个变更调整的大致周期。

在一些创新型的YieldFarming协议中,其奖励机制也会引入一定的波动性来提高用户的参与度。参与度高贡献大的用户的年化收益率会区别于普通或是参与度较低的用户。因而资金池中奖励大小的分配和收益幅度的增减,都会需要使用随机数来调节和建立模式。

4.DAO

在DAO的治理中经常需要成员为组织做出一些关键决策,一个庞大的DAO社区往往可能通过设立董事会等核心管理层来更高效地执行日常决策。这些董事会和管理人员的选择和增补需要一个公平透明的机制来进行,而引入可信随机数对于这类机制的设立可以被认为是一个最优及最便捷的选择。

此外,在一些涉及到大量资金管理或是专门进行投资的DAO中,随机数也可被用以提高成员身份认证系统的安全性,防止黑客或恶意攻击者逆向工程身份认证的过程,保证DAO内资金库的安全。

5.L1共识机制中VRF的运用

新型公链需要面对的一个很大问题就是分片后安全性的降低。在未分片前,网络中所有的验证者共同验证所有交易;但在分片后,这些验证者被平均分配到每个分片上的进行验证,这就使得每个分片被fork的几率大大提升。解决这个安全性问题的一个良好方案就是让攻击者无法提前预知每个分片的验证者,而这就需要引入一定的随机性和不可预测性。NEAR就是通过VRF服务对验证者进行随机分配,从而隐藏验证者具体验证的分片信息。

写在最后

随机性之所以令人着迷,是因为它意味着不确定,意味着一种可能性。可能性能为我们带来希望,也会为我们带来恐惧,所以决定论与非决定论的争执绵延至今。而上帝究竟掷不掷骰子其实也没有那么重要。也许世间万物都在无可挽回地走向大数定律,也许所有宿命般的相识都不过是概率上的偶然,也许你、我、他都只是在Web3随机漫步的傻瓜。

但不知道答案,总是比得到一个错误的答案有意思得多。正如卡洛?罗威利在书中提到的那样:「What’snonapparentismuchvasterthanwhat’sapparent(看不清的比看得清的更广阔)」。

保持愚蠢,敬畏随机。

标签:APPDAPDAPPEOSmetamaskapp下载DAPS价格区块链dapp开发EOSC币

火星币热门资讯
VIA:金色观察|一文读懂Via跨链流动性聚合协议

在用户的角度来看,VIA正试图解决Web3中最关键的问题之一:糟糕的跨链体验。用户要成为ethereum、Solana和Near等两个或更多生态系统的一部分,是十分困难的.

1900/1/1 0:00:00
ETA:金色数藏Meta | 猜女神剪影 赢数字藏品空投

亲爱的金色财经用户:由金色财经孵化的「金色数藏Meta」数藏平台,将于2022年5月17日-27日开展「520,来金色Pick你的数藏女神」活动,参与即有机会获神秘数字藏品.

1900/1/1 0:00:00
MET:赛博空间:认识主宰NFT的二人组

原文整理:老雅痞授权转载2021年12月,NFTs--代表现实生活中物品所有权的独特数字资产--在不到5个月的时间里,其价值超过320亿英镑,几乎与全球艺术市场等值.

1900/1/1 0:00:00
FRA:UST 暴雷后 其他常见去中心化稳定币都还可靠吗?

Waves公链的生态在一定程度上借鉴了Terra,面临问题较大,FEI、FRAX等相对风险较低.

1900/1/1 0:00:00
POS:以太坊合并:或将是今年加密领域最大事件 大家都准备好了吗?

以太坊2.0质押量超1260万枚,创历史新高:据5月16日报道,分析平台Nansen数据显示,以太坊2.0质押量已超1260万枚,占流通总量的10.4%,创历史新高.

1900/1/1 0:00:00
CRYPT:欧洲央行行长表示 应加快推进数字欧元发展进程

欧洲央行行长ChristineLagarde表示,Crypto毫无价值,应该受到监管。她认为监管该行业将阻止人们将毕生积蓄押在Crypto上.

1900/1/1 0:00:00