2 月 20 日,瑞典央行宣布开始 CBDC 项目试点;3 月 27 日,法国发布了一份申请 CBDC“实验”应用方案征集书,将帮助法国央行了解 CBDC 的风险和机制。世界各国加速推进 CBDC,试图抢占潮流先机,中国也不例外,从 2014 年开始研发,最近央行数字货币在农行内测,将以深圳、雄安、成都、苏州为试点城市 , ATM 厂商广电运通近日在接受机构调研时表示,公司研究院开展 DC/EP 应用研发工作,主要是在 ATM 上支持数字货币与银行账户货币互换的模块,广电运通有 30 万台银行智能设备及 100 万台存量终端的模块升级,数字货币硬件钱包也在研发当中。

可以预料的是,伴随央行数字货币的推出,各行各业将全面升级系统以充分实现对央行数字货币的对接和应用,新一轮基于区块链和数字货币的数字化和信息化革命将拉开序幕。

央行数字货币是一种法定的数字货币,它提供了一种全新的资产 (包括货币) 持有和交换机制 , 一般来讲,央行数字货币具有以下五个设计目标:

  1. 是建立新型分布式支付体系架构,满足点对点直接支付需要。此举可以免除不必要的中间环节,提高支付效率,降低交易费用和信用等风险,同时能够与现有集中式支付体系架构无缝对接。

  2. 是满足普惠金融需要。央行数字货币要在 KYC 及反洗钱等风险防控、金融监管要求与消费者使用便捷性方面取得平衡,在普惠金融方面有所创新和突破,特别是满足那些没有银行账户、缺少身份证明或边远贫困地区群体的基本金融服务需要。

  3. 是便于跨境支付,能够为全球客户提供便捷的跨境支付和相关服务。我国央行数字货币尤其要在跨境支付和全球客户服务方面有所创新,以适应人民币国际化发展需要,抢占全球央行数字货币制高点。

  4. 是为货币政策工具、风险防范与金融监管等货币经济宏观管理提供新的手段,如货币流向跟踪与分析、货币精准投放与回笼等。

  5. 是央行数字货币要为更广泛的金融服务创新提供可能。

2019 年 8 月中央行公布 DC/EP 将采用“双层运营体系”、具备“双离线支付”能力 , 采用双层运营体系,主要看重商业银行资源及避免潜在金融风险。人民银行先把数字货币兑换给银行或者 是其他运营机构,再由这些机构兑换给公众。央行做上层,商业银行做第二层, 这种双重投放体系适合我们的国情。既能利用现有资源调动商业银行积极性,也 能够顺利提升数字货币的接受程度。

双运营体系具备三重优势:

  1. 金融机构资源 , 充分利用商业银行 IT 设备基础、人才储备、技术研发等资源,共同进行币种开发 及运行。

  2. 分散并化解风险 , 相比于单层级运营,央行与众多商业银行的合作将 分散 DCEP 这一庞大货币系统的研发及运营风险。

  3. 避免“金融脱媒”, 单层运 营情况下,央行背书的 DCEP 将挤占商业银行存款货币,导致商业银行吸收存款 能力下降,从而提高对同业市场依赖而抬高资金价格,从而增加社会融资成本, 最终导致金融脱媒甚至更为极端情况。

DCEP 还将实现账户松耦合实现可控匿名,当前,微信钱包、 支付宝等电子支付工具采取的是同用户的银行账户进行绑定才能完成交易,采取账户紧耦合的形式。而 DCEP 将采用账户松耦合形式,即脱离个人的银行账户来进行电子交易,由于央行数字货币交易确权完全由中央银行处理,数字钱包可以不展示所有者真实姓名,对商业银行来说具有匿名性。

DCEP 将支持“双离线支付”:在具体场景中, 只要手机上有 DC/EP 的数字钱包,不需要网络只需要手机之间触碰下便可实现转账功 能,这将极大拓宽 DCEP 适用范围至可覆盖的信号不好、偏远地区,便捷性能无论比纸钞或者当前已有电子支付渠道,都将上一个台阶。

DCEP 背后依托的主要是以下三个中心 :

