硬核:一种金融级安全的区块链资产交易系统

原文标题:《一种金融级安全的区块链资产交易系统》
原文来源:信息通信技术与政策
一种金融级安全的区块链资产交易系统
冯浩铭 陈杭 刘彦平
(中国工商银行软件开发中心区块链实验室,广州 510665)
摘要:提出了一种基于同态加密和环签名的区块链资产交易系统,通过同态加密技术可以对用户交易信息进行加密,使其对其他用户不可见,而环签名可以对同态加密后的密文进行业务合法性校验,保证交易合法性。该方法可以使区块链上原本公开透明的用户资产交易信息得到保护,具有去中心化、安全可靠和易用性高的特点,可以有效地起到保护用户隐私的作用,有利于促进增强区块链在金融资产交易场景中的用户交易信息隐私保护功能,有利于促进区块链隐私保护技术在金融场景中的落地和发展。
关键词:区块链;同态加密;环签名;金融资产交易;隐私保护
1 引言
金融资产在人类社会生活中起着至关重要的作用,是人们拥有的以价值形态存在的资产,也可以是一种索取实物资产的无形凭证。金融资产可以在相应的金融市场上进行交易,交易的双方通过某种约定在指定平台上进行合法交换。资产交易行为俨然成为当今社会人们日常生活不可或缺的一部分,推动着整个社会经济的发展。
随着人类社会科技水平的飞速发展,数字货币开始走进人们的生活当中,传统现金交易和线下交易开始受到冲击,资产交易也面临着巨大变化,开始逐渐电子化、数字化。而这一巨大冲击的关键技术,便是区块链技术。
区块链在本质上是一种防篡改、去中心化的分布式数据存储模式,是一种无需信任的分布式账本。同时,区块链又集成了许多计算机技术,如密码学、共识机制、分布式网络等 [1-2]。其加密安全性和不可篡改性天然适用于多种金融场景、利用区块链进行资产交易可以保证交易的安全可靠,同时去中心化的交易系统还能减少交易成本。但同时用户的交易隐私信息将会暴露,造成用户隐私泄露等不安全问题。区块链最大的特点是其去中心化的特性,在中本聪设计比特币时便提到,比特币是一个没有第三方金融机构参与的系统,用户之间的交易是点到点的,每个人均可参与其中。没有第三方监控的必然结果就是,用户必须公开部分自己的信息,让参与区块链的用户之间达成共识,互相承认。也即区块链上的数据具有一定的公开性和共享性,每个用户都可以拥有链上所有用户的交易账本信息,用户的资产信息和交易信息等被透明及公开化 [3]。如今,区块链隐私保护受到越来越多关注,涌现出许多隐私保护技术。针对目前存在的交易信息隐私保护问题,本文基于同态加密技术和环签名技术,设计和构建了一种区块链资产交易系统,主要包括:利用同态加密技术对交易报文进行加密,起到隐私保护作用;利用环签名技术对交易数据进行签名校验,保证交易的业务合法性。
2 相关工作
隐私保护在区块链兴起之时便备受关注,近年来各个机构相继推出具有隐私保护功能的产品。目前,实现隐私保护的主要技术有基于混币协议的技术、基于加密协议的技术和基于安全通道协议的技术等。
2014 年,Bonneau J 等人 [4] 提出一种中心化的混币方案———Mixcoin,通过第三方的混币服务来实现用户匿名保护,这种混币服务协议要求多用户同时使用相同的金额进行混币,从而在外部形成输入地址与输出地址多对多的关系,提高了攻击者分析交易内容的难度,保护了用户交易隐私,但这种方案里用户信息仍然可以被提供服务的第三方获取。2015 年,Valenta L 等人 [5] 在 Mixcoin 基础上加入了盲签名技术,用户对输出地址进行盲签名,这样第三方就无法将用户的输入地址与输出地址对应起来,从而保护了用户的交易信息,但用户仍然需要将输出地址匿名发送到公共日志中,依旧无法完全避免第三方窃取信息。2015 年,Selij J W 等人 [6] 提出了一种去中心化的混币机制,可以使混币参与者无法得到自己以外的交易地址关联关系,用户使用混币服务中其他用户的密钥加密输出地址,所有参与者按顺序对输出地址进行洗牌,最后将输出地址列表进行广播,其能保证混币参与者无法获取交易地址间的联系,但在混币过程中需要参与者同时在线,因此容易遭受拒绝服务攻击。Bissias G 等人 [7] 提出了一种可以有效抵抗拒绝服务攻击的多轮两方混币方案——Xim,随着混币参与用户数量的增加,攻击者发动攻击的代价也会随着线性增加,它采用一种多轮两方混币协议,具有可调控的成功率。与 Coin-Join 机制相比,Xim 方案中恶意节点发动攻击的代价将随着参与混币用户的数量线性增加,能够有效对抗女巫攻击和其他拒绝服务攻击。混币协议技术发展的同时,基于加密协议技术也逐渐暂露头角,其代表有门罗币(Monero)和零币(Zerocoin)。门罗币使用 CryptoNote、环签名等加密技术来保护用户隐私 [8]。2013 年,I Miers 等人 [9] 提出零币方案,基于零知识证明的零币协议可以有效解决用户交易地址泄露问题,但需消耗较大的存储资源和计算资源。
除上述技术外,用户还可以通过链下支付的手段,摆脱不可信第三方,即使用安全通道技术,用户选择可信第三方进行交易,第三方再通过盲签名技术和零知识证明技术进行加密。Heilman E 等人 [10] 提出了一种基于 RSA 和 ECDSA 密码学技术的链下交易通道方案,无法获取用户的交易信息但能够验证用户交易的真实性,从而起到了保护用户隐私的作用。
3 相关技术
3.1 同态性和同态加密
同态性是一种特殊的对数据进行转换方法的特性。如果对原始数据经过某一特定转换方法得到转换后数据,再对转换后数据进行某个操作的处理,其结果跟先对原始数据进行操作的处理,再进行转换方法得到的输出结果是一致的,那么则称这个转换方法针对这个操作具有同态性。同态加密即对加密数据做任意功能的运算,运算的结果相当于对明文做同样运算的结果再进行加密(见图 1)。

