热搜词

加强数字货币关键基础设施建设

来源:互联网 2017-10-25 14:59

目前,英国、新加坡等多国央行正在探索发行数字货币,我国央行也成立了数字货币研究所进行数字货币研究,并成功推进了数字票据的发行,使我国央行成为首个发行数字货币并开展真实应用的中央银行。

在探索加快的情况下,关键基础设施的建设问题仍是数字货币发行的重点与难点。

 

宋志国,人民银行哈尔滨中心支行副行长

 

区块链技术为数字货币底层技术

目前针对数字货币发行的底层技术,各国基本形成了共识,即将区块链技术作为数字货币的底层技术。

狭义来讲,区块链技术是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,是以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来说,区块链技术是利用链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术主要包括共识机制、数据存储、网络协议、加密算法和智能合约等技术领域。各个技术领域的研发成熟程度,直接影响着数字货币的效率、安全,也决定着数字货币发行的可行性。

该技术经历了三个发展阶段:一是技术起源阶段,应用P2P网络技术、非对称加密算法、数据库技术、电子现金;二是区块链1.0阶段,分布式账本、块链式数据、梅克尔树、工作量证明等应用兴起;三是区块链2.0阶段,智能合约、虚拟机、去中心化应用兴起。

根据应用场景和设计体系不同,区块链技术应用一般分为公有链、联盟链和私有链。公有链的各个节点可以自由加入和退出网络,并参加链上数据的读写,运行时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务端节点,典型应用如比特币、以太坊。联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络,各机构组织组成利益相关的联盟,共同维护区块链的健康运转,如Ripple。私有链的各个节点的写入权限收归内部控制,而读取权限可视需求有选择地对外开放,其交易成本大幅降低,例如RSCoin、Hyperledger Fabric。

从基础架构来看,目前,区块链技术尚无ISO标准,各研究机构和组织对区块链架构定义略有不同,通常将区块链的核心基础架构分为四层:网络层、数据层、共识层和扩展层。

 

第一,网络层主要用于实现区块链网络中节点之间的信息交流。通常采用P2P技术来组织各个网络节点,每个节点通过多播实现路由、新节点识别和数据传播等功能。例如比特币有比特币网络协议,以太坊也有自己的网络协议,不同的区块链系统根据需要制定独自的P2P网络协议。

第二,数据层主要用于描述区块链技术的物理形式,包括数据区块、链式结构和加解密算法三部分内容。(1)数据区块用于储存具体应用需记载的信息。如,比特币区块链。同时,为确保每个数据区块的安全需要引入相关技术,例如,时间戳技术用于保证区块按照时序链接;哈希函数用于保证交易信息不被篡改;梅克尔(Merkle)树用于记录具体的交易信息,非对称加密实现身份认证。(2)链式结构是一种基本格式,不同的区块链应用链式结构也会发生相应的变化。(3)加解密算法用于确保区块链存储信息的安全性。目前主要包括散列算法(又称为哈希函数或数据摘要)和非对称加密两部分内容。其中,散列算法的目的是为了抽取“数据特征”(而非实现“加密”),即用散列值抽象化代表该数据的“指纹信息”,典型的散列算法有MD5、SHA1/SHA2和SM3,其中SM3为国产算法。

非对称加密算法是由对应的一对唯一性密钥(公开密钥和私有密钥)组成的加密算法。常用的非对称加密算法主要有RSA、ECC和SM2,目前SHA256和ECC是区块链技术的主要算法。

第三,共识层是一种使区块链系统中各个节点数据同步的策略和方法。常见的共识机制包括:POW、POS、DPOS、dBFT、PBFT、Pool等。不同的共识机制各有特点,需要根据应用环境进行选择。

第四则是扩展层。智能合约是部署在区块链上可自动运行的一段程序,包括编程语言、编译器、虚拟机、容错机制等方面内容。其中,虚拟机是智能合约的运行环境,需要被沙盒封装(虚拟机内部的代码不能接触网络、文件系统或者其他进程,且智能合约之间也只能进行有限的调用)。同时,智能合约本质上是一段程序,也存在出错的可能,甚至会引发严重问题和连锁反应,需要充分做好容错机制,通过系统化的手段,结合隔离运行环境,确保智能合约在有效时间内按预期执行。

 

系统架构中亟待解决的问题

 

目前,我国央行已基本确立了数字货币发行的“两库、三中心”及用户端的数字钱包等系统架构,各个架构层面仍然面临继续攻克的难题,亟待解决。

首先,私有云的建设。私有云作为支撑央行数字货币运行的底层基础设施,可用于存放央行“两库”(数字货币发行基金的数据库和商业银行存放央行数字货币的数据库)的数据。一是私有云建设要求基础设施具有良好的弹性、扩展性、自动化、数据移动、空间效率和对虚拟化的支持。二是私有云的网络系统总体结构规划应坚持区域化、层次化、模块化的设计理念,使网络层次更加清楚、功能更加明确。三是部署私有云之后,要求解决传统的网络结构可能面临的网络延时问题。四是数字货币作为法定货币,交易规模十分庞大,需要私有云网络系统具有很强的并发处理能力和实时交易所需的高效处理能力。

其次,大数据中心的建设。认证中心、登记中心和大数据分析中心实质上是三个实现不同功能的大数据中心。作为货币运行体系的组织实施者和直接管理者,在法定数字货币体系这一金融基础设施的建设过程中,央行需要明确自己在法定数字货币运行体系的大数据主体责任。一是推进数字货币大数据顶层设计及相关基础设施建设。二是要注重大数据基础设施的强健性和拓展性,保证数据收集、分析模型、应用接口都具有良好的安全性、灵活性和一定程度的开放性。

第三,数字钱包的设计。数字钱包是数字货币生态中用户端最基础、最重要的应用,安全、易用的数字钱包对法定数字货币的推广和生态发展极为重要。由于数字货币的使用比电子银行复杂,更需要有一款好用的数字钱包工具,私钥的管理能力是衡量一个数字钱包性能的重要标准之一。目前,市面上的数字钱包大体分为:冷钱包、本地钱包、在线钱包、多重签名钱包等,不同类型的数字钱包在易用性、安全性等方面存在差异。

 

对关键基础设施的建议

 

首先,底层技术层面。一是依据数字货币的不同形式,按需设计不同类型的数据结构。数字货币的数据结构应包括属性、发行者、所有者、使用权限、使用范围、数字签名、加密和防伪等要素;二是开发适合央行发行数字货币的网络协议。三是选择适合的共识机制,或对现有共识机制进行改进,以解决央行数字货币系统底层区块链在分布式场景下一致性问题。四是建议数字货币系统使用SM2和SM3国产密码算法。

其次,系统架构设计方面。一是建议考虑采用Fabric网络架构(利用阵列技术搭建的扁平化网络),实现任意点之间的连接来消除复杂性和网络延迟,进而满足低延迟的服务器间通信和更高的双向带宽需求,有助于大幅降低服务器万兆接入的建设成本、支持更大的数据中心、满足云计算的网络需要。同时,建议数字货币系统采用分布式的系统架构,结合云计算的技术优势部署业务系统,为海量数字货币交易提供有效支撑,保障其交易的便捷性与安全性;二是按照数据层、接口层、服务层和应用层划分,保证数据收集、分析模型、应用接口都具有良好的安全性、灵活性和一定程度的开放性;三是应基于不同支付场景开发多种类型的数字钱包,供用户选择。同时,在开发数字钱包时应考虑结合加密芯片、生物认证等安全技术。

 

论坛热帖更多>