1. 认证中心:央行对央行数字货币授权投放机构以及大众客户真实身份信息进行集中管理的中心,中心使用加密技术加密客户身份与其所持有的数字钱包之间的映射关系,是数字货币可控匿名的重要环节。

2. 登记中心:记录央行数字货币对应数字货币钱包地址的情况,权属登记即权属变更登记;记录央行数字货币产生、流通、清点核对及其消亡的全过程记录,有助于央行掌握高密度的货币流转信息。

3. 大数据分析中心:充分利用大数据技术对数字货币环境下央行数字货币的全生命信息进行分析,了解货币运行规律,为央行货币政策、宏观审慎监管提供可靠数据支持。

值得注意的是,认证中心以加密形式管理数字货币钱包地址与所有者真实姓名的映射关系,而登记中心记录央行数字货币与所属的数字货币钱包之间的从属关系,通过将央行数字货币与所有者真实姓名分层管理的设计,实现对其他金融机构的匿名性。

另外登记中心与认证中心之间设有“防火墙”制度,设定严格程序两方信息不得随意关联已保障合法持币用户的隐私。这一机制是“前台自愿后台实名”的基础进一步加固央行数字货币的匿名可控性。

其他国家的央行数字货币也同样存在以上三个中心,区块链和央行数字货币的对接主要是和以上这三个中心的对接,下面我们将详细讲述 Cypherium 的对接模式 (其他国家类似)。

身份认证的对接:

为了让所有用户都可以验证交易信息,央行数字货币登记中心的大部分功能、信息必然是对所有登录用户开放的。这意味着整个数字货币登记中心要做成一个半开放式的系统,用户不仅仅可以查自己账户里有多少数字货币、数字货币从哪些账户来,还可以查数字货币从发行到目前为止的所有交易记录。

现有数字货币钱包身份认证是通过唯一、不记名、不可追回的私钥配合并由该私钥加密生成、同样唯一、不记名、不可追回的数字货币钱包地址完成。

这种身份认证方式可以很好的保证使用该数字货币钱包的人是用户本人,保证了钱包的安全性,而且完完全全做到了用户身份全匿名。但是这样的身份认证手段并不能应用到 DC/EP 体系当中,原因非常简单:这种全匿名、难以追踪的身份认证手段无法满足 DC/EP 反洗钱、反欺诈以及 KYC 的实际需求。如果采用实名制方案,由于数字货币登记中心的高度开放性,将会不可避免的面临个人金融信息泄露的问题。因此必须要在数字货币登记中心中包含一个身份认证中心,任何用户、机构必须在身份认证中心进行实名注册,并从身份认证中心获得专属私钥,将身份信息和专属私钥绑定后,生成数字货币钱包地址。另外身份认证中心应要负责验证用户和机构的登录信息,且负责向用户和机构分发唯一私钥,私钥由 PKI 密码系统生成,因为身份认证中心还需负责运行维护 PKI 密码系统。需要注意的时,为了满足信息安全要求,央行数字货币登记中心与身份认证中心必须独立,形成两个数据孤岛,采用数字货币登记中心匿名管理,身份认证中心实名管理方法,从根本上将数字货币登记中心的开放内容进行匿名、脱敏处理。

Cypherium 钱包系统在设计之初就考虑到了和身份认证提供商的对接,主要架构如下:

Cypherium 对接央行数字货币方案

服务层提供基础区块链服务,包含3类逻辑结构 : 区块链服务模块、智能合约服务模块、成员管理模块。其通过系统中的时间或事件触发不同的模块,比如新节点加入触发成员管理模块的注册功能。

接口层为上层提供基本区块链操作接口,并设定了用户、商家、身份提供商、监管机构等几个实体,使得接口层能够为外提供基本身份认证服务,包括对商家、用户提供认证接口,对监管机构提供监管接口,同时与身份提供商接口 (包含央行数字货币身份认证系统) 对接,实现账户生成阶段的初始身份鉴别及登记,以及账户交易的身份识别。

接口层和服务层作为信任服务模型为外部应用提供基础的区块链服务,基于该模型将彻底改观现有中心化身份管理体系的现状,同时兼顾到用户隐私保护需求与监管需求。

