孟岩:JPMCoin 与 Schneier 教授的“区块链无用论”

春节假期一结束我就来澳洲出差,飞机一落地就看到两个大新闻,一喜一忧。喜的是摩根大通发了自己的数字货币 JPM Coin,忧的是我心中的密码朋克英雄 Bruce Schneier 教授发话说区块链无用。国内朋友立刻在微信上问我的看法,我想与其有一句没一句的回复一些只言片语,倒不如把我的想法系统的说一下。不过落地澳洲以后确实挺忙的,今天才得到一点空,快快写几句。
必要的话说在前面,我的思考还是很浅的,而且也没有足够的时间研究这个问题,特别是我对于银行支付清算业务的理解有限,所以有浅薄不当之处,还请读者体谅和指出。
实际这两件事情不应该分开看,而应该视为一问一答。Bruce Schneier 教授的言论是2月6日po在Wired 博客上,因为春节的原因,2月 12 日消息传到国内。只隔了一周,2月14日,摩根大通宣布 JPM Coin。我们应该问,如果 Bruce Schneier 是对的,那摩根大通为啥要发 JPM Coin?特别是摩根大通的 CEO 杰米·呆萌同志以前狂喷比特币,肯定不是区块链的盲目信徒,也不会是为了赶时髦(现在还赶个毛的时髦…)。作为全美最大的银行之一,此次不但发币,而且确实发在私有链上(基础设施是从 Ethereum 改出来的 Quorum,项目地址在这里:https://www.jpmorgan.com/global/ Quorum)。摩根大通到底是出于什么考虑?
我谈谈我的看法。
首先说一下 Bruce Schneier 的背景。
Bruce Schneier 是最全世界受尊敬的密码学家之一,著名的密码朋克,也是多产的密码学和计算机安全作者。他最最为人铭记的贡献是在 1993 年出版了石破天惊的密码学名著《应用密码学》。这本书永远的改变了全世界密码学应用的面貌,可以说是密码学从军用走向民用的关键一步。
具体地说,在 Schneier 教授出版这本书之前,密码学基本上就是一种军用技术,各个国家在这个领域投入大量的军费,秘密开发部署,基本不让普通民用企业和个人接触。而民用密码学是什么水平呢?美国情况我不了解,中国的情况我还有印象,当时在中国的电脑技术报刊杂志上,还有很多程序员和业余爱好者发表各种自制的密码方案,其技术水平还停留在一战以前,可以说是土法炼钢,根本不堪一击。

正是因为 Schneier 教授的这本书,才使得中国以及全世界很多国家的程序员有机会一步到位的学习世界先进水平的密码学。更狠的是,当时美国政府把密码学程序代码视为军火,不允许出口,结果 Schneier 教授找到了法律中的一个空子:法律不允许代码放在磁盘、磁带、光盘等介质上出口,但忘了把纸介质包括在其中。于是 Schneier 教授一不做二不休,把全部加解密算法的 C 语言源代码印在书里,其篇幅占全书一小半。

可以说,Schneier 教授以一己之力帮助全世界开发者跨越了几十年的黑障。这是什么精神?这就是密码朋克的精神。要不是有一批像 Schneier 教授这样的人“冒傻气” 似的把这些技术免费开放给全世界,至少中国今天的 IT 和互联网产业完全不会是这个样子。
Schneier 教授后来还写了很多书,不过仅凭这一本,他已经彪炳史册了。我是程序员出身,所以 Schneier 教授确实是我们这一代程序员心目当中的英雄。
那么一代密码学泰山北斗反对区块链,怎么看待呢?
实际上 Schneier 教授对于区块链的核心批评是 “Verification is not trust”,就是说,验证不等于信任。他的意思是说,区块链不管有多少节点,这些节点对于一笔交易账目只能验证其数据完整性(data integrity),并不能判断这个交易在现实世界中是否是值得信任的,因此也就跟信任差着十万八千里。所以,区块链并不能解决信任问题,所以其实没啥用。
我举个具体的例子。假设有一个人打电话说是某医院急救中心工作人员,声称你小孩紧急入院并需要一笔押金,然后给了你一个医院的账户,让你用区块链汇款给这个账户。在这种情况下,什么是验证,什么是信任呢?验证是指你汇款的这个行为能够得到区块链上多数节点的认可,他们能确认你的账户上确实有足够的钱,并且能确认你的钱确实转给了那个地址,这个是区块链节点力所能及的事情。但这远远不够,你需要的其实是信任。信任是什么?信任是你要能确认这个账户属于那家医院,以及这个打电话的人是那家医院的工作人员。这两件事情,是区块链上的节点无法确认的,不管有多少节点为这笔交易做了 verification,仍然构不成 trust,这仍然可能是一个骗局。也就是说,你们区块链节点整天嚷嚷分布式共识,还搞出一大堆牛叉算法来,搞得大家崇拜不已,还以为你们能达成多么天大的共识来,闹了半天,共识来共识去,都是些小事,真正需要你们共同背书、保证、认定的,你们啥也共识不出来。
Bruce Schneier 以这个理由否定了区块链,有没有道理呢?
既有道理,也没有道理。
有道理,是指 Schneier 的这番言论,如果被视为警告和训诫,是非常言之有物的。某些不明就里的区块链爱好者,看到一些宣传口号,就以为区块链能解决全部信任问题,这其实是一种误解。抱有这种误解的人,仔细读读 Schneier 教授的观点,能帮助他加深对区块链实际能力的认知。
然后,有道理的部分就到此结束了。很遗憾,我确实觉得在这个话题上,Schneier 教授进入了自己不熟悉的领域。他认为达不成信任,区块链就毫无意义,他抨击私有链毫无价值,这两个观点我都不赞成。
先说区块链如何实现信任。这个其实已经有很多讨论,自主权身份加上区块链上的历史交易数据就可以解决。这不是我今天论述的重点,所以我不展开说,只是结合上面的例子介绍一下。如果是在上面的例子里,我确实不知道这个地址是不是医院的,但是自主权身份技术可以让这个地址的所有者向我证明,他拥有来自卫计委签发的身份证书,而那个签发证书的卫计委有人大、国务院联合签发的身份证书,以此类推。如果我还想更谨慎一点,可以要求我的人工智能助手检查和分析该地址的交易记录,看看是否有很多人在给他支付医疗费用,它是否跟社保机构账户、保险公司账户之间有定期的支付结算记录,这些记录的频率和时间模式是否匹配一个公共医疗服务机构,如此等等,人工智能助手可以在一分钟后以一个置信概率告诉我这个地址是否属于一家公共医疗服务机构。这样一来,我们就可以实现从验证到信任的飞跃。
这里的核心问题,是根据一个账户的全部历史行为来判断它的性质。这是我们产生信任的唯一方式。一个账户,如果从它诞生的第一天起,它的全部行为都像是好人的账户,那它就是好人的账户。就这么简单。我们在现实世界中对他人建立信任,主要也是通过追踪其历史记录这一个方式。
当然,你可能要问,医院为什么要让自己的交易记录暴露出来给你的人工智能查阅啊?他不愿意咋办?这就触及到区块链的一个基本原则了,就是数据和规则的透明。今天不在这里展开,我以后撰文分析。
再说私有链无用论。谈这个问题,就要结合摩根大通 JPMCoin 了。
先介绍一下摩根大通。摩根大通英文名  JPMorgan Chase,财经界称“小摩”。有小摩当然就有大摩,大摩是指投行摩根斯坦利( Morgan Stanley)。大摩小摩本是同根生,它们的前身就是美国金融史上赫赫有名的 JPMorgan 公司。1930 年,根据美国格拉斯-斯蒂格尔法案,JPMorgan 公司拆分为摩根大通和摩根斯坦利。
(花絮:JPMorgan Chase 的名字很有来头,这其实是两个人的名字。JPMorgan 当然就是大名鼎鼎的老摩根啦,不多说。Chase 是谁呢?是指 Salmon P. Chase,此君是美国南北战争时期的财政部长,也就是林肯的搭档,在内战中搞出一系列操作,确保了北方的财政优势,可谓居功至伟。不过他主导发行的绿背钞票在战争中贬值一半,也因此挨了不少骂。实际上这家银行跟 Chase 毫无关系,银行以 Chase 命名,只是银行家们向财长大人致敬的一种方式,你懂得。)
2010 年之后,摩根大通就成为美国最大的金融服务机构,资产负债表总规模约 2.6 万亿美元。
好,下面我们来说 JPMCoin,把这个事情说明白,Schneier 教授的“私有链无用论”也就基本回答了。
摩根大通在自己的网站上发表了一个简短的 QA (https://www.jpmorgan.com/global/ news/digital-coin-payments),我知道国内有媒体已经将它翻译成中文并且发表了。希望各位往下读之前,确保已经认真读了这个 QA,否则我下面说的很多事情可能令人感到费解。这个 QA 说清楚了很多问题,但还有很多重要问题顾左右而言他。所以我在这里就不重复它,而是提供一些解读和合理的推测,供各位分析。
先说结论,JPMCoin 是摩根大通在区块链金融领域的一次战略级尝试。所谓尝试,就是可能失败,允许失败。如果失败,他们可以再继续完善,不是说必须得毕其功于一役。所谓战略,就是意义重大。如果成功,对于摩根大通来说就是个高维竞争利器,对于华尔街来说,可以扩大和增强对全球金融业的统治力。
关于 JPMCoin,技术实现上没啥了不得的,难点在搞清楚其经济系统背后的价值和意图,值得关注的问题有这么几个。
第一个问题,为什么 JPMCoin 只供摩根大通的机构用户使用?
第二个问题,主要用来干什么?有什么优势?
第三个问题,作为一个准入受限的区块链,谁可以成为 JPMCoin 的区块链节点?
第四个问题,JPMCoin 未来发展方向是什么?对于摩根大通和华尔街来说意味着什么?
我一个一个来谈谈自己的看法。
第一个问题,为什么 JPMCoin 只供摩根大通机构用户使用?
两个原因。
第一个原因是技术上 JPMCoin 的基础设施 Quorum 还不能支撑 C 端支付应用。Quorum 是摩根大通开发了两年的私有链/联盟链技术,可以视为是以太坊的私有/联盟链版本。以太坊的技术实现和代码水平其实并非顶级,所以这个基础不是特别强。根据这里(https://medium.com/menapay/menapay-blockchain-tests-quorum-tps-8aac5f51820b) 的测试,去年三季度,在 7 个节点上,Quorum 最高也就能达到 150-170 TPS,支撑机构间交易是足够了,支撑 C 端支付应用还差得远。C 端支付所需要的性能至少数千至上万 TPS。支付宝在去年双十一创造的峰值交易记录是 25.6 万 TPS。大家可以自己对比一下。
第二个原因,在目前 JPMCoin 的应用场景下,个人用户从区块链支付中感受不到什么好处,能够感受到好处的主要是机构用户。这个道理要结合下一个问题讲。
第二个问题,JPMCoin 主要用来干什么?有什么优势?
在 QA 里摩根大通说,JPMCoin 主要用来做机构间支付,主要优势是可以提高支付效率。
这里的关键问题是,JPMCoin 为什么可以提高支付效率。这是理解整个 JPMCoin 以及区块链金融应用价值的关键。
区块链数字货币提高机构间支付效率的核心原因,是可以将支付和清算两步并做一步走,或者说,使用区块链数字货币可以实现支付即清算。
摩根大通的前身 JP摩根公司,在美联储成立之前,事实上是全美银行业的清算中心。当时纽约的主要商业银行都在 JP摩根公司开户头,然后每天银行下班以后,各银行的清算代表就聚集到 JP 摩根公司的一间办公室里,开始盘账。这里我是说真的,没有任何夸张和玩笑,在一个多世纪以前,真的有这么一群人,每天傍晚聚集到一个办公室里面对面的、耳鬓厮磨的相互盘账。他们把彼此银行之间的每一笔相互支付加起来,最后得出一个净值,然后动用自己在 JP摩根公司开的账户里的钱来相互支付,这个过程就是清算。
清算是记账行为的直接后果。如果使用现金,则可以避免。比如,让这帮银行代表各自捧着一堆现金,每当有一个客户从 A 银行汇 100 块钱到 B 银行,A 银行代表就抽 100 元钞票交给 B 银行代表。反之,每当有一个客户从B 银行汇 100 块钱到 A 银行,B 银行代表就抽 100 元钞票交给 A 银行代表。咱们谁也别偷懒,规规矩矩付现金。那么这一天下来,一下班,账目已经清清楚楚了,咱们这边不用清算,直接就可以挥手明天见了。
但是这么做太麻烦了,也容易出错啊。所以各机构多方之间的相互转账,都是以记账方式进行,而这些转账交易的原始信息又分散在多个不同的账本上,所以需要每天花时间清算。时至今日,计算机可以将这个过程的效率大大提升了,但是清算本质上严重拖累了机构间支付和交易的效率,先不说多了这么一个环节拖慢了效率,更严重的问题是对不上账。一旦出现对不上账的问题,哪怕是一分钱的出入,工作人员都得彻夜不眠不休,人工核查,找到问题。
中国有全世界最牛的央行清算系统 CNAPS,但是其本质距离上面说的过程相去不甚远,同样存在繁复的清算过程。而且只要有清算环节,只要涉及到多本账的问题,对不上账的情况就会以超乎你想象的高频率出现。因为问题出在银行 A 和银行 B 各自的私账里,所以 CNAPS 再快再牛,也解决不了问题。
可见,上述问题是记账模式的本质问题,要想彻底解决这个问题,就必须回到现金模式。而区块链就为解决上述问题铺平了道路。
我虽然对于 JPMCoin 的细节还了解不够,但是根据下图的描述,JPMCoin 支持之下,摩根大通机构账户之间的相互转账是通过直接移动 JPMCoin 进行的。当现金移动的速度足够快的时候,就成为首选支付方式了,从而也使得清算环节变得不再必要。

仅就这一点,摩根大通就可以大大的提升机构用户之间相互转账支付的效率,免去令人痛苦的清算和对账过程,对机构用户来说简直是太大的福音了。
这也就能把第一个问题回答完毕了。为什么 JPMCoin不面向普通用户?因为普通用户在现在的支付场景中,根本感觉不到清算所带来的痛苦,他们以为自己的支付转账实时到账了、结算了,其实根本不是,是支付机构把后面的麻烦事给包揽了。所以痛苦在机构这一边,因此也只有机构才能感受到 JPMCoin 的好处,普通用户感受不深。
第三个问题,作为一个准入受限的区块链,谁可以成为 JPMCoin 的区块链节点?
这个问题就是摩根大通没有讲清楚的了,也是我最关心的事情。
核心问题是,摩根大通会让自己的主要机构客户来运营节点吗?如果是的话,那么就非常有意思了,因为这就是真正实现了行业内的去中心化。
举个例子,如果摩根大通的两家客户都是银行,分别是银行 A 和银行 B,银行 A 现在有一笔给银行 B 的一万美元的转账。
如果银行 A 和 B 都不是区块链上的节点,那么他们两位都得信任摩根大通选择的那些节点,这种信任显然还是建立在区块链之外,还是以中心化方式建立起来的。也许摩根大通选择的几个节点全都是自己的数据中心,那就跟用区块链做数据库的中心化系统没多少差别了。这也就是 Bruce Schneier 说他对于私有链不感兴趣的原因。
但是如果银行 A 和 B 都是区块链上的节点,那就有意思了。因为 A 和 B 相当于也是这本账的主人,他们不需要实现信任任何第三方,而是可以自主的为自己发起的交易背书。其他节点一看,你们两个自己都认了,那我们也乐得做个顺水人情,给你个 verification 吧。在这里,verification 和 trust 就统一起来了。而至少在这个小圈子里,我们就实现了去中心化。
不过我估计一开始 JPMCoin 不可能采取这个做法,毕竟 Quorum 技术上也撑不住。但这个发展方向,应该说是有吸引力的。最重要的是在不失主导权的前提下占据道义上的制高点。不要小看这个东西,道义的力量长期来说是无可阻挡的强大。
最后一个问题,JPMCoin 未来发展方向是什么?对于摩根大通和华尔街来说意味着什么?
在 QA 中,摩根大通暗示了两个发展方向。第一个就是纵向深入到他家其他的业务当中,他们点了存管业务(custody)、清算、结算业务(clearing & settlement),恐怕这还只是轻轻挠了挠水面,不过已经很有想象空间了。我们通证派的看法,区块链既然可以做数字货币,就可以做数字MBS/ABS,数字债券,数字股票。摩根大通业务范围极其广泛,一旦在支付领域应用成功,其他方面就可以逐渐推开。请注意,Quorum 作为以太坊变体,是有执行复杂智能合约的能力的,绝不是转个账了事。摩根大通选择 Quorum 作为自己的区块链技术发展方向,未来必然在智能合约应用方面有大动作。
另一个方向就更有想象空间,那就是发行锚定其他国家货币的 JPMCoin 变体。在QA 中,摩根大通明确说这是未来会考虑的事情。这个就猛了,如果摩根大通能够在同一个区块链上支持锚定多个不同外币的数字货币,然后再搞一个数字货币交易中心,摩根大通就可以在技术上实现一个全球清算中心。请注意,中央银行最早的功能就是清算。如果摩根大通乘胜追击,搞一个同业拆借市场,自己再扮演一下最终贷款人和交易商的角色,呃,这样搞下去,它就可以事实上成为一个世界准央行。这意味着什么呢?意味着摩根大通可以在高效、平等、去中心化的旗帜下,间接把另一个国家金融活动和经济活动吸入麾下。这个脑洞太大,也太阴谋论了,但是各位平心而论,技术上难道不是完全可行的吗?
1913 年美联储成立之前,JPMorgan 公司事实上是美国的中央清算银行,它的实践为美联储的成立扫清了道路也积累了经验。现在,摩根大通要干的这件事情,历史的看,又将为谁扫清道路、积累经验呢?有意思,很有意思。
讲完这一层,我想对于 Bruce Schneier 教授的质疑,JPMCoin 确实已经给出了一个很有力的回答。但我还想补充一点自己的看法,就是关于美国和华尔街的区块链战略。
世界上不同国家对于区块链和数字货币的态度现在已经出现了明确的分野,应该说大多数国家的政府视数字货币为贼寇,这是事实,毫不夸张。国内传说某些国家对数字货币态度如何温和友好,大多是没有了解最新情况。最新情况就是,数字货币在大多数国家现在都是灰头土脸。
问题在于,很多国家的政府觉得,美国也是这么看的。你看,美国证监会对某些数字货币项目的态度多么的凶狠啊,罚钱又抓人,这还不够说明问题的吗?
还别说,美国还真就不是这么看的。
我的观点是这样的,华尔街已经看清楚了,区块链和数字货币是好东西,也是危险的东西。如果为我所用,它不但可以帮我提高效率,而且可以帮我进一步扩张和扩大全球金融霸权。但是如果野蛮生长,这个东西也完全可能成为颠覆我的武器。所以怎么办呢?华尔街来了个一手硬一手软。硬的一手由证监会来办,以证券法为依据,大张旗鼓、无远弗届的打击“体制外”野蛮生长的潜在颠覆性力量。对于比特币这种已经成了气候的体制外经济体,采用吸纳、控制、打压、体制化的方式,使之弱化为一个普通的金融投机标的,完全在华尔街的游戏规则内玩耍。软的一手,则是由类似摩根大通这样的“自己人”非常积极的探索区块链和数字货币的技术和“建设性”应用。实际上摩根大通的 JPMCoin 只是一个代表,华尔街有很多精英已经在探索将整个金融服务整建制搬到区块链上,美国整体上也对各种可控、建设性的区块链和数字货币项目保持严肃的温柔。目前在这个新赛道上,美国已经处于领跑位置。而在这场新的竞赛中,冠军的奖赏将是对全球经济和金融的更深、更直接、更具艺术性的掌控和收割,以及对道义制高点的占领。
想到这里,我不禁感叹,脑子真的是个好东西。美国有脑子,华尔街有脑子,我们不能不佩服。