首页 > 数字货币 > 矿机知识 > 区块链技术的价值、挑战与展望
区块链技术的价值、挑战与展望
2009-05-18 (来源: 蜂王矿机-比特币矿机-莱特币矿机_挖矿机首选网站)

商业价值

现代商业的典型模式为,交易方通过协商和执行合约,完成交易过程。区块链擅长的正是如何管理合约,确保合约的顺利执行。

根据类别和应用场景不同,区块链所体现的特点和价值也不同。

从技术特点上,区块链一般被认为具有:

  • 分布式容错性:网络极其鲁棒,容错 1/3 左右节点的异常状态。
  • 不可篡改性:一致提交后的数据会一直存在,不可被销毁或修改。
  • 隐私保护性:密码学保证了未经授权者能访问到数据,但无法解析。

随之带来的业务特性将可能包括:

  • 可信任性:区块链技术可以提供天然可信的分布式账本平台,不需要额外第三方中介机构。
  • 降低成本:跟传统技术相比,区块链技术可能带来更短的时间、更少的人力和维护成本。
  • 增强安全:区块链技术将有利于安全可靠的审计管理和账目清算,减少犯罪可能性,和各种风险。

区块链并非凭空诞生的新技术,更像是技术演化到一定程度突破应用阈值后的产物,因此,其商业应用场景也跟促生其出现的环境息息相关。基于区块链技术,任何基于数字交易的活动成本和追踪成本都会降低,并且能提高安全性。笔者认为,能否最终带来成本的降低,将是一项技术能否被深入应用的关键

笔者认为,所有跟信息、价值(包括货币、证券、专利、版权、数字商品、实际物品等)、信用等相关的交换过程,都将可能从区块链技术中得到启发或直接受益。但这个过程绝不是一蹴而就的,可能经过较长时间的探索和论证

区块链影响的交换过程图 1.5.1.1 - 区块链影响的交换过程

目前,区块链技术已经得到了众多金融机构和商业公司的关注。

已经对区块链技术进行投入或应用的金融机构(排名不分先后)目前有:

  • Visa
  • 美国纳斯达克证券交易所(Nasdaq)
  • 高盛投资银行(Goldman Sachs)
  • 花旗银行(citibank)
  • 美国富国银行(Wells Fargo)
  • 中国央行
  • 中国浦发银行
  • 日本三菱日联金融集团
  • 瑞士联合银行
  • 德意志银行
  • DTCC
  • 全球同业银行金融电讯协会(SWIFT)

部分商业、技术公司包括:

  • IBM
  • 微软
  • Intel
  • 思科(Cisco)
  • 埃森哲

关键技术和挑战

从技术角度讲,区块链涉及到的领域比较杂,包括分布式、存储、密码学、心理学、经济学、博弈论、网络协议等,下面列出了目前认为有待解决或改进的关键技术点。

密码学技术

怎么防止交易记录被篡改?

怎么证明交易方的身份?

怎么保护交易双方的隐私?

密码学正是要提供解决这些问题的有效手段。传统方案包括 hash 算法,加解密算法,数字证书和签名(盲签名、环签名)等。区块链技术的应用将可能刺激密码学的进一步发展,包括随机数的产生、安全强度、加解密处理的性能等。量子计算等新技术的出现,让 RSA 算法等已经无法提供足够的安全性。

这将依赖于数学科学的进一步发展和新一代计算技术的突破。

注:SONY PS3 私钥被破解事件 再次证明,即便足够安全的算法,如果没有被恰当的使用,都只是纸上谈兵。

分布式共识

这是个古老的话题,已有大量的研究成果(Paxos、拜占庭等)。

核心在于如何解决某个变更在网络中是一致的,是被大家都承认的,同时这个信息是被确定的,不可推翻的。该问题在公开匿名场景下和带权限管理的场景下需求差异较大。

比特币区块链考虑的是公开匿名场景下的最坏保证。引入了“工作量证明”(Proof of Work)策略来规避少数人恶意破坏数据,并通过概率模型保证最后大家看到的就是合法的最长链。此外,还有以权益为抵押的 PoS、DPoS 和 Casper 等。这些算法在思想上都是基于经济利益的博弈,让恶意破坏的参与者损失经济利益,从而保证大部分人的合作。同时,确认必须经过多个区块的生成之后从概率学上进行保证。

更广泛的区块链技术支持更多的共识机制,包括经典的拜占庭算法等,可以解决确定性的问题。

共识问题在很长一段时间内都将是极具学术价值的研究热点,核心的指标将包括容错的节点比例和收敛速度。PoW 等系列算法理论上允许少于一半的不合作节点,PBFT 等算法理论上允许不超过  的不合作节点。

处理性能

如何提高交易的吞吐量,同时降低交易的确认延迟。

