首页
学习
活动
专区
工具
TVP
发布

大狗精读区块链白皮书之比特币(四)—Timestamp Server

本文由币乎社区(http://bihu.com)内容支持计划奖励。

今天是第四篇,比特币白皮书的Timestamp Server(时间戳服务器)部分。如果说上一节讲的是交易的基本过程,那么本节讲的就是链的基本架构。和交易一样,链的生成同样是通过哈希算法。可以说,哈希算法就是区块链的核心算法,正是它造就了区块链「无法篡改」的特性。

有一点要注意的是,互联网上大部分解读对这一节理解有误,所以请务必仔细阅读本篇。

1 译文

解决方案从时间戳服务器开始。一个时间戳服务器是这样运作的:将一组数据(items)形成的区块(blocks)打上时间戳(timestamp)形成hash,然后广泛广播hash——就像新闻发布或者论坛发帖一样。显然的,生成hash的目的是,用时间戳证明在那个时间那些数据一定存在。每一个时间戳都将前一个时间戳纳入了它的hash,从而形成了一个链条(chain)。在这个过程中,每个新增的时间戳都增强了之前的所有时间戳。

2 时间戳服务器的运作机制

原文限于篇幅,将这个过程阐述得简明扼要。但读者也会因此产生困惑,在这个时候,我们需要精读,才能真正理解文中「时间戳服务器」的运作机制。

2.1 时间戳服务器运行在哪里?

这一节的主角事实上是矿工。「时间戳服务器」的含义是—矿工在他的计算机上对区块进行打包,那么他的计算机就相当于一个时间戳服务器了。

2.2 items指的是什么数据?

在有的翻译中,这个items被译为了交易,这是不对的。事实上,本文中的用词非常精确,交易的专属名词是「Tx」,所以这里的items的不是交易。那么,这里的items指的是什么呢?

在bitcoin-wiki上对此有清晰明了的解释。

https://en.bitcoin.it/wiki/Block_hashing_algorithm

items指的即是红框标起来的field部分,其中包括「交易生成的hash」和「Timestamp当前时间戳」。

【复习时刻】

时间戳:将当前时间通过某种方式转换为一串字符串。

Hash:译为「哈希」或者「散列」。指将一串任意长度的数据通过「哈希函数」(Hash Function)转换出的「固定长度的字符串」,等同于这串数据的「唯一签名」。通过原始数据可以「校验」hash,也即判断签名真实性;但不能通过hash「还原」数据,也即是「不可逆」的。

2.3 总结—「精读版本」的时间戳服务器机制

弄清楚2.1、2.2提出的两个问题后,我总结出一个「精读版本」的时间戳服务器机制,作为白皮书原文的补充。

(1)首先,在这个区块中进行了一系列交易。这一系列交易生成一个hash,这个hash被称为「hashMerkleRoot」。

(2)矿工用计算机将上一个区块头(hashPrevBlock)、这个区块内的交易(hashMerkleRoot)、时间戳以及一些其它的东西(这些其它的东西在后面会讲到)通过hash函数制造出一个新的hash,这个hash也被称为区块头(block header)。

(3)广播这个hash。

【加餐】

以下是python版本的区块头生成过程,有兴趣可以看一下。其中,header_hex即等于Version + hashPrevBlock + hashMerkleoot + timestamp + Bits + Nonce。

3 原文

The solution we propose begins with a timestamp server.A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post.The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash. Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180127G00PVV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券