一种单主体场景的区块链实施改进方案

2020-06-11 08:12陈泽瀛
中国科技纵横 2020年3期
关键词:区块链

陈泽瀛

摘  要:区块链技术有其优势,但在实际落地过程中也存在诸多痛点,如效率低、容量难以扩展、存储压力大、隐私数据易泄漏等。本文根据实时交易参与方数量的不同对区块链应用场景的类型进行了归类,并针对单主体场景的情景提出了一种区块链实施的改进方案。一方面通过将传统高性能数据库与区块链技术结合,实现了性能提高及可靠的隐私保护,另一方面通过对目前区块链签名技术的改进进一步提高了性能,并降低了存储压力。

关键词:区块链;单主体;聚合签名

中图分类号:TP309.7 文献标识码:A     文章编号:1007-9416(2020)03-0000-00

1 概述

区块链[1-4],这一备受人们关注的融合创新技术,是分布式数据存储、点对点传输[5]、共识机制[6-7]、加密算法[8]等计算机技术的新型应用模式。具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。从技术层面来看,多方参与,即分布式网络当中所有节点都参与,个人修改或改变数据不影响整个账本的交易数据,保证交易的可信和不可篡改。从经济层面看,通过这种方式降低了交易成本,实际上很多交易成本就在于信任的建立。譬如淘宝做起来的一个很重要的原因就是它通过支付宝这个第三方平台来做背书,解决了电子商务中交易信任的问题。区块链通过保证每笔交易都被记录、交易数据双方不能篡改、每笔交易都经过节点共识并可追溯,让交易可信,不用担心反悔或欺诈。

从本质上来说,区块链就像云計算、大数据、人工智能一样,它是一种非常底层的技术,离我们普通人的生活有一定的距离。目前各机构的系统各自为战,数据孤岛效应严重,这非常不利于跨机构、跨行业的协作及数据共享共通。纵然区块链有降低整个社会交易成本、促进社会发展的潜力,但从技术、理念到落地,还有很长的一段距离。而且区块链也不等同于比特币,作为支撑比特币[9]类虚拟货币的一种底层性技术,它能应用的场景涵盖我们生产、生活的方方面面。

2 现状分析

虽然区块链有诸多优势,但其从产生到规模化应用,需要一定的探索过程。当前,区块链技术在我国金融领域的应用整体上仍停留在试点测试阶段,缺乏典型的创新应用。技术成熟度和应用场景挖掘能力相对不高是导致该问题的重要因素。

一方面,当前区块链技术应用主要集中于对实时性、交易吞吐量要求不高的现有业务场景的改进,金融机构挖掘创新业务场景的能力相对不足。

另一方面,区块链技术本身成熟度有待进一步提升,系统吞吐量、信息安全防护能力等有待进一步提升,区块链技术需要不断迭代演进与完善优化;

目前,区块链在实际应用方面存在的具体问题主要有:

(1)效率低。比特币、以太坊[10]自不用讲,号称百万级的 EOS[11],但实测也只有几千 TPS,而Fabric[12] 实测也只有几百TPS。而导致效率低的重要因素就在于分布式账本的共识达成。

(2)容量难扩展,网络负载大。因为涉及所有节点的共识同步,随着节点数增加,存储和网络带宽的压力将成倍增加,多数联盟链在实际应用场景中都难以支持较多节点数。

(3)存储消耗大。区块链的分布式账本特点在大型行业级业务场景或者数据量较大的业务场景将给存储带来较大压力。

(4)隐私保护难。

(5)监管问题。

在区块链的应用场景中,可以根据交易涉及主体数量的不同分为两类:

(1)单主体场景:指仅涉及一个主体的场景,如食品溯源、知识产权保护等,此类场景上链的目的主要是存证防伪、数字存证,为下游的应用提供可信的数据。此类场景因仅涉及一个主体,交易过程不涉及多方确认,故实际应用中可以通过简化共识实现来提高效率。