图 1 同态性
如图 1 所示,记原始数据为 m,转换方法为 R,转换后数据为 c,操作处理为 F。m 可以经过 R,从而被转换为 c,再对 c 进行操作 F 得到 c』,有:
C』 =F(c)= F(R(m)) (1)
而对 m,先经过操作 F 得到 m』,再对 m』进行转换 R,得到 c』,有:
C』 =R(m』)= R(F(m)) (2)
如果两者相等,则称转换 R 针对操作 F 具有同态性。椭圆曲线加密算法的公私钥转换具有针对加法的同态性,另外存在特定的加密算法的明文和密文之间具有加法或者乘法同态性而这一类加密算法又被称为同态加密算法(见图 2)。

图 2 同态加密
如图 3 所示,在区块链网络中,A 当前余额 100 元,B 当前余额 50 元,A 要向 B 转账 10 元,需要区块链节点记账,但用户不希望让区块链节点知道交易金额以及最新余额。同态加密技术对用户的交易数据用其公钥进行加密保护,交易时都是密文运算,最终账本中加密保存,非业务参与方无法看到具体的余额和转账额,即使节点被攻破,获取到账本记录也无法解密。

图 3 同态加密前后对比
但是同态加密后的交易金额以及最新余额对区块链不可见,如果交易后出现账户余额小于零,这样的交易是无效的,因此采用环签名技术对同态加密后的交易数据进行合法性校验,可以保证交易的有效性。
3.2 环签名技术
2001 年,Rivest、Shamir 和 Tauman 3 位密码学家首次提出环签名 [11]。环签名是签名者本人在完全匿名的情况下,在签名参数公开后,除了签名者本人,其他任何人都不能确定真正的签名者是哪一个环成员。普通类型的加密签名可以跟踪交易,知道各自的发送者和接受者,而基于一次性环签名的协议允许用户实现不可链接性。环签名是一种特殊的群签名,没有可信中心,没有群的建立过程,对于验证者来说,签名人是完全正确匿名的。环签名还可以作用于交易金额上,保证交易金额的合法性。
如图 4 所示,由一定数量的成员节点组成一个「环」,环中的每个成员各有自己的私钥和公钥,私钥只会由本节点保存不会对外公开,而公钥会公开给环内的其他成员以及必要的验证者。当环中的其中一个成员需要对某个信息进行签名时,会使用自己的私钥和环中其他成员的公钥,对信息执行环签名算法得到签名,然后把信息和签名发送给验证者。验证者收到信息和签名后,使用环中所有成员的公钥对信息和环签名进行环验签。通过对交易信息的环签名和环验签,可以保证资产交易过程中的业务合法性。