2、业务的对接 :

根据央行数字货币研究所提交的专利,其本质是对货币主要属性及权属的加密处理,由多个可扩展的可变长字段组成,这些字段包括以下的一种或多种:货币金额(最小金额为 1 分,无上限)、编号、发行者标识、所有者标识、货币管理属性、货币安全属性、货币应用属性。不同权限方仅可以在权限范围内解密相应内容。无权方无法查看数字货币属性。数字货币表达式本质上是对货币主要属性及权属的加密处理,在具体交易的时候,可以做到“一次一密”,是数字货币系统安全运转的基础。

DCEP 的字段中,编号唯一;所有者标识可以匿名,但对数字货币系统后台实名,可以通过系统后台与真实用户对应,其可以基于账户,也可以基于类似于比特币的未花费的交易输出(UTXO,Unspend Transaction Output)来记录货币转移过程;货币管理属性为支持货币当局对货币发行、流通进行管理的字段;货币安全属性是与数字货币安全加密相关的一组字段,能够实现数字货币不可伪造、不可篡改、不可抵赖、保护隐私、保护交易安全等功能;货币应用属性是数字货币满足应用场景和增值服务需要的一组字段,能够实现对资金流的控制、智能合约(达到预设条件可自动执行的脚本)的执行等功能。为了便于管理生产出的数字货币,央行数字货币系统预先在数据库中设置了数字货币的登记状态属性字段,并设置了登记状态属性的可选取值,比如:生产中、锁定、可用、销毁和回笼状态。

Cypherium 对接央行数字货币方案

最终版本是否带有“可编程脚本”,目前还存在争议,但是应用扩展这项基本是确定的,Cypherium 将和相关银行机构进行合作,尝试争取到一个“应用属性”或者“应用属性的分录属性”。这样以后不仅在 Cypherium 链上可以进行业务交易结算,同时还可以在和相关银行合作的钱包系统内进行独立的交易结算,使 Cypherium 链上的币真正具有金融属性。

3、交易结算系统的对接 :

央行数研所“一种账户交易方法和装置”、“数字货币定向使用的方法和装置”“一种基于数字货币的交易方法和装置”等专利明确提及了数字货币可能借鉴 UTXO 模式。该模式不关注账户,当交易发生时,数字货币系统读取足额付款方拥有的未花费货币,将其作为输入并锁定,然后按照交易金额生成收款方拥有的货币,以及归属于付款方的找零货币,最后将输入货币的状态修改为已花费。DCEP 确认交易的方式是将付款方的数字货币(称为“来源币”)作废,将收款方的数字货币(被称为“去向币”)生效,这与 UTXO 模式有相似之处。

通常央行数字货币可以分为“账户版”(Account Based)和“Token 版”(Token Based) 两个版本。账户版转账时需要对应金融机构的账户体系,而 Token 版只要有数字钱包即可。

Cypherium 对接央行数字货币方案

中国央行数字货币采用的是 Token 版,Token 版其实就是在转账流程中比现金交易多了一些步骤,但是也带来了不用交易双方特地见面的便利性。和物理现金相比,因此交易中往往需要引入外部的认证机制来验证真伪,也导致了交易可能无法像现金一样实现 100% 的匿名性。匿名的程度取决于数字钱包注册信息的披露情况。Token 版的交易验证和结算分为中心化和去中心化两种方案,这取决于采用何种技术。去中心化结算通常会用分布式账本技术 DLT (distributed ledger technology)。因为效率、可扩展性和交易完结度等要求,分布式账本技术会在央行参与管理的联盟链(permissioned chain)上来对 CBDC 进行验证和结算管理。但是分布式账本技术不是唯一的方案,中心化的结算技术被证明在效率上也非常有优势。中心化系统可以高效地验证 Token 上对应的序列号,同时为了避免双花问题,Token 每转换一次数字钱包就重新分配一个序列号。可以估计的是全球央行数字货币系统这两个方式都将采用,中心化用于结算,去中心化用于普通客户端的同步数据和交易验证。

