区块链的5大问题
2017-12-15LucasMearian
Lucas+Mearian
区块链虽然有望重塑业务流程,但它依然是漏洞不断的新兴技术。
区块链看起来好像要颠覆很多行业的业务流程和信任模型,但实际上它仍然处于早期阶段,对在用的各种版本分布式分类账的审查还远远不够。
据Forrester研究公司的一份新报告,虽然这一技术很有发展潜力,但研究区块链的首席信息官及其业务伙伴们应做好部署时会遇到挫折的准备,包括严重的软件漏洞,以及量子计算带来的风险等。
专家和分析师还警告说,并不是每一种业务流程都适合采用这种技术。
例如,Ethereum exchange Leverj的创始人Bharath Rao对于区块链在加密货币之外的应用是持怀疑态度的;他认为这部署起来比集中式关系数据库等传统交易技术更慢,而且成本更高。
Rao表示:“它通过牺牲效率来给自治买单”,他解释说,因为在插入新的记录或者区块之前需要对其进行加密验证,对于需要快速交易结算的业务应用而言,其效率不高。
他说:“其次,由于它的链式特性,必须按顺序插入区块。这意味着更新速度比传统数据库慢,而传统数据库可以并行更新数据。”
Rao并非唯一持怀疑态度的人。Forrester研究公司主要关注区块链背后现实与炒作的争论,这很有意义。
Forrester在报告中讲到:“世界经济论坛将其概括为,该技术的实践会带来全球性的风险…,从来没有这么多的人从仅有少数人能理解的技术中得到如此多的东西。”
Forrester预测,2018年,“炒作机器还会继续全速运转。”Martha Bennett是Forrester首席分析师,也是这一最新报告的主要作者,他认为,然而在现实中,区块链的进展可谓是缓慢而稳定,小众化的部署比大企业的应用更为普遍。
据Forrester,以下列出了区块链的五大问题:
区块链虽是新技术,但软件有缺陷
虽然“Satoshi Nakamoto”(可能是一个人,也可能是一组开发人员的化名)于2008年首次提出了分布式区块链的概念,但该技术的实际应用只有几年的历史,主要应用是围绕着加密货币或者虚拟货币交易的分布式分类账。
两个最流行的区块链平台Hyperledger和Ethereum都不成熟,在部署中会出现意想不到的问题。Forrester建议,首席信息官们和他们的团队应意识到,有可能会在软件中发现严重的缺陷,甚至不得不放弃一个项目,重新开始。
Bennett过去三年一直在研究区块链,他表示:“不只是区块链社群,而且还有一些尚未深入开展项目的企业也说所有的软件都有缺陷,有些不仅仅是缺陷了。”
例如,执行智能合同的Ethereum脚本——Solidity,目前还不支持使用小数点,这就需要开发人员创建一个工作区,或者重新开始。
Bennett说:“我在很多场合中都遇到过这种情况。当我和一些正在从事大型而且重要的项目的人们交流时,他们也说,他们接触这项技术的时间越长,就越意识到它是多么的不成熟。”
本周,名为Ether的Ethereum加密货币中的数亿美元被冻结了,原因是一个代码漏洞,允许一个用户去锁定别人高达3亿美元的钱。
由Parity Technologies管理的区块链要求用户之间达成共识后才能去改变分类帐的状态,但一个代码漏洞导致一名用户“不小心”成为链中的所有加密货币钱包的唯一所有者。
区块链并不总是适合存储数据
区块链最大的资本在于其一次写入,然后可以追加写入多个分布式分类账的特性;它能够很容易地部署在网络的不同节点上,而每个记录都含有它自己的哈希散列,使其不可改变。
据Bennett,相对于只有部分用户能够通过内部系统,或者一些黑名单来进行审查相比,基于区块链网络的分布式分类账可以提供更丰富、更全面的交易历史记录。
然而,这并不意味着与交易相关的数据必须是该链的组成部分。
例如,如果区块链用户的交易中含有图像,那么数据量会快速增长——就像网络开销一样,因为不断追加的数据存储会随着时间的推移而越来越大。据Bennett,由于区块链的分布式特性,所有的数据必须被复制到链上的所有节点。
对于某些交易任务,使用独立网络存储的关系数据库要比不断增长而导致失控的区块链好得多。
Bennett表示:“经验法则:当关系数据库能够胜任时,绝不要使用基于区块链的架构。”
区块链不一定安全
一般有两种类型的区块链,公有和私有。公有区块链允许任何人加入;比特币是公有区块链一个很好的例子,想要购买加密货币的任何人都可以加到区块链中。它是开放透明的,意味着链上的每个人都可以看到所有交易。
私有区块链是集中管理的,经过批准才能加入;适合在一个组织或者合作伙伴组织中使用。只有授权用户才能加入。
公有和私有区块链本身是安全的,因为他们是不可改變的(即,每一个记录和区块是不可改变的,并且与所有其他记录和区块相关联),要添加新的区块,必须经过用户的共识;能达成多大的共识必须依赖于在用的区块链。有的是50%;而其他的,可能更多。但是,区块链的不可改变性和共识特性使得它比其他任何网络技术都更安全。
然而,区块链还依赖于应用软件和密码,有数以百计的初创公司开发了区块链技术,他们不一定使用经过试用并且可靠的算法。
例如,比特币使用了经过时间检验的哈希散列SHA-256算法。但研究表明,量子计算最终能破掉该算法。其他区块链正在实施新的加密算法,而您得到的只是开发人员承诺这些算法没问题。
Bennett表示:“随便问一个密码学家,一个新的加密算法需要几年的时间才能被接受。当一个初创公司以一种全新的做事方式出现时,没有人去仔细地研究数学——您真的感打赌吗?我们已经看到初创公司试图想出新的哈希算法的例子,但全都是大错特错的。”endprint
据密码学家和安全专家Bruce Schneier,迄今为止,区块链网络从未遭受过黑客攻击,将来也不太可能发生。
Schneier表示:“其实它不是以这种方式被攻破的。是因为软件中的一些不安全因素而被攻破。”
例如,2016年,通过分布式区块链运作的风险投资基金Dao,由于代码漏洞,价值超过6千万美元的Ether数字货币被盗。
同样在2016年,总部位于香港的加密货币交易所Bitfinex有价值6千8百万美元的12万枚比特币被盗。有报告指出,Bitfinex使用了比特币钱包提供商BitGo,而它可能有软件漏洞。
规模和保密是两个最大的挑战
区块链技术实际上利用数学原理取代了人与人、人与企业以及企业与企业之间的内在信任。据Bennett,越是依赖于数学原理,它就越昂贵,因为参与的节点(服务器)越多,环境计算密度就越高,成本随之攀升。
Leverj的Rao对此表示同意。
由于其链式特性,插入到区块链中的每一个新记录都要按顺序排列,这意味着更新速度比传统数据库慢,而傳统数据库可以并行更新数据。
Rao表示:“这个昂贵而又缓慢的过程对于全球网络来说是合理的,因为其所有参与方都有可能是恶意的。但在企业环境中,所有参与方都是受控的,花费大量的精力和时间而基本上得不到额外的好处,这没有任何意义。”
此外,最流行的形式——公有区块链,是公开透明的,链上的任何人都可以看到每一笔交易。比特币就是这样。
然而,当您在商业环境中工作时,完全透明通常并不是件好事。如果区块链技术被用在股票交易平台上,作为一种即时结算机制,那么,链上的每个参与方都可以看到其他用户正在做什么;这样,用户之间可以实时进行交易。
另一个例子,如果一个制造商使用区块链为其供应商提供开放分类账,那么一个承包商就能够看到链上的所有其他分包商。
Bennett说:“尽管您想在链上有自己特定的交易流程,也不希望客户看到所有的分包商是谁。那么,您马上面临做出怎样选择的决定,交易数据要保密。”
区块链上有建立排他性的方法,只有部分用户能够看到机密或者敏感的数据。
例如,Linux基金会下的一个开源项目Hyperledger使用“通道”或者子区块链,以确保只有一些授权用户能够看到敏感信息。
区块链支持的智能合同有些言过其实
智能,或者自我执行的合同是区块链非常有吸引力的一种特性,因为它能消除管理开销;本质上,一旦合同的某些条件得到满足,就会自动发放货款、资产或者货物。
例如,保险公司可以使用智能合同,根据飓风和干旱等某一地区性的事件来发放索赔资金。
然而,Bennett认为所谓的“智能合同”既不聪明,也不属于法律意义上的合同。
Bennett说:“在概念上,这是个好主意。它是业务流程自动化的一种形式。为了实现业务流程的自动化,您需要在流程上达成一致——什么样的规则应用于该流程,然后您需要将其转换成代码。这决不像人们想象的那么容易。”
再加上区块链脚本语言还不成熟,程序员实际上还要面对非常陡峭的学习曲线;这会导致缺陷和漏洞。
区块链参与方也需要就怎样遵守合同的执行方式达成一致,如果合同出现争议,也应协商好该怎么办。
Bennett表示:“如果发生了什么事情导致您忘了对它编程的话,就需要采用一种链下方式进行编程,或者如果它没有按照预期开始工作时,就需要打开‘自毁开关。”
例如,2010年,一个自动交易执行系统经历了一次“闪电式崩盘”,影响了全世界的交易。
当时,一名大型基础交易员选择通过一种自动算法来执行销售程序,该算法被设定为把订单输入到交易平台中。卖出计划的执行导致有史以来最大的单日净变化,出现了异常高的波动,致使系统崩溃。
崩盘的结果是,监管机构制定了一些规则,如果股价在五分钟内上涨或者下跌10%或者更多,就会触发个股交易的暂停,从而有效地实施了“自毁开关”。
Bennett说:“当然,这是与智能合同以及所谓不可改变的概念不相容的地方。因为智能合同中的不可改变性意味着您必须永远忍受最严重的安全漏洞。”
Forrester在报告中指出,随着区块链技术的日臻成熟,围绕着它开展了很多学术研究,特别是一些数学构想。一些企业已经下令对今后可能采用的解决方案进行彻底的数学审查,2018年,市场上会有很多类似的事情。
虽然Bennett和一些其他人表示他们理解为什么区块链是革命性的概念,因为它提供了一种新的业务和交易信任模型,但这些模型仍然要面临市场的考验。
Bennett说:“如果您注意一下目前的大多数企业区块链项目,他们都是在优化现有的项目。但是,要想真正重塑包括公有流程在内的某些流程的运作方式,恐怕尚需时日,因为这项技术还没有完全成熟。”
创建一个新的业务流程还需要在不同用户之间针对某些条件达成一致,而且已经有一些区块链项目被搁置的实例,因为人们无法就运作条件达成一致。所以,区块链不仅和IT有很大的关系,也涉及到合同协议。
Bennett说:“就像最近有人对我所说的那样,区块链80%是业务,20%是技术。”
Lucas Mearian——高级记者,其工作涉及企业移动问题,包括移动管理、安全、硬件和应用程序,以及企业协作技术等。
原文网址:
http://www.computerworld.com/article/3236480/emerging-technology/the-top-5-problems-with-blockchain.htmlendprint