黄连金∣随机数在区块链中的应用和生成机制

官方新闻NULS中文社区2019-03-19 18:28:36  阅读 -评论 0

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

在人们的生活中,很多场景都需要用到随机数,例如福利彩票、车牌摇号、公共用房分配等。互联网的发展,让人们对随机数的运用越来越依赖中心化系统,但是绝大多数中心化系统,生成的随机数都是伪随机数,并且存在作弊的风险。

 

区块链的出现,让人们看到了生成更公平的随机数的可能。而随机数对于区块链本身也有着非常重要的作用,那到底随机数在区块链中有哪些应用场景?区块链又是如何产生更可靠的随机数的呢?

随机数在区块链中的应用

私钥

拥有加密货币的人都知道私钥的重要性,谁拥有你的私钥,谁就拥有了你的加密资产。私钥的生成都需要依赖随机数,所以能否保证随机数的不可预测和破解,关系着加密资产的安全。

 

比特币私钥使用的是SHA-256生成的256位随机数,这个随机数的取值范围是0~2²⁵⁶-1。2的256次方近似于10的77次方,这是一个取值范围非常大的数,以现有的计算能力,想要暴力破解,几乎不可能。

 

不能暴力破解,但是如果生成随机数的随机数生成器可以被操控,生成的随机数可以被预测,那你的私钥就有可能被解密,加密资产的安全就得不到保障了。

竞猜类应用

在竞猜应用里,需要使用随机数,来保证结果的随机性,避免人为干预,影响结果的公平性。

 

在中心化环境下,参与竞猜的用户需要向系统提交竞猜订单,系统根据规则收集用户的信息,然后生成竞猜结果。在整个过程中,客户端不会参与竞猜结果的计算,竞猜结果本质上是由系统生成的一串随机数。当出现巨大利益诱惑时,系统可能会作弊,让自己从中得利。

 

在去中心化环境下,没有唯一的中心,可以让所有节点共同参与随机数的生成,可以有效的保证随机数的公平性。但是在去中心化环境中,黑客可以更方便的对随机数发起攻击,从中获得利益。到目前为止,区块链随机数的安全性仍然是一个需要突破的技术问题。

 

在2018年8月,曾火爆一时的Fomo3D游戏,就被黑客利用其随机数漏洞,在游戏中获得了巨额的利益。继Fomo3D之后,EOS上的众多热门DAPP,尤其是竞猜类游戏,如EOS.WIN、EOSDice等,也先后因随机数生成的缺陷遭到了黑客攻击。

POS共识机制

区块链是一种去中心化的分布式记账技术,在去中心化的环境里,要实现正确的记账,随机的选出记账人,是非常关键的。因为只有在随机的条件下,才能保证公平的分配记账权,合理分配挖矿奖励。

 

采用POW的共识机制,是通过算力竞争,计算一个非常有难度的哈希值,来随机确定由谁来记账。采用POS的共识机制,则需要通过随机数,随机选举出一个节点来进行记账。 

 

大多数POS协议都会根据持有者的代币数量,选出一组矿工和验证者,共同完成对链上交易的验证和出块。为了能够随机的选出矿工和验证者,保证公平分配奖励,算法必须融入一些公平、无偏倚的随机数源。所以在许多POS共识机制中,随机数是一个非常关键的技术。

真随机数和伪随机数

随机数分为真随机数和伪随机数。真随机数数列是完全不可预测的,只存在真实的物理世界中,例如放射性衰变、电子设备噪音、宇宙射线的触发时间等,我们可以通过采集这些数据,获得真随机数数列。伪随机数是通过获得的真随机数数列(通常称作随机数种子),使用随机数算法计算得来的。只要获得随机数种子,就能得到相同的伪随机数数列。

 

所以真随机数只存在真实的物理世界中,计算机中的绝大多数随机数都是伪随机数。想保证伪随机数的安全,就需要有效的随机数种子和安全的随机数生成器。

区块链随机数的生成方式

区块链是去中心化的系统,理论上,产生的随机数比中心化系统会更公平,但是在去中心化环境里,如果有巨额利益,更容易遭到黑客攻击,所以为了保证区块链随机数的安全性, 诞生了各种不同的随机数生成机制。

VRF(可验证随机函数)

VRF(Verifiable Random Function,可验证随机函数)是一种可验证的随机数生成方式。目前主要是基于POS共识算法的区块链项目在使用,包括Algorand、Cardano

 

在Algorand、Cardano中,VRF是产生随机数的关键。VRF可以根据任意的一个输入,输出一个随机数。在VRF中特别设计了一个非交互的零知识证明过程,可以用来验证随机数的正确性,以及某随机数是由某节点生成的。

 

VRF中主要包含四个环节:

生成公私钥对

生成随机数输出

计算零知识证明

验证随机数输出

黄连金∣随机数在区块链中的应用和生成机制

生成随机数的节点将自己的私钥,作为生成随机数的输入的一部分,然后在本地输出随机数和零知识证明。其他节点可以利用生成随机数的节点的公钥、输入、输出,验证随机数和生成者身份的真假。

黄连金∣随机数在区块链中的应用和生成机制

