APP下载

基于区块链的数据交易平台的研究与设计

2021-05-10赵培培于金刚王海汀

小型微型计算机系统 2021年5期
关键词:卖方买方保证金

李 姝,赵培培,于金刚,王海汀

1(沈阳理工大学 装备工程学院,沈阳 110159)

2(中国科学院大学,北京 100049)

3(中国科学院 沈阳计算技术研究所,沈阳 110168)

1 引 言

在互联网技术不断发展的时代背景下,互联网软、硬件等各方面的网络信息技术的不断发展和融合,导致了企业内部数据呈现爆炸式的增长.保障核心数据的安全,关系到一个企业的竞争水平.如今,谁掌握了数据资源谁就率先掌握主动权,数据的自身价值在信息化的今天不断凸显.因此保障企业的数据不被窃取,一直是困扰企业很头疼的问题.与此同时,随着数据的几何式增长也造成了企业维护数据的成本不断增加,给企业的发展造成了沉重的负担,如何让自己手中的数据转换成企业效益,发挥数据的自身价值,也是企业面临的一大难题.因此,为了解决企业现实的问题,结合区块链的安全特性,基于区块链的数据存储框架(IPFS[1]、Audita[2]等)目前被广泛的应用,本文在数据被安全存储的基础上,实现了如何在不安全的环境下,进行安全的数据交易,在保障企业核心数据的同时还实现了将企业数据转化为价值,节约了企业的数据管理成本.

在信息化的社会背景下,企业要想获得持续的竞争优势,一方面,要在保护自身数据安全的同时实现数据的公开透明,企业运营信息的公开能够增加企业的可信度,增强客户对企业的信任和信心,而信息的互联互通则能促进整个行业的发展水平;另一方面,要加强企业的核心数据安全保护,使企业保持竞争力.因而利用区块链的分布式数据存储、点对点传输、共识机制、加密算法等特性,可以在保证数据的安全的同时保证数据的透明性.

如今,云计算改变了我们的数据管理和存储的方式,云存储服务为客户提供了方便的在线存储、复制和数据保护等服务.然而,随着企业服务的复杂性和人性化要求越来越高,云存储的弊端也日益显现,比如,缺乏透明度、有限的权限以及隐私和安全方的挑战.随着企业数据的越来越多,对数据的隐私性、安全性更加倚重.因此,本文借鉴Audita链外存储架构,它是一种基于区块链的链外存储框架,在保护数据安全性的同时并解决了数据的可伸缩性和隐私等问题.它提供了一个自动和公平的系统,以确保数据的分布式、可靠和可证明的存储[3].

在确保数据安全存储的基础上,如何使企业之间的数据流动起来,又是阻碍企业发展另一个因素.本文在数据安全存储的框架基础上,设计了一种数据交易协议,该协议允许买卖双方使用数字货币的方式轻松的进行数据交换.该数据交换协议规定了提供数据的一方自动发送发票,数据的使用者提供数据签收收据,数据的交易流程将存储在不可变的分布式分类账本[4]上,用于审计和争议的解决,交易的整个过程中买卖双方通过匿名的形式[5]进行,充分保障买家和卖家的隐私性.利用数据的交换协议规则,保证买卖双方各自的权益,具体的协议细节,将在后面章节中详述.通过该隐私性的数据交换协议,可以把企业手中的海量数据实现价值,在节约企业存储成本的同时,又可以把手中的数据利用起来,转变为真实的价值.让企业手中的数据“活”起来.

2 相关工作

2.1 传统的交易模式

目前现有的数据交易模式主要有两种:第1种是托管式交易模式,企业将自身的数据托管到第三方(比如贵州大数据交易所),通过中心数据与外部进行数据交易.如图1所示.

图1 托管交易模式

第2种是聚合交易模式,此交易模式是通过数据聚合中心将数据业务机构链接起来,各个企业机构各自保存和管理自身数据,无需托管到第三方的交易中心.各企业机构可以通过数据中心查询自身所需要的数据资源,并且可以通过数据中心直接与数据的持有者进行沟通,达成意向后进行直接交易.如图2所示.

图2 聚合交易模式

