黑客的⻩金时代:区块链还有很⻓的路要走

六年前我开始做比特币研发,最近两年在澳洲最大的银行做区块链架构师,
前者是所谓“币圈”,后者是所谓“链圈”都有所涉及,就常常有人问我哪
个币适合投资,哪个技术有潜力。

我们生活在一个特殊的时代,对技术期望很高,近乎信仰了。

我们观察微信一年就改变了大众支付习惯,会注意不到技术的成功是有过程
的,以为区块链也会有这样的立杆⻅影的效果。过去五年里,我经常给人说
区块链技术的前途,大家没那个功夫听。现在,我反过来经常说区块链技术
的局限性。我说的是同一套东⻄,东⻄没变,是期望发生了变化。

比如最近很热⻔的跨链技术。大家的想象里,跨链技术就是两个链,一个是
榫一个是卯,两个接在一起就成了。真要这么容易,早先中本聪和现在的
Vitalik都已经用它做扩容方案了。

这类技术是很有局限性的,12、13年的方案如Tier Nolan的基于密码学
Commit/Open协议的方案需要双方链上都有交易者,协议是正确的,数学
意义上的正确,就是实际不太好用的意思。其“资金不过链价值过链”,操
作需要有对家,这是最大的局限。它有很多可以攻击的角度,比如设法使对
手超时时候不在线,比如发起交易者不终结强迫双方币回到自己手里,比如
区块链忙的时候交易不超时上链却超时。还有应用局限,比如交易没打包也
不能拆分,比如不解决买家卖家配对等等。这还不说占用链上资源过高这样
的可以忍受的情况。

后面的技术更丰富了,但是各有各的提条件,比如Ripple的跨链交易对⻅证
节点的在线有要求,所以可以执行的交易不一定必然会执行。这还是只谈已
经实现的技术。对于新做的带有验证其它区块链上交易凭证(SPV)功能的
公链,虽然可以去掉“各链均有交易对家”这个条件,又加上了对矿工节点
的一些要求,从而增加了受攻击平面。去掉对家还有一个严重问题:各链的
安全级别也不一样,连起来后大家会用最弱链上的安全前提去套最强链上的
币,以太上的EOS代币和Cardano上的EOS代币价格会不一样,没有对家
没办法平衡它。

这还只是说链间资产协议,链间合同呼叫就更是没有好的实现方法了。这里
我要说明好的实现方法是要实现原子化操作的,因为这是大多应用的前提。
比如花里程买酒店,必须里程转移和酒店确定同时完成,不然就还是得依赖
协程旅行⺴。以太坊的Patricia树更新条件是没有中间状态的,但是跨链就
有中间状态了。

银行方面比较着迷资产链,即一类资产一个链,股市链呀债券链呀什么,然
后用链间技术连接起来。我在R3的全球架构工作组期间和作为其它银行代
表的同行们一起研究过这类项⺫,这种思路走到一定程度也就无路可走了,
具体比较涉及银行专业就不展开讲了。

零知识证明也被吹得很神奇,好像安全计算(以零知识方式运行指令)已经
实现了似的。好多ICO都假设它像换CPU一样,全面兼容之前的应用。您知
道零知识执行合約意味着什么吗?连程序执行的步数都是不能让人知道的,
因为那也是知识,可以反推出程序输入,所以零知识证明需要运行可能的最
大的指令步数,这就是说为了使输入“零知识”,程序步数反尔必须是已知
的,也就是说......它不可能是图灵完备的,不是你想像让他干什么就干什
么。这还是条件的“之一”,还有效率低、需要新编译器(及语言)等等问
题。2017年密码学大牛们使用以太坊虚拟机验证了零知识交易,且不说它
是实验条件下完成的,这句话的意思跟媒体解读的“以太坊以零知识方式运
行了虚拟机”是两回事。你说零知识证明能解决这个那个场景,你给我在黑
板上做一个最简单的零知识身份证明(不通过签名证明你有某公钥对应的私
钥)给我看看?你这个不知道(或者你的白皮书不能体现出你知道),后面
你零知识证明能做这个那个功能我就不听了,都是用想象出来的方法做想象
出来的功能。

