尼克·萨博:可信任计算的黎明
时间:2014-12-17 来源:巴比特 作者:少平
现在的计算机不值得完全信任,但在许多重要任务上,它们比人类的速度快很多,所以,我们以遭受身份欺骗和其它不断增加的灾难性攻击为代价,大量使用它们,从中获得巨大利益。最近,被称为“区块链”的新兴技术正开始改变这一切,使我们以前不敢在全球网络上进行的基于信任的交互成为可能。 ---- 现在,当我们在手机网络或者互联网上使用智能手机或者平板时,这一交互的另一端运行在一台计算机上,例如网站服务器。实际上,这些所有的机器的架构,被设计成能够被一个人或者一组彼此知晓、信任对方的人控制。 从网站的用户或者应用的用户的角度讲,这一架构是基于对未知的拥有最高权限的管理员的完全信任。 此管理员能够控制服务器上发生的任何事情:他们能够随意地读取、更改、删除或者限制服务器中的任何数据。即使加密发送的数据最终也是非加密的,也能够被控制。 现在我们完全信任网站服务器,也就是说,我们非常容易遭受来自于服务器,或者更加准确地说,来自于能够控制服务器的内部人和黑客的攻击,从而网站不能如实地执行我们的命令和保证支付安全等等。如果服务器端的某人忽视或者篡改用户向服务器所发送的命令,没有可靠的机制阻止他们,只有不可靠的、成本高昂的、限于一国之内的人类制度能够阻止他们。 网站服务器的脆弱性完全不同于传统的商业协议,例如电影院的售票。传统的商业协议分散一笔交易,从而没有内部员工能够以不被别人发现的方式偷取钱财或者资源。在电影院中没有一个能够不知不觉从顾客手中偷钱的“根管理员”。因为,不同于一个网站服务器,这些被称为财务控制的传统协议,能够安全地处理现金,为了看一场电影、在商店购物或者其它日常商业交易行为,你不需要填写一个表格。你只是使用现金交易,然后获得所购买的商品。虽然这一过程经常速度很慢,并不完美,但是它提供了安全性、财务控制和信托交易的可验证性,这第一点优于网站服务器,并且能够减少顾客隐私泄露。 在互联网上,我们不能进行现金交易,为了进行网上交易,我们不得不填写表格,从而使得我们更加容易遭受身份盗窃,超过边界和其它信任界限,许多种类的交易难以实现,甚至纯线上交易也不能实现。 现在的计算机不值得完全信任,但是在许多重要任务上,它们比人类的速度快很多,所以我们大量地使用它们。我们以遭受身份欺骗和其它不断增加的灾难性攻击为代价,从计算机和公共网络中获得巨大利益。 最近,被称为“区块链”的新兴技术正在开始改变这一切。 区块链计算机是虚拟计算机,云中的计算机。它被许多传统计算机所共享,依靠密码学和共识技术保证安全。图灵完备的区块链赋予我们这一共享的计算机。更早期的研究包括状态机复制(见文末链接中的论文)。QuixCoin和以太坊(Ethereum)正在开发图灵完备的区块链。这些区块链计算机将允许我们将线上协议最重要的部分放到更加可靠和安全的基础上,使得我们以前不敢在全球网络上进行的基于信任的交互成为可能。 正如在通用个人计算机黎明以前,袖珍计算器首先开启了有限的个人计算时代,比特币已经使用一个功能有限的区块链计算机开辟了可信任计算领域。比特币实现了一种货币,津巴布韦的人可以使用这种货币向阿尔巴尼亚人进行支付,不需要依靠任何本地的机构。比特币能够实现许多其它有趣的信任最小化(trust-minimized)的操作,包括多重签名。但是比特币因语言的限制和过小的存储,不能用于其它大多数基于信任的应用,最明显的例子是在多个金融工具间分享抵押品的风险基金(risk pools) 。 与网站服务器不同,区块链计算机被许多由数以万计的人控制的传统计算机分享。根据设计,每个计算机都检查其它计算机的工作,从而区块链计算机可能可靠地、安全地执行我们的命令。区块链技术也存在安全的上限,被称为匿名的和概率性的拜占庭共识(有时也被称为中本聪共识)。最为人所知的安全限制是51%攻击。在本文中,我们不将深入讨论这一底层技术的限制,我将用“信任最小化”取代夸张的“无需信任”这一表达。在这一背景下,“信任”意味着需要信任远方的陌生人,从而容易遭受他们的伤害。 信任最小化的代码意味着你只需要信任代码本身,不需要信任远方任何特定计算机的所有者。阿尔巴尼亚的智能手机用户可以使用区块链与某个津巴布韦人控制的计算机进行交互,但是他们不需要以任何方式知晓或者信任彼此,他们也不需要依靠任何一个国家的机构,区块链计算机仍能够安全可靠地运行代码。无论计算机或者它们的所有者在哪里,它们分享的区块链计算机将按照共识技术所允许的可靠度和安全度执行。与网站服务器技术相比,区块链计算机提供了更好的可靠性和安全性。 与电影院的出纳员和验票员不同,区块链包括数以千计的计算机,它们能够处理电子门票、钱和其它许多数字形式的物品。想象一下几千个戴着绿色眼影的机器人,它们都在检查其它机器人的账单。单个机器人(或者它们的主人)不值得信任,但是所有的机器人由数学算法进行协调,就会产生高度的可靠性和安全性。 区块链的支持者经常谈论“去中心化的”区块链和“中心化的”网站或者中心化的机构,并进行对比。实际上,与密码学相结合的协议(中本聪共识,高度分布化),而不只是去中心化,才是区块链更高可靠性和更低脆弱性的源头。密码学为所有的交易和数据更新提供一个不可伪造的证据链。许多其它去中心化或者点对点(P2P)技术没有能够提供,由拜占庭或中本聪共识,以及加密哈希链保护的区块链,所提供的安全性和可靠性,但是它们吹嘘自己也是区块链或者密码学货币。 其一大缺点是,在线分布式区块链计算,比网站服务器慢很多,成本更加高:粗略的估计,要比网站服务器慢10000倍,成本也高10000倍,或者等同于1985年在常规的计算机上运行程序的速度和成本。出于这个原因,我们只能在区块链上运行部分需要最高的可靠性和安全的应用:我称之为信托代码(fiduciary code)。因为由不可靠和不安全的网站服务器运行信托代码所引起的人为问题的成本,经常比运行区块链代码所需硬件的成本更加高,所以,当网站服务器的可靠性和安全性达不到要求时(例如网站服务器经常达不到支付和金融合约所需的可靠性和安全性要求),在区块链上运行代码比在网站服务器上运行代码,效果更加好。更好的是,区块链使得新的基于信任的应用成为可能,以前我们不敢在网站服务器上做这些事情。 我们运行什么种类的信托代码呢 我们仍正在构想新的应用,可行的应用将处于不断变动中,但是我们可以采用高效的思考方法,通过类比管理传统信托机构的传统法律条款,思考信托应用。信托代码将执行一些被传统认为只有商业法律所才能实现的功能,但是可依靠软件安全可靠地跨越全球,而不用顾忌传统的管辖权。从而: ● 产权(注册资产):链上(on-chain)注册可以是为链下(off-chain)资产提供合法的注册,也可以用于控制链上资产,从而为资产提供安全可靠的保管。我们可以将比特币这样的密码学货币认为是产权。区块链也可以控制硬件,此硬件控制着物理财产的功能及人口。 ● 智能合约:用户通过用户界面同意执行区块链代码,这些代码包括在不同的时间或者不同的条件下,转移钱或者链上资产,转移和确认其它种类的信息,以及结合湿的或者传统(链下)和干的(链上)性能。区块链能够将密码学货币做为抵押品,激励能够被参与方或者第三方链上确认的链下执行(performance)。一个完整的区块链计算机能够将链上资产整合到由一个链控制的风险池中,该风险池在许多类似的金融合约中延伸,减少了需要存储在链上的抵押品的数量,同时将对链下抵押品的需要最小化。区块链也能使得合约的搜索、谈判和确认阶段更加可靠和安全。有了链上智能合约,我们将能够通过按钮,而不是填写泄露个人信息的表格,购买和出售许多线上服务和金融工具。 ● 链上债券、信托等:钱存在于区块链上,并被多重签名控制着。将拥有签名的债券放到区块链计算机上,是一个很容易实现的目标。但是在“分布式自治组织”(DAO)之下,经常与更多的投机性相联系。分布式自治组织,可能包括投票股权和控制债券的其它机制。 我希望在未来的文章中讨论这些区块链应用,特别是智能合约。在许多区块链的讨论中,有许多未来主义,包括尽力解决实际上不能由区块链解决的问题。在不远的未来,我将摘取在Quixcoin、以太坊或者其它类似技术上可以实现的胜利果实,仍然与传统协议和机构的必要部分进行联系,而不是重新发明和取代它们。 引用 这里有八篇关于区块链技术的计算机科学论文(包括密码学货币)。 译者注:译者水平有限,有能力的读者,最好去看原文。 |