目前,公开的比特币区块链只能支持平均每秒约 7 笔的吞吐量,一般认为对于大额交易来说,安全的交易确认时间为一个小时。小额交易只要确认被广播到网络中并带有交易服务费用,即有较大概率被最终打包到区块中。

区块链系统跟传统分布式系统不同,其处理性能无法通过单纯增加节点数来进行扩展,实际上,很大程度上取决于单个节点的处理能力。高性能、安全、稳定性、硬件辅助加解密能力,都将是考察节点性能的核心要素。

一方面可以将单个节点采用高性能的处理硬件,同时设计优化的策略和算法,提高性能;另外一方面将大量高频的交易放到链外来,只用区块链记录最终交易信息,如 闪电网络 等。类似的,侧链(side chain)、影子链(shadow chain)等的思路在当前阶段也有一定的借鉴意义。类似设计可以很容易的将交易性能提升 1-2 个数量级。此外,如果采用联盟链的方式,在一定的信任前提和利益约束下优化设计,也可以换来性能的提升。

目前,开源区块链自身在平台层面已经实现普通配置,单客户端每秒数百次的交易吞吐量(参考后面的 性能评测数据),乐观预测将很快突破每秒数千次的基准线,但离现有证券交易系统的每秒数万笔的峰值还是有较大差距。

另外,从工程设计和平台部署上,都存在一些可以优化的地方。

注:VISA 系统的处理均值为 2000 tps,号称的峰值为 56,000 tps;某支付系统的处理峰值超过了 85,000 tps;某证券交易所号称的处理均(峰)值在 80,000 tps 左右。

扩展性

常见的分布式系统,可以通过增加节点来扩展整个系统的处理能力。

对于区块链网络系统来说,这个问题并非那么简单。

网络中每个参与维护的核心节点都要保持一份完整的存储,并且进行智能合约的处理。因此,整个网络的总存储和计算能力,取决于单个节点。甚至当网络中节点数过多时,可能会因为一致性的达成过程延迟降低整个网络的性能。尤其在公有网络中,由于大量低质量处理节点的存在问题将更明显。

比较直接的一些思路,是放松对每个节点都必须参与完整处理的限制(但至少部分节点要能合作完成完整的处理),这个思路已经在超级账本中启用;同时尽量减少核心层的处理工作。

在联盟链模式下,还可以专门采用高性能的节点作为核心节点,用相对较弱的节点作为代理访问节点。

系统安全

区块链目前最热门的应用前景是金融相关的服务,安全自然是讨论最多、挑战最大的话题。

区块链在设计上基于现有的成熟的密码学算法。但这是否就能确保其安全呢?

世界上并没有绝对安全的系统。

系统是由人设计的,系统也是由人来运营的,只要有人参与的系统,就容易出现漏洞。

可以参考,著名黑客米特尼克所著的《反欺骗的艺术——世界传奇黑客的经历分享》,介绍了大量的实际社交工程欺骗场景。

有如下几个方面是很难逃避的。

首先是立法。对区块链系统如何进行监管?攻击区块链系统是否属于犯罪?攻击银行系统是要承担后果的。但是目前还没有任何法律保护区块链以及基于它的实现。

其次是软件实现的潜在漏洞是无法避免的。考虑到使用了几十年的 openssl 还带着那么低级的漏洞(heart bleeding),而且是源代码就在大家眼皮底下。这背后曾经发生过啥,让人遐想连篇。对于金融系统来说,无论客户端还是平台侧,即便是很小的漏洞都可能造成难以估计的损失。

另外,公有区块链所有交易记录都是公开可见的。搞大数据的人听了是不是开始激动起来了,确实,这里面能分析的东西还真不少,而且规模够大、影响力够大……实际上,已有文献证明,比特币区块链的交易记录最终是能追踪到用户的。

还有就是作为一套完全的分布式系统,公有的区块链缺乏有效的调整机制,一旦运行起来,出现问题也难以修正。即使是让它变得更公平、更完善的修改,只要有部分既得利益者合起来反对,那就无法加入进去。这让比特币本身的价值也蒙上了一层阴影。

此外,运行在区块链上的智能合约应用可能是五花八门的,必须要有办法进行安全管控,在注册和运行前需要有机制进行探测,以规避恶意代码的破坏。

2016 年 6 月 17 日,发生 DAO 系统漏洞被利用 事件,直接导致价值 6000 万美元的数字货币被利用者获取。尽管对于这件事情的反思还在进行中,但事实再次证明,目前基于区块链技术进行生产应用时,务必要细心谨慎地进行设计和验证。

数据库和存储系统

区块链网络中的块信息需要写到数据库中进行存储。

