作者:黄武汉
区块链涉及的技术十分庞大,每一个问题都值得细究。为了搞清楚这些问题,我们有必要先来看一下区块链的基本结构,下图是从网上找的一张:
创世区块
如上图所示,区块链就是由这样的一个个区块链接而成。而最原始的第0号区块,是由聪哥在09年创建的“创世区块”,区块链上的任意区块向后回溯,最终都将到达创世区块。聪哥由于创建了这个区块,也获得了50BTC的奖励。但是这50BTC聪哥只有所有权,没有使用权。比特币客户端把区块和交易分开存贮在两个数据库中,当客户端发现区块数据库为空时(创世区块才会走这个逻辑),用代码直接生成一个创世块,但是没有生成这个交易。前面说过,区块链中的余额是通过交易间接计算的,每一次交易的输入都应该是UTXO。因为交易不存在,所以无法验证,也无法得到承认。创世区块的这种设计,网上说是为了避免分叉,但没太理解,所以不展开。从后面的区块开始,才能产生可交易的BTC,进而产生交易(事实上,09年产生的区块,很多都只有coinbase交易)。从网上抓了一个创世区块的数据信息,可以看一下:
区块数据结构
为了能够更好的说明,做了一个表格,具体参考表格信息:
表格里面有许多的问题需要说明,由于参考内容较杂,就不列了。
网易云新用户大礼包:https://www.163yun.com/gift
本文来自网易实践者社区,经作者黄武汉授权发布。