江湖上总流传着盖世神功武林秘籍的传说,言之确凿,然见者颇少,一见不得了,譬如《30 天入门九阳神功》,《21 天精通九阴白骨爪》,此等教程实属罕物,睹之不易,遑论据而拥之,若侥幸习得一二,已属佼佼,转瞬跻身武林大佬。江湖更有甚者,机缘巧合得大师弥留之 paper,譬如《10 年浅谈乾坤大挪移》,《深入理解少林易筋经体系结构》、《1 秒钟入定,手把手教你辟邪剑谱》,《当我们在谈论降龙十八掌时我们在谈论什么》,论文加持,顶级算法开窍开天辟地,难题迎刃而解。
一直以来,江湖中血雨腥风的故事大多跟争抢这些电子书有关,赢者仿似开挂,获少林武学研究院等 paper 而制霸中原武林工程学术界,此非独物,区块链江湖里也流传着不少,其中最酷的一样当属密码学无疑,密码学领域不少 paper 似有相同功效。昔时华之山论剑武功绝,今日区块链当问密码学。
近日 AlphaWallet 就有一篇重磅 paper 诞生,虽不似前述诸绝之伟岸功效,但也可谓区块链之震撼大作,诞生在如何的背景之下?在讲些什么?和密码学的关系是什么?解决了什么问题?可以用来做什么?今天 CTO 韡武先从他的视角带你走马观花,看看今年的密码学会议 TPMPC 2018。而在下一期,我们会正式为大家带来这篇江湖秘籍,AlphaWallet 最新的 Paper 《Attestation on Ethereum》!
01
问剑密码学的会议一般都很神祕,就是没多少人知道,没多少人去,去了没多少人听得懂,但是其密码学成果却是江湖里流传的算法神功秘籍,可能有深远影响。给外行有种像是共济会讨论改造世界。关于区块链,熟悉密码学圈子的人应该都知道这个现象,就是密码学家们完全不谈区块链。区块链是密码学应用和分区计算领域的跨领域成果,现在分布式计算专家很多都改称区块链专家了,密码学还是很本色。TPMPC 就是这样一个密码学会议,今年的 2018 年会在丹麦小城 Århus 举行,我试着带大家一起来探秘这个密码学专业会议了。
02
我住处在 Århus 大学对街。早上 9 点起来全无车声、人声,只有鸟叫。这是因为我在 Århus。Århus 去哥本哈根 3 小时路程,全城仅 27 万居民。这也算城吗?我自问。到这个小城,我用的是渡船。东道主丹麦密码学专家 Tore 是我们的顾问,在港口接我。“你没有坐水上飞机来呀?”他说。原来小国有小国的好处,这里的 CTO 出行坐水上飞机,直接在哥本哈根的河道里起降,一下飞机就在 CBD,价格一两百欧元,省下的时间却不止这个价。“可是 Google Map 上没提供这个信息呀”,我笑着说。
03
这座城没有一个摩天大楼,只有一个博物馆算是有意思的建筑。清泉小楼,乏善可陈。然而此时正有 50 多位密码学家共聚此地,因为这是一个一般麻瓜不知道的朝圣之地——全世界最高水平(按论文算)的 MPC——多方安全计算——研究就诞生在这里。
04
多方安全计算是美籍华人姚期智在我所生的那一年 1982 年创建的领域。他提出了一个在不保密的环境下保持秘密的计算方法,靠它获得了图灵奖。姚期智虽然移居清华,他开创的多方安全计算这个领域却定都在 Århus。完成这项使命转化的是 Ivan Damgård 教授,一位白发而精力充沛的教授,行业界的一个传奇人物,生于斯长于斯的丹麦人,也是这场会议的主持人。姚期智在清华现在主要做复杂系统,研究“P 与 NP”这样的问题,但是不忘他的密码学遗产,仍然促成清华跟 Århus 合资建立了研究中心。
Aarhus University © Zairon, Wikimedia Commons, License CC-BY-SA-3.0
05
我住在一个胚胎人工培养专家家里。他给我解释了他的工作,我没听懂。我于是给他解释我此行的目的,到西方取经,这“经”是多方安全计算的一些成果,在很多在区块链场景中,尤其是钱包中,很重要。我先试着给他讲了区块链是如何解决“可信”的问题,而“保密”的问题却悬而末决,需要结合 MPC 才能解决很多应用场景。他听完后表示懂得跟我懂的人胚胎知识差不多。
于是我换了个讲法:“比如说苹果在做 ApplePay,如果美国政府想要用户的支付数据,苹果公司对用户和政府两面都不敢得罪怎么办?如果使用 MPC,苹果就可以说:我们其实自己也不知道。”胚胎专家表示说他懂了。
唉,为了能讲懂,只好讲的不准确。其实我刚才的例子不合适,因为苹果服务器要处理支付的结算环节,不知道是不可能的,用了 MPC 也没用。但是像我们做区块链钱包的,结算由区块链做,我们 AlphaWallet 却是可以用 MPC 保护用户的。现在所有的手机以太坊钱包厂商都知道其用户的以太币地址(可以卖给空投商用,相当于韭菜肥料),而我们出于保护用户,不知道我们用户的以太币地址。这种前提下还要往上做功能,需要的正是 MPC 这种特别魔法。
Aarhus University © Villy Fink Isaksen, Wikimedia Commons, License cc-by-sa-3.0
06
熟悉密码学圈子的人应该都知道这个现象,就是密码学家们不谈区块链。区块链是密码学应用和分区计算领域(加游戏理论)的跨领域成果,现在分布式计算专家很多都改称区块链专家了,密码学还是很本色,跟区块链划清界线。一个月前密码学家 Helger Lipmaa 被指是中本聪,他不客气的说他不可能是中本聪,“因为中本聪不是密码学家嘛”——这个掌故可以反映密码学圈的态度。
简洁零知识证明,尤其是非交互的简洁零知识证明,既是区块链未来的核心技术,又是目前密码学的重头。这个领域里这些年研究成果倍出,但是领域里的学者都不太喜欢基于零知识证明设计的 ZCash。我遇到一位零知识理论研究专家,一个坚持要求我用法语叫他名字的十分聪明的青年。他对 ZCash 受媒体暴光很不满意:“先知被当成了神”,他说,“ZKSnark 又不是他们 ZCash 发明的。”
07
在工程圈也有不少人参与会议。各大公司的基础技术研发中心都有代表,包括阿里巴巴。一位家喻户晓的国际品牌荷兰研发中心的代表说,韡武,原来你是搞区块链的,我们一天倒晚反对区块链,都快累死了。我说:你的领域如果跟区块链没关系,为什么需要特别地“反对”它呢?我就不反对胚胎人工培养,跟我没关系嘛。他说,现在各公司的管理层风气是这样的,基础技术研究部门不研究区块链会被问责的,这样重要的技术趋势你们都不研究,公司如何在前沿?所以我们必须额外花力气来反对它。我们光是不做区块链是不够的,得出材料论证我们为什么不做区块链,我听了哭笑不得。
08
我在席间问了几个密码学家,说为什么密码学家不喜欢区块链。总的来说,密码学家觉得区块链是密码学的“不好的”应用,炒币很荒唐,公链搞无政府主义很无聊。传统上密码学的发展跟政府需求是密切相关的,Diffie-Hellman 密钥交换协议不知道免去了多少间谍送命,欢迎比特币的无政府主义思想在密码学界并不吃香。有些密码学技术,比如 IBE(Identity Based Encryption)是基于一个极强中心(知道所有人密钥)假设下发展的(今天讲到一个没有这种假设的 IBE,有意思)。那好的应用是什么呢?有位丹麦密码学博士出来说其实你说区块链不好,但是国家做的也不好,现在丹麦政府给公民发的密匙自己都有一份备份,就没有不可抵赖性了。礼失求诸野,政府不好好用密码学,民间先做区块链有什么错呢?