图 4 环签名技术
4 整体架构
4.1 系统架构
在区块链系统处理流程中,一笔交易从最初被应用层提交到接入节点,经过共识网络达成各节点的共识,然后分别被各个节点启动的智能合约执行后,才会最终记录到区块链的账本中。
如图 5 所示,本文提出的基于同态加密和环签名的资产交易系统,应用层发送交易请求后,区块链接入层进行同态加密操作,用以加密用户提交的交易数据,然后进入共识处理层,只有当交易数据加密后才会广播到区块链上的其它节点进行共识。此时,交易数据已经是密文,其它业务无关方无法窃听交易的具体内容。

图 5 系统架构图
同态运算会在智能合约中被调用,执行具体的运算逻辑,运算的对象是密文,运算结果为真实结果对应的密文,环验签保证该密文的业务合法性,最终该密文被存储到区块链账本中。一笔交易请求在本文系统中的数据流图如图 6 所示。

图 6 交易数据流图
4.2 合约架构
如图 7 所示,当智能合约组件接收到交易请求后,会首先进行同态运算和环验签操作,注意这里的交易请求已经在区块链接入层进行过同态加密操作。对交易数据进行环验签操作,验签不通过则放弃该交易,只有验签通过才会进入合约代码执行模块继续执行该交易对应的智能合约逻辑。执行完毕后提交,将交易密文进行落盘操作。

图 7 合约架构
5 具体设计与实现
5.1 金融资产交易方案设计
金融资产包括存款、积分、供应链应收账款、证券、股票、基金等,其中资产余额、交易金额等都是重要的敏感信息,不允许非业务相关方面查看。区块链本身所采用的哈希、签名机制可以在开放的网络环境中保障账本数据的防篡改、可追溯。这样的设计使得账本数据对每个参与方可见,任何组织都可以访问到相同的数据,如果将用户的隐私数据放到区块链上将会放大用户隐私泄露的风险。本系统可广泛应用于积分流通、应收账款流转、资产证券化等金融资产交易厂家,解决交易过程中资产余额、交易金额等敏感信息暴露的痛点问题。本文以转账为例,说明本系统是如何设计和实现利用同态加密技术,在保证业务逻辑正确的前提下保护用户隐私。
如图 8 所示,假设账户 A 初始余额为 def(实际明文为 100),账户 B 余额为 jkl(实际明文为 50),账户 A 向账户 B 转账 10,转账额经过区块链接入层的同态加密模块,分别使用账户 A 和账户 B 的公钥进行加密,被转换成密文 xyz。该笔转账交易经过区块链的共识处理层使各节点达成共识后,交由智能合约层具体执行,智能合约调用同态运算模块,分别对账户 A 和账户 B 的余额做加减操作,操作的数据均为密文。得到转账后的余额分别为 ghi(实际明文为 90)和 opq(实际明文为 60),把转账后的余额密文直接存进数据账本内。至此,用户的敏感数据可以经过加密后才送到区块链各节点执行,却仍然保证执行结果的正确性。区块链用户无法对密文的数据解密得到明文数据,所以无法掌握该账户信息,保护了用户隐私。

图 8 同态加密资产交易方案
5.2 金融资产交易具体实现
金融资产交易涉及交易双方的资产运算、资产余额校验等环节,数据一般以明文的形式处理,增加了用户隐私信息泄露的风险,采用同态环签名技术对交易数据进行加密保护后,可保证资产在正常交易的同时敏感数据不可见。以转账为例,介绍同态环签名技术是如何运用在转账交易过程中的,具体做法是在发起交易时,对交易进行环签名,在区块链上进行环签名校验。假设现有账户 A 的当前余额明文为 ma0,当前密钥为 sa0,非对称加密私钥为 da,公钥为 Pa;账户 B 的当前余额明文为 mb0,当前密钥为 sb0,非对称加密私钥为 db,公钥为 Pb。账户 A 向账户 B 转账,转账额明文为 mt,交易流程如图 9 所示。

