(六)区块的生成、验证及挖矿

2018-10-22  本文已影响0人  Alphabet_1024

1. 交易的传播和验证

交易的size要小于区块的size的上限
交易输入UTXO是存在的
交易输入UTXO没有被其它交易引用-防止双花(Double Spending)
输入总金额>输出总金额(多出来的钱是给旷工的小费)
解锁脚本验证成功

验证合格后将交易加入到本地的Transaction数据库中,并转给邻近节点,邻近节点再做一遍验证然后再转给邻近的节点。

2.区块的生成与验证

区块结构.jpeg

区块是区块链的基本结构单元,由区块头和区块主体构成。区块体包括交易数量和交易详情。

相邻区块收到新区快后,立即做以下验证:

验证POW的nonce值是否符合难度值
检查时间戳是否小于当前时间2小时
检查Merkle树根是否正确
检查区块size是否小于区块size的上限
第一个交易必须是coinbase交易
验证每个交易

时间戳

Merkle树

3.挖矿

比如矿池一天挖出100个比特币,A矿工有10次nonce值计算的哈希值小于矿池难度目标值,而矿池所有矿工共有1000次符合的nonce值,则A矿工提供的算力占矿池的百分之一,应获得1个比特币。至于交易费,不同的矿池有不同的分发。

上一篇 下一篇

猜你喜欢

热点阅读