聚合模式原则上比托管模式更加安全,数据由拥有方各自控制,中心数据机构只是起到了链接和桥接作用,但是通过仔细研究聚合交易模式,就会发现数据聚合中心机构完全有能力、有机会、更有手段保留交易过程中的数据,也就是说数据中心机构能扣留交易的数据,随着交易数据成几何式的增长,聚合中心慢慢的便演变成托管中心.数据作为特殊的交易商品,数据中心式的交易平台对数据交易双方权益的构成了巨大地潜在威胁,使交易双方对交易数据的安全以及隐私产生了巨大的担忧,对数据交易构成了巨大的障碍.

2.2 区块链技术

区块链技术方案是由名为中本聪(Satoshi Nakamoto)在2008年发表的论文Bitcoin:A Peer-to-Peer Electronic Cash System[6]中提出的,区块链思想是让所有成员公平参与制定的规则,传统的中心式平台的操作由不透明变为透明、由不可监督变为可监督、由独一无二变为可被替换的服务者,每个参与者都是一个小的中心,由传统的强化中心变为弱中心化.区块链技术是一种以数据加密的方式来共享信息的分布式数据库技术,具备4大特性:1)它是一个分布式账本:全局共同维护一个分布式的账本,保证了全局事务的统一;2)它是一种新型数据库,使用非对称的加密技术对数据进行安全加密存储,通过共识机制类保障数据的安全可靠;3)它是一种规则:通过代码的方式事先编写规则,依靠智能合约技术自动执行,任何参与方无法更改;4)它采用计算机网络的点对点传输协议.在不借助任何第三方信任背书的情况下,实现点对点的传递、交易、支付、汇兑价值物.

2.3 区块链在相关行业的研究

在实时物联网数据市场方面the University of Southern California 提出了I3[7]联盟,旨在提供一个实时的数据市场,其中会建立一个单一的网站,用来存储和检索所有卖家及其数据产品信息,并根据需求提取和显示给买家.I3的基本原则是,数据的所有者有权决定是否、和谁以及何时共享数据.

Bigi等提出将Bithalo[8]形式化为一种特殊的双存款方案,他们称之为DCSP(分散智能合约协议),并从理论上分析了它的博弈;Aditya Asgaonkar等[9]提出了双重托管的智能合约,在没有可信的调解人情况下可证明的欺诈交付和支付的数字产品;Goldfeder 等[10]考虑了相同的问题,并建议使用涉及第三方中介或第三方中介组的智能契约,同时证明与传统方法相比,在安全性和隐私方面有一定的增强.

在物联网应用领域方面,文献[11]运用区块链技术把物联网设备与区块链系统相结合,从而管理和控制终端设备的配置文件和访问权限.此外于金刚,张弘等人也提出基于区块链的物联网数据共享模型[12],通过网关技术将物联网终端设备上的数据上传到区块链网络中实现数据资源的共享[13,14].

目前基于区块链技术在数据交易市场的研究与应用仍处于初级研究阶段[15],国内外处于同一起跑线上,尚未形成有价值的区块链应用于数据交易的架构体系.在已有的区块链相关领域研究中,大部分研究还是基于区块链的分布式、加密等特性,对数据进行分布式安全存储或者用于数据共享,对基于区块链的数据的交易研究还非常少,基本都是理论上的阐述,没有给出详细具体的架构及模块设计方案.本文结合区块链的自身特性,以及目前数据交易平台的弊端,从根本上解决了传统数据交易模式的交易过程中数据安全缺陷,因此本文的研究具有实际的实用价值.

3 数据交易模型及智能合约设计

数据的安全存储是数据进行交易的前提,所以保障数据存储在安全的地方就是重中之重.区块链是一个完全透明的技术,并且分布在世界各地.区块链是一个由点对点网络管理的公共和不可变的结构化数据系列(块).可以说区块链是下一代分散式存储服务的理想基础设施.因此本文借鉴了类星际文件系统Audita框架的思想,把数据存储在脱机的对等点的类别中,称之为存储节点,紧挨着标准区块链的对等点,称之为块的创建者.存储节点提供保存和维护用户数据的存储功能,而块的创建者则是运行底层区块链协议.该存储方案,提供一个自动和公平的挑战系统,以确保数据是分布式的、可靠的和可证明的存储.关于更多Audita框架的基本原理本文将不在赘述,读者可自行了解.

3.1 分散式数据交易的交互过程

本文设计的分散式数据交易模型是基于智能合约和查询组件.下面将具体描述数据交易端到端交互过程,图3给出了分散式数据交易模型的交互时序图.

图3 数据交易模型的整体架构

