品乐书会《图说区块链》a book "Block chain explanation with pictures" | 月旦评

《图说区块链》是一本很有趣的书,它以更生动、更形象、更具体的方式讲解了区块链。我觉得,图说,是未来书籍的一个方向和趋势。当一些要素的关系理不清楚时,还有什么比一幅图,能更清晰的说明呢?当一个概念和原理,说起来比较难理解时,还有什么比几幅漫画更生动、更容易理解呢?

qkl.jpg

这本文共有四部分构成,分别讲解了区块链的起源、原理、人物、应用和装备。我主要来总结一下起源和原理吧。

区块链起源

记账方式的演变

区块链首先是记账方式的演变,记账方式经历原始的记账法,进入单式记账、复式记账法,而这些记账方式都是把账目信息集中到一个账本体系中,其中存在着信任问题。被记账的单位会怀疑记账者的诚实。根据书中的图,我觉得区块链是一个由许多账本构成的分布式记账方法。这个图就是这么容易理解:

显然,这个链状图里有很多个账本,账本是可以无限的链入这个区块链的,而且每一个账本上都记录账目,没有一个中心,这样数据是不可能造假的。而且这些账本是有顺序的,按照区块的时间序链接形成这个链。

价值的转移

书中把中心化的价值转移方式进行了说明,当然,也是用图,而且是漫画,萌萌哒:


显然,当这个价格转移的中心机构出现问题时,价格到底怎么转移的,就说不清了。

信任问题

显然,中心化的模式下,中心控制权可以篡改信息,中心机构的信任是一个问题。书中列举了e租宝事件。为了说清信任问题,我搜了一下,e租宝以集资的名义骗取了18.03亿元(数据来源:http://www.sohu.com/a/207569907_100053715),就是中心化面临的信用问题。

区块链与比特币

区块链是比特币的交易账本。比特的交易记录以加密的方式存储成为账本,每一个运行这个软件的机器都持有这个账本。书中介绍了比特币的基本原则,我概括一下吧:

1.比特币交易系统是一个纯点对点的电子交易系统,不需要任何中介机构。

2.不需要授信的第三方支持就能防止双重支付。

3.每个交易记录都有时间戳,交易记录会被并入不断延展的、基于哈希算法的工作量证明的链条。除非重新完成全部工作量证明,形成的交易记录不可更改。

4.最长的链条被作为被观察事件的序列的证明,且被视为CPU的最大算力池。只要大多数cpu的计算能力不被合作攻击的节点所控制,那么就会形成最长的、长度超过攻击者的链条。(坦白说,这条我没懂)

5.比特币交换易系统的基础设施非常少,节点尽最大努力在全网传播信息,节点可以随时离开和重新加入网络,并将最长的工作量证明作为该节点离线期间发生的交易和证明。(后半句依然没懂)

区块链原理


又来了,中心化的支付宝交易:

去中心化的交易呢是这样的:

在这里呢,书讲解了一下分叉是何物,这我觉得还是讲的很有趣的:

两个人同时记录了,并且分别宣传编号111的能量归自己,这时候是以谁长听谁的(我理解是谁的链长就算谁的,不知道对不对)。而这件事还会发展成,一部分按其中一个人继续记账,另一部分按另一个人的记录,这样就分叉了。

区块链的原理

区块=区块头+区块主体(交易数据)

区块头:

父枢块哈希值用于连接前面的区块、索引自父区块哈希值的数据;Nonce随机数,用于工作量证明算法的计数器。(这里俺也米有懂);Merkle树根能够总结并快递归纳校验区块所有交易数据的Merkle树根数据。(这我似懂非懂)。

区块链系统大约每10分钟会创建一个区块,其中包含了这段时间里全网范围内发生的所有交易。每个区块中包含了前一个区块的ID,这使得每个区块都能找到其前一个节点,这样一直倒推就形成了完整的交易链条。

哈尔算法

哈尔算法是单向密码机制,接受一段明文以后,以不可逆的方式转换为一段长度较短、位数固定的散列数据。

公钥和私钥
公钥就是用来加密/验章,私钥是自己的,用来解密/签章。在比特币交易系统中,私钥本质是32个字节组成的数组,公钥和地址的生成依赖依钥。通过私钥生成公钥和地址,可以使用地址上面的比特币,私钥花费比特币的方式,就是对这个私钥的未花费的交易进行签名。这图还是蛮形象的:

时间戳

从区块生成时就有时间戳,它对应的是每次交易记录的认证,以证明交易记录的真实性。时间戳记在区块链中,已生成的块不可篡改,一旦篡改,生成的哈希值就会发生变化,从而形成一个无效数据。每一个时间戳会将前一个时间戳也纳入随机的哈希值中。

书里有算账:

一个比特币区块的容量是1M=1048576字节
一个区块包含交易数为1048576÷250≈4194.3笔
一个区块确认的时间是600秒
所以每一个区块每秒能处理的交易数是4194.3÷600≈笔

啥是硬分叉

对照这两个图,比特币硬叉是区块格式或交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已升级的节点可以验证未升级的节点生产出的区块,然后大家各自延续自己认为正确的连。

软是硬分叉

软分叉是比特币交易数据结构发生改变时,未升的节点、已升级的节点可以互相验证。

总的来说呢,概念准确,但是不够透彻,对于技术层的介绍明显不够。不过胜在有图来讲解,对寻了解区块链还是有些帮助的,推荐非技术人员看这本书吧。或者是入门来看,这本很适合。

H2
H3
H4
3 columns
2 columns
1 column
37 Comments