构成比特币系统的的最基本要素包括用户、交易和矿工。其中用户通过比特币钱包进行交易,交易被广播到网上,矿工通过共识机制产生区块链,也即所有交易的总帐。这个总帐是公开发布的,任何人都可以进行查看。目前提供这类查询服务的应用有很多,被称为区块链浏览器(blockchain explorer)。常见的有如下几种:
- BitcoinBlock Explore
(https://blockexplorer.com)
- Blockcypher Explore
(https://live.blockcypher.com)
- Blockchain.info
(https://blockchain.info)
- Bitpay insight
(https://insight.bitpay.com)
这些网站提供的搜索功能都差不多,都可以通过比特币地址等多个关键字,查询区块和交易的详细数据。
下面从一笔真实交易开始,看看如何跟踪查询该交易的数据。
前文提到Alice用现钱换得了0.1BTC, 这篇介绍她用比特币在Bob的咖啡店购买一杯咖啡。每杯咖啡卖$1.5美元,按当时的兑换率,相当于0.015BTC。购买时,Bob会向她提供一个二维码,如下图所示。用户扫描后可以看到比特币的收款地址和应付金额。
笔者用自己的钱包扫描了此二维码,手机显示如下图所示。由于钱包是空的,所以显示余额不足。
我们可以通过访问区块链查询网站,查看Alice这笔交易的详细数据。下面是通过访问BitcoinBlock Explore网站,得到的查询结果。
该笔交易的概要数据:
上图中在交易(Transaction)后面06开头的一串字符表示该笔交易的Hash值。其它还包括交易数据量大小(size)、费率(fee rate)、接收时间(Received Time)、挖出时间(Mined Time)以及所属区块的Hash值(前面有若干个0)。通过该区块的Hash值可直接查询所对应的区块所包含的数据内容。
该笔交易的详细数据:
上图中1C开头的字串是Alice的比特币地址,含有0.1BTC;右边1G开头的字串是Bob咖啡店的比特币地址,后面跟着Alice付给的0.015BTC;右下方的字符串,同左边的Alice的比特币地址是同一个,0.0845BTC是找回给Alice的零钱。“230387 CONFIRMATIONS”, 表示有230387个节点,确认了该笔交易。
通过区块哈希值(BlockHash)可以准确定位查询到该笔交易所属区块的详细内容。如下图所示:
该笔交易所属区块的高度(Hight)是277316,所含交易的数量是419个,由于这笔交易发生在2013年,奖金为25BTC。其它有关数据,以后还会详细说明。
笔者查询了在2018年2月5日22:29:07的时间,生成的一个区块内容,高度已经达到507792了。如下图所示。
将此区块与大约发生在4年零2个月前的区块相比较,可以看到主要有以下不同:
1)区块高度增长了230476,这是依据预设,按平均每10分钟增长一块的速度,递增的。
2)区块所含交易的数量大大增加了,这也导致了区块大小的不同。4年多前,一个区块大约2M左右大小,现在已达到9M左右了。这说明,随着时间的推移,在单位时间内的交易量会大大增加。
3)奖金已经从25BTC,减小到了12.5BTC。这是因为按预设规则,从2008年开始的50BTC奖金额,每隔四年,会递减一半。
4)难度值(difficulty)也大大增加了,这是由于全网节点的计算能力大大增加的结果。
本篇通过对一个真实发生过的交易的追踪,让我们可以直观感受和查询交易的过程、区块链(也即比特币总帐)所包含的具体数据内容。
领取专属 10元无门槛券
私享最新 技术干货