图 9 基于同态加密和环签名的资产交易流程图
对其中使用到的函数解析如下:
系统公共常量:在椭圆曲线上找到某个点作为整个系统的公有常量,在接下来的 T、Sign 和 Verify 函数内被引用。
对金额的保护函数:m』 = T(m,s)(「』」符号为密文标识符,下文同)。
把明文金额 m,使用密钥 s,经过不可逆的加密函数 T,得到金额密文 m』;其中,密钥 s 由金额持有者私下保存。
对金额密文的同态加函数:m3』 = Add(m1』,m2』)(满足关系 m3 = m1 + m2);对金额密文的同态减函数:m3』 = Sub(m1』,m2』)(满足关系 m3 = m1-m2),为对金额密文的同态加法函数和同态减法函数,其中入参 m1』和 m2』是经过上述 T 函数加密的密文,即 m1』 = T(m1,s1)、m2』 = T(m2,s2),s1 和 s2 可以且一般情况下不相等;注意,金额持有者在调用这两个函数时,需要把实际金额和密钥也同时做加法或者减法,并把计算得出到最新金额和最新密钥私下保存,例如在调用 m3』= Add(m1』,m2』)时,需要同时计算 m3=m1+m2,s3=s1+s2,然后把最新金额 m3 和最新密钥 s3 私下保存,因为想对 m3』作进一步(加或减)计算(然后进行下述环签名)时,需要知道 m3 和 s3。
对金额的环签名函数:sign = Sign(m,s)(m 为金额明文,s 为密钥,sign 为签名);对金额密文的环验签函数:true / false = Verify(m』,sign)(m』为金额密文,sign 为签名)。
非对称加密函数:msg』 = Enc(msg,P)(msg 为明文,P 为公钥,msg』为密文);非对称解密函数:msg =Dec(msg』,d)(msg』为密文,d 为私钥,msg 为明文)。
普通的非对称加密解密只是为了把实际转账额和(临时的)转账密钥私下发给对手方,具体流程主要分 3 个阶段。
(1)初始化阶段:得到账户 A 和账户 B 分别的转账前余额密文 ma0』和 mb0』。
(2)账户 A 发起转账:根据转账前余额 ma0、转账前密钥 sa0、转账前余额密文 ma0』、转账额 mt, 经过计算得出转账后余额 ma1、转账后密钥 sa1、转账额密文 mt』(上链)、转账后余额密文 ma1』(上链)、对转账后余额的环签名 sig(上链,为了证明转账后余额非负)、对转账额 mt 和转账密钥 st 的加密密文 cipher(上链,为了把转账额和临时密钥私密传给账户 B)。其中,mt』、ma1』、sig 上链后,智能合约会使用环验签验证 ma1』的合法性。
(3)账户 B 接收转账:根据转账前余额 mb0、转账前密钥 sb0、转账前余额密文 mb0』、转账额 mt、转账密钥 st、转账额密文 mt』,计算得出转账后余额 mb1、转账后密钥 sb1、转账后余额密文 mb1』(上链)。
6 分析与评估
6.1 性能分析
本文所介绍的系统运行在 4 节点机器上,单台机器配置 16CPU,主频 2. 6GHz,32G 内存,分别执行普通的资产转移交易和经过同态加密与环签名认证的资产转移交易,具体对比结果参见表 1(本试验为多次试验,表 1 展示数据为多次平均数据去除小数点)。

