所有人都在说区块链,好像这就是一个很自然的东西。其实,所谓的区块链,更确切的说应该是“区块+链”。
每一个区块中都包含了一段时间内全网交易的信息,那么一连串的区块就可以涵盖所有时间段内全网发生的全部交易了。这一连串的区块使用密码学方法相互关联,由此形成了一条类似于区块组成的链条,这便是“区块+链”的机制。
细心的读者不难发现,这个机制本质上是建立了一个庞大的数据库。那么,这个数据库和传统的数据库有什么区别呢?
最重要的区别有两点:去中心化和高安全性。下面我们来一个一个说。
首先,对于传统数据库来说,都需要一个数据中心。比如每一家银行都需要建立自己的数据库来记录客户的账本,支付宝和微信背后也有一个巨大的团队来维护着各自的数据库,那么,这些机构所维护的各自数据库其实就是中心化的数据库,这些机构是怎么都不会交出他们手上的数据库的,数据就是生命啊,同时,他们也要为这些数据的安全性负责。
举个例子,如果你通过支付宝转账给木子大叔200元,那么支付宝的数据库中,你的账户应该相应的减少200元,木子大叔的账户中应该增加200元。如果支付宝的数据库出错了,你的账户减少了400元,木子大叔的账户只增加了100元,那么我们就应该手拉手一起去找支付宝兴师问罪了。
但是,如果是在区块链中,就全然不同了,区块链是没有这样一个数据中心的。一个区块链系统是由许多节点构成,这些节点一般就是一台计算机,每一个节点都拥有记账的资格,那么究竟相信哪一个节点的记账呢?区块链的系统会利用一个竞争机制,选出这些节点中记账最快最好的一个节点,让它在这段时间里记账。它会把这段时间内所有的交易都记录在一个区块当中,记录完成后,该节点就会把这个区块发给其他节点,其他节点会通过一套方法核实这个区块的记录是否有误,如果没有问题,就会放入自己的区块链中。
于是,整个系统的每个节点都会有着完全一样的区块链,也就是数据库。
我们把这种记账的方式称为区块链技术或者分布式总账技术。
细心的读者这时候必须又要出来问问题了。既然是一个去中心化的数据库,没有中心机构,那么,如果记录出现错误怎么办呢,我们找谁说理去?
木子大叔在这里要很负责任的告诉你,没人说理去。如果真的出现这种情况,就只能自认倒霉啦。
既然如此,那么区块链是不是太不安全了,我们应该抛弃它。其实恰恰相反,区块链的安全性非常好。一方面,随着时间的推移,一个区块链中的新区块会越来越多,越是久远的区块(数据)越是安全;另外,随着一个区块链中的节点越来越多,整个区块链系统也会越来越安全。
为什么呢?
首先,每个节点的权利都是一样的,任意一个节点宕机或者数据丢失都不会影响整个系统,系统每次都会在链入这个系统的节点中选择记账者。
其次,每个节点的账本数据都是一模一样的,就是说修改任何节点的数据毫无意义。如果系统发现两个账本对不上,它就会认为拥有相同账本数量最多节点的版本才是真实的账本数据,于是拥有相同账本少的节点的版本会被自动舍弃。这里,木子大叔要插一句,这是赤裸裸的多数人的暴政啊。但是,它带来的最大的好处就是,当整个系统中的节点数量高达成千上万个时候,篡改数据就会变得越来越不可能。
那么,问题来了。
如果你恰好是一个拥有远大理想人,想要攻击一个原来拥有10000个节点的区块链系统,那么你就需要先买10001台电脑,给这个系统增加10001个节点,这样你就拥有了超过50%的节点,拥有了控制权。
那么现在比特币那么火,木子大叔为啥不用这个方法去攻击比特币的系统,这样就可以让自己发家致富呢?因为,要在比特币系统取得控制权,部署节点的成本高达270亿美元。
这说明了什么呢?
说明了穷人不适合异想天开,安心地搬砖吧。
那么穷人难道就永远没有翻身的机会吗?且听木子大叔下回给你讲讲比特币的故事吧。