一种全方位监管的区块链系统设计与实现*

2023-05-12 02:25毛湘科郝潆婷张桂刚邢春晓
计算机与数字工程 2023年1期
关键词:区块交易监管

毛湘科 李 超,2 郝潆婷 张桂刚,4 蔚 欣 张 健 邢春晓,2,3

(1.清华大学信息国家研究中心 北京 100084)(2.清华大学计算机系 北京 100084)(3.清华大学互联网产业研究院 北京 100084)(4.中国科学院自动化研究所 北京 100190)

1 引言

区块链技术的发展源自于中本聪设计的基于P2P 的电子货币[1],其最成功的应用就是比特币。经过十余年的发展,区块链已经从开始的数字货币领域遍及到金融科技[2]、物联网[3]、供应链[4]、医疗健康[5]等多个领域。特别是以太坊[6]的出现,在区块链上实现的智能合约技术扩大了区块链的应用范围。目前,区块链在应用中除了数字货币领域,最主要的用途就是利用其不可篡改性来作为存证。但是区块链自带的交易属性因为缺乏对区块链上的用户和交易进行有效的监管而导致其不能够被广泛的使用。为了使区块链技术更好地服务于可信交易,对区块链进行监管是必不可少的。

区块链匿名性和去中心化的特点,给其在金融、政府服务和支付结算等领域的推广带来了巨大的阻力。有许多的公链的设计甚至朝着躲避监管的方向发展,使得洗钱、黑市交易、违法交易等转移到了区块链上,为相关政府部门在监管和案情侦破上带来了困扰。因此,若想区块链能够更好地被更多的行业接受认可,能够对区块链上所进行的交易进行监管,提供高可信的服务是必须的。

金融行业对可信交易的要求是最高级别的。由国际清算银行支付结算体系委员会(CPSS)和国际证监会组织(IOSCO)为防止金融危机所提出的Principles of Financial Market Infrastructure(PFMI),其作为通用原则,能够适用于每个国家的金融系统。在PFMI 中所提出准入管理和透明度,其强调了监管的重要性[7]。目前按照PFMI 的各项原则对现有的区块链系统进行了评估,发现大多数区块链的设计违背了PFMI原则。实现对区块链系统交易有效的监管是使得交易可信的保障,一旦脱离了监管,必然会产生各种各样的问题,以及在发现问题时,难以迅速的采取补救措施。

本文在已有区块链技术的基础上,设计一个带有监管功能和支持回滚操作的区块链系统。所设计的区块链系统从事前、事中和事后三个不同的阶段来实现对区块链上交易的监管。事前监管主要的目的是对参与交易的用户的身份和交易业务的范围进行控制,根据不同的交易业务内容,设置不同的参与标准。事中监管,主要是能够及时地发现交易中的恶意交易和存在问题的交易,同时,设置了取消交易和回滚机制,对于不满足条件而未完成的交易,能够及时终止交易,减少损失。事后监管,主要是针对已经发生了的交易,提供了数据查询和数据分析的功能,方便监管部门能够对所有的交易进行监管,对违反法律法规的交易,能够追究参与者的法律责任,追回损失。最后,本文以数据资产交易为例子对设计的区块链系统的交易流程进行了详细的描述和分析。

2 相关工作

自2009 年以来,区块链技术一直作为一种新兴技术广泛地受到人们的关注。已经有很多研究者从共识算法[8~9]、架构[10~11]和具体应用[12~15]等多方面对区块链进行了研究。本文设计的区块链系统主要涉及到可信交易、监管和查询等方面,因此我们将从这三方面对本文相关的研究工作进行阐述。

区块链的出现对传统的金融行业产生了颠覆式的变化。区块链作为账本,防篡改的特性确保了存储在账本中的交易信息的可靠性,解决了分布式去中心化环境下用户之间的信任问题。但是许多区块链的设计都在采用匿名机制[1,5]、混合币设计[16~17]和零知识证明[18]等方法增加区块链的隐私性,但是增加隐私性的同时,也给区块链上的交易的监管造成了较大的困难。许多不法分子利用基于区块链设计的虚拟货币从事洗钱、枪支、毒品等非法交易,试图利用区块链提供的私密性来规避监管。显然,这样的设计也成了区块链技术难以在金融行业、政府机构和支付行业被广泛使用的原因。

