深入浅出区块链 Day2

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

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

相关推荐
G探险者4 小时前
聊一聊 CLI:为什么真正的工程能力,都藏在命令行里?
后端
hzc09876543216 小时前
Spring Integration + MQTT
java·后端·spring
女王大人万岁8 小时前
Golang标准库 CGO 介绍与使用指南
服务器·开发语言·后端·golang
程序员小假8 小时前
我们来说一下虚拟内存的概念、作用及实现原理
java·后端
无尽的沉默10 小时前
SpringBoot整合MyBatis-plus
spring boot·后端·mybatis
CircleMouse11 小时前
springboot项目中使用Java 8的日期时间API
java·开发语言·spring boot·后端·spring
UrbanJazzerati12 小时前
Python 导包、分包完全教程
后端·面试
Aerkui13 小时前
Go 泛型(Generics)详解
开发语言·后端·golang
clive.li13 小时前
go-webmvc框架推荐
开发语言·后端·golang