事实上,创新技术都会像野火一样传播,只有在实践阶段才会出现局限性。区块链技术也是如此。
一项新的技术,我们会发现其优点,然后畅想可以理想化地应用在各类场景,从个人私有云到精准式扶贫,从文章原创到慈善捐款,但实际的“杀手级应用” 仍然是比特币和以太坊等局限于纯虚拟经济体系的加密货币。根据调查报告,全球在5月份里共披露区块链应用项目达到84个,国内占据37个。分布在金融、溯源、政务三大领域,甚至还出现了区块链电子存证平台、住房抵押贷款平台、征迁安置资金管理、名贵钟表溯源等新的区块链应用试点。现实社会中解决实际需求的区块链系统虽为数众多、百花齐放,但均是小规模探索和尝试,甚至强行制造应用场景,真正成功规模化者寥寥无几。
每种技术都有它的局限性,它们最终会演进发展或者变得过时。自从比特币诞生以来,区块链已走过了漫长的路,先后具备了去中心化、可追溯性、不可篡改性、不可伪造性、不可否认性和可编程性等特点。在之前的媒体上,总能看到将区块链和比特币统一表述的错误习惯, 就好像这两个基本上是同义词。我几乎未听到非程序员去谈论SQL与NoSQL数据库,虽然它们有着关系型和非关系型数据库的存储方式差异。区块链同样是种数据库存储技术,却因比特币的增值繁荣,被芸芸大众所关注。当然,这离不开媒体的推波助澜,将任何从事具有加密签名、数据重构的种种相关现象都置于“区块链”的保护伞下,传统公司和机构也发现一个时髦的流行语,并歪曲它,声称属于它的板块。
机械工业出版社出版的《区块链核心技术开发与应用》一书就认为目前区块链技术在数学工具、博弈论、密码学、代码等方面存在局限性,还有很大的改进空间。自动化学报的《区块链安全问题:研究现状与展望》论文也全面的论述了区块链面临实际网络状况的安全挑战。
区块链数据层中的交易和区块实体都涉及到公钥加密、数字签名、哈希函数等多种密码学,以及组件环签名、零知识证明等隐私保护技术,但是随着量子计算的兴起,现有的密码算法将面临安全性降低甚至被攻破的危险。区块链应用普遍缺乏有效的密钥管理技术,因使用、存储不当导致的密钥泄露和丢失都给数字资产用户带来巨大利益损失。区块链允许用户拥有多个假名,仅提供了较弱的用户身份匿名,通过交易图谱分析和交易聚类分析可以根据交易特性推断出所有者的真实身份。一些密码组件在编译的过程中也可能存在缺陷和漏洞,交易延展性攻击常被用于针对加密货币交易平台的攻击手段。
区块链网络层包含的多种网络技术本身的安全问题必然会对区块链网络层带来安全风险,包括P2P网络缺少身份认证、数据验证、网络安全管理机制,节点的网络拓扑结构也会为攻击者实施攻击创造便利,而网络传输用户IP地址之间的关联性,也能被监听追踪。
共识层是区块链架构的核心,根据采用的基础协议不同,可以划分为5大系列,包括PoW、PoS、拜占庭容错、分片技术、可信硬件,区块链上的共识机制发展尚不完善,普遍存在安全性证明不完备、安全性假设不可靠、扩展性差、一致性不稳定、初始化和重构难等问题,不同类型的共识机制还面临不同的攻击威胁。
区块链的激励层与共识层相互依存,共同维护区块链系统的安全性与稳定性,激励层需要解决的主要问题是经济学上的激励不相容,指参与维护的矿工不会实施危害安全性的恶意攻击,但是会以自身利益最大化来指导自己的挖矿策略,这种策略与区块链整体利益形成冲突,破坏区块链系统效率和稳定性,包括自私挖矿攻击、Nothing at stake攻击、扣块攻击和激励不可持续问题。
智能合约是合约层的核心,最早由Nick Szabo提出,后经以太坊重新定义,但由于智能合约代码开源、涉及数字资产转移,一旦代码漏洞被利用,会造成不可逆转的损失。除智能合约创建者在设计业务逻辑时的文本安全问题以外,合约层还面临智能合约代码漏洞、外部数据源调用、缺乏形式化验证、难实现隐私保护等问题。
应用层是指区块链技术在金融、供应链、能源等多领域具有广泛的应用场景,作为直接与用户交互的区块链层级,在架构设计上一般需要具备API接口、跨链异构和监管技术,而目前看来面临跨链操作难、监管技术缺失和应用层攻击等问题。
综述,我们总是会把区块链技术“完美化”,在经济学家、密码学家、计算机科学家眼中,区块链技术还有很多需要改进的地方。
区块链是一个不可否认的巧妙发明,但也有大量困扰技术专家和行业从业者的缺陷,主要包含安全、性能、成本、能源、隐私、监管、冗余、复杂、漏洞、投机、原数据真伪等。毫无疑问,区块链与生俱来的自由主义技术特色,也会引发理想与现实的博弈、现实社会的内在运行规律的矛盾和冲突。
如何充分利用区块链的新技术特色,发掘适合区块链技术的现实场景,并从区块链底层的数据结构、密码学技术、通信网络、共识博弈、经济激励和可编程合约等方面取得突破和渐进式创新,促使区块链技术真正落地,是目前产业界共同的理想和任务。