得到随机数之后,就需要用生成的随机数来挑选参与出块的节点。最简单的方式是在全网设置一个公认的临界值M,假设某个节点生成的随机数R大于临界值M,系统就允许节点参与下一步的出块任务。但是这种方案没有办法防止女巫攻击,所以现在大部分VRF抽签方案都会基于权益进行票数分配,然后设计抽签算法,完成后续的共识过程。

Randao

Randao基于区块链技术,提供开源、去中心化、可证公平的随机数生成服务。Randao的目标是满足随机数生成不可控制和不可预测的基本特性的同时,使个体可以参与随机数的生成,保证随机数具备可参与性,利用区块链透明和不可逆的特点,保证结果的可证公平性。

 

Randao主要采用了Commit Reveal和BLS。 Commit Reveal其缺点主要是生成随机数的速度较慢。在以太坊中,从接到随机数生成请求,到生成随机数,至少需要 10 个块以上的时间,目前耗时在 3 分钟以上;因为需要参与者多次发送交易提交数据,其生产和使用成本较高。但该方案的优势在于,其参与门槛基本为零,任何人都可以随时加入一个随机数的生成过程,在防止串谋和可证公平方面拥有一定优势。

 

BLS 签名方案是对Commit Reveal的一种补充,因为生成过程在链外组织,响应速度快,通常只需要一个区块的时间就能生成随机数;消费者发起随机数生成请求,生产者在下一个块写入随机数,只需要发送两次交易就可以完成随机数的生成和调用,生产和使用成本都很低,适合用于高频,同时对防串谋要求不高的场景。 

阈值签名机制(Threshold Signature Scheme)

Dfinity是一个公链项目,目标是成为“互联网电脑”,实现软件和服务在其公有云的运转。在Dfinity中,随机数是整个共识机制正常运转的核心,其采用的阈值签名机制结合了VRF和BLS签名机制,是生成随机数的一种有效方式。

 

阈值签名机制主要由三部分组成:输入、输出、阈值机制。输入是一组成员的私钥,输出是一个随机数。阈值机制能够保证的是,只要接收来自成员的输入数量超过设定值,就可以得到一个确定的随机数,但是在得到小于设定值的输入数量前,没有人能够预测输出的随机数是多少。输出随机数的过程中使用了VRF,阈值机制中使用了BLS签名机制。

 

阈值签名机制结合了VRF和BLS,VRF使其生成的随机数具备了可验证性,BLS签名机制使签名过程中,没有节点可以提前预知签名结果,实现了随机数的不可操控性,并且很难串谋,是一种不错的随机数生成机制。

NULSRNG

NULSRNG是全球开源社区项目NULS,根据其POC(Proof of Credit)共识算法,专门为DAPP设计的随机数种子生成机制。

 

NULSRNG的实现方式是基于POC共识的两段式随机种子提交生成机制。即每个节点在出块的同时生成一个随机种子,并对该随机种子进行加密处理,将生成的密文包含在区块头中,同时获取该节点上次出块时生成的256位随机种子明文。结合区块头中的明文和密文,就可以对节点生成的随机数种子进行验证,确保不可篡改。

黄连金∣随机数在区块链中的应用和生成机制

NULSRNG基于底层共识实现,由全部共识节点参与,这样的方式增加了节点串谋的难度,采用种子密文和明文两段式提交的方式,能够实现种子可验证和不可篡改。

黄连金∣随机数在区块链中的应用和生成机制

 

在NULS上开发的DAPP,可以直接利用底层提供的接口,获取随机种子,然后采用自己的随机算法,生成需要的随机数数列,不仅可以提高随机数的安全性,同时使用上也可以做到灵活方便。

结语

1、 在区块链中,随机数有着非常多的应用场景,随着区块链技术的不断发展和完善,人们对区块链随机数的应用将会不断增加;

2、 在区块链领域中,目前已经有许多不同的随机数生成机制,它们都有着各自的特点;

3、 意识到随机数的重要性,越来越多的技术团队和项目方,开始研究更好的随机数生成机制,未来将会有更多完善的区块链随机数生成机制产生。

作者简介:

黄连金

著名区块链专家、核聚链首席科学家、美国 DistributedApps CEO、中国电子学会区块链分会专家委员、NULS顾问。

向文波

Java软件工程师、Cryptotech-Writer、NULS Core Team成员。专注于区块链技术研究和区块链解决方案。

 

参考文献:

《Randao: Verifiable Random Number Generation》;

《Verifiable Random Functions》

Silvio Micali, Michael Rabiny, Salil Vadhanz;

《DFINITY Technology Overview Series Consensus System》

Timo Hanke, Mahnush Movahedi , Dominic Williams。

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

黄连金∣随机数在区块链中的应用和生成机制

上线交易平台

币安:https://www.binance.com/

火币全球站:https://www.huobi.com/

火币韩国:https://www.huobi.co.kr

OKEx:https://www.okex.com/

KuCoin:https://www.kucoin.com/

Bit-Z:https://bit-z.com/

IDAX:https://www.idax.mn/

CHAOEX:https://www.chaoex.com/

DragonEx:https://dragonex.io/

