20181117--深入浅出区块链工作量证明
2018-11-17 17:50
183 查看
记账工作
大家争相记账,大家一起记账就会引起问题:出现记账不一致的问题,比特币系统引入工作量证明来解决这个问题,规则如下:
一段时间内(10分钟左右,具体时间会与密码学难题难度相互影响)只有一人可以记账成功
通过解决密码学难题(即工作量证明)竞争获得唯一记账权
其他节点复制记账结果
不过在进行工作量证明之前,记账节点会做进行如下准备工作:
收集广播中还没有被记录账本的原始交易信息
检查每个交易信息中付款地址有没有足够的余额
验证交易是否有正确的签名
把验证通过的交易信息进行打包记录
添加一个奖励交易:给自己的地址增加12.5比特币
验证
在节点成功找到满足的Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。
如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块打包,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。
网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,这样就保证了整个账本的唯一性。
假如节点有任何的作弊行为,都会导致网络的节点验证不通过,直接丢弃其打包的区块,这个区块就无法记录到总账本中,作弊的节点耗费的成本就白费了,因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了整个系统的安全。
进阶阅读比特币区块结构Merkle树及简单支付验证分析,可以详细了解区块结构如何验证交易。
阅读更多相关文章推荐
- 区块链在中国(4):比特币的工作量证明
- 比特币和区块链之:什么是工作量证明?
- 区块链的共识机制之工作量证明机制
- 揭秘比特币和区块链(二):什么是工作量证明?
- 区块链中为什么需要工作量证明
- 20181117——深入浅出区块链 一种去中心化、点对点的网络架构
- 揭秘比特币和区块链(二):什么是工作量证明?
- 区块链简史(二):一篇文章看懂比特币工作量证明和矿工存在意义
- 基于Java语言构建区块链(二)—— 工作量证明
- 区块链初始化与实现POW工作量证明
- 20181117--深入浅出区块链 智能合约开发环境搭建及Hello World合约
- [译]用go进行区块链开发2:工作量证明
- 创建区块链之v2实现pow(ProofOfWork工作量证明)
- 从“工作量证明”解密“区块链”
- 给自己的区块链添加POW-工作量证明
- 用 Go 构建一个区块链 -- Part 2: 工作量证明
- 学习区块链的基础知识--工作量证明
- 熊市学技术—《挖矿=POW=工作量证明》
- DPOS委托权益证明 vs POW工作量证明
- 最大工作量问题新的解法(不会证明)