采用分布式账本技术中的10大障碍

该研究中心的目的是用商业语言为决策者和分布式账本技术爱好者提供有关分布式账本技术的简要报告。这类报告是由该领域的专家根据他们在技术方面的实际经验编写的。目录:,1.可用性:为什么使用分布式账本?2.治理机制:由谁制定规则?三、有意义的比较:哪个更好?四、密钥管理:交易如何进行?五、敏捷:采用什么算法?六、互通:如何彼此沟通?7.可扩展性:为什么每次交易都要储存?8.成本效益:最经济的办法是什么?9.隐私:如何保护资料?10.可扩展性:我们必须完全同意吗?免责声明:本白皮书仅供一般信息讨论,参与者对因使用、依据白皮书中的信息或采取行动而造成的直接或间接损失概不负责。研究人员及相关作者的这些观点未必反映R3或R3联盟成员的观点。比特币匿名创立者中本聪在2009年1月向全世界发行了比特币。之后的几年里,这种加密货币和其底层技术叫做区块链,很少有人能预测到它的发展日新月异。这一方面受到了世界一些国家的赞誉,一些人预测,有朝一日“区块链”将像“因特网”一样在全球流行。另外一方面,它被一些政府禁止使用,也有人宣称它是“漂流”和“死亡”。2013年晚些时候,比特币价格飙升至1200美元/比特币,但随后一年,比特币价格在200美元/比特币和500美元/比特币之间徘徊,然后在2016年又开始稳步上升,目前的价格已经接近其最初的高峰,讨论了很多年,主要集中在比特币,后来人们开始认识到区块链的更多潜力,以及诸如以太坊、 Steem、 Zcash等“下一代”相继推出。一些较成熟的公司也意识到区块链中更为抽象的特性,如恢复力、完整性等价值,并将其重新应用到具体行业中,创造了一种叫做分布式账本的更广泛的技术类别,并形成了诸如R3和 Hyperledger这样的行业联盟。有一点是越来越清晰的,那就是分布式账本,即使最终不会像“因特网”一样,它仍然会以某种形式存在。但是,分布式账本从目前的情况到被广泛采用,还有很长的一段路要走,而且有很多重要的决定要做,它们会影响到最终产品的安全性和适用性。下一步,本文作者将列出这一过程中的十大障碍,以及作为一个团体如何(并且一直在做)解决这些障碍。这些观点都是作者作为该研究领域长期的、积极的参与者所得出的见解,而且,为了避免将报告变成一本大篇幅的书,作者还必须提出许多有趣的解决办法。从最简单到最紧迫,或更确切地说,从最广泛到最具体,对这些问题进行排序时,可以稍作简化。但要想广泛、有效和持久地采用分布式账本技术,而不考虑如何解决这些障碍,就不可能实现。1.可用性:为什么要使用分布式账本?问:可用性是指什么呢?这在使用中有什么问题?这类情况有几种可能性,例如,有人可能会说,目前开发的分布式账本没有特别好的交互界面,而且如果没有专家知识,使用起来也很困难。这在某种程度上是正确的,但是我们应该期望这些问题会在任何新技术中出现,并且随着时间的推移和使用的增加,这些问题会得到更多的解决。(这里是关系数据库和图形开发工具,如果不够完善,开发用户界面可能会成为有用的历史),所以一个也许更有意思的“可用性”问题是:最终用户到底希望从分布式账本中得到什么?当前大多数已开发的终端用户交互密码都是具有几百年历史的风格。若要隐藏与某人的对话内容,则使用加密。若要别人相信你所说的真实性,可使用电子签名。但就终端用户的需求而言,分布式账本的完全可公开认证(或可追查、不可变性等等)究竟与什么相对应呢?有潜力、有发展潜力的解决方案据我所知,很少。迄今为止,关于这一领域的研究大多集中于更为迫切需要解决的架构问题,本文将稍后讨论。实际上,大多数最终用户可能对分布式账本的属性不感兴趣(正如他们可能对常规数据库的属性不感兴趣一样)。但是,鉴于越来越多的用户已经在像比特币这样的平台上进行了互动,而且分布式账本的潜力正在被讨论,因此,通过使用这些技术能够获得哪些具体的好处,仍然值得探讨,2.治理机制:由谁制定规则?提问。分散记账的妙处在于,没有任何一个实体可以控制网络所做的决定;例如,在比特币中,只有当网络中的大多数节点都同意这种行为的有效性时,货币才会从一方转移到另一方。如果任何一个结点的能力太强了,那么这个过程就会受到威胁,而在这些去中心化网络的运行中也存在着一个更大的问题:首先由谁来决定哪些行为是有效的?事实上,所有这些网络的运作都是根据一套既定的规则来进行的,“谁制定规则,谁执行规则,两者同等重要”,当规则形成时,即使非中心化的网络也会产生严重的中心化。就比特币而言,新区块的加入速度,参与者将交易封存在账本中的奖励,以及其他许多参数都是由中本聪提出的,并且自那以后没有变化。EtherGroup目前在其网络中实施了四个所谓的“硬分支”,在这些分支中,参与者基本上都必须转换到新的软件版本,才能遵守由核心开发者组成的团队制定的新规则。在加密货币基础设施日益普遍的治理机制崩溃的时候,最有趣的一个影响是,很多天才第一次意识到它的存在。所以问题不仅在于我们不知道如何管理这些技术或管理结构是中心化的,还在于我们需要在这些结构如何运作以及谁负责管理这些方面更加透明。有潜力、有发展潜力的解决方案一些研究论文将重点放在了执行规则的实体如何保持非中心化,尽管在更广泛的分布式账本中,如何激励参与者帮助维护账本仍然是一个有待解决的问题。(例如,除了谷歌和其他大型认证机构外,尚不清楚还有谁愿意投入必要的资源来维护一个具有证书透明性的日志服务器,而这样做并没有给这些实体带来明显的回报。)对于制订规则的实体,很少有人提出解决办法。《萨托西·奥斯》一书中概述了一个誓言,即每个人都必须创建一个基于区块链的应用程序,但这仍然只是一个指导方针。像R3和 Hyperledger这样的大范围分布式账本项目选择了基于联盟的方法,而像证书透明这样的项目则选择了非常集中的方法。但是,正如在第3项中所表明的,这些方法之间的比较如何,随着这些平台的普及,这些结构将如何演变,这一点尚不清楚。三、有意义的比较:哪个更好?提问。比特币是第一个基于我们现在所知道的区块链结构的加密货币,但肯定不会是最后一个。市场上有成千上万种加密货币可供选择,每一种都有其独特的卖点。EtherGroup提供了一种更具表达性的脚本语言和维护状态。Little可以比比特币更快地创建区块。狗钱里有一条可爱的狗。除区块链外,还有很多其他的基于共识协议的加密货币方案,比如股权证明, PBFT,两阶段委托等等。还有一些关于非货币相关设置的建议,例如证书透明度、R3证书结构和超级账本结构,这些仍然适用于分布式账本的大框架下。当这种情况变得越来越复杂时,自然会产生一个问题,即如何区分哪些方案最适合于给定应用程序。您需要区块链还是数据库呢?或许一张 Excel表格就够了?返回到第一项,你希望满足的本质是什么?是否需要完全公开可验证性?(如有必要为何?)即便有人可以指定一个必需属性的列表,但对于哪个平台支持什么属性以及支持的程度还不清楚,有潜力、有发展潜力的解决方案一些最新研究报告从不同加密货币选择了不同的参数(例如,比特币10分钟生成区块,每隔2.5分钟生成一个莱特币),以及影响这些参数对系统安全性的各个方面进行分析,结果发现,同一级别的安全攻击可以通过以太坊37块区块和比特币6块区块(这是两个相对过时的区块比率的结果)。这项研究特别关注基于工作证明的加密货币,因此并未扩展到更为通用的分布式账本或替代共识协议(见第3项的示例)。四、密钥管理:交易如何进行?提问。有趣的是:2013年初,我用 Ubuntu在我的计算机上工作。我已经有4年定期升级了,但是系统已经到了线程过多影响其功能的地步,所以我决定重新安装这个操作系统。由于我桌面上所有的存储库都是基于版本控制的,所以我不使用备份就完成了安装。五分钟内,我就想到了一个可怕的事实,那就是我的比特币钱包就在桌面上。幸好我的比特币储藏量很少,但是在过去的几年里,发生了很多类似的事件,损失了更多,在公开报道事件中,最糟糕的就是有人损失了7500比特币。重要的是,一旦钱包丢失或者你的钱被偷了,加密和交易的不可撤销性意味着无法挽回。有个公开的例子,当被攻击后,利用代码漏洞 The DAO背后的智能合约,社区除了看着自己内部所有的资金被盗取(之前,一些以太坊治理机制开发者讨论了创建并支持使用硬叉来修复损害),什么都做不了,尽管这类事件对涉及的个人造成了严重的经济影响,但这类事件发生在像“西部狂野世界”一样不受监管的加密货币上并不令人吃惊。由于有人建议采用加密货币,例如将比特币钱包集成到 Linux发行版中,因此也有可能对这类钱包还没有做好准备,也缺乏经验,因此也可能导致更严重的后果。所以我们需要更强大,更能应对钥匙丢失和被盗的情况。有潜力、有发展潜力的解决方案要解决这一问题,常用的比特币技术是使用多重签名,在这种技术中,多方将他们的公钥连接起来,创建一个地址,该地址的签名子集可以满足其内容。举例来说,在3-3个签名的地址里,三个人都需要签名,而在3-1个地址里,任何一个都可以。可以说,2-3号签名地址是防止密钥丢失的最好办法,因为即使丢失了一个密钥,存储在该地址中的资金也可以被访问(另外,攻击者还需要访问两个单独的密钥,以便从该地址窃取),同样,我们可以讨论秘密共享,即把密钥分配给某个值得信任的朋友(或设备),这样就不会发生共谋行为,但在任何时候,共享密钥都会有帮助。但是,对于这些解决方案,我们必须了解,如果对某些场景而言,它们工作的威胁确实存在(返回第10项),我们希望能够分发、存储和使用这些密钥。还有一个有待解决的问题,那就是要找到解决办法,让人们能够像以前一样轻松地重获丢失的资金,让用户重获忘记密码的帐户。五、敏捷:采用什么算法?提问。正如第二项所讨论的,在很多加密货币中,规则似乎是从头到尾:比特币使用 ECDSA代替了曲线sec256k1,虽然这看起来是个奇怪的选择。对于比特币地址的计算方法是使用 ECDSA公钥,执行SHA-256,执行扩展的RIPEMD-160,再执行SHA-256,并重新安排该输出的字节顺序,以及扩展的RIPEMD-160散列的输出,并将结果转换为base58字符串。管理开发人员已经确定了良好的利益相关证明协议(对于将取代 Ethereum中的共识协议的第3项,还有更多内容)。除这些严格规范所带来的治理问题外,还存在频繁出现的加密原语中断。最后,电脑将会变得足够强大,以至于SHA-256不再被视为安全。或许量子计算机不久将问世,并将允许拥有它的任何人伪造 ECDSA签名。尽管在这两个事件发生之前,可能会有足够的警告和时间给开发者,让他们转向更安全的选择(不管怎样,这个问题将远远超过分布式帐本本身!)。有人说,即使在向用户提供多种选择的今天,仍可以选择使用 TLS等系统。但是,就像 TLS一样,敏捷性也有可能引发危险的攻击,所以在如何实现和支持加密母语方面必须非常小心。有潜力、有发展潜力的解决方案敏捷性在几乎所有加密货币中都不存在:每个密码原语都有一个这样的实例。但以太坊却是个有争议的例外,它允许人们对任何密码进行技术编码,甚至通过在合约中包含定制库代码来实现,而有些东西在智能合约中是完全不安全的。但是,底层的密码技术(也就是通过网络中的点对点检查来验证个人交易)和其他加密货币一样严格,或许因为摆脱了经常遇到的加密货币的意识形态思维,产业主导的分布式账本变得更加灵活了。举例来说, Corda公司,单个用户在建立合同时可以从可用的算法中自主选择。在超级账本结构中,参与者基本上可以加入自己的一致意见。在这方面,是否可行根本不是问题,但是这些不同的选择如何结合起来(例如,如果在两个不同的协商一致意见下就总账的两部分达成一致,这意味着什么?对于整个系统来说也是如此。

提示:如果您觉得本文不错,请点击分享给您的好友!谢谢
相关推荐
新闻聚焦
猜你喜欢
热门推荐
 
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。