1)卖方发布产品信息.卖方需要根据要求发布一个智能合约,将产品的元数据写入智能合约中,包括数据类型、数据价格、数据的简要描述等,由于数据存储在分布式文件系统中,还要有存储数据的公开地址写入智能合约中.此外卖方还需要将保证金(符号)存入智能合约中,随着交易的完成保证金会被退还.

2)买方查询数据.卖家按照规范将元数据公布在区块链,买家可以通过查询区块链来浏览所需产品的目录.此外如果买家想详细了解产品的具体参数,可以通过写在智能合约中存储数据的公开地址,到分布式文件系统(Audita)系统中去查询相关数据参数.

3)购买数据.买方通过综合分析所掌握的产品信息后,选择购买符合自己所需的产品.这时买方需要初始化智能合约,买方必须先支付产品的价格,然后买方将保证金存入,交易结束后退还.

4)交付数据.当买方初始化智能合约后.卖方会收到相关的提醒,这时候,这时候会临时开辟的一个匿名性的会话通道[16],把数据加密后通过链下通道发送给对方,买方会在临时匿名通道中收到卖家的数据的解密密钥,以便后面的数据解密.

5)接受/拒绝交付.买方解密卖方发送的加密数据,然后对数据进行哈希,来检查是否匹配之前卖方公布的哈希.如果确认无误,买方将会响应智能合约,接受产品交付,完成交易[17].如果哈希不匹配,或者数据内容与发布在区块链的信息相差较大,或者卖方直接拒绝交货,买家可以响应智能合约中卖方欺骗,拒绝确认产品交付.

6)调节.智能合约根据买卖双方提交意见后执行.

7)完成交易:卖方保证金和买方保证金均退还给相应方,卖家也将收到买家支付的货款.

8)投诉:如果卖方没有支付数据,或者交付数据的哈希与公布在智能合约里的哈希不匹配,那么判定卖家违约,卖家将失去他的保证金,用来支付调节步骤中消耗的gas,其余将会被销毁,买家可以拿回其定金和支付货款.如果卖家支付产品,但通过贝叶斯过滤算法判定为垃圾字符串,则也判定卖家违规,按卖家违约处理.如果哈希值匹配,数据内容真实,买方将被判定为恶意的投诉,那么买方将失去他的保证金用来支付调节步骤中所消耗的gas,产品货款发送给卖方,剩余的将会被销毁.

9)评级.数据产品交易结束后,买卖双方可以进行相互评分,这个过程是独立的,根据等级划分可以帮助买家找到高质量的数据源和值得信赖的卖家,相反卖家也可以匹配信誉度比较高的买家,对于存在多次欺骗的买家或者卖家,系统会对其加入黑名单[18],限制其交易.

3.2 数据交易智能合约设计

智能合约主要存在于服务层的业务模块,负责实现数据交易的业务流程.本文基于solidity语言编写智能合约,它是运行在Ethereum虚拟机(EVM)之上.具体实现内容如下:

3.2.1 卖家产品信息的注册

卖家需要将产品的详细描述信息写入区块链中,数据的详细介绍是买家对产品评估的主要因素,有助于帮助买家快速了解到此产品是否是自己需要的,也为后面的交易减少不必要的交易争端.本文提供一个产品描述及的基本模板[19],如图4所示.

图4 产品信息模板

3.2.2 保证金

智能合约要求买卖双方需要在智能合约中投入足够高的保证金,以此来维护买卖双方的利益.在本文的协议中,卖家先提交保证金,买家在购买产品是发送付款和自己的保证金.如果交易一切正常,交易结束后,保证金将各自返还给买卖双方.由于本协议对买卖双方的要求不同,所以保证金的缴纳的数额也各不相同.本文基于文献[20]保证金缴纳机制,卖方的保证金Ws具体如公式(1)、公式(2)所示.

(1)

(2)

买方的保证金Wb数额相对于卖方来讲没有那么复杂,买方缴纳保证金的多少与其信誉值的高低有关,当买方信誉值评分在4.0以上的时候,每提高0.1的信誉,保证金就会少1%,最终买方保证金Wb的公式为:

(3)

其中Rx为买家现在的信誉值,P为所购买产品的价格,最后缴纳计算金额整体的5%存入智能合约中.

3.2.3 信誉值

当交易完成后,双方要对本次交易的对方进行打分,作为其信誉度,为后面的卖家或买家提供参考.卖家的信誉值在买家查询数据时会作为卖家的基础信息显示,买家查询数据时,系统也会优先把信誉度高的卖家排列在搜索结果的前面,保证买家可以匹配到优质的卖家,同时卖家可以参考买家的信誉来决定是否将自己的隐私数据与买家进行交易.买方i在完成交易后,卖方会在1-5分之间对买方购买信誉度进行评价,然后进行加权计算.

