主页 > token.im > 以太坊 2.0:随机性

以太坊 2.0:随机性

token.im 2023-03-07 07:25:00

以太坊与以太基金_以太坊百科_以太坊联盟和以太坊的关系

点击上方“统一时代”订阅!

unitimes.io

以太坊百科_以太坊与以太基金_以太坊联盟和以太坊的关系

全球视野,独到见解

以太坊联盟和以太坊的关系_以太坊百科_以太坊与以太基金

作者| 布鲁诺·斯科沃克

编译 | 强尼

在本文中,我们将讨论随机数以及如何在以太坊 2.0 中实现随机性。 什么是 RANDAO? 什么是 VDF(可验证延迟函数)? 他们如何协同工作?

信标链如何决定轮到哪些验证者提出区块,以及哪些验证者应该证明该提议? 以太坊 2.0 系统中有 1,024 条分片链和数万个活跃的验证者,信标链如何在任何给定时间做出这个决定?

信标链需要的是随机性!

计算机中的随机性

以太坊与以太基金_以太坊百科_以太坊联盟和以太坊的关系

计算机无法生成真正的随机数。

你可以这样想:计算机是一台机器,给定相同的输入以太坊百科,总是产生相同的输出。 它们是计算机器,就像计算器不能将 2 和 2 相加得到 5(除非是恶作剧或机器严重损坏)。

为了生成一个合理的随机数,计算机将依赖于一个种子:计算的起点,用于获得输出的输入。 种子可以是鼠标光标在屏幕上的移动,也可以是维基百科数据库的全部内容。 在种子之上,计算机将进行数学运算,并最终得出一个人类无法预测的数字。

即使是现在,如果您访问 BitAddress(开源 JavaScript 比特币钱包工具)网站 (),当您移动鼠标时,您会注意到“种子”会相应地发生变化,也就是网站正在通过您的鼠标不规律地移动“收集”随机性”,见下图:

以太坊百科_以太坊联盟和以太坊的关系_以太坊与以太基金

备注:继续移动鼠标,当图中百分比达到100%时,即可生成一个比特币钱包

如果我们在生成种子时始终应用相同的数学处理,我们如何称其为随机种子? 最重要的是,当足够多的难以重复的种子放在一起时,产生的随机数是相当随机的:人们无法在 5 兆像素的屏幕区域上重复完全相同的鼠标移动轨迹,因此这在某种程度上是可靠的。

如果你添加一些其他值,比如一天中的时间,或者使用像 Cloudflare 这样的熔岩灯来生成伪随机数(见下图),也许还有某支球队当年的得分次数,你会得到一个相当随机的种子。

以太坊与以太基金_以太坊百科_以太坊联盟和以太坊的关系

注:Cloudflare 是一家提供安全服务的云服务提供商,为客户提供免费的 SSL 服务。 因为要处理海量的加密流量,所以需要用到大量的随机数。 这些随机数由伪随机数生成器 (PRNG) 生成。 伪随机数生成器生成可以预测和破解的随机数。 那么如何降低随机数的可预测性呢? Cloudflare 透露了它的方法——使用熔岩灯。 熔岩灯得名于内部不定形的蜡滴缓慢流动,让人联想到熔岩的流动。 Cloudflare 用摄像头监控熔岩灯,拍摄视频和照片,将其变成不可预测的随机位流,并用它来生成密钥。

区块链中的随机性

但区块链中没有鼠标、传感器或运动结果预测。 更重要的是,即使一个节点达到某个随机数,该随机数也必须与区块链中所有其他节点的随机数相同,否则链会分裂:在同一个区块链中,如果相同的区块的nonce是不同,这将导致分叉。 那么区块链是如何处理随机性的呢?

一些区块链依靠块哈希来处理随机性。 因为哈希值是未知的、随机的,但在所有节点上都相同,所以它可以用作基本可证明公平赌博的随机源。

以太坊联盟和以太坊的关系_以太坊百科_以太坊与以太基金

然而,如果区块奖励低于矿工通过操纵区块哈希获得的奖励(当前以太坊区块奖励为 2ETH)以太坊百科,那么矿工就有充分的经济动机进行恶意行为。 更重要的是,在股权证明 (PoS) 系统中,由于生成一个块需要很少的计算时间或能量,矿工(验证者)可以轻松地继续生成数千个块,直到他们得到一个他们喜欢的块。 哈希值,并提交这个哈希值。

这也适用于验证器选择。 如果当前负责生产某个区块的验证人可以被操纵,使得该区块哈希成为可以重新选举验证人的种子(或由验证人控制的另一个验证人客户端),则让这个验证人继续担任验证人提议的区块,然后验证者可以继续提议区块,让其他验证者远离主要利润!

显然,我们需要更强的区块链随机性,尤其是在以太坊2.0系统中!

RANDAO 简要概述

想象一下,如果房间里有很多人,每个人的脑子里都有一个数字。 为了得到一个随机数,我们要求人们一个接一个地大声说出他们的号码。 所有这些数字的总和就是我们想要的随机数。

以太坊联盟和以太坊的关系_以太坊百科_以太坊与以太基金

这就是 RANDAO 的本质。 RANDAO机制是当用户通过存储(抵押)32个ETH成为验证者时,用户将选择一个他选择的随机数。 当某个区块需要公布其随机数时,可以将系统中所有的随机数相加得到一个全新的随机数。

