四、区块链篇
(一)第五次计算范式创新
1970年是比特币的计时元年,比特币区块链的时间戳从1970年1月1日起开始计算秒数。
1970年,纽约清算所建立银行同业支付系统(CHIPS),以电子化的手段代替原来的纸质支付清算。当时采用的是联机作业方式,通过清算所的交换中心同9家银行的42台终端相连。
当然1970这个数字巧合并不是中本聪有意为之,区块链以1970作绝对时间的计算起点,是因为UNIX(尤尼斯)操作系统以1970年1月1日作为纪元时间,很多编程语言起源于UNIX系统,同时也在比特币代码中留下了历史的痕迹。20世纪70年代,采用UNIX操作系统的大型机大行于世,所以银行清算中心也因大型机的面世而步入电子化时代。这与其说是巧合,不如说是偶然中的必然。
分析现代社会进化过程的一种方法是观察计算范式,我们看到每隔10年就会有一次新的范式出现。20世纪70年代是大型机,20世纪80年代是个人电脑,互联网与移动互联网则是最近的两次范式创新,那么接下来10年呢?基于区块链加密协议的价值互联网很可能就是一种新的范式(图1-3)。
图1-3 五次计算范式创新
与声名大振的比特币相比,区块链技术一直默默无闻,但关于比特币的误解却一直影响着公众对区块链的认知,如与“丝绸之路”这样的网络黑市的种种关联,不免让人谈虎色变。事实上,各国政府部门、金融机构都在探索区块链技术的未来应用场景。它的以下四个特征,可能会给政府与金融服务带来跨越性创新。
1. 通过加密技术对账
目前,政府和商业机构会把交易的详细信息发送给对方,一旦收到信息,每个机构都会在自己的账本上更新信息。但现在还没有一种方法可以保证这些信息的准确性。区块链可以通过分布式共识机制来解决这个问题。例如,通过工作量证明、权益证明等不同共识算法解决拜占庭将军问题,或通过“证据点”检验数据,账本的参与者就可以就底层数据的状态达成共识。
2. 数据复制
许多机构都有部分或全部数据的拷贝,这极大地降低了错误数据出现的可能性。对于现在的数据库技术来说,数据复制工作会增加IT(信息技术)系统的成本,并对IT系统的复杂性提出更高的要求。将数据大量复制的一个好处就是哪怕有一处数据出现错误,其他的数据还会是准确的。很多机构可以通过对账计算,检验其数据是否准确。
3. 访问控制
分布式账本使用私钥和签名管理能够访问账本的权限。这些私钥在特定情况下具有特定的功能。举例来说,一名监管人员想检查一个机构所有的交易,可能需要一把“观察钥匙”,但这样的钥匙只有被法庭授权后才能具有这样的权限。
4. 透明性和私密性
因为许多机构都拥有账本的备份,同时也可能验证每份记录的真伪,所以共享账本的透明性是很高的。因此,监管者或是独立第三方(司法)可以确信数据库的内容没有被篡改。鉴于此,他们可以公开原本是私密或不可公开的文件信息。在监管报告和欺诈预防方面,共享账本可以帮助银行等商业机构,甚至可以使民众拥有监督政府履行职责的能力。通过独特的数字签名技术,可以验证正确的人已经按照正确的规则添加了正确的记录。
(二)无银行间组织的跨行结算
生活中我们经常需要跨行、异地存取款,这会给银行之间带来高昂的结算成本。在没有银行间清算组织之前,需要解决两家银行之间的通信问题。以图1-4为例,汇丰银行、花旗银行、渣打银行之间需要专门的通信接口,以满足双向通信的要求。
图1-4 无银行间清算组织的结算
下面,以银行的存付款为例,让我们设想有三个银行:汇丰银行、花旗银行、渣打银行;两个用户:用户A和用户B。每一个银行都有独立的信息系统,来核算自己的收支情况。汇丰银行的信息系统记录自己的客户的账户收支,花旗银行的信息系统记录自己的客户的账户收支,以此类推(图1-5)。
图1-5 银行各自记录账户收支的信息模型
显而易见,我们可以发现两个问题。
第一,记录的重复性。看看银行的记账方式,汇丰银行的系统记录着“花旗银行欠汇丰银行100万欧元”,而花旗银行的系统也记录这个事务。也就是说,同样的事务被两个独立研发的系统记录了两次。而在其他领域,这种重复更加庞大也更加昂贵。
第二,记录者风险。看看用户A在汇丰银行和渣打银行有存款,而他在花旗银行是处于透支状态。也就是说,汇丰银行和渣打银行欠用户A钱,那么是谁记录这个欠钱的事务呢?汇丰银行和渣打银行自身!用户A不得不相信这两家银行会妥善处理自己放在银行的钱,银行会保持所有记录的准确性。我们习惯地将这种情况视为理所当然,但总感觉哪里不对劲吧。毕竟塞浦路斯银行危机这样的事就发生在不久前,如果有一天,你拿张祖传的100万美元存单,银行说上面只有1000元……
因此我们看到了两个有趣的现象:存款方不得不相信银行会妥善保管存款,并准确记录账户信息。而银行自己也不得不花费大量的时间和金钱来建立一套系统,以相信自己可以妥善保管用户的钱并保持账户信息的准确性。然后同业银行之间会花费更多的时间和金钱,互相检查,以保证它们的系统可以达成一致。
即便是在简单的模型里面,也至少有7处需要对账(图1-6)。银行里的“事务”通常最少要由两个不同的实体记录,并且需要昂贵的重复确认过程来保证各方的记录是一致的。
图1-6 对账的简单模型
在没有清算系统之前,同业银行之间的来往增多以后,会快速增加银行之间的清算网络和成本。这还只是三家银行的简单模型,通信网络就增加到6条,当银行越来越多的时候,这种点对点的通信变得越来越复杂,每新增一家银行,要做之前银行都要做的重复性工作,成本非常高昂。
如果一家银行与业内的1000家银行之间建立清算链接,该银行需要建设1998条通信链路。类似于足球比赛中主客场之间比赛,20支球队之间的联赛,每支球队需要参加38场比赛,30支球队的联赛每支球队需要踢58场比赛。
上述例子套在保险业和金融衍生品系统也是完全合适的。事实上对后者而言,这个模型带来的问题会更加严重,因为我们不仅仅需要确认谁和谁做了什么样的交易,还要确认他们以及他们的系统都同意交易带来的结果——他们一定要在商业逻辑上达成一致。
想一想在金融领域有多少几乎一样的系统存在,每一个都几乎无差别的运行,制造更加几乎无差别的结果,这些结果不得不以昂贵的方式检查和解决,花费是十分巨大的。
(三)中心化的共享式总账
如果每一个银行都运行自己的系统,是如此昂贵和复杂,并且不可避免地带有局限性,不得不在与其他系统重叠的部分反复检查以互相匹配,那为什么不直接让大家都使用,由大家都相信的某权威运行的一份统一单独的总账(如图1-7)?
图1-7 中心化共享总账的对账模型
图1-7 左边的5张分开的表格合并后,可以完全等价地写成右边单一的表格,同样从右边的表格也很容易复原出左边的5张表格,唯一的不同是右边的表多一列。这样我们就可以用一张表记录一切,并且得到与原来的方案相同的结果。每个银行都可以毫不费力地从这个总账本中找出与自己相关的部分。
那么必须出现一个网络来保管右边这统一的表格,而且它能够接入所有的银行。新的银行只需接入这个网络,就可以和其他所有银行进行通信,清算所和银行间组织就这样应运而生。
(四)有银行间组织的跨行结算
说起美国银行业清算系统的由来,还有一段趣闻。在两百多年前,两个银行职员的偶遇擦出了债务交换的火花,成为现代银行间清算系统的雏形。那天,两个不同银行的职员在收账的路途中小憩,碰巧走进了同一家咖啡店。闲聊中,得知相互都要去对方那里取送票据,于是灵机一动,干脆在咖啡店进行交换算了,这样就可以省掉去对方营业地的旅途劳顿。从那以后,喝咖啡成了他们的正差,交换票据成了副业。如此滋润的事自然吸引了其他同行,他们纷纷加入进来,于是这家咖啡店变成了不叫清算所的清算所。
如果说咖啡店票据交换场所尚处于蹒跚学步阶段的话,那么1853年由62家银行在华尔街14号地下室共同创立的纽约清算所则标志着银行清算所已步入成年。CHIPS(纽约清算所银行同业支付系统)是全球最大的私营美元资金交换系统,平均每天清算和处理1.5万亿美元的美国境内和跨境支付业务。
美国不仅拥有全球最发达的银行清算系统,还拥有全球最发达的资本市场清算系统,也是全球最大的信用卡清算中心。VISA(维萨)和万事达两大国际信用卡组织均为位于美国纽约的摩根大通银行,同时也是自动清算所的成员,纽约也就成为全球信用卡的发源地和支付清算中心。
在VISA和万事达等这样的信用卡组织出现之前,跨行结算复杂度高,成本高,速度极慢。信用卡组织出现后,形成中心清算的模式,所有银行和该中心建立清算接口,所有跨行之间的交易都汇总到该清算中心。清算组织的出现提升了跨行清算的速度,并降低了清算的成本(图1-8)。
图1-8 有清算组织的银行间的跨行结算
但由于清算中心是中心化的架构,随着加入组织的银行成员增多,给清算中心带来收入的同时,也加大了工作量。在接入的银行超过一定程度后,再增加银行会员,就会显著增加清算中心的成本和工作量,从而降低清算速度。例如管理10人团队和管理10000人团队差别很大。目前,国际上三大信用卡上市公司VISA、万事达、美国运通2015年营业收入合计达到543亿美元。区块链技术实现分布式记账的结算之后,能为整个银行业节省一大笔费用。
清算、结算、托管和注册服务对于发行、交易和持有证券都会显著增加成本。有大量的专业代理和交易对手参与到投资者的证券和现金活动,不仅这些服务有特定的收费,还有处理各种不同系统接口的业务集成和流程的辅助成本。据估算,全球金融行业每年在交易后(post-trade)成本是650亿~800亿美元。图1-9以T+2交易机制为例,描述了主流证券交易结算的多层次的复杂交易过程。
图1-9 美国证券交易的托管结算体系
同样,传统清算中心还面临中心化风险。例如“9·11”事件后,纽约联邦储备银行立刻停止靠近纽约的新泽西美元支付清算系统的运行,启动灾难备份系统,将美元支付清算系统从纽约新泽西切换到里士满和达拉斯。虽然在整个切换过程中,支付清算系统既没有中断服务,也没有丢失数据,但也惊出一身冷汗。如果袭击的不是世贸大楼,而是新泽西的美元支付清算系统,那么纽约清算中心将立即崩溃。
(五)去中心化的共享式总账
全球共享的账本可能被单一的强力实体控制,还有中心化的系统可能会有系统性的风险。因此我们可不可以对模型做两种微调?
第一,为什么不大量地复制账本,让每一个银行都保管一份拷贝?这样,单点出现故障就不会影响总体,系统也会更安全,因为要篡改其中一份拷贝很容易,但要同时改动所有人的拷贝则很难。同样,每一个银行都有一份总账本拷贝也能使现存金融机构的整合变得更容易,这也能推动共享式总账的接受度。问题是怎样保证这么多份拷贝实现同步?
第二,为什么不让这个系统的参与者——不仅仅是银行,也许还包括银行的用户——一起参与进来维持和保护这个系统呢?毕竟,银行和用户都是这个系统的直接利益攸关方,不用怀疑他们任何一方保护自己的钱与监督对方的动力。任何一方欺骗都会被及时发现并受到惩罚。因此我们将一个单一权力的实体替换为每一个人都参与系统安全的新模型。
如果以上设想成立,账本看起来应该是这样的(图1-10)。
图1-10 银行与用户共同参与的系统模型
在这个模型中,所有的参与方都有一份总账的拷贝,但是只有修改自己部分的权限,因此它既是可复制的又是分布式的。
如果一个全球化的分享式总账存在风险,那么区块链就是对各方有利的最佳选择。区块链技术以点对点的方式运行一个分布式共享账本,参与者通过非对称加密的公私钥对执行交易,这显著降低了交易结算的复杂性和交易后的服务成本。
区块链几乎不存在单点故障,数据存储在全球数以万计的节点之上,分布式网络每时每刻都有大量节点频繁地加入或退出,但丝毫不影响全局结构的稳定性。
交易数据以区块的形式被打包到数据库,每一个区块都会由节点进行审查。如果所有节点达成共识,该区块包含有效交易时就会被添加到数据库中。此外,建立和维护这些节点是完全自治的,不需要也不允许任何一个控制或监管实体的存在。
由于区块链清算和结算几乎达到同步,系统在点对点网络上运行,每一笔交易都能确保准确执行,安全透明,每笔交易都能被网络上所有节点核实,而不是依靠一个中心化机构,因此其交易几乎不能被篡改。几乎所有无形的文件或资产都能以编码的形式表达,交易历史既可以被记录且公开,也可以被自主隐藏。隐私的选择权在于私钥的拥有者用户本人,使参与者能更自主地管理自己的隐私,监管者更有效地监管资产的流动。