本文主要介绍了VRF的概念和算法结构,随机性体现在外部看来,找不到输出证明结果与输入之间的关系,给人一种“随机性”输出的感觉。
本文主要介绍了VRF基于RSA公钥体制的实现,如果对RSA原理比较熟悉,那么就比较容易理解了。其中掩码生成函数在密码学中应用较多,后续还有可能提到。
本文主要介绍了VRF基于ECC公钥体制的证明生成过程, 其中涉及多个辅助方法,这些方法只是做了简要的介绍,因为详细说明每个方法会有很多内容,先搞清楚主要过程,后续有时间再细说。
本文主要介绍了VRF基于ECC公钥体制的证明验证过程, 基于前一文的基础,本篇顺理成章地说明了验证的内在逻辑,别的地方很难有这样的内在分析!
智能合约中使用更安全的随机数(代码实战篇)
Libra中采用的椭圆曲线是ED25519,而不是像以太坊比特币使用的是secp256k1. 虽然有不同,但是从本质上来说他们都是椭圆曲线,基本性质都是完全相同的.因此适用于S256曲线的VRF算法在Libra中也是相通的.
Libra
ED25519
secp256k1
S256
要开发安全的智能合约,并规避合约资金被盗风险,开发者必须在安全方面下大功夫。如果随机数是智能合约依赖的关键数据,那么开发者就自然会期望合约所有相关方都拥有同等的不确定性,并降低因某一方成功预测结果而钻空子的风险。Chainlink VRF可以为智能合约提供随机数以及加密证明,在链上验证随机数具有不可预测性,因而可以满足智能合约对于安全随机数的要求。
在本篇技术文中,我们将展示如何使用 Hardhat 来构建、部署并和使用Chainlink网络的三种不同类型的智能合约进行交互:1. 获取外部数据的API消费者合约 2. 从Chainlink喂价中读取最新价格的喂价消费者合约 3. 使用Chainlink VRF请求随机数的VRF消费者合约
在遵循ERC721标准的非同质化代币(NFT)中生成随机数一直是智能合约开发者面临的难题。有了Chainlink VRF,创建需要安全随机性来源的[动态NFT变得非常简单、安全。
什么是可验证随机函数VRF