LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 行走笔记:以太坊线上峰会,基于 EVM 的中国央行数字货币跨链扩展

行走笔记:以太坊线上峰会,基于 EVM 的中国央行数字货币跨链扩展

2020-08-08 行走 来源:区块链网络

本篇笔记是2020以太坊技术及应用大会的第一篇。

行走在线听了全天的内容。简单分享两个感觉,一是以太坊作为公链,确实很难被后来者撼动,社区发展太强大,有太多组织会为这条公链,这个平台贡献价值;

二是,除了Defi,以太坊上确实依然有各种不同技术方向上的探索。虽然现在听上去很难理解,也想象不到落地场景。但就像Vitalik说的,两年前Mark和Compound讲Defi时,也很少有人相信他们能做成,以及在讲什么。而所谓的在生态中,在平台上诞生的新物种,真的是在外部环境(以太坊2.0着力解决的性能,低gas费用等问题)达到一定状态的情况后,涌现出来的。而不是谋划、部署出来的。

以下是第一篇笔记的内容,Enjoy:

分享嘉宾:PCHAIN 创始人 曹峰

一、研究背景

中国提出要发行 DCEP(央行数字货币)以后,得到了全世界的关注。DCEP 是由中国人民银行发行的,具有价值特征和 M0 属性的数字支付工具。

M0 是央行直接背书的货币。和传统的比特币、以太坊这种没有国家背书的数字货币是截然不同的。某种意义上,DCEP 对应的是现有的纸钞,是和纸钞具有同样法律属性的数字货币。

那我们为什么要在以太坊的 EVM 环境下去研究 DCEP?原因很简单,经过多年发展,EVM 以太坊虚拟机已经成为广泛的智能合约虚拟机。基于 EVM 的实现可能是大家比较感兴趣的话题。

今年以来,最热的应用就是 Defi 的应用。尤其是随着以太坊智能合约的出现,大家在畅想区块链在各行业的应用,但经过这么长时间的发展,尤其在公有链属性下,目前又回归到了额 Defi 应用这个方向。

由于这三方面的背景,促使我们开始考虑如何将 DECP 和以太坊虚拟机通过跨链的方式实现组合。当然这个研究还处于比较早期的阶段。下面我会花更多的时间对 DCEP 做一个剖析,包括跨链技术,以及基于分析我们给出的解决方案。

二、DCEP 的相关概念

1、特征

如果我们本身对 DCEP 没有比较深的了解,可能很难想到采用何种方式才能合理的在 EVM 上扩展。

DCEP 属于法币,具有法偿性。在中国,任何机构和个人都不能拒绝 DCEP。它的功能和纸钞是一样的。

从官方公开的资料中可以发现,DCEP 有双离线支付功能。交易的双方都离线的状态,只要有电,没有网络也可以实现支付。

我们最开始在看到双离线支付这个功能时是非常兴奋的。因为所有的人都知道 DCEP 设计具有中心化的特征,会导致跨链扩展时具有某种程度的限制。但是否可以利用双离线的能力来进行跨链扩展呢?在后面会有更多的分析。

2、DCEP 的必要性

(1)从货币主权和法币地位来看做 DCEP 是非常有必要的。所以不仅在中国,基本全世界大一点的国家,英国、德国、美国都在探索国家的法定数字货币。

(2)现在的纸币和硬币的成本相对于数字货币是比较高的。有储藏、印刷、保管成本。

(3)市场对于纸币的需求也越来越低。

(4)在货币数字化的过程中,大家也会想到,如果所有东西都在线了,数字化了,匿名支付的需求也是设计过程中国需要考虑的。

3、DCEP 的运行机制

目前基于官方消息获得的结果是,DCEP 是采用双层运营的方式。人民银行对商业银行,商业银行对老百姓。这和现有的纸钞的运行机制是一模一样的。

4、央行数字货币钱包内测

央行数字货币钱包到底长什么样子?只能透过媒体的分享看到内测的状态。从目前内测的钱包截图看,有 DCEP 的兑换,可以把现有银行的存款换成 DCEP;同时还有钱包的管理功能,数字钱包的查阅功能;以及钱包的挂靠功能,数字钱包是需要挂靠到某一家商业银行中的;目前还支持扫码、汇款、碰一碰等多种交易方式。

首批试点在江苏、雄安、程度和深圳四个地方展开大规模测试,领域也涉及非常多。

5、技术路线

目前来看 DCEP 采用了混合构架,从整个技术路线角度,央行并不会去干预商业机构的技术路线选择。

唯一的要求是商业机构要满足央行对于并发量、客户体验和技术规范的要求就可以了。至于商业机构采用什么方式,哪种技术路线支持央行数字货币是不进行设定的。

这句话也打开了我们的想象空间。在商业机构为用户兑换 DCEP 的时候,可以用区块链,可以用传统的账户工具,或者传统的电子支付工具以及移动支付工具。央行并不会干涉。这为我们从技术角度打开了可能性。

