用石币村的故事来讲区块链

区块链,一句话定义就是“加密的分布式记账技术”。“加密”用来保障信息数据安全;“分布式记账”则是和“中心化记账”相对应,即将原来由一个“中心”记录和存储的数据,转变为由多个分散的个体一同记录和存储相同的数据---“去中心化”。那么问题来了,为什么需要“去中心化”?

要回答这个问题,我们得先来说说“中心化记账”有什么不好的地方:

  1. 如果“中心”出现问题,例如黑客攻击或者系统错误,导致记账数据被纂改或损坏,就可能使得整个系统出现危机甚至崩溃。
  2. 因为账本是唯一的,所以严重依赖“中心”的信用,如果这个“中心”的信用出现问题,那么这个中心所服务的客户的权益也会受到侵害。所以需要引入第三方来对中心进行监管,但俗话说“上有政策,下有对策。”第三方监管机构和“中心”会一直上演猫捉老鼠的游戏。

而“去中心化的记账”则消除了“中心化记账”存在的安全隐患。因为数据在多个系统内都有完整的存储,如果其中单个系统出现问题,其他的系统仍然可以提供完整的数据。如果有中心数据遭黑客攻击或是中心信用出现异常,而导致数据被纂改,这个被“污染”的数据也无法进入记账网络,因为在这个网络里的其他系统不会承认这些被“污染”的数据有效。

既然“去中心化”的记账方式如此之好,为什么像银行、证券等需要记账的系统都还是以中心化的记账方式为主呢?银行还要在多地建立灾备数据库以防中心数据库出现问题呢?政府还要设立银监会、证监会等第三方机构来进行监管,人力、资金都是大笔的投入,多费钱啊!

稍微有些管理经验的人都知道多人协作是很难的,你用自己的脑控制自己的手很简单,但你要用你的脑去影响别人的脑从而控制别人的手,这中间的信息接收和传递会有很大的损耗。在多方协作中,你的协作规则,激励策略,监督机制都直接影响到协作的效果。那么同样的,我们也得问问区块链技术到底有什么好办法来消除去中心化后多方协作中的问题。

咱们来举个例子说说,假设有一个石币村,全村人都用精心打磨的石币来代表自家的财富,越富有的人家积攒的石币就越多且越大。因为石币不易携带,所以村里人在交易的时候都采用记账的方式,无需把石币从我家搬到你家,只要交易双方记录好谁拥有多少石币的所有权即可。这个村里没有中心记账机构,采用的是人人记账的方式,每当有一笔交易发生,买方就向全村人广播交易的内容,然后大家一起来给这笔交易记账。

有一天村民小明想花价值10元的石币向小红买苹果,那么全村人要怎么来记这个帐呢?首先来说说记账格式,中心式的记账方式大家都很熟悉了,如果小明要给小红10元,中心式的记账就是在小明的账户上减掉10元,在小红的账户上增加10元。但当全村人来记账时,记账格式就产生变化了,每个人不会去分别维护小明和小红的账户,而是在自己的记账本上写一条记录:“X月X日X时,小明给小红10元。”过了两天,小红想要花2元去买小王的铅笔,村里的记账人又拿出自己的小本子,在本子上写上一笔:“X月X日X时,小红从小明给她的10元中拿出2元给小王。”这种记账方式就像玩接龙游戏一样,每一条新的记录都能找到输入资金的来源,就这样逐级追溯,可以将全村人所有的交易过程连接起来。

用石币村的故事来讲区块链_第1张图片
去中心化记账 VS 中心化记账

全村人一起记账最大的好处就是节省了交易双方的信任成本,只要交易产生并被告知所有的记账人,则交易的任何一方都无法赖账。还有一个好处是解决了“双花”的问题。所谓“双花”就是小明总共只有10元石币,他却前后分别告诉小红和小王两人都拥有这10元石币的所有权。当小红和小王在记账的时候,他们会先去检查小明的资金来源,发现小明总共只有10元石币的所有权,交易两次是不够的,所以第二笔给小王的交易就无效了。

但要让每一个村民都能自觉自愿地采用同样的方式记账,还有三个关键问题需要解决:

  1. 如果同一时间有多个人同时记账,以谁记得内容为准?
  2. 如果有一个记账人或是多个记账人相互串通,修改交易信息为自己牟利怎么办?
  3. 如果没有人愿意记账怎么办?

下面我们来一一分析 。

第一个问题

假如在同一时间同时发生了两笔交易,小明从小红那里购买了苹果,而小王从小刚那里买了橘子。那么小明和小红在各自账本里写下的记录就与小王和小刚各自写下的记录不同了,两笔交易都真实有效,可大家在同一时间记录的交易顺序却不一样,这可怎么办?必须要让所有记账人达成一个共识,在一个时间点只承认一个记账人记录的内容。如何筛选记账人呢?村里人一商量想出了一个办法:记账前,咱们得先来比试一番,就做道数学题吧。谁先给出正确答案,谁就可以先记账,其他人检查下他的答案是不是正确,如果正确,那就按他记账的方式记。但这数学题得有些讲究,不能让人找到取巧的方式快速解题,答案还得容易验证。村里人最后找到了一种“哈希计算”正好满足这两点要求。“哈希计算”的过程就好比玩数独游戏,要做数独填空,你只能拿数字1-9去一个个地试算,没啥取巧的办法,而且数独做完后,验证起来又很简单,只要看看每行每列上有没有重复的数字就行了。做数学题会耗费时间,而交易却是实时在发生的,所以村民们又加了一条规定,假设解一道数学题需要十分钟,那么谁先解出题,谁就可以记录这十分钟里发生的所有交易。这样一来以谁的记账为准的问题就解决了。