区块链系统要验证自己的钱包和央行数字货币就需要一个跨链系统跨链方案有很多,比较很多方案并考虑到 Cypherium 链自身的特点,决定采用公证人机制,也不另搞一套其他协议,准备直接采用 Interledger 协议,因为 InterLedger 协议虽然是由 Ripple 公司发起并主导,但是它是一个开放式协议,任何公司或个人都可以参与共同开发并免费使用,它不和任何区块链进行挂接,它的初衷是建立一个全球统一支付标准。一开始就得到了微软(Microsoft)和万维网(W3C)支持,很多银行系统已经接入 , 它像是一个专用于连接的组件,专注于连接各类账本的支付标准、统一协议。其支持通信对象不仅包括了区块链,还包括了各类账本(通常为各个银行内部账本系统),各类账本通过去信任的第三方“连接器”来互相连接。InterLedger 协议是哈希锁定的实现模式 (HTLC)。在这个系统中,两个不同记账系统可以通过第三方“连接器”或“验证”机器来互相自由地传输货币。记账系统无需去信任“连接器”,因为该协议采用密码算法为这两个记账系统和连接器创建资金托管,当所有参与方对资金量达成共识时,便可相互交易,跨账本的资金流动马上原子性发生。并且只有参与交易记账系统才可以跟踪交易,交易详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易详情。这种方式特别适应于现有的银行系统,银行不喜欢用别人机器来验证他们交易,简单来说就是不喜欢公开处理方式或半公开处理方式,因为这两种方式都可能会给外人窥视他们内部数据机会,这种方式也适合于对接央行数字货币系统,无论是中心化的还是非中心化的都可以对接上。

架构图如下:

Cypherium 对接央行数字货币方案

对象:发送方--Alice,接收方--Bob, 连接者—Cot。
账本关系:Alice 拥有 DC/EP 的账户, Bob 拥有 cph 的账户, Cot 拥有 DC/EP 与 cph 账户。
场景:Alice 要从网上购买 Bob 的笔记本电脑,定价为 2000 个 cph 币。
(1).  Alice 通过即时通讯软件或者其它通讯手段,得到 Bob 提供的一个“共享密码”。通讯一定要以加密方式进行,使得在沟通后,只有 Alice 与 Bob 知道这个“共享密码”;同时 Bob 会告诉 Alice 自己在 ILP 网络中对应的唯一地址,例如 a52813334ee89485d661fee989a0e75402b2eeea。
(2).  Alice 去向 Cot 询价,查询自己想发送 2000 个 cph 币需要多个少 DC/EP,此时 Cot 会按实时的 DC/EP 与 Cypherium 行情算出需要 1000 个 DC/EP 币,同时 Cot 会多收 1 个 DC/EP 作为手续费,最终 Alice 得到的询价结果为 : 需要向 Cot 支付 1001 个 DC/EP。
(3).  Alice 按 ILP 规定的消息格式生成所需要的 ILP 包,ILP 包里指明目标地址为 Cot, 同时基于 ILP 包的私有内容与“共享密码”生成一个“条件原像”,对“条件原像”进行哈希散列,得到一个“托管”交易的“条件”。
(4).  Alice 在 DC/EP 账本系统上发起一个“托管”创建操作,设置了步骤 3 中的“托管”条件及一个超时时间,同时设置 ILP 包。
(5).  Cot 在 DC/EP 账本系统上监测到一个涉及自己的“托管”创建操作。
(6).  Cot 解析 ILP 包,计算出自己应该向 Bob 转 2000 个 CPH 币,同时修改 ILP 中的目标地址为 Bob。
(7).  Cot 在 Cypherium 账本系统上发起一个“托管”创建操作,设置了步骤 3 中的“托管”条件及一个超时时间,此超时时间要小于步骤 4 中的超时时间,同时设置 ILP 包。
(8).  Bob 在 Cypherium 上监测到一个涉及自己的“托管”创建操作。
(9).  Bob 解析 ILP 包 , 用自己的“共享密码”及 ILP 包里的私有内容生成一个“条件原像”及对应的“条件”。通过对比“托管”创建交易里携带的“条件”与自己生成的是否相同,及核实“托管”交易中指定的资产数量是否是 2000,来确认“托管”交易:接收或拒绝。我们这里假定接收。
(10). Bob 在 Cypherium 账本系统上发起一个“托管”确认操作,设置上“条件原像”,Cypherium 账本上的“托管”交易完成,Bob 收到 2000 的 cph 币
(11). Cot 在 cypherium 链上监测到一个涉及自己的“托管”确认操作。
(12). Cot 分析“托管”确认操作的内容,得到“条件原像”。
(13). Cot 在 DC/EP 账本系统上发起一个“托管”确认操作,设置上“条件原像”,DC/EP 账本上的“托管”交易完成,Cot 收到 1001 个 DC/EP。
(14). Cot 在 DC/EP 账本系统上监测到一个涉及自己的“托管”确认操作。

