随机数的核心是数的随机性。随机性是信息安全领域,尤其是密码学领域一个很关键的研究问题。在密码学中,对一个序列的随机性是这样定义的:“看起来是随机的,即能通过我们所能找到的所有正确的随机性检验。”
在日常生活中,很多场景都需要应用到“随机数”,例如福利彩票、车牌摇号、公租房的分配等等。虽然借助互联网,随机数的应用愈加的方便,但是不可避免中心化的系统带来的弊端,即中心化系统产生的随机数可能是弱随机数。借助区块链以及相关的加密算法,使得拆解、破解随机数几乎不可能,因为需要消耗大量的时间和人力,并且结果也并不理想。因此,使用区块链可以保证竞猜类应用的随机性和公平性。
在区块链上,由于一切信息都是透明公开的,提供一个安全实用的随机数是一个非常困难的问题。但是随机数是很多应用的基础,比如游戏,博彩,流程控制等。因此,提供一个实用可靠的随机数是基于智能合约的应用的迫切需求。
数据的签名及验证过程是密码学在区块链项目里一个非常重要的应用。本文基于墨客区块链实现数据签名及验证。本文使用智能合约完成对签名的验证,使用chain3.js完成对数据的签名以及和智能合约的交互。
12 篇文章,-40 学分