1.基于区块链的公平数据交易方法,其特征在于,包括如下步骤:
S101,卖方通过双线性映射加密数据,生成质数阶双线性群并初始化为G1和G2,G1和G2是两个阶为素数p的群,并且存在 到G2的双线性映射,记g为G1的生成元,H:G1→G1是密码哈希函数;随机选择 y=gx,x是卖方私钥,y是卖方公钥,任意选择 令密文c1=gr,将c1哈希到双线性群中:H(c1),利用双线性配对操作计算c2=e(yr,H(c1))*m,得到密文C={c1,c2},m是明文,e是双线性映射函数;
S102,买方通过被加密数据计算验证信息,y′=gx′和R=H(c1)x′, 是随机选择的买方私钥,y′是买方公钥,智能合约验证买方货款是否足够,验证信息(y′,R)是否满足e(y′,H(c1))=e(g,R),若验证失败,则交易失败并结束,若验证成功,则将买方信息存入区块链并支付货款,所述买方信息包括R;
S103,卖方通过区块链上的买方信息生成授权信息A=Rx,智能合约验证买方信息是否满足e(y,R)=e(g,A),若验证失败,则退款,若验证成功,则向卖方发送货款,同时将授权信息A存入区块链;
S104,买方通过区块链上的授权信息A计算解密密钥k=A1/x′,通过解密密钥k解密被加密数据m=c2/e(c1,k)=e(y,H(c1))r·m/e(gr,H(c1)x),当卖方未对买方的购买做出回应,买方可通过智能合约退款。
2.如权利要求1所述的基于区块链的公平数据交易方法,其特征在于所述的S101卖方将加密的数据上传文件系统,并将文件系统返回的存储地址作为数据属性存入区块链,所述的买方通过区块链上的存储地址,从文件系统中获取加密数据。
3.如权利要求2所述的基于区块链的公平数据交易方法,其特征在于所述的数据属性包括交易截止日期,所述的S103,智能合约还需验证是否在交易截止日期内;所述的S104,通过是否超出交易截止日期来判断卖方对买方的购买是否做出回应。
4.如权利要求2所述的基于区块链的公平数据交易方法,其特征在于所述的数据属性包括总押金、单笔赔偿押金,所述的S102,智能合约还验证总押金是否大于单笔赔偿押金,验证成功后,还需从总押金中扣除单笔赔偿押金,所述的S103,验证成功后还需将扣除的单笔赔偿押金返还至总押金;所述的S103和S104的退款包括货款及单笔赔偿押金。
5.如权利要求2所述的基于区块链的公平数据交易方法,其特征在于所述的数据属性包括买方编号,通过不同的买方编号创建不同的买方对象,存储不同买方的R、授权信息A,所述的S102,验证成功后买方编号递增,所述的S102、S103的买方信息是存有R的买方对象,所述的S103,验证成功后向卖方发送货款,同时将授权信息A存入买方对象,以数据属性的形式存入区块链。
6.如权利要求1所述的基于区块链的公平数据交易方法,其特征在于所述的e(y′,H(c1))=e(g,R)及e(y,R)=e(g,A)的验证,是所述的智能合约通过调用预编译合约进行配对验证。
7.基于区块链的公平数据交易系统,其特征在于包括:卖方客户端、买方客户端、区块链系统,所述的区块链系统上部署有智能合约,所述的智能合约包括售卖模块、购买模块和关闭模块,区块链系统分别与卖方客户端、买方客户端连接;
卖方客户端用于加密数据和生成授权信息,卖方客户端生成质数阶双线性群并初始化为G1和G2,G1和G2是两个阶为素数p的群,并且存在 到G2的双线性映射,记g为G1的生成元,H:G1→G1是密码哈希函数;随机选择 y=gx,x是卖方私钥,y是卖方公钥,任意选择令密文c1=gr,将c1哈希到双线性群中:H(c1),利用双线性配对操作计算c2=e(yr,H(c1))*m得到密文C={c1,c2},m是明文,e是双线性映射函数;卖方客户端通过区块链上的买x方信息生成授权信息A=R;
买方客户端用于生成验证信息解密被加密数据,买方客户端通过被加密数据计算验证信息,y′=gx′和R=H(c1)x′, 是随机选择的买方私钥,y′是买方公钥;买方客户端用
1/x′
通过区块链上的授权信息A计算解密密钥k=A ,通过解密密钥k解密被加密数据m=c2/e(c1,k)=e(y,H(c1))r·m/e(gr,H(c1)x);
售卖模块用于验证买方货款是否足够,验证信息(y′,R)是否满足e(y′,H(c1))=e(g,R),若验证失败,则交易失败并结束,若验证成功,则将买方信息存入区块链并支付货款,所述买方信息包括R;
购买模块用于验证买方信息是否满足e(y,R)=e(g,A),若验证失败,则退款,若验证成功,则向卖方发送货款,同时将授权信息A存入区块链;
关闭模块用于卖方客户端未对买方客户端的购买做出回应时,对买方客户端进行退款。
8.如权利要求7所述的基于区块链的公平数据交易系统,其特征在于所述的区块链系统还包括文件系统,所述文件系统分别与卖方客户端、买方客户端连接,用于存放加密数据。
9.如权利要求7所述的基于区块链的公平数据交易系统,其特征在于所述的智能合约还包括部署模块,用于存放数据属性。
10.如权利要求7所述的基于区块链的公平数据交易系统,其特征在于所述的智能合约还包括配对验证模块,用于调用卖方客户端和买方客户端上的预编译合约进行验证。