区块
区块链是由网络参与者共同维护的帐本,我们可以将区块链想像成一本帐簿,而「区块」就是每一页的交易纪录。
一个完整的区块需包含四个资讯
- 区块大小(Block Size):该区块的容量大小(比特币的区块大小限制在1MB以内)
- 区块头(Block Header):用于验证区块的有效性
- 交易数量(Transaction Counter):该区块中的交易数量
- 交易资讯(Transactions):每一笔被包含在这个区块中的交易资讯
区块头(Block Header)
区块头主要目的是让矿工快速的审核该区块的有效性,并让每一个区块与前一个区块资料产生无形的连结,确保区块序列及历史纪录的正确性,这也是形成链最关键的连结,就好比帐布的每一页都会有页码,如果有人窜改帐本撕掉其中一页,因为页码对不上我们就能很轻易的发现资料有误。区块头由六个部分所构成:
- 版本(Version):当前区块链版本
- 前Hash值(Previous Block Hash ):父区块头的Hash 值
- 哈希树根(Merkle Root):被包含在该区块的最终Hash 值
- 时间戳(Timestamp):该区块产生的时间
- 难度目标(Difficulty Target):该区块工作量证明的难度
- 随机数(Nonce):符合计帐条件的随机数
区块体(Block Body)
区块体较为简单,所包含的内容就是由该区块矿工所验证的交易的支出地址详情、接收地址详情、交易数量统计、交易时间戳以及交易Hash值等。
- 支出地址详情:发起比特币交易的地址
- 接收地址详情:接收比特币交易的地址
- 交易数量统计:交易的比特币数量
- 交易时间戳:时间戳是指1970年01月01日格林威治时间00:00:00 到交易发起时的总秒数。
- 交易Hash值:该笔交易在区块链上的交易编号每一笔交易的Hash值,都是Merkle Tree的一部分,最终会生成区块头中的Merkle Root,保障了纪录在区块链上每一笔交易的有效性与不可窜改性。
此外,纪录在区块体中的交易分为两种。
- Coinbase 交易:只有收款方,没有付款方。比特币区块链上的每个区块之中会包含多个交易(transaction),其中第一个交易就叫做Coinbase 交易,也就是系统给矿工的挖矿奖励
- 一般交易:一般的链上交易
创世区块(Genesis Block)
创世区块就是整个区块链的第一个区块,另一个说法是区块高度为0( Block #0)的区块。根据上文所说,每一个区块的区块头都必须引用前一个区块的Hash值,因此,系统诞生时必须直接生成创世区块Block #0,Block #1才能引用其Hash值放进区块头,接着就能够按照这个规则不断产生区块,连接成区块链。
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/bi/31876.html