区块链基础知识篇——《精通比特币》第三章“比特币客户端”解读
本章主要介绍比特币标准客户端,即比特币核心的运行环境、配置以及如何通过命令行查看交易和区块。对于不熟悉代码的朋友,本章显得有些枯燥,估计大部分不会编程的人,会直接将本章略过。
如果你想熟悉比特币交易,本章有一个关键的要点,也是必须要懂的常识——区块链交易的构成。下面重点讲讲每笔交易包含的关键字段的含义。
注:以下截图数据来源于https://blockchain.info/zh-cn/
3.1 区块字段解析
如上图所示,以区块高度519427为例,说明该区块的每个字段释义。
高度:代表这是第519428个区块,注意创世区块的区块高度为0;
哈希值:指区块的哈希值,该区块的唯一标识;
上一区块:每个区块都会记录它的上一个区块哈希值,用来追溯之前的交易;(由于创世区块为第1个区块,所以创世区块的上一个区块为空)
下一区块:每个区块都会记录它的下一个区块哈希值,可以向后追溯交易;
时间:指区块创建的时间;
播放方:指挖出该区块的矿工组织;
难度系数:比特币每10分钟产生一个区块,这个时间是通过调整难度系数来控制的;
Bits:难度值
交易次数:该区块包含的交易数量
输出总量:该区块所有交易输出的BTC数额
预计交易量:该区块所有非找零交易的BTC数额
大小:区块大小
版本:区块版本号
二进制哈希树根:该区块中交易的Merkle树根的哈希值,即所有交易两两组合哈希,直至得到最终的哈希树根。
随机数:为了找到满足难度目标所设定的随机数
新区块奖励:每产生一个新区块,奖励给挖矿者的报酬
交易费:该区块包含的所有交易的手续费之和。
3.2 区块交易字段解析
点击上图中区块头的哈希值,可查看该区块包含的所有交易,下面以一笔交易为例,解析每笔交易的字段含义。
锁定时间:在此之前,该交易输出无法被花掉。
确认:该交易已经被160个区块确认。
输入总额:由2个未消费的交易输出构建的输入,如上方蓝色字体左侧的代表输入地址
输出总额:该笔交易对应了2个输出,如上方蓝色字体右侧代表的输出地址
(关于输入和输出之间的关系,可以对照区块链基础知识篇——《精通比特币》第二章“比特币的原理”解读)
交易费:输入与输出之间的差额,即支付给矿工的手续费
预计比特币成交:非找零输出的比特币数额
脚本:比特币的交易创建的输出其实并非一个简单的公钥地址,而是一个脚本。脚本的意思是,谁能够提供一个签名和一个公钥,让这个脚本运行通过,谁就能花费这笔交易的输出。
现在,你是否熟悉一笔比特币交易了呢?
关注微信公众号“Tina说”,获取更多区块链干货输出。