Wazirx:https://wazirx.com/

QBTC:https://www.qbtc.com/

TOTOK:https://www.tokok.com/

Cointree:https://www.cointree.com/buy/nuls

币和:https://www.bibr.com/

Ktrade:https://www.ktrade.io/

CEO:https://ceo.bi/

Inex:https://www.inex.exchange/

7ebit:https://www.7ebit.com/

Coinspot:https://www.coinspot.com.au/

Bloex:https://www.bloex.com/

Simpleswap:https://simpleswap.io/

GDEX:https://www.gdex.io

了解NULS

项目网站:https://nuls.io/

微博:https://weibo.com/nulsio

Twitter:https://twitter.com/nulsservice

Medium:https://medium.com/@nuls

Telegram:https://t.me/Nulsio

Facebook:https://www.facebook.com/nulscommunity/

Github:https://github.com/nuls-io/nuls

Reddit:

https://www.reddit.com/r/nulsservice/

Steemit.com:https://steemit.com/@nuls

Gitter:https://gitter.im/nuls_io

Slack:https://nuls.slack.com

黄连金∣随机数在区块链中的应用和生成机制

扫码关注

公众号

链接新世界

黄连金∣随机数在区块链中的应用和生成机制

NULS,让区块链更简单!

因为认同,所以分享

感谢每一位社区成员,一起转发朋友圈吧

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

    参与讨论 (0 人参与讨论)

    相关推荐

    比特币有什么缺点?

    1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

    业务中使用区块链的四种方式

    业务中使用区块链的四种方式

    暴走时评:区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。 区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。越来越多的个人和企

    区块链:法定数字货币技术路线的必然选择

    区块链:法定数字货币技术路线的必然选择

    在人类发展史上,货币的进化从未停止。从物物交换,到金属铸币,再到纸质货币,以及当前正在发展的数字货币正在向着越来越便捷的方向进化。 比特币的出世起初并未带来轰动,但是最近几年其价格惊人的爬高创造出了一个个造富神话,引起各国政府及监管机构的关注。虽然金融专家普遍认为它只是一种资产,而非货币,但是,其背后的区块链(Blockchain)技术引起了包括各大金融机构、政府、企业及学术界的浓厚兴趣,未

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    墨尔本大学宣布发起区块链认证和审核计划,允许通过一种隐私、安全且持久的方式验证学生的证书。 墨尔本大学正在试验一个区块链记录维护项目,允许接收者(即学生)存储他们的证书,出于核验目的,第三方也能访问这个系统。Learning Machine是这个发布系统的开发者,他们采用的是麻省理工媒体实验室(MIT Media Lab)在2016年提交的Blockcerts开源代码。 墨尔本大学副校长格雷

    日本IT巨头富士通联合日本“三大行”开发区块链p2p资金转移系统

    日本IT巨头富士通(Fujitsu)与三家大型银行已经宣布计划试点一项基于区块链创建的点对点资金转移系统。 通过与日本三大行——瑞穗金融集团,三井住友金融集团和三菱UFJ金融集团——的合作,富士通将现场试验一种基于云的区块链平台,用于在个体之间发送资金,并开发一款智能手机APP来提高这个系统的可用性。 从理论上讲,这个平台将把三大行的客户法定货币账户与这个区块链系统相连接。客户然后将能够使用这

    动画科普:什么是比特币?

    动画科普:什么是比特币?

    比特币(Bitcoin,简写BTC)概念由中本聪(化名)提出,是一种点对点、去中心化的数字资产;2009年,中本聪打包了第一个区块,并获得50枚比特币的挖矿奖励,挖矿奖励每4年减半一次,按此计算,比特币预计2140年发行完毕,总量为2100万枚。 随着比特币的发展,比特币逐渐受到认可:德国为全球首个接受比特币支付的国家;微软、戴尔等知名企业也纷纷接受比特币支付。 举个栗子,你能直接用比特币买到

    3分钟理解什么是公有链、私有链、联盟链、许可链

    不同的区块链有着不同的内涵和功能,在区块链领域经常出现的公有链、私有链、联盟链、许可链,这些又都代表什么意思呢? 公有链 公有链是指全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是完全去中心化的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。比特币、以太坊都是典型的公有链。 私

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    比特币的出现带来了一项新的技术——区块链,不过区块链和比特币似乎已走上了两条不一样道路,作为技术的区块链被越来越多的人所看好,而性质偏向于投资的比特币似乎被更多人看衰。 成也萧何败也萧何 比特币火爆的原因是其拥有去中心化、全世界流通、专属所有权、低交易费用、无隐藏成本、跨平台挖掘的特性,这些特性促使比特币成为了很多人关注的焦点。之后众多庄家的入局让比特币一瞬间成为了热门投资产业,但这几大特

    麦妖榜
    更新日期 2019-07-22
    排名用户贡献值
    1BitettFan24106
    2等待的宿命23810
    3牛市来了22238
    4六叶树20309
    5区块大康19383
    6linjm122717663
    7天下无双16192
    8lizhen00215252
    9让时间淡忘14484
    10冷风大q11188
    返回顶部 ↑