分析到这里,大家就会明白,从央行到商业银行这块是绝大多数商业机构和技术机构是不需要碰的,但是从商业银行到用户端,只要技术方案是可行的,都有机会提供更多基于 DCEP 的网络服务。

6、普通民众如何使用 DCEP

特别简单,就是下载一个 APP,可以用银行卡进行兑换。从银行存款或现钞兑换 DCEP 会有一定的兑换限制。中间肯定有 KYC、反洗钱,一定需要做一定程度的认证,认证程度越高,额度相应会越高。

7、DCEP 的投放方式

也是和纸钞完全一样的。商业银行在中央银行开户,按照 100%缴纳准备金。个人和企业是在商业银行开设数字钱包。

从经济学角度,因为 DCEP 具有法偿性,依然是央行的负债。用央行的信用做担保。

虽然普通的交易是匿名的,但利用大数据,可以对洗钱进行行为特征的分析。

8、一币、两库、三中心

大家一讲 DCEP 就会讲到这组词。

一币就是指央行的数字货币。所以的电子钱包就类似央行的公钥。我们任何一个人拿到数字钱包,相当于拿到公钥,非常容易验证数字货币的真假。和纸钞的验证相比方便了很多。

两库是发行库和商业银行库。发行库是央行采用它的私钥来生成数字货币,这是所谓的发行;商业银行库是用户从商业银行中提取数字货币,从银行的银行库进入个人的电子钱包的过程。这就是所谓的流通环节。所以发行库对应货币的发行环节,商业银行库对应流通环节。

三中心中最重要的是登记中心。核心是负责 DCEP 生命周期的管理。从印制、转移、销毁、回笼。

从技术角度看就是两张表,一张是数字货币的权属登记表。另一张是交易流水表。

权属登记表是记录某一个面额的数字货币到底是属于谁的。传统我们用的比较多的电子货币,比如支付宝和微信支付,记录的就是一串纯粹的数字,比如 150 元。但央行数字货币会严格区分对应到纸钞上有多少张 2 块的,多少张 5 块的。总共拥有多少数字货币,是把一张张有面额的数字货币加起来。会一张张记录,每一张数字货币到底属于谁。

交易流水表是当数字货币发生转移时,央行的登记中心会对数字货币的输入进行更改,这个表就有确权查询的功能。

第二个中心是认证中心。从央行角度会控制认证中心和登记中心,往下对接商业银行。商业银行在对应个人和企业用户的手机 APP。

图的下方是登记中心表的结构。包括货币名称,对应的属主是谁,相关的备注。

9、DCEP 的发行

从发行角度,央行有主密码,对应到面值的数字。通过加密生成加密密码,再通过系统生成随机数。用最后的加密密码以及央行的私钥进行签名就产生了新的 DCEP 的钞票。

10、DCEP 的取款

包括钱包、商业银行系统和央行系统。假设以工商银行为例,用户通过输入账号、密码,和提取数量,就可以获取对应的 DCEP。商业银行收到请求,首先会验证请求的合法性,验证账户的密码,用户的资金是否够,银行的 DCEP 是否够都要验证。因为 DCEP 不是随便乱发的,银行库里的 DCEP 一定要是足够的才能给用户提取。

如果这些检查都通过了,就会具体根据用户的请求。假设用户要提取 150 元,商业银行就会从库中把 DCEP 的 100 元和 50 元各取一张,再将请求发送给央行的系统。央行的系统再对请求进行检查,发送过来的 D100 和 D50 是否归属于该商业银行,然后对应做签名、验证等一系列操作。

一旦操作,就会在登记中心中把这张 100 元和 50 元对应的信息在交易流水中进行变更。整个过程完成了之后,央行系统再返回给商业银行。商业银行在得到央行确认之后才真正把 D100 和 D50 发送给客户的钱包端。客户的钱包端就会收到信息,整个取款过程就完成了。

10、DCEP 的支付

和取款过程类似,我就不一一描述了。唯一不同的变化是,在属主项中,取款是把属主从商业银行转到个人用户或企业用户,支付是把属主信息从用户 A 变更为用户 B。

在这个过程中,会天然会监管和匿名有看似矛盾的需求。为了保证匿名性,可以通过哈希算法生成整个交易过程的 M 的信息进行摘要,再把用发送者的私钥签名得到一个 m,把 M 和 m 发送给商业银行。由于对交易双方进行了一系列的匿名处理,如果再配合销毁和再生成的过程,从商业银行角度是比较难追踪资金转移,同时也确保的资金转移的匿名性。

同时在运营层面有监管的需求。以用户的身份作为公钥,注册过程中会上传用户的信息。所以从央行的后台看,对于用户的信息是清楚的。通过数据分析就可以实现监管的目的。

