作者:倪云华
【题外话】昨天有几个小伙伴表示小蛆上一篇文章解决了他们一些很久以来不能理解的地方。小蛆甚是高兴。昨天也没有接到内行大牛、技术大哥的投诉,说明昨天的理解至少没有方向性错误。于是小蛆决定继续在这条区块链上,顾涌、顾涌(这个词需要东北话达到六级)~~~
昨天我们搞清楚了什么是比特币,比特币就是一个无限延伸的数字签名,我们还搞懂了一枚数字货币是如何被交易的。那今天我们来说什么是区块链。
在说什么是区块链之前,我们先想象银行是怎么工作的。银行其实就是一个大的数据库,每个人在每个时间点账户上都有一个确定的余额。但是过了一秒之后,因为在这一秒里可能发生了无数笔交易,使得部分银行储户的余额发生了变动。那银行就要更新数据库中每一个储户的即时余额。而导致余额发生变动的,就是这一秒里发生的所有的交易信息。
比特币系统下的区块链的每一个区块,其实就是一段时间里,发生的全部交易信息。这个时段有多长呢,就是10分钟,严格的控制在10分钟一个区块。(至于是怎么控制到10分钟的,我们以后会讲到)比特币区块链其实就是一个10分钟交易记录串珠珠。每过十分钟,就会有一个包含了这十分钟里全部交易信息的区块被串联进整个链条中。
那谁来向这个主链源源不断地贡献区块呢,也就是说谁来源源不断地将10分钟交易记录串进总账呢?就是节点。在原来的银行体系之下,记账都是由银行完成的。在支付宝、微信等第三方电子支付体系下,记账是由阿里、腾讯等列位霸霸完成的。由于他们是所有交易的必经之路,所以他们完全可以同时掌握所有用户的交易记录,并一次性在全网进行更新。
但是节点呢?要知道,我们可能同时有成千上万个节点在全网分布,谁来负责哪一部分的账呢,难道就不怕各个节点的记录有重复、有遗漏吗?
这里比特币系统规定,所有的交易记录向全网共享。任何一个交易发生之后,所有想参与记账的节点都把这笔交易记录到了自己的区块上。这样,十分钟之内的全部用户交易记录就被打包封装成一个区块。10分钟过后,万千节点纷纷拿着自己的小区块向主链献殷勤,那主链向谁敞开怀抱呢?为了防止一笔交易被重复记录N次,比特币设计了一个绝妙的机制。
这里,比特币非常机智地引入了工作量证明机制。这就像古代皇室选驸马,谁赢了才艺大比拼,谁才有机会进这个门。国王把一个很难的考题交给众多候选人去解决,谁最快地解决了这个问题,谁就是这一任的驸马,你就可以带着你的小铺盖(交易记录数据包)进到我们皇室大家庭了。皇上有多少女儿呢,十分钟一个。
如果想当驸马的人多了,那皇上就出难一点的题,如果想当的人少了,皇上就出稍微简单一点的题目。反正最终达到的目的是什么呢,就是保证皇家每过10分钟就嫁出去一个公主,每10分钟就举办一次婚礼。
那主链是怎么控制每10分钟就产生一个区块呢,在节点可以自由选择进入网络或退出网络的前提下,怎么控制出题的难度呢?且听小蛆下回分解。
网友评论