“去信任的区块链”只是幻想

2019-09-12   东音社



有人认为“区块链的创新之处在于‘去信任(Trustless)’”。也就是说,即使没有银行等“值得信赖的第三方”,也不用担心数据篡改,做到准确记录交易信息。

但是仔细想想,“去信任”一词十分模糊。信息系统中的信用、信任又是什么?这个问题的答案其实是区块链能否在现实世界通用的关键,本章将深入讨论“区块链的去信任”的问题。

“信任”就是“不确认”

在日语和中文当中,“Trust”都被翻译成“信用、信任”等,其本质就是“不确认”。对于已经确认的情况,我们只需要“了解”而不需要“信任”,“信任”是一种不确定的行为。德国社会学家格奥尔格·齐美尔(Georg Simmel)认为:“信任介于已知与未知之间,是未来行为发生的确切假说(Vertrauen ist als Hypothese ein mittlerer Zustand zwischen Wissenund Nichtwissen um den Menschen)。”

时间戳技术(证明数据存在时间点的技术)的国际标准“ISO/IEC 18014-2”中,信任的定义是“用户、其他利益相关人员对产品、系统符合期待的相信程度”。日语中提起“System”,很多人脑海中首先想到的都是计算机系统。然而“System”的本义指的却是 “包含部分的整体”,也就是“系统”的意思。这样来看,“信任”其实是“(用户)对系统按照期待发展的相信程度”。

举例来说,今天我替朋友付了午餐钱。虽然没有查询朋友的账户余额,确认其是否具有偿还能力,但是因为交往已久,我相信“很大程度上朋友会还钱”。这就是信任。再比如说人们之所以去银行存款,就是因为我们相信,很大程度上“银行不会侵吞这笔存款,能够提供安全保护”。存款基于人们的信任,而不是具体确认过银行的操作或财务状况。

综上所述,系统的用户无须亲自确认,因为认为“对方会按照自己的期待行动”,所以选择“信任系统”。“信任”是现实社会的基础,大大降低了社会成本,如果遇事就“确认”,社会成本将大幅提升。

“被信任的系统”

那么,系统获得信任的条件是什么呢?

消费者信任某种产品和服务时,最重视的当然是企业的信誉,也就是“品牌”。举例来说,提起和服,人们往往认为“‘越后屋(Echigoya)’的和服品质肯定有保障”,消费者愿意相信“越后屋”的品牌。而企业为了树立品牌,必须付出极大的努力和高昂费用。

一旦偷工减料,企业的努力就会瞬间烟消云散。在这种约定俗成的规则下,品牌其实凝聚了众多信任。构筑品牌时,“稍有不慎就鸡飞蛋打”。比较这种损失和企业违法的收益,消费者自然愿意相信“这样的牌子没有问题”。

“信任框架”:不是大企业也可以获得信任

新手或中小企业取得信任十分不易。因此,建立不依托于品牌的体系时,获得“信任”至关重要,以下三点必不可少。

・成果技术是否完备。

・适当起草规则并遵守。

・失败后的挽救手段。

具备以上特性的结构就是“信任框架”。

当然,用户其实也可以本人亲自确认,但这种确认的成本太过高昂。这种行为也不属于“信任”,而是“了解”系统的运行情况。用户有选择“谁去确认”的自由,这个“谁”可以是“服务提供者”,也可以是“第三方”。前者属于“自我宣言模型”,后者属于“第三方确认模型”。

如果选择自我宣言模型,一旦宣言被推翻,宣言者就需要承担巨额损失。在美国,依照联邦交易委员会(FTC)法律第5条的规定,对名不符实的企业处以高额罚金,企业将“损失”品牌费用和今后大笔的收入。“品牌模型(Brand Model)”是自我宣言模型的一种。

第三方确认模型由监察人、当局等“第三方”确认上述三大要素,用户选择信任第三方机构。因此,第三方确认模型也被称为“信任的第三方(Trusted Third Party,TTP)”模型。

日本金融机构的交易中,“日本银行(Bank of Japan)”承担了“第三方”的角色。不过第三方确认模型中也存在欺骗的可能性,所以需要制裁欺骗者。金融当局的监视和制裁,比如暂停营业资格,就是一种制裁手段。

中本聪的论文没有“去信任”字眼

了解了“信任”的含义后,我们来琢磨一下“区块链去信任”的意思。坊间炒得沸沸扬扬的“去信任”其实并没有出现在中本聪的论文Bitcoin: A Peer-to-Peer Electronic Cash System中,论文中也根本没有“去信任”一词。原文的表述是:“建立在密码学而不是“信任”基础上的电子支付系统,允许任何有交易意愿的双方直接交易,而不需要一个被信任的第三方。”

