互联网高速发展的时代,网上购物是人们必备技能之一。如上图所示:买家支付
给第三方平台(例如支付宝,paypal等),卖家收到买家已经付款的通知,将货
物发出,待买家确定已收货后,第三方平台再将货款转给卖家,即完成一笔交
易。
但大家是否考虑过这样的情况:万一哪一天这个第三方平台卷钱跑路了呢?或者
这个第三方平台信息发生错误了呢?例如明明买家付了300元货款,卖家那却显示
其只支付了200元货款。由此可见,日益高度中心化的交易方式使得当中心化机构
一旦出现问题,就会带来巨大的损失。
中心化机构通常具有一定的规模,信誉,亦或者是由国家背书(比如银行),我
们相信他们,从而均经过他们来进行交易。但他们真的不会出错吗?每年都会出
现某人卡上飞来一笔横财,或者某人卡上忽然少了一大笔钱的新闻。银行系统每
年也要花巨大成本来进行交易信息的纠错。这样的中心化运作模式不仅费时费
力,而且用户还要承担钱货两空的风险。
我们设想一下,现在有一个巨大的广播,小编的青蛙“张狗”在广播口说:麻
麻!我带着明信片回来了!!(???)?。这个消息一传十,十传百,于是全世界
的人都知道:“张狗”带明信片回来了!!有了这个非常厉害的广播后,每次小
编的青蛙有新的动态,就能直接向所有人传达。
例如:它今天在咖啡店赊了500元。这时候所有人都知道,小张她蛙儿子在外边欠
账了500元。同时,咖啡店也要确认下,对的,它不是欠我300元,也不是600元,
是500元。大家知道:诶,的确有这样的事情发生,“张狗”广播的没问题。
但是,这个广播每天都会发无数的信息,大家根本记不住,所以要拿个小本子记
录下来。我们以人之初性本善来假设,大部分人都是很诚实的听到什么记录什
么。我们可以知道,当大家消息不互通情况下,诚实记录是最好的选择。那些与
大部分人不同的小本子(一些坏人编造的假信息),就会被驱逐出这个系统!那
么最后留在这个系统里面的,就都是诚实的小本子了。而且,即使一个人的小本
子倒下了,系统中还有千千万万个小本子坚挺着,诚实地记录着过往发生的一
切。
上述说的这些情景,和接下来要介绍的区块链,有异曲同工之妙。
区块链本质上就是分布式的账本。区块链是分布式数据存储、点对点传输、共
识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统
中实现不同节点之间建立信任、获取权益的数学算法。
我们现在基本上的交易模式,都是中心化的账本模式,基本上由银行掌握着。而
我们上述情景中,每个人都拥有一个账本,这就相当于区块链的分布式的公共账
本。在这个分布式网络上,每个节点都有账本的完整备份。如果有坏人想篡改账
本上的记录,他必须改动每个节点储存的账本备份,这就令篡改行为难以实现。
上述情景中,当每个人手里都拥有小本子以后,每个人都可以互相发生交易并自
行记账(不需要银行等中心化机构参与)。区块链弱化了中央服务器的概念。同
时,区块链也是一个动态的网络,不断有新节点加入和原区块链网络中节点的退
出。新节点的不断加入为系统引入新的资源。相当于,参与这个系统人越多,这
个系统更具分散性,权威性,更实用和普及。
在接触区块链的时候,一定会接触到一个词“挖矿”。你脑中第一个浮现的场景
一定是这样的:
在区块链中经常提到的挖矿其实指的就是记账权。接着上面的场景,有人会说,
凭什么广播说什么大家就一定会在小本本里面记下来呢?纸和笔墨不要钱?所
以,为了激励大家帮我记账和告诉其他人,我就给第一个记下信息的人一些奖
励。第一个人记录下这笔交易的获取奖励后,就要告诉其他人,我已经记录好
了,你们就别记了。同时,他要传话给其他人,为了表明他是第一个记录的(或
者说先于其他人记录的),他就会在我说的话前面加上自己的编号,再传话给下
一个人。
小编知道,这个时候有人要问了:那万一,小陈和小张分别在北京和上海,几乎
同时喊了一句:我记好了!那天津的朋友们会认为小陈是第一个记下的人,而杭
州的朋友们肯定觉得小张才是第一。然后南方北方的朋友因为距离的关系,开始
分别在小张和小陈后面跟着继续记录了。这样本来应该只有一条的链开始分叉
了。
这样子,我们就不能保证每个人的小本子上信息都一样,那么去中心化的设想就
破灭了。如何解决这个问题呢?我们就设定,每个人都要用左手写字,且要写字
的时间至少要半个小时。这样由于每个人熟练度不一样,有些人一直是左撇子,
自然就更快记账。那么自然每个人之间会有一定的时间差。第一个写完的人高
喊:我记完了。其他的人就会停笔,转而去记录某某他记完账了。这里的熟练程
度,就是在区块链中的算力。
小刘某天中了彩票,五百万。她要和相关机构联系,所以要发送个人信息。小刘
很害怕(那个时候她还没看过我们这个公众号),她心里想:怎么办,这样子我
喊一句,所有人都会知道我手上有五百万,可我就只想让对方知道好给我打钱。
其实,在区块链中,信息的传递是按照公钥加私钥的方式进行的。公钥相当于邮
箱地址,所有的人都能看到,并且与你通信。私钥相当于邮箱密码,只有拥有私
钥的人才能查看邮箱中的信息。
小刘用博彩机构的公钥对个人信息进行加密。网络中除了博彩机构以外的其他用
户接收到这个信息看到的只是一段密文。只有博彩机构可以使用自己的私钥对密
文进行解密。
有读者觉得小张她写这篇推送有点不错,想给她打赏,看到了小张的公钥,但是
他们会担心,这个公钥到底是不是小张的。区块链有个神器——数字签名,有了
数字签名就可以用于验证信息发送者的身份。
小张会使用私钥对文件签名并发送给读者A,读者A使用小张公开的公钥对文件进
行签名验证,如果验证成功,则该文件一定是使用小张的私钥加密的。由于私钥
只是小张一个人所有,所以读者A能确定文件的发送者就是小张本人。