深入浅出区块链 Day2

双花攻击是指一个代币被花费了两次,这在任意的区块链系统中是不被允许的。如果避免了双花问题,基本就能避免上述作弊中收益过大的问题,因为攻击者首先要窃取到你的私钥,同时又能控制了你的计算资源(算力)。

所有记账节点都会遵循以下两条规则: 规则一:一个代币如果已经被花费,那么会被标记成已花费,如果再次接收到这个代币被花费的请求,那么记账节点会拒绝打包这笔交易; 规则二:如果同时接收到两个信封,这两个信封中装的两笔交易出现了一个代币被花费了两次的情况,这种情况也就是我们所说的分叉(Fork),那么选择挖矿难度比较大的那个信封。 规则一避免了未确认的交易出现双花,规则二基本避免已经确认的交易中(信封中)的双花问题。 假设作弊者的计算资源(算力)占整个系统的 30%,那么连续两次获得记账权的概率是 9%,看起来作弊的可能性还是挺高的,如果是连续 6 次获得记账权呢?概率直降到万分之七。

相关推荐
雷渊1 分钟前
深入分析Spring的事务隔离级别及实现原理
java·后端·面试
Smilejudy11 分钟前
不可或缺的相邻引用
后端
惜鸟11 分钟前
Elasticsearch 的字段类型总结
后端
rebel13 分钟前
Java获取excel附件并解析解决方案
java·后端
微客鸟窝15 分钟前
Redis常用数据类型和命令
后端
熊猫片沃子17 分钟前
centos挂载数据盘
后端·centos
微客鸟窝18 分钟前
Redis配置文件解读
后端
不靠谱程序员20 分钟前
"白描APP" OCR 软件 API 逆向抓取
后端·爬虫
小华同学ai21 分钟前
6.4K star!企业级流程引擎黑马,低代码开发竟能如此高效!
后端·github
Paladin_z25 分钟前
【导入导出】功能设计方案(Java版)
后端