阅读新闻

亚马逊支持悬赏10万美金就为这一谜题!一旦破解将影响以太坊、EO

发布日期:2019-08-31 17:00   来源:未知   阅读:

  去年 EOS 菠菜类游戏 Eosbet 就曾因随机数攻击损失了高达 18 万个 EOS,EOSDice、FFgame、FairDice 等也深受其害。此外,以太坊在由工作量证明(PoW)转向权益证明(PoS)过程中的安全性保障,也与随机数问题息息相关,比如防止 PoS 验证节点利用随机数进行作恶等。事实上,以太坊 2.0 的安全性确实是业内人一直关注的话题。

  以太坊为此做了巨大的努力。近日,以太坊基金会联合 Interchain 基金会、协议实验室(Protocol Labs)、Synopsys 等,在亚马逊云服务(AWS)的帮助下发起了一个求解 VDF(可验证延迟函数) 的 FPGA 编程竟赛(详见文末),赏金高达 10 万美元(约合 70.64 万人民币),旨在解决随机数不随机的问题。谜题如下:

  VDF 是什么?与区块链有何关系?简单来讲,VDF 是一种抗并行计算的谜题函数,其中一个用处就是保证很高安全性的随机产生,并且其他节点可以以很低的成本去验证这个随机数的正确性。尽管破解这一难题并非易事,不过一旦解决,必将会对以太坊乃至整个区块链生态产生积极的影响。或多或少,这个谜题在一定程度上影响着以太坊 2.0 的未来。

  随机数,是专门的随机试验的结果。这是百度百科对随机数下的定义。但就是这个小小的随机数,事实却证明,它对区块链的安全性至关重要,甚至可以直接决定一个项目的生死。

  真正的随机数只存在于物理世界中,比如掷骰子的结果。但从目前来看,区块链世界没有真正的随机数。长期以来,密码学家一直在研究生成一个真正的随机数,但即使在一台单独的计算机上也很难实现,区块链网络中随机数的生成则难上加难。随机数是区块链游戏的灵魂,但很多区块链游戏因随机数漏洞面临着生死的危机。

  去年,随机数的概念一度因 EOS 游戏类 DApp 屡屡被黑而火了起来。菠菜类游戏 Eosbet、FFgame 和 EOSDice 就是三个实际的惨例。

  2018 年 9 月 12 日,菠菜类游戏 Eosbet 遭受随机数攻击,损失约 42000 个EOS。Eosbet 游戏在开奖时使用了 EOS 中一个名为 ref_block_num 的随机数因子,但在游戏开奖时合约中还是读取了老区块中的值,因此导致随机数被预知,进而被攻击。

  仅仅过了一个月,Eosbet 便再次遭受随机数攻击,损失高达近 14 万个 EOS。尽管 Eosbet 开发者在修改了上一次的问题后引入了一个新的参数,将用户余额作为随机数因子,但攻击者却利用这一点模拟了完全一样的 DApp 代码,然后不停修改余额去尝试解开开奖逻辑,直到碰撞出开奖结果,进而成功实施了攻击。

  无独有偶,2018 年 11 月 4 日,同为菠菜类游戏的 EOSDice 也遭受随机数攻击,损失近 2500 个 EOS。攻击者获取正确的随机数种子,通过伪随机算法计算出了游戏结果,然后根据结果下注,保证了百分百的胜率。

  一周后,攻击者再次攻击了 EOSDice,此次损失近 4900 个 EOS。攻击者在知道伪随机算法和种子来源的情况下,通过改变种子的数值让伪随机算法计算出自己下注的游戏结果,从而保证了百分百的胜率。

  如果选出一个史上最倒霉的 DApp,FFgame(一款 EOS 竞猜类游戏)无疑是一个很合适的选择。2018 年 11 月 8 日,FFgame 游戏在尚未正式运营时就遭受了随机数攻击,损失 1331 个 EOS。攻击者通过部署攻击合约并在合约中使用与 FFgame 相同的算法计算随机数,随后立即在 inline_action 中使用随机数攻击合约,导致中奖结果被预测,从而达到了超高中奖率。

  如今以太坊正大步向前,迈向以太坊 2.0 阶段,这其中一个必经的过程就是由 PoW 转向 PoS,但 PoS 并没有想象中的那样安全,会存在验证节点作恶的行为。因为在 PoS 系统中,网络上的任何节点都可以是验证者,但只有一定数量的正式验证者,同时这些验证者是随机选择的。一旦随机,就存在作恶的可能。

  以太坊 2.0 提出了分片技术(Sharding)的概念,原先所有的交易都需要被整个网络的节点验证,节点越多,网络就越安全。但在这种模式下,整个网络的节点所能够处理交易的数量是固定的。Sharding 的理念是,让网络节点的一个子集去验证一个分片的交易。这样随着节点数目的增加,整个网络可以水平扩展。但这也就意味着原先一笔交易需要 N 个节点处理,现在是 N/L(L 是 shard 的数目)个,安全性是下降的。

  此外,Gary 还表示,为解决这个三难问题,其中一种思路就是让 N 个节点随机划分到 L 个 shard(分片) 中。假设整个网络最基本的安全假设是网络中至少超过 1/2 节点是诚实节点,那么一个 shard 中被随机分配的节点数目超过一定数量,例如 P,那么这个 shard 中恶意节点超过 1/2 的概率就会小于 1/2^(x)(可以根据概率论进行计算)。但其中最关键的一步就是要保证验证者(validator)的随机是真正随机,而现在的很多随机方法都易受控制(比如矿工)。

  也正是为了致力于解决这一作恶的问题,以太坊基金会才联合了 Interchain 基金会、协议实验室(Protocol Labs)、Synopsys 等,在亚马逊云服务(AWS)的帮助下,发起的求解 VDF 的 FPGA 编程比赛,目的就是想解决这一问题。

  VDF 的计算很大程度上是串行的,所以给定一个函数,求解函数的值需要至少经过一定的时间。

  对此,区块链资深开发者郑旗表示,这种函数用于区块链技术中,有很多好处,主要是提升区块链的安全性,比如用于随机数的生成,攻击者知道随机数的结果必须经过很长时间,想要再回去作恶修改随机数输入的可能性很低,这就保证了区块链中随机数生成的安全性。

  针对 VDF 对以太坊的影响,Gary 表示,VDF 其中一个用处就是保证很高安全性的随机产生,并且其他节点可以以很低的成本去验证这个随机数的正确性。有了 VDF,以太坊的验证者就会以高安全性的随机方式被分配到 shard 上,也就一定程度上实现了shard 之间共享网络安全的目标,降低了验证者作恶的可能性。

  此外,Gary 还谈到了本次 FPGA 编程比赛设置的初衷,VDF 期望把计算目标跟计算时间 T 较为严格地绑定在一起,所以现在大家想要找到一个数学模型,找到一个能够符合上述要求的计算公式。目前较为认可的方案是基于阶数未知的阿贝尔群(Abelian Group),这是高阶数学的东西,h = x ^(2 ^ t)mod N 只是其中一个 VDF 的候选公式。所以这次 FPGA 编程比赛的目的是希望有人能够最大程度地去做优化。

  一旦这一难题得以解决,必将对以太坊、EOS 等公链生态产生积极的影响。可以从两方面来解释:从基础链方面讲,可以提速、降低能耗、增加安全性;从 DAPP 方面讲,目前不论是以太坊还是 EOS 都没有真正的随机数(EOS 上的菠菜类游戏深受其害就是实证),VDF 可以较好、较安全地解决此类问题。志顶科技技术总监吴忠信说。

  CyberMiles 首席科学家 Michael Yuan 对此表示了认可,VDF 算法使得用假随机数发生器也能产生安全的随机数,而且是用去中心化的方法,不需要超级节点,未来会赋能更多新的应用。比如菠菜类游戏,必须有安全的随机数。现在菠菜类游戏,尤其是 EOS 区块链上的菠菜类游戏经常受攻击,就是随机数可以被猜中。以太坊 2.0 的分片与各种奖励机制,也是要求做恶的人不能很简单地猜出随机数。

  区块链资深开发者郑旗认为,此次以太坊基金会等组织悬赏重金面向全社会征集 VDF 函数的最快 FPGA 解决方案,其实是想从侧面证明 VDF 函数的安全性。理论上 VDF 函数求解由于其对并行计算的抵抗,所以它计算结果和时间因素是有关系的。通过设计 FPGA,求解该谜题的最快解,理论上找不到低于预设时间数量级的解。这场比赛的最终结果可以佐证 VDF 函数的安全性。因此,将这样一个安全的技术应用于区块链技术,就可以解决区块链中的随机数生成攻击、Nothing-at-stake 攻击等问题,会对区块链的发展会产生非常深远的影响。

  但这种数学问题都很难,因为连有没有解都不知道。Michael Yuan 补充道。

  既然这个 VDF 谜题对区块链行业如此重要,那热爱区块链的你又如何参与呢?

  据官方网站介绍,本次 FPGA 编程竞赛周期历时 5 个月,共分为两轮。

  第一轮时间为 2019 年 8 月 1 日 - 2019 年 9 月 30 日,第一轮获胜者(计算结果具有最低延迟的参赛者)将根据基于基线 ns)的改进效果获得赏金(3000 美元/ns)。

  第二轮时间为 2019 年 10 月 15 日 - 2019 年 12 月 30 日,第二轮的起始基线将根据第一轮的结果设定。详细时间线如下图:

  只要你热爱区块链技术,只要你想挑战自己的极限,只要你想为区块链生态加一把暖火,无论你是谁,都可以积极参与。希望通过我们的共同努力,让区块链生态变得越来越繁荣!

  声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们

  IMF报告对分析了五种货币形式,以及数字货币对银行部门的影响。同时分析...

  商业保理行业的重要性已日益凸显,在经济增速放缓和企业融资困难的背景下,...

  如何在币圈成为赢家?先求生存,后求发展,进而求财富自由,如果对币圈的各...