注意这里的“托管”交易包含四个主要步骤 
准备:此时什么事情都没发生,只进行了必要数据的准备,发送方的资产并未真正转移
创建:隶属于一个“账本”系统上的某个账户的资产被“托管”,创建交易不能被撤销或者在一定时间内不能撤销。
确认:”托管”交易完成,资产发生转移,从“账本”系统内的一个账户转移到了另外一个账户。
拒绝:”托管”交易被取消,资产回到“账本”系统的源账户,“托管”交易可以设置超时时间,在规定时间内无人进行“确认”操作或者“拒绝”操作,“托管”交易自动失效。

考虑到没有特殊许可直接连接央行数字货币系统可能会存在问题,Cypherium 还建立起了一个清算系统架构,由中间人 (可以是各种有资金实力的金融机构)来做资金的最后清算,使普通账户有比较流畅的体验。软件架构如下:

Cypherium 对接央行数字货币方案

方案中最重要的是 Cypherium Connect、Cypherium Validator 两个核心部件下面将分别进行讲述。

Cypherium Connect

Cypherium Connect 是在银行系统中处理 Cypherium 支付交易的一个插件模块(是不是有点类似支付前置系统)。在汇款银行和收款银行之间,Cypherium Connect 建立了一个信息通道,用于交换 KYC/AML,风控信息,手续费,汇率和其他支付相关信息。为了吸引银行加入,Cypherium 在 KYC/AML 上做了很多适应性设计并且可以被双方银行进行个性化配置,在交易发起之前,Cypherium Connect 把这些信息送到交易对手方,需要检查这些信息是否正确,只有确认 OK,才能执行交易和清算资金。

Cypherium Validator

Cypherium Validator 是一个验证机,在交易进入联储和区块链账本系统之前,一定需要得到 Validation 的确认,它有很严格的认证机制,它的验证规则可以根据具体的系统要求而定制。

Cypherium 引入了可扩展的联合签名方案 CoSi,所有通信方都要对接受和发送的关键信息联合签名处理,在不增加通讯开销的情况下,系统能时刻验证清算系统各方通信消息的正确性。

Cypherium 链采用的是 BFT+BLS 共识模式,来确保没有双花,账本记录节点也进行版本检查来确保数据的完整性。系统里还有一个排队管理者,它把签名后的交易打包放进区块里,并把区块广播到同一个渠道的所有参与者节点。渠道里的节点在收到广播后会再次验证交易,然后把交易区块更新到账本里。

为了保证交易的私密性,系统里每两个银行之间都要建立一个双向渠道。在每个渠道里,银行都要建立一个渠道帐户,并且在渠道帐户里分配合适的资金来确保交易可以完成。每笔交易都要得到渠道里双方银行的签名才能通过验证。

4、大数据中心对接

大数据中心的地位在三个中心当中非常特殊,它不仅仅要做反洗钱、反欺诈等安全监测,作为另外两个中心的数据汇总处,大数据中心还需要对汇总来的诸多数据进行分析、治理,以输出诸多指标帮助政策制定。

由于大数据中心的特殊作用和敏感地位,为了保证交易安全和信息安全,大数据中心必然有一个特性:对所有数据,大数据中心只能做读取,不能做修改。

Cypherium 为链上活动预留了监督接口,通过大数据中心可以及时地对不合法交易进行预警。