NakamotoSatoshi,:Bitcoin: A Peer-to-Peer Electronic Cash System, Bitcoin. org, Oct.31,2008, (参考:2016-09-10)。

论文中介绍了以下三个前提。

・“正当性的前提”:点与点同意交易。

・“点对点(Peer-to-Peer)的前提”:交易在点与点之间进行。

・“算力分散的前提”:正当节点的算力总和始终超过不正当节点之和。

如果满足以上条件,“我们提出一种双重支付问题解决方案,就是使用一种点对点分散的时间戳服务器,以生成可计算的、按时间顺序排列的交易序列证明。”也就是说,只要满足了三个前提,完全不需要第三方介入来解决双重支付问题。但是如果前提条件崩溃,或出现双重支付外的其他情况,信任就需要提上日程了。

举例来说,使用过程中,用户无法得知“(区块链)正当节点的算力之和是否超过共谋不正当节点之和”,但是用户依然选择“信任”系统。还有节点软件是否正确写入、使用是否恰当……用户选择“信任”软件(自己可以验证程序正确与否,了解系统运行是否正常的情况除外)。

“去信任”只是幻想

现实之中,人们对区块链寄予的期待要远大于中本聪的设想。下面就以比特币的区块链为中心,讨论一下区块链“去信任”的可行性。

首先,我们需要知道系统自动满足何种条件才能满足“去信任”的要求。比特币的区块链技术并不具备“证明达成共识的正常交易顺序”的功能,不管怎样追求“去信任”,也只能属于“范畴之外”。

其实“达成共识的正常交易”这种表达本身就令人费解。比特币体系中,“正常交易”仅封闭于系统内部;一旦涉及外部世界,如土地资产、知识产权、法定货币和区块链的Token时,就需要格外确认交易的“正当性”。

区块链只能证明交易的时间顺序(顺序不可变更性),无法验证“写入内容的正当性”。即使写入虚假信息,信息也会长久保留。

也就是说,我们需要另一个“信任”体系来验证写入内容的真伪。相比加密技术,“可靠的第三方”成本更为低廉,而所谓的“去信任”作用只是一种空想。

其次,“点对点的前提”。加密货币的交易往往需要通过交易所完成,交易所的系统独立于区块链之外,此时的交易所就是值得信赖的第三方机构。当然,并不是所有的第三方机构都百分百可信,比如“Mt.Gox被盗事件”。

再次,“算力分散的前提”。实际的比特币体系并不满足这一要求,具体理由如下:

其一,少数主体垄断算力。例如比特币体系中,70%以上的挖矿能力都集中在“防火长城(Great Firewall of China)”内侧,有两家企业几乎参与了全部交易。如果特定的政府左右了比特币的运行,就会出现与中本聪的设想背道而驰“反乌托邦(Dystopia)”。

其二,区块链软件的正版验证极为困难。这里的软件不仅是各节点导入的软件,以比特币为例,还包括交易脚本语言、以太坊的智能合约等。究竟有多少人会自己写代码,又有多少人确认过代码呢?大部分的用户、开发者、下载网站、智能合约都默认“信任”已有框架,但这一体系却难以担负“去信任”的重担。

从系统稳定性来看,区块链软件极其分散,种类繁多。如果使用单一软件,而软件又有漏洞时,“正当节点的算力总和始终超过不正当节点之和”的前提就轰然崩塌。

开发团队及时修补漏洞,相当于系统中“神”一样的存在。2016年6月发生的“The DAO事件”就是利用漏洞攻击的典型案例。

抛弃过高期待,探索现实用途

以上我们了解了什么是“信任”、区块链的“去信任”和目前的信任情况。

总的来看,很难说现有区块链技术实现了“去信任”。尽管“值得信赖的第三方”发生了改变,从实体机构变为软件开发者或其他部门,但是这种改变并不一定能够提升信任。除非满足中本聪论文中提出的全部条件,否则甚嚣尘上的“去信任”“低成本”都只是一种幻想。

当然我们不是全盘否定区块链的作用,笔者对区块链依然充满期待。只是希望实际应用时,用户可以放弃不切实际的幻想,仔细了解、努力达成各种前提条件,否则一旦幻想的美梦破灭,长久积累的良好印象将一去不复返。

10年间,很多技术都这样逐渐消失,我们不能让区块链重蹈覆辙。尽管本书的主题是比特币的区块链技术,其实也同样适用于其他方面的技术。无论是哪个领域,事先都要认真确认前提条件和结果。也许这样的工作烦琐而艰巨,然而当今时代,我们最缺少的就是这种务实的研究。



新书推荐《拷问区块链》