比特币的出现,让区块链这一新生技术走上了历史的舞台。据乌镇智库发布的《中国区块链产业白皮书》统计,自 2012 年以来,全世界的区块链创新公司数量以超过 65.2%的速度快速增长,截止目前,业界的区块链项目已经超过1000多个,区块链正以一种革命性的姿态快速发展。
繁华背后,我们总不禁会问:区块链真的成熟了吗?
众所周知,区块链技术诞生还不到10年的时间,虽然发展很快,但是在性能、智能合约和监管等很多方面还存在很多不成熟的地方。
区块链的性能严重不足
性能过低是当前区块链技术面临的主要挑战之一。
区块链的性能指标主要包括交易吞吐量和延时。交易吞吐量表示在固定时间能处理的交易数,延时表示对交易的响应和处理时间。在实际应用中,需要综合两个要素进行考察——只使用交易吞吐量而不考虑延时是不正确的,长时间的交易响应会阻碍用户的使用从而影响用户体验;只使用延时不考虑吞吐量会导致大量交易排队,某些平台必须能够处理大量的并发用户,交易吞吐量过低的技术方案会被直接放弃。
目前,比特币理论上每秒最多只能处理七笔交易,每十分钟出一个区块,相当于交易吞吐量为7,交易延时为10分钟,实际上,等待最终确认需要6个左右的区块,也就是说实际交易延时是1个小时。以太坊稍有提高,但也远远不能满足应用需求。
从区块链技术来看,目前影响区块链性能的因素主要包括广播通信、信息加解密、共识机制、交易验证机制等几个环节。比如,共识机制的目标是为了使得参与节点的信息一致,但在高度分散的系统达成共识本身就是一件耗时的任务,如果考虑会有节点作恶,这会更加增加处理的复杂性。因此,一些联盟链从性能角度考虑引入一些弱化的共识算法,比如超级帐本Fabric使用的共识算法只能用来处理宕机恢复等容错,而无法处理节点的恶意行为。这种方式在联盟链中具有一定的可行性,因为联盟链具有一定的准入门槛,可以对成员进行问责。然而,在开放的公有链平台中,这种方式会给数据的安全性带来极大挑战。
针对区块链性能不足的问题,已经有一些初步的思路,主要包括:隔离验证、闪电网络、RSK侧链、分片、分层等手段。这些方式主要是通过将部分链上任务转到链下或其他链进行处理,或者将整个交易分为几个部分并分别处理。
另一种思路是调整共识机制。比如EOS提出的DPOS等,会将共识限制在某一小部分被选举出的节点上,据此来加快共识达成、区块生成和运算的速度和效率,但是这种方式会加剧区块链的中心化程度,并且其安全性和实用性也有待进一步考察。
智能合约尚处于初级阶段
尽管智能合约可以大大丰富区块链的应用,但是已有智能合约在开发、部署、安全性、监管和法规等方面仍然存在很多问题。
首先在开发方面,由于智能合约通常为一些预定义规则的牢不可破的协议,因此,开发者必须极为小心地撰写合约代码。同时,由于缺少规范便捷的智能合约开发工具,大大增加了代码的修复和调试难度,开发人员必须对业务具有深刻的理解,才能发现智能合同代码中的漏洞,这些会导致开发周期长,开发成本过高。此外,也尚不存在支持交易回滚的方法,一旦合约出错,很难恢复。
其次在部署和运维方面,合约的部署需要所有参与者同时开始操作,异常恢复和运维需要耗费更多的人力。此外,实际中难以避免会出现合约升级的情况,在无法向下兼容低版本的数据信息表示时,如何处理历史数据也是一个重要问题。显然,直接抛弃会丢失有价值的数据,一种做法是根据历史信息重新发送所有交易,但是交易的时间戳也会同时发生更改。另一种做法是在新合约中嵌入数据表示的升级合约方法,但通常这类合约方法的开发十分困难。
第三在安全性方面,以太坊曾曝出很多智能合约的漏洞问题,如以太坊钱包Parity和theDAO事件都是比较著名的智能合约漏洞事件。究其原因,主要是智能合约的流程和代码变得越来越复杂,人们也发现,就像现实世界的合同一样,如果没有认真审核的话,在设计和编码过程中难以避免人工失误的产生,一旦被黑客找到漏洞,损失往往是巨大的。
最后在监管和法规方面,由于合约是自动执行的,一旦监管发现合约无效,如何对合约中的已执行交易进行撤销是智能合约面临的难题,而在目前,合约相关的交易回退只能采用分叉方式。此外,智能合约自身的法律效力也没有法律保障,这些问题对于智能合约的发展提出了新的挑战。
面临监管和标准化方面的难题
区块链的技术特点需要与之适应的监管手段。区块链技术采用“去中心化”的技术设计,避免了传统中心化经济系统结构中的诸多问题,但去中心化也意味着主体不明确,监管难以对主体进行有效控制。从隐私保护的角度来说,如果人们需要把数据放在一个公开平台上全部展示时,人们往往动力不足,这些都是值得考虑的问题。
此外,区块链技术是一项新技术,目前国家还未就此出台专门的法律法规,也缺少法律来明确区块链的法律地位和相应问题,比如:一旦智能合同到了区块链上,仲裁权在哪里,整个合同的实施是不是如纸质合同一样具有法律效力。这些也有待政府来出台政策和规定来进行解决。
从区块链标准来看,目前尚没有清晰统一的概念界定,又缺少标准而权威的评价机制对区块链产品进行评定,这给区块链的项目谈判、实施带来了很多问题,也阻碍了区块链的大规模推广和应用。另外,市场上已有的区块链应用也是“鱼龙混杂”,无法有效评价产品质量。构建区块链应用级的标准也是当前业界需要解决的难题之一。
最后需要指出的是,尽管技术还面临很多不成熟的地方,但是寻求合适的应用场景仍然是区块链面临的关键问题,有了更多实际应用,才能更好的推动技术发展。