文|徐明星田越吉
本文摘自《图说区块链:神一样的金融科技与未来社会》,由中信出版集团发布。
10月24日下午,中共中央政治局就区块链科技发展现状和趋势进行了第十八次集体学习。中共中央总书记习近平强调,区块链技术集成应用在新技术创新和产业转型中具有重要作用。要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入,重点攻克一批关键核心技术,加快区块链科技和产业创新发展。
有人认为区块链、人工智能、大数据是金融科技的三大支柱,10年后的区块链可能就是“互联网”。
下面用简洁的语言和图片解释什么是区块链技术。
近年来,包括摩根大通、花旗集团、高盛和纳斯达克在内的金融巨头都表达了对区块链技术的热情。这些巨头热衷的区块链技术也被称为分布式账本。那么什么是分布式账本呢?先说另一件事。
1区块链和骑行者
华尔街上的自行车手
在纳斯达克成立之前,人们用自行车驮着装满债券的袋子,骑着自行车在华尔街转悠,以求尽快完成清算。后来生意越来越多,自行车也忙不过来。上世纪60年代,华尔街一周只交易4天,每天4小时,为的是让清算速度跟得上交易量。
人们觉得这样发展下去不行,自行车肯定跑不过电脑。1971年,有人开会说,我们做点什么吧,于是提出了DTC(美国存托公司)清算系统。这个系统的方法是所有的交易都要在系统中进行,包括经纪人,也要接入系统。现在纳斯达克还在用。
集中式故障诊断码清除系统
这个系统提高了交易的效率,但并没有改变交易的中心化结构。当交易足够多,经纪人足够多的时候,系统也有瘫痪甚至崩溃的危险。
所以专家认为,自治的分布式系统会更好吗?答案是肯定的。区块链是一个分布式分类账。每个节点都可以显示账本然后维护,除非控制51%以上的节点,否则不能篡改账本,但这是不可能的。
简单来说,如果你家里有账本,就让你保管。以前是爸爸妈妈给你工资,让你记在账本上。中间如果你贪心,想买好吃的,也许账本里会少十几条记录,然后你想买手机,账本里会少几千条记录。这只是一个例子。我相信小时候大家都想从父母口袋里拿点钱花。
2集中式家庭分类账
有了分布式账本,上述问题就不存在了,因为你是记账的,你爸是记账的,你妈是记账的。他们都能看到账本,你改不了,你爸妈也改不了,让你帮不了想买烟或者贪吃的爸爸。
分布式家庭分类账
区块链本质上是一个去中心化的分布式账本,它本身是由密码学产生的一系列相互关联的数据块,每个数据块包含了许多比特币在线交易有效确认的信息。
3集权与分权
前面我们提到过,区块链的本质是一个去中心化的分布式账本。那么,什么是所谓的集权呢?我们先来思考这样一个问题。想在网上买书,交易流程是怎样的?
第一步:你下单后,把钱交给支付宝。
第二步:支付宝收到货款后,通知卖家可以发货了。
第三步:卖家收到通知后会给你发货。
第四步:收到货后你很满意,就确认收货。
第五步:支付宝收到你的通知,给卖家钱。
集中交易过程
我们可以看到,在这个过程中,虽然你是在和卖家交易,但是整个交易都是围绕着支付宝进行的。所以,如果支付宝系统出了问题,比如从天而降的陨石砸了所有支付宝服务器,或者因为全球经济危机,支付宝别无选择,只能冷漠地说没有这笔交易,那么交易就会以失败告终,然后买卖双方就会纠缠不清,双方都无法证明自己。
中心节点的破坏将导致事务失败。
4模拟一个小区块链市
为了解释去中心化的区块链是如何工作的,我们首先把整个去中心化的分布式结构简化成一种极端的情况来探讨。我们假设有一个去中心化的小城市,那里有五个可爱活泼的朋友。当他们互相借钱时,他们会这样做:
假设B向A借了一块钱,这个时候城市里的人会怎么做?A在人群中大喊:“我是A,我借了B1元!”\” B也在人群中大喊:\”我是B,A借给我一块钱!\” \”
这时,城里的其他人,C,D,E,都听到了这个消息。他们拿出自己的小账本,默默记下:“某日借出B1元。”
分权城市会计
当我们简化一个去中心化的模型,会发现在这个只有五个人的城市里,已经建立了一个去中心化的系统。这个系统不需要银行,也不需要支付宝。这种模式不需要信任关系,也不需要有公信力的组织。分布式结构大家都记账的时候,篡改账本是不可行的。比如B突然不认账:“我不欠A一块钱!”这时,C或D或E的人就会站出来说:“不对,我的账本上明明记录着你在某年某月某日向A借了一块钱,没有你还款的记录。”
分散的书是不能篡改的。
说了这么多,你发现问题了吗?在这种模式下,所谓的一块钱根本不重要,也没人在乎。“一块钱”成了一个变量,可以用任何概念来代替,只要大家都承认是有价值的东西。
比如A在这个城市大喊:“我创造了一个巴拉拉能量!”城里的其他人都听到了,于是大家都在笔记本上写下了“有人有巴拉拉能量”。你甚至不需要知道巴拉拉能量是什么。a其实有巴拉拉能量。
A还能做什么?a又可以喊:“我给了B一个巴拉拉能量。”只要城市中的B、C、D、E,也就是城市中的所有人都承认交易,那么交易就真的成立了,虽然现实生活中没有巴拉拉能量。
巴拉拉能量的循环
5小城市的几个问题
当然,区块链的世界不会这么简单,它有其他的规则来相互制约。先解决以下几个问题:
问题1:我为什么要帮你记账?
为什么你冲着天喊,别人会帮你记账,别人的时间都是免费的?别人的笔记本不要钱吗?于是,为了帮助大家给我记账,我加了一个新规则,我决定奖励第一个听到我呼叫并记录在笔记本上的人。奖励机制也很简单。第一个听到我的呼叫并记录下来的人可以获得Balala能量奖励。
这种巴拉拉能量不是白给的,是对你劳动的回报,就像你可以通过工作挣钱一样。如果你帮我记账,整个系统都会付钱给你。你要做的如下:
首先,你要在所有人之前听到我的呼唤,并记在笔记本上;
录完之后,你要马上告诉全城的人,我录完一句——,你再录也没用,别人会放弃这个赚钱的生意;
同时你还要做一件事,就是在你的记录上加一个唯一的数字,然后把记录和数字一起喊出来,这样下一个人再记录的时候,他就会带着这个记录和唯一的数字继续。
记账获得奖励
这个新规则实施后,肯定有一些人,为了获得巴拉拉能量,开始屏住呼吸监听周围的各种声音,只为在第一时间写下一个新纪录。
这时,对区块链有所了解的读者想到了这样一个术语——“比特币挖矿”。没错,这就是比特币挖矿的简单解释。
关于比特币挖矿的话题,知乎用户“玲珑邪僧”的一篇文章举了一个比较形象的例子,大概是这样的:单身男找女朋友,“国民婆婆”说我有很多漂亮可爱的女儿。这样吧,我给你一个突出的问题,给你的一个姑娘算出一个微信号。
“国民婆婆”问题
于是,单身男性疯狂竞争,想打破头来解决这个难题。只要其中一个单身男人解决了一个问题,他就会立刻骄傲地向全世界宣布,所有的单身男人都在示威。这个女生的微信号是我的,先到先得,你放弃。虽然其他单身男已经是半路出家了,但是没办法,速度不够快,要马上解决下一个问题。
因解决难题而获得奖励
与此同时,第一个成功解决史诗难题的幸运单身男子不仅不用支付12万元彩礼,被她的才华征服的“国民婆婆”还送给单身男子巨额财产作为嫁妆,即比特币挖矿中的比特币奖励。
问题二:分叉问题谁听?
这一段我们引用了知乎用户“王乐——LaiW3n”的说法。在这个广大的小城市,肯定还存在这样的问题。b和C几乎是同时录制的,于是同时对着天空大喊:“这个编号为89757的巴拉拉能量属于我。”但由于城市过于辽阔,有些人会认为编号为89757的巴拉拉能量属于B,有些人会认为编号为89757的巴拉拉能量属于C,但编号为89757的巴拉拉能量只有一个,而且只有一个人能得到。我该怎么办?每人一半?当然是不可能的。这个时候我们会采用更原始简单的规则来解决问题,谁听谁的。
没有任何限制,这件事就会发展成这样:有人认为这句话是b说的,听到这句话后,开始记账。之后他们所做的一切都是基于B有编号为89757的Balala。
能量的事实,而且随着这个信息一次次传递下去,这个信息链会越来越长;而另一批认为C先说这句话的人,也会跟着这个趋势走。
谁听分叉问题?
这是一件严肃的事情。本来就是一个唯一的总信息链,有严格的编号顺序。在B和C高喊“这个编号为89757的巴拉拉能量属于我”之后,硬生生的分叉了!嗯,这种情况持续下去,每个人的账本都会不一样,无法确定哪个是真的!
为了解决这个问题,小城市增加了新的区块链规则。记录时,必须写在网格的顶部,中心必须距离田字格上边缘0.89757毫米。所以大家在写作的时候,很难在动笔之前先取一个音阶。每个人记录需要5分钟,所以写这句话的时间就变得不一样了。所以,只要有人喊“我完了!那句话是XXX写的,其他正在写这句话的人会停下来,然后开始在小本子上写“那句话是XXX写的,上一句话的编号是XXX”。
每次记账的规则都很复杂。
问题三:双花的问题
双花问题是指一笔数字现金在交易中被重复使用的现象。
如果我同时对B和C喊,我给你一个Balala能量呢?只有一个巴拉拉能量。如何保证一个巴拉拉能源在实际交易中只支付一次?
我们以比特币为例。中本聪在《比特币白皮书》的第五节中这样说。运行比特币网络的步骤如下:
1.新的交易被广播到整个网络;
2.每个节点将接收到的交易信息合并到一个块中;
3.每个节点试图在自己的块中找到一个足够困难的工作量证明;
4.当一个节点发现一个工作负载证书时,它向整个网络广播它;
5.当且仅当该块中包含的所有事务都是有效的并且以前没有存在过,其他节点才会同意该块的有效性;
6.其他节点表示接受该块,接受方式是跟随该块的末尾,做一个新的块来延长链,将该块的随机哈希值作为新块的随机哈希值。
换句话说,从交易发生的那一刻起,比特币的交易数据就打上了时间戳;交易数据打包成块时,视为确认;连续6次确认后,交易不可逆;在比特币中,每一次确认都需要“解决一个复杂的问题”,这意味着每一次确认都需要一定的时间。
6次确认后不可逆
在这种情况下,当我尝试对一笔资金进行两次支付交易时,由于确认时间较长,后一笔交易几乎不可能与前一笔交易同时确认,并且在第一笔交易确认有效后的第二笔交易中也无法确认资金。区块链全网记账需要全网达成共识,不能产生双花问题。
不能产生双花问题。