表 1 两种交易单线程处理效率对比
由试验结果分析可知,在交易量高频发生的场景下,使用经过同态加密与环签名保护的资产转移交易,与普通的资产转移交易对比,会有一定程度的性能上的损耗。通过对具体业务场景的评估分析,将本系统投入在实时性要求和交易频率较低的交易场景中,可发现性能并无太多影响,基本满足业务需求。
6.2 效果评估
本系统利用同态加密技术和环签名技术,构建了一个安全可靠的区块链交易系统,该系统具有如下几个特性:
(1)保密性。利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私。
(2)合法性。同态加密后的交易信息无法验证是否合法,利用环签名技术对交易金额进行环签名和环验签,保证了所做交易的业务合法性。
(3)易用性。同态加密和环签名均以独立模块接入区块链系统,系统改造成本低,易用性强。
7 结束语
本文基于同态加密和环签名技术设计构建了一种区块链资产交易方法,利用同态加密对交易信息进行加密保护,同时使用环签名对交易信息进行合法性验证,以保证交易有效。同态加密和环签名技术作为加密性和隐匿性较强的技术,在如今对区块链隐私保护要求越来越高的情形下,将被更多地应用到不同的业务场景中。总之,本文所介绍的系统在经济性、实用性和易用性等方面能使区块链系统以最小的成本完成改造,但由于同态加密和环签名操作使得系统性能有所下降,在实时性要求不高、交易频度较低且保密等级较高的金融场景中使用系统表现良好。未来笔者将持续探索同态加密和环签名在更多金融业务场景下的应用效果,以及更多隐私保护相关技术的场景应用和落地。
参考文献
[1] He P, Yu Y, Zhang YF, Bao YK. Survey onblockchaintechnology and its application prospect[J]. Computer Science,2017,44(4):1-7.
[2] Tschorsch F, Scheuermann B. Bitcoin andbeyond: A technical survey on decentralized digital currencies [R]. IEEE Communications Surveys & Tutorials, 2016,18(3):2084-2123.
[3] 祝烈煌, 高峰, 沈蒙, 等. 区块链隐私保护研究综述 [J]. 计算机研究与发展, 2017, 54(10):2170-2186.
[4] Bonneau J, Narayanan A, Miller A, et al. Mixcoin: Anonymity for bitcoin with accountable mixes[C]. International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2014: 486-504.
[5] Valenta L, Rowan B. Blindcoin: Blinded, accountable mixes for bitcoin[C]. International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2015: 112-126.
[6] Noether S. Ring signature confidential transactions for Monero [ J ]. IACR Cryptology ePrint Archive, 2015:1098.
[7] Miers I, Garman C, Green M, et al. Zerocoin: Anonymous distributed e-cash from bitcoin [ C ]. 2013 IEEE Symposium on Security and Privacy. IEEE, 2013:397-411.
[8] Heilman E, Alshenibr L, Baldimtsi F, et al. Tumblebit: An untrusted bitcoin-compatible anonymous payment hub[C]. Network and Distributed System Security Symposium. 2017.
[9] Rivest R L, Shamir A, Tauman Y. How to leak a secret[C]. International Conference on the Theory and Application of Cryptology and Information Security. Springer, Berlin, Heidelberg, 2001: 552-565.
Ablockchain asset trading system based on homomorphic encryption and ring signature
FENG Haoming, CHEN Hang, LIU Yanping
(Industrial and Commercial Bank of China, Software Development Center, Blockchain Laboratory, Guangzhou 510665, China)
Abstract: A blockchain asset trading system based on homomorphic encryption and ring signatures is proposed.Through homomorphic encryption technology, user transaction information can be encrypted to make it invisible to other users, while ring signatures can verify the homomorphic encrypted cipher text, it is checked for business legitimacy to ensure the legitimacy of the transaction. This method can protect the originally open and transparent user asset transaction information on the blockchain. It has the characteristics of decentralization, security, reliability, and high ease of use. It can effectively protect the privacy of users and facilitate the enhancement of the zone. Blockchain’s privacy protection function for user transaction information in financial asset transaction scenarios is conducive to promoting the implementation and development of blockchain privacy protection technology in financial scenarios.
Key words: blockchain; homomorphic encryption; ring signature; finance asset trading; privacy protection
作者简介
冯浩铭:中国工商银行软件开发中心区块链实验室技术骨干,工行区块链技术平台「工银玺链」团队架构师,对密码学、共识算法、以太坊、超级账本等区块链理论及产品有深入研究,具有多年区块链平台设计、开发及应用的实践经验,获发明专利多项
陈杭:中国工商银行软件开发中心区块链实验室成员,工行区块链技术平台「工银玺链」团队工程师,主要研究智能合约虚拟机技术、安全多方计算、超级账本等
刘彦平:中国工商银行软件开发中心区块链实验室成员,「工银玺链」团队产品经理,主要负责工商银行区块链应用场景规划、区块链产品功能设计、区块链产品及应用推广、区块链前瞻性研究等工作
论文引用格式:
冯浩铭,陈杭,刘彦平. 一种金融级安全的区块链资产交易系统 [J]. 信息通信技术与政策, 2020(1):61-68.
本文刊于《信息通信技术与政策》2020 年第 1 期
来源链接:weixin.qq.com

区块律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。    

区块链资产交易 区块链 同态加密 环签名 隐私保护 硬核 高级科普文,更专业