网赚论坛

 找回密码
 免费注册
查看: 549|回复: 0
打印 上一主题 下一主题

比特币基础教学之:数据区块结构解析(二)

[复制链接]

19

主题

19

帖子

76

积分

Ⅰ级财主

Rank: 1

积分
76
跳转到指定楼层
楼主
发表于 2017-10-22 00:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在上一篇文章数据区块结构解析(一)中,编者讲述了数据区块的基本结构,数据区块结构包括:神奇数、区块大小、数据区块头部信息、交易计数、交易记录这六个部分。其中,数据区块头部信息决定了该数据区块的生成难度,而交易记录则包括了该区块中所记录的所有比特币地址交易信息。

不知道何为比特币?点这里!

交易记录

交易记录就像一个记账本一样,记录了所有比特币的交易信息,每一个比特币玩家的比特币收支情况都被永久的嵌入了数据区块中以供别人查询,这也就是为什么每一比比特币交易都是可以查询到的。这个这些数据区块中的交易数据存放在每一个比特币玩家的客户端节点中,所有的这些节点则组成了比特币那及其坚韧的分布式数据库系统。任何一个节点的数据被破坏都不会影响整个数据库的正常运转,因为其它的健康节点中都保存了完整的数据库。
在本文中,编者将详细解析数据区块中交易记录的结构。


交易记录结构
数据区块的交易记录中,详细记载了比特币的交易记录和相关细节。其中在比特币收支详情里面,记录了收支的比特币地址和merkle节点值等情况,因此收支详情是交易记录中最重要的部分。
完整的交易记录结构如下表格:
[size=1em]
子结构名称

作用说明

大小

版本该比特币协议的版本号4字节
支出交易数量统计记录了当前区块中所记录的支出交易数量大于1字节
比特币支出地址详情记录了当前区块中比特币支出地址的信息大于40字节
比特币接收地址详情记录了当前区块中比特币接收地址的信息大于40字节
接收交易数量统计记录了当前区块中所记录的接收的交易数量大于1字节比特
交易时间戳以UNIX时间格式记录了当前区块中所记录交易被P2P网络确认的时间4字节



比特币支出和接收交易的结构
在数据块中,比特币支出和接收交易是写在一起的,整个收支记录包括很多比记录。每一比记录都有自己的索引编号以供查询。
[size=1em]
收支记录表

收支记录一
收支记录二
收支记录三
收支记录四
……
收支记录N

每一比记录中包括了生成时间、引用交易的哈希值、交易记录索引编号、比特币支出地址、支出地址数量等细节。每一比收支交易记录都有一个Merkle节点值,这个hash节点值是整个Merkle树的一部分,决定了每一个地址都不能重复交易和被伪造。
收支交易结构图如下:

[size=1em]
子结构名称

作用说明

大小

生成时间本次交易嵌入到区块中的时间4字节
引用交易的哈希值本次交易的merkle节点hash值,用来确认交易没有被伪造和重复32字节
交易记录索引编号本次交易的索引编号,该编号作为交易地址查询的入口4字节
比特币支出地址记录了本次交易中比特币支出地址的信息16字节
支出地址数量本次交易中比特币支出地址的数量4字节
版本该比特币协议的版本号4字节
本次交易的数字签名记录了本次交易的数字签名信息不确定
比特币接受地址记录了本次交易中比特币接收地址的信息16字节
接收地址数量本次交易中比特币接收地址的数量4字节
该条记录的大小记录了本条记录的大小大于2字节
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2024-5-6 14:32 , Processed in 0.546001 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表