观察区块链的应用,大量的写操作、hash 计算和验证操作,跟传统数据库的行为十分不同。

当年,人们观察到互联网应用大量非事务性的查询操作,而设计了非关系型(NoSql)数据库。那么,针对区块链应用的这些特点,是否可以设计出一些特殊的针对性的数据库呢?

levelDB、RocksDB 等键值数据库,具备很高的随机写和顺序读\/写性能,以及相对较差随机读的性能,被广泛应用到了区块链信息存储中。但目前来看,面向区块链的数据库技术仍然是需要突破的技术难点之一。

笔者认为,未来将可能出现更具针对性的“块数据库(BlockDB)”,专门服务类似区块链这样的新型数据业务,其中每条记录将包括一个完整的区块信息,并天然地跟历史信息进行关联,一旦写入确认无法修改。所有操作的最小单位将是一个块。

可集成性

在相当长的一段时间内,基于区块链的新业务系统将与已有的中心化系统共存。

两种系统如何共存,如何分工,彼此的业务交易如何进行传递?

这些都是很迫切的问题。这个问题解决不好,将是区块链技术落地的很大阻碍。

其它

区块链提供的新应用和新的业务场景,也带来了对很多具体的运营问题。

例如:

  • 智能合约的合法性、安全性和可执行性;
  • 如何将现实中的合约和条约对应为电子合约;
  • 分布式系统的伸缩可靠性和数据迁移;
  • 对存储系统新的挑战,特别是性能。

趋势与展望

关于区块链的探讨和争论,自其诞生之日起就从未停息。

或许从计算技术的演变历史中能得到一些启发。

计算的历史,笔者于某次技术交流会中提出图 1.5.3.1 - 计算的历史,笔者于某次技术交流会中提出

以云计算为代表的现代计算技术,其发展历史上有若干重要的时间点和事件:

  • 1969 - ARPANet(Advanced Research Projects Agency Network):现代互联网的前身,被美国高级研究计划署(Advanced Research Project Agency)提出,其使用 NCP 协议,核心缺陷之一是无法做到和个别计算机网络交流;
  • 1973 - TCP/IP:Vinton.Cerf(文特•瑟夫)与Bob Karn(鲍勃•卡恩)共同开发出 TCP 模型,解决了 NCP 的缺陷;
  • 1982 - Internet:TCP/IP 正式成为规范,并被大规模应用,现代互联网诞生;
  • 1989 - WWW:早期互联网的应用主要包括 telnet、ftp、email 等,蒂姆·伯纳斯-李(Tim Berners-Lee)设计的 WWW 协议成为互联网的杀手级应用,引爆了现代互联网,从那开始,互联网业务快速扩张;
  • 1999 - salesforce:互联网出现后,一度只能进行通信应用,但 salesforce 开始以云的理念提供基于互联网的企业级服务;
  • 2006 - aws ec2:AWS EC2 奠定了云计算的业界标杆,直到今天,竞争者们仍然在试图追赶 AWS 的脚步;
  • 2013 - cognitive:以 IBM Watson 为代表的认知计算开始进入商业领域,计算开始变得智能,进入“后云计算时代”。

从这个历史中能看出哪些端倪呢?

一个是 技术领域也存在着周期律。 这个周期目前看是 7-8 年左右。或许正如人有“七年之痒”,技术也存在着七年这道坎,到了这道坎,要么自身突破迈过去,要么往往就被新的技术所取代。如果从比特币网络上线(2009 年 1 月)算起,到今年正是在坎上。因此,现在正是相关技术进行突破的好时机。

为何恰好是 7 年?7 年按照产品周期来看基本是 2~3 个产品周期,所谓事不过三,经过 2~3 个产品周期也差不多该有个结论了。

另外,最早出现的未必是先驱,也可能是先烈。 创新固然很好,但过早播撒的种子,没有合适的土壤,往往也难长大。技术创新与科研创新很不同的一点便是,技术创新必须立足于需求,过早过晚都会错失良机。科研创新则要越早越好,最好像二十世纪那批物理巨匠们一样,让后人吃了一百多年的老本。

最后,事物的发展往往是延续的、长期的。 新生事物大都不是凭空蹦出来的,往往是解决了前辈未能解决的问题,或是出现了之前未曾出现过的场景。而且很多时候,新生事物会在历史的舞台下面进行长期的演化,只要是往提高生产力的正确方向,迟早会出现在舞台上的一天。

坚持还是放弃?图 1.5.3.2 - 坚持还是放弃?

目前,区块链在数字货币领域(以比特币为代表)的应用已经相对成熟,而在智能合约方向尚处于初步实践阶段。区块链技术的应用已经在许多领域都带来了生产力提升,笔者相信,随着技术进一步的发展,区块链将会促进金融和信息科技走向新的阶段。