白话区块链

区块链是一项很火的技术,我和很多人一样,在很长一段时间内,知道比特币,但并不太清楚背后的区块链究竟是怎么一回事。有人喜欢通过比喻来讲解区块链的概念,但对于小白来讲,本身就是虚无缥缈的新事物在加上虚无缥缈的比喻,越听越糊涂。本文不讲深入的技术原理,尝试用大白话让你读懂区块链。

2009年,有一个叫做中本聪的神秘人物发明了一个账本系统,这个账本系统与普通的银行账本从数据结构上来看并没有特别大的区别(图一),但是有一点显著的不同,就是账本的存放方式。银行账本放到银行的中心服务器上,而中本聪的账本分布在全球成千上万的电脑上,每个人的账本通过点对点网络进行同步,网络中任意用户一旦增加一笔交易,交易信息通过网络通知其他用户验证,记录到各自的账本中。这个特殊的账本加上这个分布式网络就是我们今天所谈的区块链。

图一:比特币的账本信息截图

1

分布式账本有什么意义?

资产的本质就是记账,当大家都用惯了支付宝和微信支付的前提下,这个概念很好理解。你应该很久没见过红色的百元大钞,取而代之的是你银行的余额和转账记录。但是银行这个账本存在信任缺陷,理论上存在工作人员把账户余额清零的可能,我们愿意把资产交给银行,坦白说是基于不得已的信任。分布式账本可以完美的解决这个问题,成千上万个用户拥有成千上万个账本备份,你不用信任任何一个人,但是你可以信任所有人。

1

账本如何管理?

对于小白来讲,最耐人寻味的是账本的管理机制。如果每一个用户都拥有一个独立的账本,那么是否意味着可以在自己的账本上添加任意的交易信息?成千上万个账本如何保证记账的一致性?这两个问题所对应的解决方案,恰好涉及区块链技术的核心:

  • 私钥算法:解决帐号和验证的问题;
  • 共识机制:解决记账一致性的问题;

小白把这两块的基本原理搞懂,就算入门了。

私钥算法

传统银行机构会通过中心服务器分配帐号和密码,拥有了帐号和密码你才能发起合法的交易请求。但是在区块链上,你不可能把自己的帐号和密码存放在成千上万的节点上,这样做意味着人人都可以窃取你的帐号和密码。没有帐号如何添加和授权交易呢?区块链采取了一套叫做Hash的加密算法来解决这个问题。

 

hash算法称之为不可逆算法,也就是说,你输入一个任何一个字符,例如A, 通过hash运算后可以得到一个唯一的结果:00×34, 每一次运算的结果都是如此。但是你不可能通过00×34反算出A。在区块链世界中,通过算法随机生成一个密码,也叫私钥:XXXXXXXXXX, 私钥全世界只有你自己知道,将私钥进行一系列复杂的hash运算后,可以得到一个XXXXXXXXXXX的交易地址(图二),也就是说,其实你只要输入一个符合格式的密码,就能得到得到一个合法的帐号。

图二:私钥和帐号地址的匹配关系

1

基于这样的特性,如果你要在区块链上发起一笔交易:从地址A 转X个币到地址B上。那么算法会要求你使用这个地址A所对应的私钥进行签名,签名后的交易通过p2p网络传播给临近的记账节点,记账节点通过地址验证签名和余额的合法性,成功则传播给下一个节点,否则停止传播。那么意味着你如果使用了不合法的私钥或余额不足的地址,发出来的交易是不会被全网认可的。

1

共识机制

接下来是如何记账的问题,当一条交易广播之后,成千上万的节点都开始记账,但是可能某一些节点会因为作弊,网络不同步等因素导致账本数据不一致,那全网就失去了共识。区块链网络并没有把记账权交到某几个节点手中,而是下放总账的阶段性记账权,成千上网的节点通过算力竞争获得记账权。

一个阶段的总账被称之为一个区块,每个区块都需要一个算出一个复合标准的区块hash值,谁先算出,谁就可以把自己验证的交易数据添加到这个区块中,成为总账的一部分。算这个值不是一个简单的过程,算法要求记账节点将当前的交易信息加上一个区块的hash值在结合一个随机数进行hash运算,算出的结果需要满足N个”0″开头的结果,由于hash算法的特性,这个随机数只能靠反复尝试,需要大量的算力支持,一旦算出随机数,就能向整个网络宣告获得当前区块的记账权,获得这个区块中所有交易的手续费和区块奖励,这个形成共识的过程就是大家熟悉的挖矿。

图三,比特币区块信息截图

1

因为当前的区块值要包含上一个区块的头部值和交易纪录,这个特性让区块和区块环环相扣,随着区块的叠加,每一个区块都有一个高度值,高度值越大,意味这交易的历史最新,整个网络以最长的交易历史作为整个账本共识。这个账本共识很难造假,如果你想篡改其中一个区块的交易数据,意味着你要在其他节点算出下一个区块值的时间内,全盘伪造出新的区块,如果没有超过全网51%的算力,可能性几乎为零。

1

总结

以上仅仅是一些简单的区块链运作原理,当然区块链的应用场景远远不仅仅是一分布式的账单,而是建立在账单基础上的延伸,通过这个可信的网络,我们可以实现价值的传输和互联,也许在不远的未来,可能生活中越来越多的资产都会转移到不同的区块链上,对于很多小白来说,理解基本原理是为了更好的读懂未来。

1