备注:以上过程只是一个简化的过程,本文不再详细讨论。 如果您需要关于以太坊 2.0 RANDAO 这方面的专门文章,请通过 Twitter (@bitfalls) 告知作者。

但即使在这种情况下,最后公布的数字也会对最终的随机数产生一定程度的影响。 最后一个人可以选择保持沉默,以这样或那样的方式改变这个最终的随机数:房间里的最后一个人会记住之前所有人公布的数字,这样他们就可以知道添加(或不添加)上面的他提供的数字之后的最终随机数结果。 如果某个数字相对于其他数字有利于最后一个人,那么最后一个人就有动机进行某种程度的操纵,无论是高低。

针对这个问题,以太坊2.0将通过VDF(Verifiable Delay Function)来解决!

RANDAO + VDF

VDF的全称是可验证延迟函数(Verifiable Delay Function)。

言外之意就是需要很长的时间来计算。

如果我们有某个数X,那么假设这个数X的6次二次VDF函数为:((((((X^2)^2)^2)^2)^2)^2)^ 2. 在这种情况下,如果X=5,最后的结果是:

以太坊百科_以太坊联盟和以太坊的关系_以太坊与以太基金

随着计算的进行,计算的结果会越来越大。 一个复杂的VDF会需要很长的时间来计算,因为计算过程对于任何一台计算机来说都是非常复杂的。

那么有什么意义呢?

首先,计算最终数字的延迟是可以验证的,我们知道需要哪些计算机操作才能得出结果,并且可以合理准确地确定机器得出结果需要多长时间。

其次,如果要计算第三级结果,计算机必须先计算出第一级和第二级结果——我们不能在多台计算机上并行计算,因为每个新的输入都依赖于以前的输出,而每个输出都需要预定的计算时间。

如果我们现在用 RANDAO 中的随机数替换上面 VDF 示例中的数字 X,并且如果函数的指数是千而不是 6,并且函数使用比平方根 (^2) 更复杂的东西,那么我们你会得到一个完全不同的函数,它会给 RANDAO 带来完全不同的结果,而且无论你有多少台计算机,计算这个结果都需要一段时间。

以太坊联盟和以太坊的关系_以太坊与以太基金_以太坊百科

通过引入这种延迟,并使计算花费的时间超过验证者可以从影响某些随机数中获益的时间,我们可以消除最后一级的随机性偏差——即消除验证者对 RANDAO 生成的影响。 最后的影响。

在以太坊 2.0 阶段,这个 VDF 被定义为 102 分钟长——超过一个半小时。 以太坊基金会目前正在与 Filecoin 等区块链项目合作,资助开发针对这种计算优化的开源 ASIC——一种专门设计用于进行这种计算的微型计算机。 该机器将由爱好者、加密货币项目和其他区块链平台甚至验证者运行,它具有能够在第一时间响应 VDF 检查的小优势,并且不需要比典型的微型计算机全节点成本更高的功率。

如此高度专业化的机器确保任何其他试图开发更好的 ASIC 以重新获得最后一点影响的人都必须将其效率提高 100 倍才能发挥作用。 除非有可能完全摧毁以太坊的可观利润,否则开发这种设备的成本很高,我们知道这不太可能成功。

在以太坊 2.0 阶段,每生成 64 个区块(大约需要 6.4 分钟,这称为一个时间段(epoch)),Beacon Chain 将扰乱验证器并将它们重新分配给所有分支。 在链中。

RANDAO 每个时期都会被公布,这意味着我们可以在每个时期运行一个新的 VDF 函数。 这意味着每小时将有 16 个 VDF 函数,并且将有 16 个随机数。 然后,这种随机性成为选择下一组验证器的种子,从而确保公平性。

Nimbus 中的随机性

以太坊联盟和以太坊的关系_以太坊百科_以太坊与以太基金

在 Nimbus 客户端中,我们与以太坊 2.0 规范保持一致。 我们的 RANDAO 实现已经符合以太坊 2.0 规范的 0.5.1 版。 我们需要确保我们的测试与官方测试相匹配。

现在谈论 VDF 还为时过早。 VDF 仍处于研究阶段,一旦将其添加到规范中,客户需要一段时间才能跟上。 必须设计与远程 VDF 设备通信的方法,稍微修改质押奖励以支持运行 VDF 的区块生产者,等等。 现在,鉴于 RANDAO 早期对以太坊的需求足够随机,它将作为一个基础层来打乱验证者并提供其他随机性。

结语

以太坊 2.0 每 6.4 分钟会产生一个合理的随机数,随机数足以保证巨额价值的安全。

以太坊的 VDF 只有在有人构建比以太坊社区提供的任何 ASIC 效率高 100 倍的 VDF ASIC 时,或者当世界上所有 VDF ASIC 都离线时才会失败。 即使发生这种情况,底层RANDAO带来的安全性也能将影响降到最低,使得以太坊足以保障链上财富的安全。

参考链接:

【文章版权归原作者所有,其内容和观点不代表Unitimes立场。 转载文章只为传播更有价值的信息。 合作或授权请发邮件至editor@unitimes.media或加微信unittimes2017】

以太坊百科_以太坊联盟和以太坊的关系_以太坊与以太基金

以太坊百科_以太坊与以太基金_以太坊联盟和以太坊的关系