这些问题不是不可以解决。给以时间,工程师们和密码学家都在努力,会有

应用落地的。但是现在市场期望很高,觉得明天就可以做出来。

几个月前我给一批币圈朋友讲课,讲到了各种协议和应用方法,涉及面干了
一些,大家都听得很兴奋,然后问我在做什么。我说离开银行后我在做钱
包,就是最简单的那种存钱取钱,加一些应用协议(比如ERC875)。大家
说你讲的这些协议可以改变世界了,我解释说有办法解决不等于能解决,也
不等于这些解决方案的条件是实际业务可以接受的。大问题分成小问题,小
问题分为细问题,要解决的问题多得很。我说的协议要做到得五年吧。我可
以先从能做的做起,眼下在做的钱包要真做好已经十分不容易了。

我在银行的时候,每个产品都需要流汗,流血,集中最好的团队的力量,做
出来还是不能用。而离开银行之后,发现常常是人家团队不如我们有经验和
干劲,密码学基础不如我们好,口号吹得比我们强十倍,产品周期是我们的
一半,那是不可能成功的。

15年我去上海时(我大本营悉尼)听小⻉壳区块链演讲。主讲人她很有气
场,讲的应用都是区块链最终确实可以实现的。但是她演讲我希望大家别
听,因为她结尾的一句是“这些都已经实现了”。按我对当时工程应用水平
的理解,那是不可能的事。现在⺴上也流行小贴子,说的区块链应用这样那
样,说起来神气,我心里求他别在后面加一句“这都已经实现了”,但是每
每读到后面还是同样的“已经实现了”。

为了帮助大家理解我们离技术实现还差多远。我举一些例子:

  • 就在比特币的协议里,已经可以做到某甲给某乙发钱,某乙3天不收的话钱
    回到某甲手里。这种应用的场景是比如去中心化送红包什么的,对方可以不
    收嘛。比特币白皮书已经10年了,有那个钱包做到了吗?

  • 地址是可以签名的,以防止地址被顶替掉。签名可以带场景,以防重用。
    这个技术也有10年了,有谁用到了它?

  • 区块链上真随机数是可以生成的,Google上搜索最近的论文是X Yang
    2014年的,但是这类算法年代久远,出身南美的图灵奖获得者Manuel
    Blum在95年第一次提出了一个这样的算法,够早吧,但是直到2017年加密
    猫还没用这套算法,因为其条件是要求随机数生成时有不止一方在线并且不
    在线交罚款,而游戏规则没办法融合这个条件。所以现在的加密猫生出来的
    小猫的基因,厂商方面还是能一定程度影响。

  • 现在冒牌的李笑来每个论坛上都有。数学签名就可以验真身,有谁⻅到李
    笑来的贴子去要数字签名?

  • 比特币地址可以用作身份标志登录⺴站,既可以验币又可以验身,这也是
    由来已久,有很多安全优点,但是直到2016年才有比特币钱包支持这项技
    术,而我完全没⻅过支持它的⺴站。

总结一下,技术发展不能一蹴而就。密码学过去不是显学,一下子变为显
学,导师数量也是有限的,很多问题没解法。即使有解法,并不等于可以开
发成应用软件,能开发出来也不是市场和用户就立即接受。

新技术前途很大,比如hashgraph,但是⺫前和未来几年区块链仍然只能
在限定条件下有应用。区块链前景很干但是投资人都看错手表了,都在拔苗
助⻓,害得一些原本不错的专家也在跟着投资人的时间表狂走。现在我自己
已经停止投资新区块链资产了,很难选,估值都很不靠谱。如果你是个黑
客,这个心浮气噪的时代是你的十年一遇的⻩金时代,把安全有局限硬上⻢
的区块链上的钱都好好偷一轮。