(2)多主体场景:指涉及多个主体的场景,如金融资产交易结算,此类交易的成功依赖多方的确认,故达成共识的过程更复杂,效率相对更低。

本文针对单主体的交易场景,结合Hyperledger Fabric区块链平台提出了一种单主体场景的区块链应用实施改进方案。

3 一种区块链实施改进方案

3.1 改进思路

(1)传统高性能数据库技术和区块链技术相结合。传统的数据库技术能较好地满足现有应用数据操作的性能要求和存储空间需求,但在数据的防篡改、可信度方面主要依赖机构的信誉来保证,而区块链技术的最大特点是基于分布式存储的不可篡改性。可以考虑结合两者的优势以达到性能和数据可信的兼顾,即交易数据仍通过传统数据库存储,仅将业务数据的HASH[8]值上链。很多人会认为,数据本身不上链将无法保证数据的不可篡改,但在实际应用中,我们通常需要证明的是数据没有被篡改过,而未必是不可篡改。如果双方对交易结果发生了争执,首先要解决的就是双方证据的真伪,这完全可以仅将交易数据的HASH值上链,事后通过比对双方提供的证据是否能够还原出链上的HASH值,即可快速完成证据的验证,从而避免了大数量上链导致的性能问题。

(2)通过聚合签名[13]来降低区块中的诸如签名等非业务数据量,从而达到降低存储和网络带宽压力的目标。目前区块链应用通过PKI体系来保证安全,这也导致在网络传输及区块存储中的非业务数据占比很大。如图1所示hyperledger fabric生成的区块结构中当一个区块中交易数较多时,背书签名数据的存储空间需求是比较大的。由于区块数据需通过gossip[14]协议在各节点间多次广播,当区块数据过大将对网络带来巨大压力。为进一步缩减非业务数据的占比,本文提出了通过聚合类签名算法以期达到缩减非业务数据的目标。

3.2 架构及流程描述

图2为基于hyperledger fabric的区块链改进架构。相比fabric标准架构,改进后的架构增加了关系数据库节点,用于保存交易详细数据。在整个通道中关系数据库节点的数量设置为1-2个即可,同时处理流程也做了一些调整。数据上链及查询流程如下:

3.2.1上链流程

(1)应用系统产生待监督/共享/协议的可信数据后,根据背书规则将数据发送至背书节点。

(2)背书节点进行交易验证,如验证失败则直接返回失败。否则根据指定规则产生交易HASH值并对交易ID和哈希值进行签名。

(3)将交易数据保存到高性能关系数据库。

(4)返回客户端成功响应。

(5)背书节点将交易ID、HASH值和签名数据发往排序节点。

(6)排序节点验证交易签名并根据排序规则出块,区块用单个聚合签名代替所有的背书签名。

(7)Leader节点从排序节点获取区块数据并通过gossip一致协议在所有记账节点中同步。

(8)记账节点对区块进行验证并记入本地账本。

3.2.2查询流程

(1)客户端发起交易查询及检验。

(2)记账节点根据身份验证及权限控制检查及部署情况发起到本地或远程的关系数据库查询。

(3)记账节点根据查询返回的交易数据计算HASH值并查询本地账本进行交易可信性验证。

(4)记账节点返回交易数据及可信性验证结果。

3.3 改进点

3.3.1 高性能数据库与区块链结合

具体来说就是数据上链时首先对交易进行初步验证,通过后将交易数据记录到高性能数据库,按约定数据主体格式计算业务数据的哈希值,后续只将交易唯一ID、基于交易业务数据计算的HASH值及签名数据记录到区块链中。

这样设计的优点如下:

(1)可以实现数据真伪的易验证性。HASH 数据在链上可供任何接入的应用程序自由查询,去跟原始数据做校验。其实在数据验伪、溯源方面很多时候只需要证明一件事情在记录后没有被篡改过即可。同时此设计可充分利用数据库技术中的高性能同步、复制等技术实现精确可控的数据共享和隐私保护。