这是我们通过公开的专利和信息看到的现在 DCEP 在匿名和监管两方面是如何平衡的。

双离线支付的场景可能是大家比较兴奋的。总的来说是利用了手机端的近场支付功能来进行加密信息的传输来完成双离线支付的。

在这个过程中大家会想到双花问题。目前我们就央行的专利来看,双花漏洞是通过事后追责的方式解决的。因为所有人的信息是在央行透明的,所以央行是可以追责的。

当然从技术角度,对我们来说相对不是个好消息。因为采取了这样的技术路线,基本我们无法直接基于双离线的功能来实现跨链扩展。

三、跨链技术

我们的目的是基于跨链的技术实现 DCEP 的扩展。

上图是比较主流的跨链技术的划分。目前只有这四种机制。有人认为最后一种分布式私钥控制机制新的机制,会归类到公证人机制中。但大概就是这四种机制。

1、公证人机制

采取中心化或多重签名的方式。如果把跨链分为链 A 和链 B,核心见证人是链 A 的用户,同时负责监听链 B 的事件和状态,而对链 A 进行操作。最本质的特征是通过公证人机制完全不用关注跨链的结构和共识的特征。

2、侧链 中继

从整个技术发展路线看,COSMOS 和波卡这些最主流的跨链技术更多会采取侧链或中继的方式。所谓侧链是指,主链可以不知道侧链的存在,但侧链必须知道主链的存在。中继则是 A 和 B 两条链都不知道中继的存在,但中继必须要知道 A 和 B 的存在。

我们正在和几个商业机构参与的跨链技术标准 IEEE P3205 也是采用了类似中继的跨链方式。和公证人机制最大的区别是,对于公证人不需要关注跨链的结构和共识特征,但是对于中继,一定要关注链的结构和共识特征。包括 IEEE 标准很多情况下就是在定义跨链的结构,数据、ID 应该长成什么样子等等。

3、哈希锁定

是非常常见的技术。通过锁定一段时间的哈希值来支持兑付的机制。但会存在潜在的压力,要在链 A 和链 B 中都要对应一定的触发器。同时还要设定一段时间,包含披露明文的随机数哈希值。它真正在用的过程中相对还是比较复杂。在时效性上相对前两种机制比较差。但好处是结构相对比较简单。

4、分布式私钥控制

核心是通过分布式私钥的生成和控制技术对原链账户的资产或资金进行锁定。同时将相应的资金映射到链上。

通过我们的分析,如果想将 DCEP 进行扩展,通过侧链或中继是合理的方式。基于半中心化的特性,分布式私钥控制也是一种可以实现扩展的方式。

四、DCEP 跨链的技术挑战和解决方案

1、技术挑战

DCEP 端需要有一种去中心化或者弱中心化的 token 锁定方式。只有通过这种方式才能确保不会出现双花,确保 token 是比较安全的。在得到另一端确认后才能以去中心化的方式进行释放。

但对于央行的数字货币,每个用户的私钥都是由央行分配的。所以没有办法直接采用分布式私钥控制的解决方案。私钥是央行掌握的,给到私钥的目的是确认身份,而不是控制转移。

在这种情况下,路是堵死了。我们没有办法做到完全的去中心化。

另一条路径是看央行是否支持多重签名。如果支持多重签名,就可以采取半中心化的方式。但目前我们没有办法对 DCEP 具体的技术细节进行假定。

2、解决方案

所以最终我们采用了更简单的方法。在 DCEP 端采用中心化的方法锁定,通过某一个中心化的机构来担保,由它来负责所有 DCEP 端的兑付和确认。基于 EVM 的一端,可以用任何主流的区块链的扩展方案来进行扩展。

3、Smart Data

这是我们和蚂蚁链、百度超级链、Hyperledger 共同制定的一个跨链的行业标准,IEEE P3205。它定义了在跨链过程中对应的数据、ID、通讯方式。只要我们编程符合 IEEE P3205 对应的标准,就可以和 Hyperledger,和蚂蚁链打通。百度目前是否打通还不知道。

而蚂蚁内部一个团队已经将 IEEE P3205 进行了实现,并且将它们的链和 Hyperledger 进行了联通。

当然这个过程中,目前整个实现和标准都没有处在开源状态。还是闭源状态。但 IEEE P3205 标准还是大家都在支持,并且非常有希望成为公开标准的跨链协议。

以上就是给大家介绍的,基于 EVM 的 DCEP 跨链扩展的基本思路,我们分析的方法以及可能会用到的 Smart Data 的标准。

以上就是以太坊大会第一篇笔记的分享。对于EVM以太坊虚拟机概念还不太了解的朋友,可以在币乎多做做相关搜索。

因为是开发者与应用大会,而非炒币大会,后面的笔记会难度继续升级哦

—-

编译者/作者:行走

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...