可还有人会较真地问,那么如果有两个人同时解出了一道数学题怎么办?借用上面买苹果和橘子的例子,假如小明和小王同时算出了答案,小红检查了小明的答案,小刚也接受了小王的答案,这样一来记账双方阵营人数对比正好是2:2,谁也不服谁。那也好办,咱就先默认小明和小刚两个人的记录都有效,然后继续做题呗!如果下一题被小红解出来了,那小王和小刚就要放弃之前的记录,去抄写小红的记账内容。还有人不死心,问如果连做了两道题都有多人同时做出怎么办?这样的几率实在是太小了,但若发生了,那咱就继续做呗,同时考虑下把数学题出难一点儿。

第二个问题

假如小明去小红的饭店吃了一顿大餐,费用500石币,记账员小王听到这笔交易时贪念兴起,凭借快速的解题能力,他抢到了这轮的记账权,打算在记账的时候改上一笔,写成“小明给小王500”,他的计谋能得逞吗?不好意思,记账的信息可不是用大白话写的,可都是经过加密后的文字。这加密的过程说起来也很简单,就跟每户人家楼下的信箱似的。当你给朋友写信时,邮递员会把信送到你朋友家的信箱里,信箱都是用锁锁上的,而只有你朋友才有打开信箱的钥匙。同样的,石币村里,村民间转让的是对石币的所有权。相当于小明先从自己的信箱里拿出写着500石币所有权的纸条,然后把纸条投到小红的信箱里,大家都看得到小明投递的过程,但却只有小红能用钥匙开锁。而当小红想要使用这笔所有权时,她也必须先用钥匙开锁,也就向村民证明了她真的拥有500石币所有权。所以小王要想动小明的这笔钱,他必须得有小明“信箱”的钥匙,好向其他记账员证明他能动用这笔钱。

那么如果是小明反悔了呢?反正大餐已经吃完了,不给钱也不会让小明把吃下去的再吐出来。小明后脚刚踏出饭店门,就和小王商量好,等小王解题抢到记账权,让小王拿着小明的“信箱钥匙”重新记一笔交易,把之前记录在账上的给小红的500石币改成给小王。有了小明的“信箱钥匙”也就没人会质疑小王的合法性了。计划听起来很好,可咱们的账本还是有应对措施的!每解一道数学题需要十分钟,这十分钟里发生的交易会被统一赋予一个唯一对应的编号,而且这个编号是和交易内容强关联的。也就是说只要交易内容有些许变化,这个编号就会不同。每一个记账人在记录当前十分钟的交易内容时都要同时在一旁写下上一个十分钟内交易对应的编号。只要有人修改了历史记录,那么这个编号就会发生变化,别人一眼就能看出端倪。所以即使小王抢到记账权,其他记账人也不会认同他记录的内容。

那其他人不认同会怎么做?记账员都分散在村子的各个角落,即便发现小王记账的内容同自己知道的不一样,也不可能聚集起来开会讨论吧!这就要说到记账的最后一条规则了,就是所有记账人都要选择“接龙”在账本上累积计算次数最多的条目后面。说回刚才的例子,即使小王抢到记账权,并在账本上记下了他篡改的交易(累计做1次数学题),而其他记账人因为不认同小王的记录会暂时不修改自己的账本,选择继续去做下一道数学题。过了十分钟,下一道题被小刚解出来了(累计做2次数学题),此时其他的记账人会自动选择抄写小刚记账的内容,而放弃小王记录的内容。

一计不成,小王又有新点子了,既然一个人不行,那么串通几个人怎么样?这样一来,不仅有人认可我的记录,而且大家联合起来争夺到记账权的概率也会提高,这事儿不就成了嘛!的确,假若总共有10个人记账,小王只要说服5个人,就可以占据记账的优势,还真就能够纂改交易记录了。但若我们把参与记账人数扩展到100人,1000人呢?同时说服超过50个人协同作案,这事儿可就不太好办了。

第三个问题

这就引出了第三个问题,记账可是很费体力和脑力的,做为记账员需要眼观六路耳听八方,不能漏掉一笔交易,还要一直耗费脑细胞做计算题,这种苦力活怎么才能吸引更多的人来记账呢?好办,给奖励!奖励每个抢到记账权并成功记账的记账员一定数量的石币,再进一步,从这次记账中每一笔交易里挪出小部分金额作为给记账员的交易费。

结论

解决了以上关键问题,石币村的村民们就能开开心心管理账本了!至此我们的故事也就讲完了。需要说明的是,在以上例子中我们展现的是采用工作量证明(POW)作为共识机制的区块链技术,也就是比特币“挖矿”采用的方式。比特币自2009年初问世以来,已经经过了八年的发展,正在被越来越多的人接受,当然也不可否认这样一种去中心化的协作机制中也存在着不少问题。比如对计算机算力资源的巨大浪费,交易确认时间长,旷工收取交易费越来越高,矿池的高度集中等等。在比特币这场大规模的社会实验中,效率和安全成为了网络时代的两难选择,如何平衡两者的关系,也就成为了区块链技术不断迭代发展的动力。区块链技术目前仍处在初期的发展中,刚刚走出采集社会进入农业社会,离形成成熟的应用系统还有蛮长的一段路要走,我们拭目以待。

文章参考来源

1. 米尔顿-弗里德曼《货币的祸害》第一章中石币岛的故事
2. 《精通比特币》
3. 刘润《五分钟商学院实战篇》第14周周末加餐内容

你可能感兴趣的:(用石币村的故事来讲区块链)