深入浅出区块链 Day2

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

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

相关推荐
苏三说技术5 分钟前
为什么越来越多人用Apache Tika?
后端
Zane19947 分钟前
Lock 接口与 AQS 核心原理:手写理解一把可重入锁是怎么运作的
java·后端
Full Stack Developme7 分钟前
SpringBoot 整合 Druid 并列出参数清单
java·spring boot·后端
明月_清风34 分钟前
🕵️ MEV 与链上交易:理解区块链的"暗面"
后端·web3
明月_清风36 分钟前
🤖 Web3 + AI 融合:去中心化智能的未来
后端·web3
swipe38 分钟前
13|(前端转全栈)支付成功不等于结束:回调、幂等、超时关单和状态竞争
前端·后端·面试
swipe1 小时前
12|(前端转全栈)点击提交订单后,后端如何用事务守住价格、库存和订单?
前端·后端·面试
用户8181870627461 小时前
第2章 JVM 异常处理机制源码级剖析
后端
Alan_751 小时前
文件上传接口设计-从单文件到分片上传
后端
newerp1 小时前
Go语言程序结构 —— 变量、声明与零值机制
后端