假如你们家里有个账本,让你来记账。在以前,就是爸爸妈妈把工资交给你,让你记到账本上——想想还是有点小激动的。中间万一你贪吃,想买点好吃的,可能账本上的记录会少十几块,然后你想买个手机,账本上就少记录几千块。这只是举一个例子,我相信小时候大家都想从爸爸妈妈的口袋里拿点钱来花。
但有了分布式账本后,这些问题就不会有了,因为你在记账,你爸爸也在记账,你妈妈也在记账,他们都能看到总账,你不能改,爸爸妈妈也不能改,这样想买烟抽的爸爸和想贪吃的你都没办法啦。
区块链本质上是一个去中心化的分布式账本,其本身是一系列使用密码学而产生的互相关联的数据块,每一个数据块中包含了多条经比特币的网络交易有效确认的信息。
中心化与去中心化
前面我们说到了区块链的本质是一个去中心化的分布式账本,那么,所谓的中心化又是什么呢?我们首先思考这样一个问题,你要在淘宝买一本书,交易流程是什么?
第一步:你下单之后把钱打给了支付宝。
第二步:支付宝收款后通知卖家可以发货了。
第三步:卖家收到通知后给你发货。
第四步:你收到货之后很满意,于是确认收货。
第五步:支付宝收到了你的通知并打钱给卖家。
我们可以看出,在这个过程中,虽然你是在和卖家交易,但是整个交易都是围绕支付宝展开。因此,如果支付宝系统出了问题,比如天上降下来一块陨石,把支付宝的服务器全砸了,或者由于全球经济危机支付宝倒闭了,无奈的支付宝只好淡然地表示不存在这笔交易,那么这笔交易就会以失败告终,到时候买家卖家就会纠缠不清,双方无法自证。
模拟一个区块链小城市
为了说明去中心化的区块链是如何运行的,我们先把整个去中心化的分布式结构简化为一个极端的情况来探究。我们假设有一个去中心化的小城市,在这个城市里有5个可爱活泼的小伙伴,他们互相借钱的时候,是这么干的:假设B向A借了1块钱,这个时候,城市里的人怎么办呢?A在人群中大喊:“我是A,我借给了B 一块钱!”B也在人群中大喊:“我是B,A借给了我1块钱!”此时城市里的其他人C、D、E都听到了这些消息,他们拿出了手中的小账本并默默记下:“某年某月某日,A借给了B1块钱。”
当我们把一个去中心化的模型极度简化之后,我们就会发现,在这个只有5个人的城市中,已经建立了一个去中心化的系统,这个系统不需要银行,也不需要支付宝。这个模型不需要信任关系,也不需要一个拥有公信力的组织。当分布式结构中的每个人都记账的时候,篡改账本是不可行的。比如B突然不认账了:“我不欠A的1块钱!”这个时候,人民群众C或D或E就会站出来说:“不对,我的账本上明明记录了你在某年某月某日向了A借了1块钱,并且没有查到你还款的记录。”
说到这里,你有没有发现一个问题,在这个模型中,所谓的1块钱根本不重要,也没有人在意,“1块钱”已经变成了一个变量,它可以被替换成任何概念,只要大家承认这是一个有价值的东西即可。