(4)

其中Rx表示买家n次购买后的信誉,N表示购买产品的次数,Cx,n表示每次购买的评分,且Cx,n∈{1,2,3,4,5}.将n次评分加起来求平均数,即为买家此时的信用度.对于信誉度高的用户,下次在购买产品是,缴纳的保证金相应会少.

同样地,当产品交易完成后,买方也需要对卖方在交易中的行为做出评价.本文基于文献[21]机制,假定信誉度高的买家会对卖家做出更加准确、更加真实的评价,通过对不同信誉度的买家做出的评分来计算出卖家的信誉度.具体如公式(5)、公式(6)所示:

(5)

(6)

其中,Rl,n+1代表此次产品交易结束后卖家l的信誉度,n表示卖家接收到的评价次数.θ是大于1的常数,Φ(R)是平滑函数,使信誉度更加平滑,其中σ是函数的加速因子,R表示当前买家的信誉度,当σ越大时,Φ(R)越平滑.D表示信用的上限,最大值为5.Rx是买家的信誉值,Wn+1为买家对此次购买产品的评分,其中Wn+1∈{1,2,3,4,5}.即买家可以在1-5分之间对卖家进行满意度评分.

3.2.4 买家对卖家的评价

交易结束后,买家可以简要的对卖家数据质量和数据的完整度给出评价,由于数据量的大小会决定消耗gas的大小,所以买家的评价被限制在30个字符以内,以供后面购买参考.

3.2.5 信息查询

买卖双方达成交易并互相进行完评分后,交易过程的所有数据将会被打包上链,使其可以达到交易记录能够追溯的作用,数据一旦上链,买卖双方都将无法更改里面的内容,这也是区块链的无法篡改性在这里提供安全保障.区块链上的所有用户都可以对上链的交易内容进行查看,保证交易过程的公开透明.这也会有效遏制恶意买卖的行为.

4 实验与分析

4.1 实例安全性分析

卖方和买方之间的交互动态,可以看成买卖双方博弈的过程,卖方和买方都想根据规则使自己的利益最大化.买家先玩第1步(交互过程的步骤1),卖家玩第2步(交互协议的步骤3)在原始博弈[22]的任何子博弈中,双方都没有背离规则的动机.下面本文用以下标签来分析整个过程中所能发生的情况:

H,H’:卖方和买方的各自诚实行为;F,F’:卖方和买方分别提交的虚假数据.对于卖方来说,相当于在步骤4中发送了虚假的错误数据,并由自身密钥签名.对于买方来说,这相当于在步骤5中进行重放攻击使交易产生争论;G,G’:卖方和买方分别提交垃圾数据.对于卖方来说,在步骤4中发送一个无法对应公钥解密的字符串.或者买方在第5步也做类似行为;S:买方琐碎投诉,这对应于在提供诚实交付证据时的争议;B:买方在第5步中没有回应;与此同时,我们用Vd和Pd分别表示产品的价值和产品的售价,且Vd>Pd.

首先,本文分析了买卖双方不同的交易操作所带来的收益:

如果卖家是诚实的(N),则:

1)如果买方在步骤5中伪造其响应(即F’行为),无论卖方的行为如何,智能合同将向卖方发送付款Pd凭证,并削减买方的存款AB.如果卖方是诚实的,那么买方收到产品,其收益增加Vd.

2)类似地,如果买方提交一个垃圾字符串(G’行为),那么智能合约将锁定双方的定金、AB和As,以及买方的Pd付款.如果卖方是诚实的,那么买方收到产品,其收益增加Vd.

3)如果买方没有在第5步(B)中提交任何接受或投诉,在T时间内.双方的存款和买方的Pd付款将锁定.T时间后,保证金归还双方.如果卖方是诚实的(H),那么买方收到产品,其收益增加Vd.

如果买家是诚实的(N’行为),则:

1)如果卖方发送了伪造的数据(F),那么智能合约可以识别卖方的欺骗行为.卖方的保证金Ws被没收销毁,买方的保证金Wb和付款Pd被退还.

2)如果卖方向买方发送垃圾(G),则买方向智能合约发送垃圾字符串.卖方的保证金Ws没收,卖方保证金Wb和付款Pd被退回.