越来越的研究工作在研究区块链时强调监管的重要性。主要包括两方面的研究,一是利用区块链透明和防篡的特性进行监管应用的开发,另一个对区块链上记录的交易进行监管。基于区块链实现监管在奢侈品溯源、金融行业和医疗健康等领域被广泛研究。在文献[19]中,他们从供应链溯源、和轨迹追踪两个方面将区块链在奢侈品行业的应用进行了调研,凸显了区块链的存证和监管意义。在文献[20]中,他们设计了双层区块链来监管疫苗的生产记录和信息,提升了对疫苗生产的时空效率。在文献[21]中,他们设计了一种兼顾隐私保护和监管的区块链架构来对医疗数据的真实性进行监管和共享。对于区块链上已经存储的交易数据,有一些工作采用了数据挖掘和机器学习等方法对交易数据进行分析。在文献[22~23]中,他们采用机器学习方法来检测比特币中的洗钱行为,发现非法的交易模式。在文献[24]中,他们提出了采用基于图神经网络的方法来对比特币的交易网络进行分析,并对非法的地址进行识别。

区块链上存储的交易数据是全过程留痕,因此对交易数据的监管离不开对账本数据的查询。常见的区快链提供了简单的查询功能,但是,这些查询功能并不能够满足监管的日益复杂的查询需求。文献[25]针对具有依赖关系的交易数据,提出了一种基于内置有向无环图数据结构进行细粒度数据溯源查询的算法。文献[26~27]设计支持语义和丰富查询类型的SEBDB,并且设计了链上和链下相结合的数据查询算法。文献[28]设计了一种面向轻节点的可验证多维聚集查询算法。文献[29~30]设计了vChain来解决区块链数据库中数据查询完整性和范围查询的问题。

但是,监管不能只注重于某个方面,应当从多个方面进行监管,因此本文综合考虑,从事前、事中和事后三个阶段考虑设计了新的区块链系统来实现可信交易。

3 本文的工作

根据现有区块链设计难以从多个层面实现监管的问题,本文从事前、事中和事后三个层次满足监管的需求。所设计的区块链系统的总体架构如图1 所示。所设计的架构一共包括了四个不同的层次。

图1 设计的区块链的架构

1)在基础层中,主要包括了Sha256,椭圆加密等加密算法,P2P 网络,链式结构等实现区块链功能所必需的构建,该层可以根据业务的需求进行扩展,能够与现有的区块链技术进行良好的融合。

2)在事前监管层主要实现了对参与用户和可开展的业务范围的管理。该层根据不同的业务需求设置了准入机制,能够在交易执行前减少恶意参与者加入区块链网络进行交易。

3)事中监管主要是对已发起但是还未记录到账本的交易进行监管。该层提供了发起交易、撤回交易和回滚交易等功能,能够确保在交易未完成前,发现错误的交易或者恶意交易时,能够及时地中止交易,并且将交易撤回和回滚等。

4)事后监管层实现了对已经记录在账本的交易的监管。该层提供了查询验证、数据溯源和交易分析的功能。其能够对记录在账本中交易进行分析监管,方便有权限的用户对已记录的交易对真实性进行查询验证。

对于基础层,现有的技术实现已经比较成熟,在本文中对其所涉及的具体的实现不再赘述。因此,本文主要在于对于事前、事中和事后三个层次的功能和实现做具体的说明。

3.1 事前监管

事前监管主要通过系统设计的账户链来完成对参与用户和用户权限的监管。在事前监管层提供了认证、业务管理和权限管理等功能。认证包括了用户注册和身份认证。用户注册要求所有参与区块链系统的用户必须是实名认证的,且在注册时对每个用户的角色和能够从事的业务范围都给出了明确规定,所有用户信息必须存储至账户链中,后续有关用户信息和权限的变更记录也必须存储在账户链中。身份认证是指用户在区块链系统内执行操作时,必须与账户链中所查询到该用户的拥有的权限相符合才能进行相应的操作。业务管理规定了该区块链系统能够进行交易的业务范围。进行不符合业务规定交易的用户将被锁定,不能继续执行任何操作。为减少人为的干预,业务管理采用智能合约的方式进行实现。权限管理主要对用户所拥有的权限进行管理,在账户链中将存储所有的授权记录。通过事前监管,能够极大地减少恶意用户的加入,从而减少异常交易发生的可能,从参与者和开展业务层面极大地提升区块链系统内交易的可信性。

3.2 事中监管

事中监管通过系统设计的临时链和交易链进行实现。临时链用于暂时存储交易,交易链用于永久存储交易,存储在临时链上交易可以被取消和撤回。所有用户发起的交易都必须先存储在临时链上,将临时链上的交易存储至交易链中需要符合以下两种情况。

1)经系统对交易检验通过,并且交易双方对交易确认无误后,其适用于快速交易场景;

2)经系统对交易检验通过,超过预先设定的时间后。

对于情况1)和2),写入交易链的前提是通过系统对交易内容和交易模式的检验。系统检验在系统初期交易数量较少时,可以通过专业人员或众包技术对交易内容进行审核。随着交易数量的增加,可以借助机器学习技术进行交易检验模型的训练。

临时链上的交易不能够存储至交易链上的情况有以下几种:

