CN109462588B - 一种基于区块链的去中心化数据交易方法及系统 - Google Patents

一种基于区块链的去中心化数据交易方法及系统 Download PDF

Info

Publication number
CN109462588B
CN109462588B CN201811345212.8A CN201811345212A CN109462588B CN 109462588 B CN109462588 B CN 109462588B CN 201811345212 A CN201811345212 A CN 201811345212A CN 109462588 B CN109462588 B CN 109462588B
Authority
CN
China
Prior art keywords
key
client
data
encrypted
proxy node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811345212.8A
Other languages
English (en)
Other versions
CN109462588A (zh
Inventor
龙承念
刘少伟
马史耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenshang information technology (Shanghai) Co.,Ltd.
Original Assignee
Shanghai Wurong Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Wurong Intelligent Technology Co ltd filed Critical Shanghai Wurong Intelligent Technology Co ltd
Priority to CN201811345212.8A priority Critical patent/CN109462588B/zh
Publication of CN109462588A publication Critical patent/CN109462588A/zh
Application granted granted Critical
Publication of CN109462588B publication Critical patent/CN109462588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开了一种基于区块链的去中心化数据交易方法及系统,该方法包括:第一客户端生成购买请求,将购买请求发送至智能合约;第一客户端从代理节点下载加密的数据和加密的第二密钥;第一客户端利用与第一公钥对应的第一私钥解密加密的第二密钥得到第二密钥,并利用第二密钥解密加密的数据得到数据。由于无论是存储节点中的数据还是由存储节点下载到代理节点中的数据均为加密的数据,所以无论是存储节点还是代理节点,均无法访问到原始数据。第一客户端(即买家)通过代理节点下载加密的数据,并在本地解密,同时密钥的传输采用非对称加密,因此整个过程只有买家和卖家(即第二客户端)能访问到原始数据,以此避免了数据的泄露。

Description

一种基于区块链的去中心化数据交易方法及系统
技术领域
本发明涉及区块链技术领域,特别是涉及一种基于区块链的去中心化数据交易方法及系统。
背景技术
现有的数据交易方式有两种,一种是由卖家在淘宝或京东等电商平台发布数据描述,买家付款后卖家提供下载链接;另一种是类似于贵阳大数据交易中心的专门的数据交易平台。
这两种方式都是中心化的,尤其是第二种方式,对平台的依赖比较严重,会产生较高的手续费,同时有数据泄漏给平台的风险。第一种方式虽然交易并不依赖于单一的平台,但是由于不是专门的数据交易解决方案,交易过程会较为繁琐,争议处理很麻烦。另外,中心化平台的共同缺陷是无法确保公开、公正,平台方可以删除差评,商家也可以修改产品的描述,并且历史版本买家无法查询。
发明内容
为解决上述技术问题,本发明实施例提供了一种基于区块链的去中心化数据交易方法及系统,技术方案如下:
一种基于区块链的去中心化数据交易方法,包括:
第一客户端生成购买请求,将所述购买请求发送至智能合约,所述购买请求包括第一公钥、第一客户端的地址、第二客户端的地址,数据的市场哈希和代理节点的标识,其中所述第一客户端通过所述第二客户端购买商品;
所述第一客户端从所述代理节点下载加密的数据和加密的第二密钥,所述第二密钥用于对所述加密的数据进行解密,所述代理节点为所述第二客户端根据所述代理节点的标识所确定,所述加密的第二密钥为所述第二客户端利用所述第一公钥对所述第二密钥加密得到、并发送至所述代理节点,所述加密的数据为所述代理节点根据所述数据的统一资源标识符从存储节点下载得到,所述统一资源标识符为所述第二客户端根据所述市场哈希确定、并发送给所述代理节点;
所述第一客户端利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据。
优选地,还包括:
所述第一客户端向所述代理节点发送下载请求;
所述第一客户端接收所述代理节点响应所述下载请求发送的字符串;
所述第一客户端利用第二私钥得到与所述字符串对应的签名;
所述第一客户端将所述签名发送至所述代理节点,以使所述代理节点对所述签名进行验证,并在签名验证通过后,执行所述第一客户端从所述代理节点下载加密的数据和加密的第二密钥的步骤。
优选地,还包括:
监测是否能从代理节点下载所述加密的数据和加密的第二密钥;
若是,执行所述第一客户端向所述代理节点发送下载请求的步骤。
优选地,监测是否能从代理节点下载所述加密的数据和加密的第二密钥,包括:
监测所述智能合约中与所述购买请求对应的订单的状态是否为代理节点已就绪;
若是,表示能够从代理节点下载所述加密的数据和加密的第二密钥。
优选地,还包括:
所述第一客户端向所述智能合约转账用于购买所述数据的金额;
相应地,所述第一客户端利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据之后,还包括:
向所述智能合约发送确认信息,以使所述智能合约更新所述订单的状态为订单已确认,并将所述金额转到所述第二客户端。
一种基于区块链的去中心化数据交易方法,包括:
所述第二客户端从智能合约中获取购买请求中的代理节点的标识,第一公钥和数据的市场哈希;
根据所述数据的市场哈希确定第二密钥和统一资源标识符,并利用所述第一公钥对所述第二密钥加密得到加密的第二密钥;
将所述加密的第二密钥和所述统一资源标识符发送至与所述代理节点的标识对应的代理节点。
优选地,还包括:
所述第二客户端监测所述智能合约中订单的状态,以确定是否存在与自身相关的订单,其中当所述订单的状态为已下单、且所述购买请求中包括所述第二客户端的地址时表示存在与自身相关的交易;
若是,执行所述第二客户端从智能合约中获取购买请求中的代理节点的标识,第一公钥和数据的市场哈希的步骤。
一种基于区块链的去中心化数据交易方法,包括:
代理节点接收第二客户端发送的数据的统一资源标识符和加密的第二密钥;
代理节点根据所述统一资源标识符从存储节点下载加密的数据,并在下载完成后向智能合约发送确认信息,以使所述智能合约更新订单的状态为代理节点已就绪。
优选地,还包括:
所述代理节点接收第一客户端发送的下载请求;
所述代理节点响应于所述下载请求向所述第一客户端发送字符串;
所述代理节点接收所述第一客户端发送的签名,所述签名为所述第一客户端利用第二私钥对所述字符串进行签名得到;
所述代理节点对所述签名进行验证,并在签名验证通过后将所述加密的数据和所述加密的第二密钥发送至所述第一客户端。
一种基于区块链的去中心化数据交易系统,包括:
第一客户端,第二客户端、代理节点和存储节点;
其中:
所述第一客户端用于生成购买请求,将所述购买请求发送至智能合约,所述购买请求包括第一公钥、第一客户端的地址、第二客户端的地址,数据的市场哈希和代理节点的标识;从所述代理节点下载加密的数据和加密的第二密钥;利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据;
所述第二客户端用于监测到与自身有关的交易时,从所述智能合约中获取所述第一公钥,数据的市场哈希和所述代理节点标识;根据所述数据的市场哈希确定第二密钥和统一资源标识符,并利用所述第一公钥对所述第二密钥加密得到加密的第二密钥;将所述加密的第二密钥和所述统一资源标识符发送至与所述代理节点的标识对应的代理节点;
所述代理节点,用于接收所述第二客户端发送的数据的统一资源标识符和加密的第二密钥;据所述数据的统一资源标识符从存储节点下载加密的数据,并在下载完成后通知第一客户端下载所述加密的数据和所述加密的第二密钥。
本发明提供的技术方案,由于无论是存储节点中的数据还是由存储节点下载到代理节点中的数据均为加密的数据,所以无论是存储节点还是代理节点,均无法访问到原始数据。第一客户端(即买家)通过代理节点下载加密的数据,并在本地解密,同时密钥的传输采用非对称加密,因此整个过程只有买家和卖家(即第二客户端)能访问到原始数据,以此避免了数据的泄露。另外,本发明中所有交易流程是通过区块链上的智能合约完成,不依赖任何第三方,这使得区块链的交易过程只需支付少额的程序运行成本或无需支付运行成本。最后,本发明基于区块链的去中心化的数据市场,所有的数据描述、买家的评价和评论等数据都存储在区块链上,所有人均无法篡改,所有卖家发布的数据描述都附加数字签名(如ECDSA),确认是本人发布,无法抵赖。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种基于区块链的去中心化数据交易方法的一种流程示意图;
图2为本发明实施例所提供的一种基于区块链的去中心化数据交易方法的另一种流程示意图;
图3为本发明实施例所提供的一种基于区块链的去中心化数据交易方法的另一种流程示意图;
图4为本发明实施例所提供的一种基于区块链的去中心化数据交易系统的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明实施前,先对本发明中涉及到的名词进行解释:
节点:网络中的参与方,任何能联网的设备都能成为节点。本发明中存在三种节点,区块链节点(实际上,我们的系统中所有参与节点都是一个区块链节点)、存储节点和代理节点。区块链节点需要同步链上数据;存储节点是具备存储能力,能够为其他节点提供存储服务;代理节点是具备存储和计算能力并能够作为传输中继的节点,所有的代理节点组成P2P网络,代理网络是去中心化的。
区块链:区块链是一种去中心化的系统,区块链按准入机制可以分为三类,公有区块链、联盟链和私有链。公有链没有准入机制,任何节点都可以自由地加入或退出;联盟链具有准入机制,只有拥有授权的节点才可以加入;私有链则是完全私有的区块链系统,其他节点无法加入。
本发明可以建立在公有链的基础上,区块链中所有参与的节点同步一份完整的区块链数据,并由分布式共识机制确保所有节点数据的一致性。例如,A给B转账5元,这笔转账记录在区块链上意味着所有节点都保存了这条数据,因此,区块链上的数据是不可篡改的。
智能合约:在公有链上,除了记录转账信息,还可以创建智能合约并调用智能合约。例如A发布一条消息要创建一个智能合约,这条消息包含了合约的代码,其他节点都会存储这段代码,这段代码就存在于某个区块中了,合约就部署完成,区块链系统会为这份合约生成一个随机的地址,节点就可以通过合约的地址去调用合约里的方法。
例如A给C发送一笔交易,要调用合约里的某个方法,这个交易里就包含了该方法合约的地址和相应A的参数,其他节点都会保存这笔交易,并按照合约里的代码和A的参数去执行,把状态保存下来,因为所有节点中代码和参数都是一致的,因此执行结果也是一致的。利用智能合约,可以开发去中心化的应用。
对称加密和非对称加密:对称加密是指加密和解密用的密钥是同一个。非对称加密又叫做公钥加密,公钥加密体系中,每个用户有一对密钥,公钥和私钥,公钥是可以公开的,私钥自己保存。本发明中,主要用到两套公钥加密体系,椭圆曲线(EC)和RSA。其中,EC用来做数字签名,发送方用自己的私钥对消息进行签名,接收方通过消息原文和签名以及发送方的公钥可以验证签名,证明消息确实是拥有该公钥对应私钥的人发送的;RSA用来加密,发送方使用接收方的公钥对要发送的数据加密,接收方接收数据后使用自己的私钥解密。
请参阅图1,图1为本发明实施例提供的一种基于区块链的去中心化数据交易方法的一种实现流程图,该方法应用于第一客户端,第一客户端为数据的购买方、且属于区块链节点,该方法包括:
步骤S101、生成购买请求,将购买请求发送至智能合约。
其中,购买请求包括第一公钥、第一客户端的地址、第二客户端的地址,数据的市场哈希和代理节点的标识,其中第一客户端通过第二客户端购买商品。
实际应用中,第一公钥为非对称加密的密钥,如RSA公钥。由于每一用户在数据市场中的唯一身份标识是椭圆曲线数字签名算法(ECDSA,EC)的公钥,EC是一套公钥加密体系,且EC的公钥和区块链地址是一一对应的,因此第一客户端的地址和第二客户端端的地址可以采用各自的EC公钥表示。
第一客户端生成购买请求之前,需要登陆数据市场,登陆数据市场的过程如下:
第一客户端发送EC公钥到数据市场,数据市场返回随机字符串(nonce),第一客户端使用EC私钥对nonce进行签名,将签名发送到数据市场,数据市场验证签名与第一步发送的EC公钥是否匹配(匹配说明第一客户端确实拥有与该公钥对应的私钥),则返回token给第一客户端,第一客户端之后使用token可以发布数据到数据市场中,或进行检索购买等操作,其中token代表了授权信息,发送消息时需要携带token,才能被数据市场认可。
第一客户端登陆数据市场后,可以根据自身的需求在数据市场中进行检索,数据市场支持自然语言搜索,会在数据描述的所有字段中进行匹配(标题、描述、标签等),买家根据检索结果确定自己需要的数据,之后生成购买请求,并向智能合约发送购买请求,智能合约生成对应此次交易的订单号,并将订单号的状态设为已下单。
步骤S102、从代理节点下载加密的数据和加密的第二密钥。
其中,第二密钥用于对加密的数据进行解密,代理节点为第二客户端根据代理节点的标识所确定,加密的第二密钥为第二客户端利用第一公钥对第二密钥加密得到、并发送至所述代理节点,加密的数据为代理节点根据数据的统一资源标识符(UniformResource Identifier,URI)从存储节点下载得到,统一资源标识符为第二客户端根据市场哈希确定、并发送给代理节点。
第二密钥为对称加密的密钥,如REA密钥,在采用对称加密时,加密和解密用的是同一密钥。
第二客户端通过后台程序轮询区块链上的状态,当监测到存在针对自身的订单时,从智能合约获取第二客户端端的地址、第一公钥,数据的市场哈希,代理节点的标识,然后根据市场哈希确定数据的第二密钥和统一资源标识符,并利用第一公钥对与数据对应的第二密钥加密得到加密后的密钥,并向代理节点发送加密后的第二密钥和统一资源标识符。代理节点根据数据的统一资源标识符从存储节点下载加密的数据,并向智能合约发送确认信息,以使智能合约更新订单的状态为代理节点已就绪。
当第一客户端通过后台程序轮询区块链上的状态时,若监测到代理节点可以下载数据时,即订单的状态为代理节点已就绪时,第一客户端从代理节点下载加密的数据和加密的第二密钥。
本实施例中的存储节点可以是中心化的云存储,如amazon s3,dropbox等,也可以是去中心化的分布式存储,例如IPFS,storj等,当然也可以上传到其他存储节点中。
优选地,第一客户端从代理节点下载加密的数据和加密的第二密钥之前,代理节点可以验证第一客户端的身份,具体地:
第一客户端向代理节点发送下载请求;
第一客户端接收代理节点响应下载请求发送的字符串;
第一客户端利用第二私钥得到与字符串对应的签名;
第一客户端将签名发送至代理节点,以使代理节点对签名进行验证,并在签名验证通过后,返回执行步骤S102。
步骤S103、利用与第一公钥对应的第一私钥解密加密的第二密钥得到第二密钥,并利用第二密钥解密加密的数据得到数据。
本实施例中,第一客户端向智能合约发送的除购买请求外,还可以向智能合约转账用于购买数据的金额;
相应地,当第一客户端得到数据后,可以向智能合约发送确认信息,以使智能合约更新订单的状态为订单已确认,并将所述金额转到第二客户端。
本发明实施例中,由于无论是存储节点中的数据还是由存储节点下载到代理节点中的数据均为加密的数据,所以无论是存储节点还是代理节点,均无法访问到原始数据。第一客户端(即买家)通过代理节点下载加密的数据,并在本地解密,同时密钥的传输采用非对称加密,因此整个过程只有买家和卖家(即第二客户端)能访问到原始数据,以此避免了数据的泄露。另外,本实施例中所有交易流程是通过区块链上的智能合约完成,不依赖任何第三方,这使得区块链的交易过程只需支付少额的程序运行成本或无需支付运行成本。最后,本实施例基于区块链的去中心化的数据市场,所有的数据描述、买家的评价和评论等数据都存储在区块链上,所有人均无法篡改,所有卖家发布的数据描述都附加数字签名(如ECDSA),确认是本人发布,无法抵赖。
请参阅图2,图2为本发明实施例提供的一种基于区块链的去中心化数据交易方法的一种实现流程图,该方法应用于第二客户端,第二客户端为数据的提供方、且属于区块链节点,该方法包括:
步骤S201、从智能合约中获取购买请求中的代理节点的标识,第一公钥和数据的市场哈希。
第二客户端通过后台程序轮询区块链上的状态,当监测到存在针对自身的订单时,从智能合约获取第二客户端的地址、第一公钥,数据的市场哈希,代理节点的标识,然后根据市场哈希确定数据的第二密钥和统一资源标识符,并利用第一公钥对第二密钥加密得到加密后的密钥,并向代理节点发送加密后的第二密钥和统一资源标识符。
步骤S202、根据数据的市场哈希确定第二密钥和统一资源标识符,并利用第一公钥对第二密钥加密得到加密的第二密钥。
第二客户端使用对称加密方案加密数据,本地数据库维护一份数据与对称加密的密钥的对应关系。
第二客户端对数据加密后,将加密的数据上传至存储节点,存储节点可以为中心化的云存储,例如amazon s3,dropbox等,也可以是去中心化的分布式存储,例如IPFS,storj等,当然也可以是其他存储节点。
第二客户端将加密的数据上传至存储节点前需要登陆数据市场,用户在数据市场中的唯一身份标识是椭圆曲线数字签名算法(ECDSA,EC)的公钥,EC是一套公钥加密体系,EC的公钥和区块链地址是一一对应的。
用户通过HTTP请求与数据市场通信,登录过程如下:用户发送EC公钥到数据市场,数据市场返回一个随机字符串(nonce),用户使用自己的EC私钥对nonce进行签名,将签名发送到数据市场,数据市场验证签名与EC公钥是否匹配,则返回token给用户,用户之后使用token可以发布数据到市场中。
第二客户端将想要出售的数据发布到数据市场上,添加标题、描述、标签和价格等信息,并且使用自己的EC私钥对这些信息进行签名,这些信息和签名都会同步在区块链上。同时,再计算所有信息的市场哈希,也同步到链上,并写入本地数据库,形成数据、密钥、市场哈希的一一对应,便于在买家购买后准确定位数据。
步骤S203、将加密的第二密钥和统一资源标识符发送至与代理节点的标识对应的代理节点。
请参阅图3,图3为本发明实施例提供的一种基于区块链的去中心化数据交易方法的一种实现流程图,该方法应用于代理节点,该方法包括:
步骤S301、接收第二客户端发送的数据的统一资源标识符和加密的第二密钥。
步骤S302、根据数据的统一资源标识符从存储节点下载加密的数据,并在下载完成后向智能合约发送确认信息,以使所述智能合约更新订单的状态为代理节点已就绪。
代理节点下载完加密的数据后,向智能合约发送确认信息,智能合约更新订单的状态为代理节点已就绪,告知第一客户端可以下载数据了。
第一客户端从代理节点下载加密的数据和加密的第二密钥之前,代理节点需要对第一客户端的身份进行认证,具体地流程如下:
代理节点接收第一客户端发送的下载请求;
代理节点响应于下载请求向第一客户端发送字符串;
代理节点接收第一客户端发送的签名,签名为第一客户端利用第二私钥对字符串进行签名得到;
代理节点对签名进行验证,并在签名验证通过后将加密的数据和加密的第二密钥发送至第一客户端。
请参阅图4,图4为本发明实施例提供的一种基于区块链的去中心化数据交易系统的一种结构示意图,该系统包括:
第一客户端410,第二客户端420、代理节点430和存储节点440;
其中:
第一客户端410用于生成购买请求,将购买请求发送至智能合约,购买请求包括第一公钥、第一客户端410的地址、第二客户端420的地址,数据的市场哈希和代理节点430的标识;从代理节点430下载加密的数据和加密的第二密钥;利用与第一公钥对应的第一私钥解密加密的第二密钥得到第二密钥,并利用第二密钥解密加密的数据得到数据;
第二客户端420用于监测到与自身有关的交易时,从智能合约中获取第一公钥,数据的市场哈希和代理节点430标识;根据数据的市场哈希确定第二密钥和统一资源标识符,并利用第一公钥对第二密钥加密得到加密的第二密钥;将加密的第二密钥和统一资源标识符发送至与代理节点430的标识对应的代理节点430;
代理节点430,用于接收第二客户端420发送的数据的统一资源标识符和加密的第二密钥;据数据的统一资源标识符从存储节点440下载加密的数据,并在下载完成后通知第一客户端410下载加密的数据和加密的第二密钥。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本发明的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本发明的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本发明的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于区块链的去中心化数据交易方法,其特征在于,包括:
第一客户端生成购买请求,将所述购买请求发送至智能合约,所述购买请求包括第一公钥、第一客户端的地址、第二客户端的地址,数据的市场哈希和代理节点的标识,其中所述第一客户端通过所述第二客户端购买商品;
所述第一客户端从所述代理节点下载加密的数据和加密的第二密钥,所述第二密钥用于对所述加密的数据进行解密,所述代理节点为所述第二客户端根据所述代理节点的标识所确定,所述加密的第二密钥为所述第二客户端利用所述第一公钥对所述第二密钥加密得到、并发送至所述代理节点,所述加密的数据为所述代理节点根据所述数据的统一资源标识符从存储节点下载得到,所述统一资源标识符为所述第二客户端根据所述市场哈希确定、并发送给所述代理节点;
所述第一客户端利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一客户端向所述代理节点发送下载请求;
所述第一客户端接收所述代理节点响应所述下载请求发送的字符串;
所述第一客户端利用第二私钥得到与所述字符串对应的签名;
所述第一客户端将所述签名发送至所述代理节点,以使所述代理节点对所述签名进行验证,并在签名验证通过后,执行所述第一客户端从所述代理节点下载加密的数据和加密的第二密钥的步骤。
3.根据权利要求2所述的方法,其特征在于,还包括:
监测是否能从代理节点下载所述加密的数据和加密的第二密钥;
若是,执行所述第一客户端向所述代理节点发送下载请求的步骤。
4.根据权利要求3所述的方法,其特征在于,监测是否能从代理节点下载所述加密的数据和加密的第二密钥,包括:
监测所述智能合约中与所述购买请求对应的订单的状态是否为代理节点已就绪;
若是,表示能够从代理节点下载所述加密的数据和加密的第二密钥。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述第一客户端向所述智能合约转账用于购买所述数据的金额;
相应地,所述第一客户端利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据之后,还包括:
向所述智能合约发送确认信息,以使所述智能合约更新所述订单的状态为订单已确认,并将所述金额转到所述第二客户端。
6.一种基于区块链的去中心化数据交易方法,其特征在于,包括:
第二客户端从智能合约中获取购买请求中的代理节点的标识,第一公钥和数据的市场哈希;
根据所述数据的市场哈希确定第二密钥和统一资源标识符,并利用所述第一公钥对所述第二密钥加密得到加密的第二密钥;
将所述加密的第二密钥和所述统一资源标识符发送至与所述代理节点的标识对应的代理节点;
所述代理节点,用于接收所述第二客户端发送的数据的统一资源标识符和所述加密的第二密钥;根据所述数据的统一资源标识符从存储节点下载加密的数据,并在下载完成后通知第一客户端下载所述加密的数据和所述加密的第二密钥,以使所述第一客户端从所述代理节点下载所述加密的数据和所述加密的第二密钥,利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述第二客户端监测所述智能合约中订单的状态,以确定是否存在与自身相关的订单,其中当所述订单的状态为已下单、且所述购买请求中包括所述第二客户端的地址时表示存在与自身相关的交易;
若是,执行所述第二客户端从智能合约中获取购买请求中的代理节点的标识,第一公钥和数据的市场哈希的步骤。
8.一种基于区块链的去中心化数据交易方法,其特征在于,包括:
代理节点接收第二客户端发送的数据的统一资源标识符和加密的第二密钥;
所述代理节点根据所述统一资源标识符从存储节点下载加密的数据,并在下载完成后向智能合约发送确认信息,以使所述智能合约更新订单的状态为代理节点已就绪;
所述代理节点下载完成后通知第一客户端从所述代理节点下载所述加密的第二密钥,利用与第一公钥对应的第一私钥解密所述加密的第二密钥得到第二密钥,并利用所述第二密钥解密所述加密的数据得到数据。
9.根据权利要求8所述的方法,其特征在于,还包括:
所述代理节点接收第一客户端发送的下载请求;
所述代理节点响应于所述下载请求向所述第一客户端发送字符串;
所述代理节点接收所述第一客户端发送的签名,所述签名为所述第一客户端利用第二私钥对所述字符串进行签名得到;
所述代理节点对所述签名进行验证,并在签名验证通过后将所述加密的数据和所述加密的第二密钥发送至所述第一客户端。
10.一种基于区块链的去中心化数据交易系统,其特征在于,包括:
第一客户端,第二客户端、代理节点和存储节点;
其中:
所述第一客户端用于生成购买请求,将所述购买请求发送至智能合约,所述购买请求包括第一公钥、第一客户端的地址、第二客户端的地址,数据的市场哈希和代理节点的标识;从所述代理节点下载加密的数据和加密的第二密钥;利用与所述第一公钥对应的第一私钥解密所述加密的第二密钥得到所述第二密钥,并利用所述第二密钥解密所述加密的数据得到所述数据;
所述第二客户端用于监测到与自身有关的交易时,从所述智能合约中获取所述第一公钥,数据的市场哈希和所述代理节点标识;根据所述数据的市场哈希确定第二密钥和统一资源标识符,并利用所述第一公钥对所述第二密钥加密得到加密的第二密钥;将所述加密的第二密钥和所述统一资源标识符发送至与所述代理节点的标识对应的代理节点;
所述代理节点,用于接收所述第二客户端发送的数据的统一资源标识符和加密的第二密钥;根据所述数据的统一资源标识符从存储节点下载加密的数据,并在下载完成后通知第一客户端下载所述加密的数据和所述加密的第二密钥。
CN201811345212.8A 2018-11-13 2018-11-13 一种基于区块链的去中心化数据交易方法及系统 Active CN109462588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811345212.8A CN109462588B (zh) 2018-11-13 2018-11-13 一种基于区块链的去中心化数据交易方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811345212.8A CN109462588B (zh) 2018-11-13 2018-11-13 一种基于区块链的去中心化数据交易方法及系统

Publications (2)

Publication Number Publication Date
CN109462588A CN109462588A (zh) 2019-03-12
CN109462588B true CN109462588B (zh) 2021-04-16

Family

ID=65610231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811345212.8A Active CN109462588B (zh) 2018-11-13 2018-11-13 一种基于区块链的去中心化数据交易方法及系统

Country Status (1)

Country Link
CN (1) CN109462588B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685511B (zh) * 2018-05-30 2023-06-09 上海分壳信息技术股份有限公司 基于区块链的数据使用权交易方法
CN109918942B (zh) * 2019-02-21 2020-07-31 领信智链(北京)科技有限公司 一种基于以太坊区块链的去中心化标识符管理系统
CN109922155B (zh) * 2019-03-18 2022-03-04 众安信息技术服务有限公司 在区块链网络中实现智能代理的方法及装置
CN111726318A (zh) * 2019-03-18 2020-09-29 苏宁易购集团股份有限公司 基于区块链的敏感数据交易方法及系统
SG11202002774WA (en) 2019-03-27 2020-04-29 Alibaba Group Holding Ltd Improving integrity of communications between blockchain networks and external data sources
KR102136960B1 (ko) 2019-03-27 2020-07-23 알리바바 그룹 홀딩 리미티드 고 가용성의 신뢰 실행 환경을 사용하여 블록체인 네트워크에 대한 공용 데이터를 리트리빙하는 방법
CA3058244C (en) 2019-03-29 2021-04-27 Alibaba Group Holding Limited Retrieving access data for blockchain networks using highly available trusted execution environments
CN110119937A (zh) * 2019-05-10 2019-08-13 中国联合网络通信集团有限公司 虚拟物品交易方法及系统
CN110222721B (zh) * 2019-05-10 2021-07-30 达闼机器人有限公司 数据处理方法、装置,区块链节点及存储介质
CN110245948A (zh) * 2019-05-27 2019-09-17 清华大学 基于区块链和非对称加密的数据交易方法及系统
CN110210860A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 区块链上的业务数据交易方法及其设备
CN110189129A (zh) * 2019-06-11 2019-08-30 北京艾摩瑞策科技有限公司 一种基于区块链的交易方法及其设备
CN110210240B (zh) * 2019-06-11 2020-10-09 北京瑞策科技有限公司 一种应用智能合约的调研方法及其设备
CN110223053A (zh) * 2019-06-11 2019-09-10 北京艾摩瑞策科技有限公司 一种数据交易方法及其设备
CN110223065A (zh) * 2019-06-11 2019-09-10 北京艾摩瑞策科技有限公司 一种链上的业务数据交易方法及其设备
CN110210861A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 区块链上的数据交易方法及其设备
CN110210976A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 一种基于区块链的交易方法及其设备
CN110223118B (zh) * 2019-06-11 2022-04-22 北京瑞策科技有限公司 一种通过智能合约实现的调研方法及其设备
CN110210977A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 一种数据交易方法及其设备
CN110223117B (zh) * 2019-06-11 2022-04-15 北京瑞策科技有限公司 一种结合区块链的调研方法及其设备
CN110210862A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 一种业务数据的交易方法及其设备
CN110210975A (zh) * 2019-06-11 2019-09-06 北京艾摩瑞策科技有限公司 区块链上的数据交易方法及其设备
CN110189130A (zh) * 2019-06-11 2019-08-30 北京艾摩瑞策科技有限公司 区块链上的交易方法及其设备
CN110278462B (zh) * 2019-06-20 2021-07-09 北京工业大学 一种基于区块链的流动放映授权管理方法
CN110298661B (zh) * 2019-07-01 2023-06-23 贵州大学 基于智能合约的大数据安全公平交换方法
CN110493335B (zh) * 2019-08-15 2022-07-01 京东方科技集团股份有限公司 一种生物特征数据的分享方法、分享系统和计算机设备
CN110503560A (zh) * 2019-09-27 2019-11-26 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110909381A (zh) * 2019-11-12 2020-03-24 北京芯际科技有限公司 一种基于区块链的用户评论防篡改系统及其方法
CN110968884A (zh) * 2019-12-06 2020-04-07 上海中信信息发展股份有限公司 一种基于区块链和同态加密的价格统计方法
CN111902815B (zh) * 2020-03-11 2023-06-27 合肥达朴汇联科技有限公司 数据传送方法、系统、设备、电子设备及可读存储介质
CN111339206B (zh) * 2020-03-11 2023-07-18 建信金融科技有限责任公司 一种基于区块链的数据共享方法和装置
CN111340631B (zh) * 2020-05-15 2020-12-01 支付宝(杭州)信息技术有限公司 资产转移方法、装置、设备及系统
CN111683064A (zh) * 2020-05-22 2020-09-18 易联众信息技术股份有限公司 基于区块链的数据流转方法、装置、介质、设备及应用
CN111835775A (zh) * 2020-07-16 2020-10-27 华北电力科学研究院有限责任公司 一种基于区块链的物联网设备安全调用方法、装置及设备
CN111932254B (zh) * 2020-08-11 2024-03-22 杭州萌格信息科技有限公司 区块链多链平行结构的应用方法
CN112395358A (zh) * 2020-11-19 2021-02-23 京东数科海益信息科技有限公司 档案管理方法、装置、电子设备和存储介质
CN115239333A (zh) * 2021-04-23 2022-10-25 清华大学 数据处理方法、装置和存储介质
CN113743933B (zh) * 2021-07-21 2022-09-16 深圳市九州电子之家有限公司 基于区块链的电商平台交易信息加密传输方法和系统
CN115499175B (zh) * 2022-08-31 2023-08-15 临沂大学 一种基于私钥存储的数字产品授权方法及系统
CN115660679B (zh) * 2022-10-14 2023-07-14 重庆移通学院 一种基于哈希锁定的去中心化安全交易方法
CN116308686B (zh) * 2023-05-19 2024-02-13 北京未来链技术有限公司 一种基于区块链的用于元宇宙去中心化的电子商务平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169764A (zh) * 2017-05-10 2017-09-15 山东大学 基于区块链的公平数据交易方法
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN108200079A (zh) * 2018-01-19 2018-06-22 深圳四方精创资讯股份有限公司 基于对称和非对称混合加密的区块链隐私保护方法及装置
US10057243B1 (en) * 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service
CN108681898A (zh) * 2018-05-15 2018-10-19 广东工业大学 一种基于区块链的数据交易方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018112038A1 (en) * 2016-12-14 2018-06-21 Wal-Mart Stores, Inc. Controlling access to a locked space using cryptographic keys stored on a blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169764A (zh) * 2017-05-10 2017-09-15 山东大学 基于区块链的公平数据交易方法
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
US10057243B1 (en) * 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service
CN108200079A (zh) * 2018-01-19 2018-06-22 深圳四方精创资讯股份有限公司 基于对称和非对称混合加密的区块链隐私保护方法及装置
CN108681898A (zh) * 2018-05-15 2018-10-19 广东工业大学 一种基于区块链的数据交易方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Blockchains and Smart Contracts for the Internet of Things;KONSTANTINOS CHRISTIDIS,MICHAEL DEVETSIKIOTIS;《IEEE Acess》;20160603;第2292-2303页 *
基于区块链智能合约的PKI-CA体系设计;毕宇;《金融科技时代》;20180731(第7期);第44-46页 *

Also Published As

Publication number Publication date
CN109462588A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
CN109462588B (zh) 一种基于区块链的去中心化数据交易方法及系统
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
EP3688634B1 (en) System and method for implementing a resolver service for decentralized identifiers
EP3704620B1 (en) System and method for blockchain-based notification
JP6936949B2 (ja) ウェアラブルデバイスを使用した電子決済を容易にするための方法および装置
CN109819443B (zh) 基于区块链的注册认证方法、装置及系统
CN110766406B (zh) 资源转移方法、资源转移装置、存储介质及电子设备
CN110855791B (zh) 一种区块链节点部署方法及相关设备
CN109155730A (zh) 用于装置授权的技术
CN103918219B (zh) 基于秘密共享的电子内容分发的方法和装置
CN111292041B (zh) 一种电子合同生成方法、装置、设备及存储介质
CN111740966B (zh) 一种基于区块链网络的数据处理方法及相关设备
CN111131416B (zh) 业务服务的提供方法和装置、存储介质、电子装置
WO2007025998A2 (en) Method and system for resource encryption and decryption
CN111465951A (zh) 使用区块链的智能物流管理
CN107172001B (zh) 网站代理服务器的控制方法及装置、密钥代理服务器
CN110601816A (zh) 一种区块链系统中轻量级节点控制方法及装置
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN115203749B (zh) 一种基于区块链的数据交易方法和系统
JP4695633B2 (ja) ディジタルリソースを販売する方法および装置
CN112235276B (zh) 主从设备交互方法、装置、系统、电子设备和计算机介质
CN110166460B (zh) 业务帐号的注册方法和装置、存储介质、电子装置
CN111915302A (zh) 关联数据处理方法、装置、电子设备及计算机可读介质
US20230075433A1 (en) Blockchain Based Document and Data Sharing
CN112418850A (zh) 一种基于区块链的交易方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210726

Address after: 200241 Building 2, 889 Qishen Road, Minhang District, Shanghai

Patentee after: Shenshang information technology (Shanghai) Co.,Ltd.

Address before: 200240 room 301B, building 4, Zizhu Science Park, 555 Dongchuan Road, Minhang District, Shanghai

Patentee before: SHANGHAI WURONG INTELLIGENT TECHNOLOGY Co.,Ltd.