从2008年区块链概念提出到2013年业界认识到区块链技术的重要潜在价值,并开始尝试将其应用到数字货币以外的场景(如众募、资产交易、权属管理、身份认证等领域),短短几年间区块链迅速成为当下最热的技术之一。
虽然目前市场上有多达几百家的区块链相关公司,但其应用的本质都可以被归类为将资产数字化后,利用区块链同步性、可信任性与可溯源性进行管理。
l 区块链简介
区块链(Blockchain)最早由“中本聪”(Satoshi Nakamoto)于2008年在比特币白皮书《比特币:一种点对点电子现金系统》中提出,数字货币也成为了目前最广为人知的区块链应用案例。广义上讲,区块链技术是利用将打包的数据区块串接成链进行验证与存储数据、利用点对点网络技术和共识算法来生成和更新数据、利用密码学方式保证数据传输的安全、利用自动化脚本代码(也就是智能合约)来操作数据的一种全新的分布式架构与计算范式。
从应用角度看,区块链是融汇了密码学、数学、计算机科学、网络科学、社会学等多门学科的产物。从创新角度看,区块链巧妙融合升级了多种现有技术,如非对称加密、点对点网络技术、哈希算法和共识算法,它是一次工程学意义上而非科学理论上的创新。
下图是对区块链行业应用的分类归纳,大致梳理了目前纷乱的区块链市场的应用概况,并给出了相应应用下的一些典型厂商。
根据业务类型和模式大致可将其划分为数字货币和技术应用两大类。
顾名思义,数字货币是与数字经济时代相匹配的一种体现、传递和交换价值的中间件。而技术应用是在很多现实场景中利用区块链技术降低成本,提升效率。两者因业务形态、模式的区别,导致其安全诉求也不尽相同。
l 数字货币
区块链作为发迹于比特币的技术,其初衷是以数字货币的形式方便价值的传递与交换。在多年的发展中,针对或基于数字货币的服务与应用也自然成为了区块链行业内的主要分支之一。
在数字货币中,我把其又分类到矿力、钱包和交易三类。
在安全方面,如同传统交易所一样,由于资金随着时间的不停流转,所有数字货币类的应用都首先要保证网络的安全,或者说平稳运行、高可用,同时要保障系统权限和个体账号权限的安全。
(a) 矿力:
区块链社区的健康运行需要节点对信息进行确认、打包并做哈希运算才能生成新的区块加入区块链中,这一过程被称作挖矿,而其中的算力我称之为矿力。矿力下的行业有专门针对公有链挖矿,被称为矿机的ASIC硬件设备;又可以是大量矿机的硬件集群,也可以是个体矿机接入网络平台形成集体算力来共享挖矿收益的矿池;还有提供算力租赁给个体用户作为自己的算力来获得挖矿收益的云算力平台。
对于矿力类应用,时间就是金钱,因此其网络的安全平稳运行在安全诉求上是居于首位的。于此同时,矿机、矿池和平台的权限安全也极为重要,避免矿力沦为他人所用。
(b) 钱包:
为了安全进行数字货币的交易,区块链中的签名私钥是经过复杂密码学运算出的一串编码,不方便使用者记忆。因此持有数字货币的人需要一个载体来帮助记录其地址和私钥,以及进行数字货币交易。这种载体也就是常说的钱包。根据钱包使用时的联网状态可以分为热钱包和冷钱包。
联网状态下使用的在线钱包是热钱包。根据区块链数据的维护方式,我们可以将热钱包分为维护着全部的区块链数据的全节点钱包,只维护与自己有关的数据的轻钱包。在没有联网状态下使用的离线钱包是冷钱包,比如将私钥记录在纸上或一台不联网的设备,以及专业的硬件钱包。此外,还有不依赖区块链网络,而是依赖一个中心服务的中心化钱包,其实现可以有热钱包也可以有冷钱包。
钱包的主要功能是保存私钥,那么自然的其主要安全诉求是保障私钥存储的安全。因为有的钱包还具有交易功能,那么其运行的智能合约是否无漏洞也至关重要。
(c) 交易:
作为一种货币,其自身便具有了价值,可以用来投资、交易或者支付。于是便有了数字货币交易所和基于数字货币的实时跨境支付。
随着各类数字货币的价值攀升,越来越多的个体以及资本加入到投资数字货币的大军中,数字货币交易平台便层出不穷。类似于大家熟知的股票交易所,用户在代币交易平台可以自由进行不同货币的交易和提现。由于大量的价值转换在交易所中发生,其聚集了大量的资金,同时也吸引了最多攻击者的注意。
大众熟悉的微信支付、支付宝是基于实体货币的网络应用,数字货币作为一种网络应用同样具有支付的能力,且具有低成本、近实时和无国界限制的优势。
对于交易类应用,无论其是否与区块链有关,平台和个体账户的权限安全都首当其冲。对于交易所类应用,其同时还面临着来自Web端的攻击以及内部人员的信息泄露等风险。
l 技术应用
区块链虽然名扬于比特币,但其应用前景却绝不仅仅局限于数字货币。由于区块链的同步性、信任性、可溯源性,很多现实场景中都可以利用区块链技术降低成本、提升效率。
在技术应用中我又将其分为金融、数据存证和底层服务三类。
在安全方面,由于区块链应用范围非常广,不同行业面临的场景不尽相同,因此其安全诉求也各不相同,需要分别讨论。
(a) 金融:
由于区块链天然具有同步性、可信任性和智能合约的可编程、可拓展性,其在金融领域可有效的减少流程,提升金融智能化、自动化。应用方向大致分为对近实时同步信息和达成信任有很大需求的共享经济,一个无需中心化第三方的可信任网络将成为其新的助力;可进行任何资产或大宗商品的资产交易;以及省去了认证过程和第三方平台,同时降低了融资成本与门槛的首次代币发行。
对于共享经济应用,其诉求依然聚焦在个体账户和数据的安全。由于资产交易与融资大量运用了智能合约,并且聚拢了大量资金,也就意味着其一旦出现安全事故后果极其严重,所以智能合约的逻辑及代码安全可谓生死攸关。
(b) 数据存证:
区块链的可溯源性以及可信任性,或者具体表述为不可篡改性,让其在数据存证行业拥有广泛的应用场景。然而,这一类的应用目前大多还处于构建阶段。总体可以分为被广泛关注的房地产、版权、物流、供应链等行业的资产数字化后进行资产管理,和聚焦于征信、公证、医疗等相结合的个体信息两个方向。
在数据存证区块链上存储着大量个体或公司的信息,其中不乏敏感信息。在信息安全法规与标准越来越严格的环境下,保证区块链上信息的必要隐私安全以及信息安全成为首要安全诉求。
(c) 底层服务:
除了许多做具体场景应用的项目外,不少为上层应用提供或完善底层平台的项目业已开展。我将其归纳为基于一套底层结构为客户提供特定场景下的解决方案,让用户可以拿到一个即插即用的区块链的解决方案提供商;为用户提供了在云上灵活管理区块链网络的能力的BaaS;以及提供底层的区块链架构和规范的开发基础型区块链。
对于底层服务这一大类,其需要保证底层架构合理、开发语言安全以及平台运行安全。更具体一点,解决方案还需注意应用场景中的接口安全,BaaS则要保障云平台的运行稳定,开发基础类则要保证底层架构和其选用语言的安全性。
l 总结
综上,我对大部分应用市场上的区块链应用进行了划分,一些小众的应用并没有在此列出,主要因其或是对同一类产品换了层包装描述,或是将上述某几类行业融合在一起,不再一一赘述。各应用到区块链的领域均使用到去中心化的可信任性,底层也就是共识机制的运行;而上层智能合约的安全性则决定了最上层的应用能否按预期执行;最上层的应用则面临着来自外部网络攻击或内部泄露的风险。
由此可见,区块链安全也是环环相扣的“链条”结构:节点的稳定运行,底层架构的扎实根基,智能合约的按预期执行,上层应用的全方位防护缺一不可。