(2)吞吐量上升。由于只处理 HASH 值,网络在算力消耗、通信方面的压力大幅下降,基本上可与目前多数公有云的效率相当。同时容量可以充分扩大。由于摆脱了大量的数据和繁复的校验,网络容量可以大幅提高,节点的增加对网络不会造成过大的压力。

(3)更容易做到数据的隐私保护。区块链的开放性和数据的隐私保护一直是个矛盾的话题,尽管出现了不少能够在一定程度上解决问题的方法,但是实际上在做平台设计时,链外本身就有更有效的数据处理方式,我们要做的其实应该是给“中心化”的平台设计,提供“阳光”的监督,给各参与方都提供便捷的方式监督中心节点对数据的威胁。

(4)提升链码的能力。图中虽然链码只做了HASH 计算,但实际上,由于大量数据不在链上,链的性能提高,反而可以解放链码的设计,支持复杂应用,与“传统”业务系统进行融合设计。只要保持链码无状态,加强对链码的监督和审计,也能防止链码造成数据泄露。在对链码部署、更新权限进行控制的基础上,链码设计上可以参考 SOA或者微服务[15]的形式,成为可自由调用的服务,链码运行结果中,依然是 HASH上链,其他数据返回给调用链码的应用程序在链外数据库存储,区块链网络与本地系统的融合与混合云架构的实现方式非常类似。

(5)减轻存储压力。与保存完整数据相比,保存 hash 值对存储的消耗要小的多。

(6)更好的扩展性。由于链上只存储 hash,所以,网络在不同数据类型、标准方面具有很强的兼容性,实际上也不存在跨链问题。

3.3.2 Gamma聚合签名[16,17]取代ECDSA[8]签名

Gamma签名是一种基于椭圆曲线并支持聚合的签名算法。传统的基于椭圆曲线的数字签名方案主要是基于Fiat-Shamir(FS)[18]转换得到,但是基于FS转换的数字签名方案在“在线/离线”计算效率、在交互环境下的应用灵活性方面存在缺陷。文献[16-17]所提出了一种新的从零知识[19]到数字签名的转换方法,其相应得到签名称为Gamma签名。该转换继承了FS转换的优点,而又避免了其缺陷。相比于基于FS转换的数字签名方案,Gamma签名方案总体效率更优(比如,减少了ECDSA的低效率的求逆运算),具有更优良的在线/离线计算效率,更强的安全性、以及具有更高的适用性。Gamma签名同时还支持签名聚合,即对一批经过Gamma签名的交易进行验证并生成一个聚合签名。Gamma聚合签名能够实现安全聚合:单笔交易签名,批量聚合,验签过程不需要解开批量包后逐笔验签,整包聚合验签就可以验证该批次所有交易的签名合法性。

本文对该签名算法进行了实现,并根据fabric账本特点进行了优化。在采用Gamma签名算法后与FABRIC原有ECDSA签名算法相比有如下优势:

(1)在确保安全性的前提下提高了加密处理的性能,降低了加密的耗时。表1是Gamma签名算法在聚合运算时的性能数据(CPU:Intel? Core? i7-6800K CPU @ 3.40GHz *12 内存:8G DDR4 2400 硬盘:SAMSUNG-HD161GJ ATA 160G Ubuntu 18.04.1 LTS)

(2)在打包區块时使用聚合签名取代每一笔交易的单独签名,从而降低了存储空间要求。Gamma签名和验证签名空间消耗可以达到国际先进签名标准(比如ECDSA)的同等水平。 但是由于Gamma签名可以聚合,比如对于n笔签名进行聚合,聚合后的签名长度为  32+n*33字节。 而 n 笔ECDSA 的签名长度为 64*n字节。当n 变大时,Gamma 聚合签名的空间优势明显。这种空间优势对于大数据量处理的区块链平台而言在存储运维成本方面有明显优势。

(3)節省带宽,提高系统吞吐量。由于相同交易数情况下区块的大小更小了,节点间区块同步所带来的网络压力也更小。