1)用户自己发现交易错误,在规定时间内将交易取消。

2)交易未能通过系统检验,且经审核后仍不能够通过。

3)交易双方未能就交易内容达成一致,取消交易。

为防止用户不停地取消发起的交易行为而导致交易多次失败情况的发生,系统设置了规定时间内取消交易的次数,如果超过了取消次数,系统将限制该用户的操作权限。

临时链的设计给了交易双方缓冲时间,减少了错误交易的发生,同时也为系统能够提前发现异常交易提供了时间。

3.3 事后监管

事后监管主要通过查询链进行实现。查询链记录了系统内的所有用户在交易链上执行查询访问的记录。在事后监管层主要实现了交易查询、数据溯源和交易分析功能。交易查询主要提供了交易验证、范围查询、联合查询等方法,满足用户多方面的需求。为了提高查询的效率,根据交易内容所包含的属性,采用了类似于关系数据库的表结构对交易内容进行重构,从而也使得设计的区块链系统支持类SQL 的查询语言。数据溯源适用于具有依赖关系的交易数据,其能够确保任意给定的交易来源的可信性。但是,区块链属于链式结构,当链上存储的交易数量较大时,溯源查询的效率将极为低下。设计的系统采用图模型对交易之间的依赖关系进行建模,从而将链上的遍历溯源转换为在图上的广度优先搜索,提升了数据溯源的效率。交易分析主要是对已经记录的交易数据进行分析,提供了社区发现、异常检测、交易模式识别等方法,同时也提供了可视化分析的工具,方便监管部门能够及时地对区块链上发生的交易进行直观快速的了解。虽然记录在交易链上的交易是不可更改的,但是通过事后监管发现的异常交易能够协助监管部门对交易双方进行后续追责,从而挽回损失。

在事前、事中和事后监管中功能的实现过程中,设计的区块链系本着尽可能减少人工参与的原则,尽最大可能到使用智能合约来进行功能的实现。

4 示例

信息化技术的普及使得各行业都储存了大量的业务数据,伴随着数据挖掘、机器学习和人工智能技术的发展,这些业务数据已经成为了一种最重要的资源。但是,数据在各行业间的流动性极低。为了提高数据的流动性,在不泄漏个人隐私的情况下进行数据的共享交易能够极大地挖掘数据的潜在价值。在本节中,我们将以数据资产的交易为例,对所设计的系统执行交易的流程更进一步地说明。

在进行数据交易中主要包括数据所有者、数据卖方、数据买方三种角色。

1)数据所有者是数据的所有人,其可以自愿将数据出售或者授权给数据卖方进行共享交易。

2)数据卖方对数据进行收集和整理,然后将整理好的数据进行共享交易。

3)数据买方对数据卖方所共享的数据进行购买。

卖方和买方在在设计的区块链系统中进行交易的过程如下所示。

1)数据买方和卖方向系统提供身份证明材料,并进行注册,将用户的信息写入到账户链中。

2)数据卖方发布数据共享的智能合约,在合约中对所共享数据的内容进行详细描述,并且在合约中设定数据的价格。

3)数据卖方可以根据自己的需求,在系统内购买自己需要的数据,初步校验数据真伪,如果为真,支付金额至临时链中,如果为假,可以执行举报操作。

4)卖方获取访问权限,可以对数据进行访问。校验数据与描述是否相符,不相符的话,可以冻结该交易。相符,确认交易,交易上传至交易链中。

5)在冻结交易后,关闭数据的访问权限。

6)数据卖方认为数据描述与数据确实相符,属于数据买房恶意取消交易,可以申请仲裁。如果仲裁结果确实为相符合,则将临时链上冻结的交易写入交易链中,如果不符合,取消交易,并且终止该合约。

作为数据所有者,其可以通过系统提供的查询接口,对其所有数据的购买者的信息、使用情况等进行查询追踪。一旦发现违规的使用情况,可以提起申诉,以确保其所有的数据的使用是在权限范围允许内进行的。

5 结语

区块链因其防篡改和匿名性的优点而被频繁使用,但它也对如何对其进行监管提出了挑战。一个值得信赖的监管区块链设计系统不仅需要合理的监管体系,还需要允许交易回滚和同步交易分析的特性。本文构建的区块链系统满足了事前、事中、事后三个层次的监管要求。主动监管主要是通过系统设计的账户链来完成对参与用户和用户权限的监管。事中监管主要通过系统设计的临时链和交易链实现。事后监管主要通过查询链实现。但是,由于区块链上存储的数据是公开的,在如何在监管数据的同时保护数据隐私,是未来需要研究的方向。

猜你喜欢
区块交易监管
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
大宗交易榜中榜
监管
交易流转应有新规
监管和扶持并行
大宗交易
惊人的交易