来自 MYKEY、DeBank、IRISnet 与 Magic Circle 的区块链技术爱好者分享随机数生成方案与在区块链领域应用场景。

2020 年 7 月 30 日下午,第三次「上海区块链前沿技术讨论会」如期举行。会议围绕着「随机数与区块链」展开了四场高质量的分享。MYKEY 的姚翔、DeBank 的洪波、IRISnet 的胡智威、Magic Circle 的曲明做了分享,分别从理论到实践层面介绍了随机数生成技术方案和应用场景对随机数的需求。

技术前沿:随机数在区块链领域有哪些应用场景?

随机数的理论基础

来自 MYKEY 的姚翔做了开场,介绍了随机数的一般性知识。随机数这个概念在日常生活中经常提及,但我们讨论的「随机数」一般是在统计学中的定义。

随机数可以用符合以下描述的方式定义:从已知集合中选取元素,如果选择结果不可预测,但元素出现概率确定,则认为该过程是随机的;如果该集合是连续的自然数集合,则可以认为通过该过程选择的元素是随机数。随机数可以根据 NIST 800-90A 的建议进行设计,并通过 NIST SP 800-22 或 GB/T 32915-2016 提供的方法进行检测。对随机数的检测非常必要,一是规避算法本身可能存在的缺陷,二是防止设计者植入后门(参考 Dual_EC_DRGB 事件);无论是哪种情况导致随机数可被操纵,会造成非常多的安全问题。

目前,随机数已被广泛应用在不同的场景中,大体可以分为两种类型,一种是强调安全的场景,包括密钥生成、椭圆曲线签名中的随机数 k 的产生、PoS 算法中节点的选取;另一种是强调公平的场景,例如随机抽样、抽奖、抽签等。两者比较,前者对安全性要求更高,后者更看重工程实用性和实施成本。最后,姚翔介绍在区块链中产生随机数的方法的一般思路,主要通过几种不同策略组合使用:一是多方协同生成;二是通过哈希函数等随机预言机引入随机性;三是通过承诺-揭示协议降低参与方作弊可能;四是引入门限协议或经济约束提高产生随机数的成功率。

随机数生成实用方案——Fair Dice & IRISnet

来自 DeBank 的洪波分享了 Fair Dice。Fair Dice 是一个在 EOS 上被广泛使用的随机数生成方案。作为设计者,洪波提到用户「感觉随机」非常重要,同时对于项目方而言需要保障「安全性」。在区块链游戏中,用户与游戏提供者通过协议来生成随机数,作为决定游戏的胜负的标准。该协议经过多次优化,最早的流程比较复杂,但交互次数过多,导致用户体验不好。经过优化后,只需要经过很简单的交互,简述如下。

用户选择开始游戏后,服务端生成秘密种子和其对应的哈希,以及相应的签名,并将哈希和签名回传给用户,用户直接上传自己的种子和服务端的哈希签名,最后等服务端上传种子,即可算出随机数。其中为了确保用户不会替换掉服务端的哈希,需要庄家进行其进行签名,然后链上检查签名。

洪波提到,该方案的安全性得到了应用的验证。但在实际应用中,很多项目方在复用这个方案时,由于对原理不了解,擅自对协议的参数或流程进行修改,导致协议被攻击,造成了极大的经济损失。同时,该方案存在内部人员监守自盗,进行攻击的风险。

最后,洪波和大家就关心的签名重放、分叉安全等问题进行了讨论。

IRISnet 研究总监胡智威介绍了目前 IRIS 公链的随机数生成方案。

现在 IRISnet 有两种随机数生成方案,一种是链上随机数方案也是目前在主网上实施的,另一种就是引入链外的随机数方案,就是把链上的随机数和链外 oracle 综合的随机数方案。这次分享主要介绍了前一种。

IRISnet 目前的随机数生成器主要通过区块链生成的多个指标作为「种子」来计算随机数,增加随机性,同时也使得此随机数公开透明,方便验证。随机数「种子」有:上一个区块的哈希,哈希本身就具有一定的不可预测性;当前区块的时间戳:区块时间戳采用 BFT 时间,即根据验证人的权重计算出中位数,这样计算出来的分布式时间戳,也具有一定的不可预测性;发起随机数请求的链上地址,是希望每个账户产生的随机数是不同的。

链上随机数从攻击的成本和获得收益的比率来看是不合算的,因为需要攻击公链的共识,这需要非常高的成本。

针对参数选取和确定时间的算法,听众与讲者进行了交流。胡智威表示,目前在优化开发引入链外随机数的方案,感谢大家的建议,团队也会研究这些问题。

随机数在数字证券领域应用展望

最后,Magic Circle 的 CEO 曲明和大家分享了随机数在数字证券领域中的相关应用。他首先和大家分享了关于数字证券领域中现在遇到的一些技术问题,比如如何通过 Token 的方式表达现实世界中证券所带变的权益,比如是否有分红的权益,优先股,是否受限等,同时如何在 STO 的过程中符合监管要求,实现合规发行,同时还有基于 Captable 的管理和发行机制等等。

从 2020 年的实际情况来看数字证券的发展势头是非常迅猛的,流动市值从 6 月 3 日突破 1 亿美金,到 7 月 20 日突破 3 亿美元,同时 Magic Circle 也看到 STO 和 DeFi 的融合可能会扩大 DeFi 的可扩展性。

随机数在 STO 过程的应用,曲明认为主要可以体现在打新销售的过程中,传统售卖通过早鸟价实现促销,但是某研究机构的论文表明,早鸟价打折价格和募资总额并没有完全的相关性。引入随机数的概念后,投资人可以通过产生的随机数获得打折或者高于一般价格获得数字证券,希望通过这样的方式促进数字证券的发行,刺激投资人的购买欲。在这个过程中,需要产生全网认可的公平的链上随机数。

这样的随机数应该如何产生,如何证明可信性,是否具有时间性和实时性,如果产生攻击的话成本如何,现存的法律机制是否有仲裁机制等,都是需要讨论的问题。

屏幕快照 2020-08-06 下午 1.33.30 (1).jpg


「上海区块链前沿技术讨论会」由上海的区块链技术爱好者发起,以线下主题分享结合讨论的形式,定期针对技术难点、技术如何服务应用等行业问题展开讨论。目前,系列活动已举办 3 期,进行专题分享 10 场,累计超过 50 人次的从业者参与活动。若想了解活动更多情况或报名参加后续活动,可 点击此处 了解。