深入浅出区块链 Day2

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

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

相关推荐
mazhimazhi1 分钟前
GC垃圾收集时,居然还有用户线程在奔跑
后端·面试
Python私教2 分钟前
基于 Requests 与 Ollama 的本地大模型交互全栈实践指南
后端
ypf52084 分钟前
Tortoise_orm与Aerich 迁移
后端
Victor3564 分钟前
Dubbo(78)Dubbo的集群容错机制是如何实现的?
后端
lizhongxuan5 分钟前
PgBackRest备份原理详解
后端
真是他5 分钟前
多继承出现的菱形继承问题
后端
李菠菜10 分钟前
POST请求的三种编码及SpringBoot处理详解
spring boot·后端
李菠菜10 分钟前
浅谈Maven依赖传递中的optional和provided
后端·maven
lqstyle14 分钟前
Redis的Set:你以为我是青铜?其实我是百变星君!
后端·面试
Piper蛋窝17 分钟前
Go 1.15 相比 Go 1.14 有哪些值得注意的改动?
后端