智能合约安全——随机数

本文探讨了智能合约中随机数的使用,包括通过区块变量和预言机生成随机数的方法及其优缺点。分析了一个利用区块数据生成随机数的漏洞,展示了攻击者如何利用相同区块信息重复生成相同随机数来赢得游戏奖励。提出了优化方案,如使用未来区块哈希和引入预言机以提高随机数的安全性,并推荐加入区块链交流社区CHAINPIP进行深入学习。
摘要由CSDN通过智能技术生成

我们将带大家了解智能合约中一个经常被用到的东西——随机数。

智能合约的开发中常常会用到随机数,例如 Lottery 和现在流行的 NFT 数字藏品的属性等都需要用到随机数。目前来说常见的随机数获取有两种:使用区块变量生成随机数,使用预言机来生成随机数。下面我们了解一下这两者的特点:

1)使用区块变量生成随机数

我们先了解一下常见的区块变量有哪些:

block.basefee(uint):当前区块的基本费用

block.chainid(uint):当前链 id

block.coinbase():当前区块矿工地址 address payable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值