(4)提高了响应速度。由于存证防伪类的查询一般是按时间段比较集中,这些查询的交易主要集中在某些区块中,而Gamma聚合签名验签一次即保证了该区块所有交易的合法性,并对该块交易数据进行临时缓存,这也给提高了用户的响应速度。

3.4 性能测试

考虑到本方案中信息查询主要依赖传统数据库来实现,故此处仅测试业务数据上链的性能。本次测试基于hyperledger fabric区块链网络环境(CPU:Intel? Core? i5-5200K CPU @ 2.20GHz *2 内存:12G 三星DDR3L1600MHz 硬盘:TOSHIBA MQ01ACF050 500G VMWARE-CENTOS7.7.1908),区块链网络中共设一个peer组织和一个orderer组织,每个组织各有两个节点。所有网络节点均以docker容器形式部署在同一台pc虚拟机。通过测试程序模拟一组终端同时发起交易,每个模拟终端采用同步模式与区块链网络通信。区块链系统本身的上链操作测试结果如表2,表3所示。

4 结语

测试表明实施改进方案后:

(1)性能有较大的提升,其中TPS数提升接近40%,区块账本存储的磁盘消耗降低了约50%,同时因交易处理更快使得CPU利用率也上升,因受限磁盘io性能导致cpu利用率不高的情况有所改善。

(2)核心业务数据仍利用现有数据库技术保存和分发,从而在让数据可信的同时保证了隐私数据的安全。

针对单主体场景提升区块链系统的上链、查链体验。对上链,用户数据在插入传统高性能数据库后就立即响应返回。整个处理耗时和现有系统并无太大区别,而实现交易HASH值上链也因为数据量的降低使速度大大增加。对查链,用户收到的响应可分两步完成,首先通过传统高性能数据库返回交易数据,在用户浏览交易数据的过程中也将收到区块链数据校验结果。

参考文献

[1]  UNDERWOOD S. Blockchain beyond bitcoin[J].Communications of the ACM,2016,59(11):15-17.

[2] 何蒲,于戈,张岩峰,等.区块链技术与应用前瞻综述[J].计算机科学,2017,44(4):1-7,15.(HE P,YU G, ZHANG Y F, et al. Survey on blockchain technology and its application prospect[J].Computer Science, 2017,44(4):1-7,15.

[3] VUJICIC D,JAGODIC D, RANDIC S. Blockchain technology, bitcoin, and Ethereum: a brief overview[C]//Proceedings of the 17th International Symposium INFOTEH-JAHORINA. Piscataway: IEEE,2018.

[4] Mermer G B, Zeydan E, Arslan S S. An overview of blockchain technologies: principles, opportunities and challenges[C].In: Proceedings of the 2018 26th Signal Processing and Communications Applications Conference(SIU) ,Izmir,Turkey,2018.

[5] MILOJICIC D S, KALOGERAKI V, LUKOSE R, et al. Peer-to-peer computing: HPL-2002-57R1 [R]. HP Laboratories,2003.

[6] 袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016,42(4):1-8.

[7] 刘童桐.区块链共识机制研究与分析[J].信息通信技术与政策,2018(7):481-494.

[8] Jonathan Katz, Yehuda Lindell. Introduction to Modern Cryptography[M].Chapman & Hall/CRC,2007.

[9] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system [EB/OL].[2020-02-08]. https://bitcoin.org/bitcoin.pdf.

[10] BUTERIN V. A next-generation smart contract and decentralized application platform[EB/OL].[2020-02-08].https://github.com/ethereum/wiki/wiki/White-Paper.

[11] Cryptoverze. Eosio (EOS) Whitepaper[EB/OL].[2020-02-08].https://cryptoverze.com/eos-whitepaper/.

[12] ANDROULAKI E, BARGER A, BORTNIKOV V, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains [EB/OL].[2020-02-08].https://www.colabug.com/3052594.html.

猜你喜欢
区块链
基于区块链技术的海上散装液体化学品运输安全监管方法
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
用“区块链”助推中企走出去