3)如果卖方发送了实际数据(N),则买方接受交货.这将导致支付款Pd给卖方,并退还各自的保证金.

图5显示了双方不同操作所产生的收益结果.在博弈论中,只有买卖双方都是诚实的时候,子博弈是完全纳什均衡的(Subgame Perfect Nash Equilibrium),但是本文通过卖家缴纳大量保证金的形式,保证了卖家的相对诚实,因为如果卖家不诚实,他的损失将会大于他的收益.当卖家行为是诚实时,只有买家的行为只有是诚实时,买家才能拿到保证金,否则,不仅保证金被没收,付款将打入卖家账户,而且下次交易时所缴纳的保证金将大幅度增加,从而约束了买家的诚实行为.因此本文在很大程度上保证了子博弈是完全纳什平衡的,使双方都获得正的收益.

图5 买卖双方博弈验证原理

4.2 卖方信誉度测试

卖家的信用度如图6所示,买家交易后的评价直接影响着卖家的信誉度,信誉度越高的卖家在买家搜索时就会排列在前面,提高数据产品的竞争力.实验结果表明,当信誉度良好的卖家在数次交易后,其信誉度会一直保持增长,但是随着交易量的增加增速会越来越慢.如图6(a)所示,买方对卖家的评价其信誉度成正态分布,并且不同的正太分布会对卖家信誉度有不同的影响.当卖方评分服从 N(2,0.5)时信用度最低,服从 N(4,0.5)时卖方信用度最高.因此产品的质量直接影响买方对卖家信誉度的评价,关系着卖家的信誉度.图6(b)是买方的信誉度对卖方信用度评级的影响,通过结果表明,如果买家信用度在[4,5]均匀分布的时候卖家能够得到较高的信用度评价,而在[2,3]均匀分布时卖家获得较低的信用度评价.高信誉度的买家往往能够真实客观的评价所购买的数据产品,也能够真实客观的体现卖家的信誉度.于此同时,通过调整不同的参数,可以调节买家对卖家的信誉度影响,来保证卖家信誉度的客观性和真实性.

图6 卖家信用度变化曲线

4.3 性能测试

在性能方面,本文采用Hyperleager Caliper 性能测试框架,测试模型在总交易数为3000时,产品查询速率和数据交易速率不断增长时的系统吞吐量.测试结果如图 7 所示,其中横坐标为每秒发送的交易数量(TPS),纵坐标为系统的吞吐量.

图7 性能测试结果

实验结果表明,产品的查询吞吐量和发送速率成正比,其比值约等于1.由于受到区块链共识机制的限制,产品交易性能在110tps 之后区块链的吞吐量将接近饱和.因此在未达到交易性能峰值之前,可以不断的提高交易发送速率来增加区块链的吞吐量.

实验表明本文搭建的数据交易模型在保证交易双方身份信息隐私的情况下,整个交易流程可以在较高吞吐量的情况下完成,实现去中心化的安全的数据交易平台.此外采用针对性的激励措施来保证系统的良性循环竞争和交易双方的诚信度.

5 总 结

本文提出了一个基于区块链的数据交易平台的设计,用于保证数字商品在交易过程的安全性和隐私性,通过加密技术与区块链技术的结合,从机制上保证了交易平台自身无法查看、复制和保存交易中的数据.对于一些敏感数据,本文采用代理盲签名[23]的加密方法,可以防止买方对购买的一些敏感的数据进行二次倒卖.基于对买卖双方和智能合约的交互关系博弈分析,提出了防欺诈的保证方案,该方案的安全性通过交易量的增加而增强.

由于系统对安全性和隐私性有着严重的要求,在复杂的交易系统中会变得零散,同时过于严格的系统的框架也会损害系统的可伸缩性.此外,在买方对交付数据提出异议的情况下,智能合约需要对数据进行解密,在实施的具体过程中需要巨大的成本消耗,这些问题都将是以后我们重点研究的方向.

猜你喜欢

卖方买方保证金
第十四届(2020)卖方分析师水晶球奖合并榜单
买方常见违约问题分析、应对及预防
今年房企并购已达467宗
大力清理规范工程建设领域保证金
警惕出境游保证金陷阱
五花八门的保证金到底能保证啥
安徽农民工工资保证金可差异化缴存
电子商务中买卖双方诚信博弈分析及其对策研究
买卖合同争议案例
从一则案例谈如何认定交货过程中的不可抗力事件