美文网首页
比特币区块链到底怎么运作的“不扯别的,直接看代码”

比特币区块链到底怎么运作的“不扯别的,直接看代码”

作者: CoryLiu | 来源:发表于2018-02-07 18:47 被阅读53次

前段时间看了一些关于比特币及区块链的文章,各种图形,各种比喻,但是总感觉不过瘾。 多年来做软件工程师养成了一个习惯,喜欢"不扯别的,直接看代码"。

所以当看到《精通比特币》这本书,书中一段一段的python代码,终于让我彻底了解了比特币区块链到底是怎么一回事。

这本书只有180多页,正如书中序言所说,作者满怀激情,但请读者自备热情。

作者Andreas M. Antonopoulos 是比特币行业最为知名和受人尊敬的技术专家。

当然这本书不仅仅适用于程序员。

“论及比特币,有人问我它到底是怎样运作的?现在我有了一个极好的>答案——《精通比特币》这本书会让每位读者深刻理解比特币的工作原>理,还会帮助读者为写出下一代神奇加密货币的应用程序做好充分准>备。”

——Gavin Andresen,比特币基金会,首席科学家

要搞懂区块链怎么运作的,我们先从区块结构说起。

1区块结构

区块,本质上就是一个二进制文件,区块链,就是先创建第一个区块,然后每一个区块透过保存父区块头中哈希字符串方式,一个接一个串在一起,就像一根链条。

区块结构

2创世区块

第一个区块,也叫创世区块,是比特币之父中本村创建的。

创世区块内容

创世区块的哈希值为:000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

任何人都可以透过区块链查询网站查阅这个区块的内容

创世区块内容查询链接(https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f)

这个区块中,只保存了一笔交易,就是奖励给比特币之父中本村的50 BTC.

3区块头结构

区块头结构

区块头数据分为5个部分,
第二部分,从第五个字节开始的32个字节,保存的就是父区块的哈希值。

第三部分的32个字节,保存的是该区块中所有交易的Markle树根的哈希值。

哈希,就是一种数据抽样算法,最大限度保证数据不能被篡改,因为任何一点点的改动,哈希值都会发生变化。

Markle树根,就是将所有交易两两配对做哈希,然后在哈希的基础上再两两配对做哈希,直到最后剩下一个哈希值,就是Markle树根了。

这样,在区块头中保存Markle树根,就保证了整个区块中的任何一笔交易都不能被篡改。

4区块链

区块链结构

每个区块保存前一个区块的区块头哈希值,就是保证了前一个区块的区块头不能被修改。

每个区块的数据分为4个部分,其中第二部分,80个字节,保存的是区块头信息。

5比特币区块链生态

比特币是区块链上的第一个应用,而且是目前为止,最成功的一个应用,

比特币整个生态体系如下:

比特币区块链生态

看完这个图,不得不佩服中本聪的精妙设计,

用加密技术支撑起数据的不可篡改,实现价值的储存的转移。

用挖矿激励机制(区块奖励及交易费奖励),吸引矿工加入,支撑计算机网络的运行。

用每4年发行量减半的方式保证最大发行上限,吸引个人和商家来使用。

6代码

好像还没有看到代码对吧,好吧,代码在这里:

https://github.com/bitcoin/bitcoin.git

相关文章

网友评论

      本文标题:比特币区块链到底怎么运作的“不扯别的,直接看代码”

      本文链接:https://www.haomeiwen.com/subject/xneazxtx.html