发明内容
因此,本发明要解决的技术问题在于克服现有技术中的难以对数字资产的进行溯源,从而定位出具体的数字资产泄露源,导致数字资产盗版情况严重、维权成本高的缺陷,从而提供一种基于区块链的数字资产交易方法、装置及存储介质。
根据第一方面,本发明实施例提供一种基于区块链的数字资产交易方法,包括如下步骤:接收交易发起方的数字资产交易请求,所述数字资产交易请求包括交易发起方信息和数字资产标识;根据所述数字资产交易请求,确定交易接收方;当所述交易发起方和所述交易接收方的信息满足验证条件时,根据所述数字资产交易请求,生成数字水印,所述数字水印根据所述交易发起方信息、交易接收方信息以及数字资产信息生成;根据所述数字水印和所述数字资产交易请求对应的数字资产,得到嵌入数字水印的数字资产;根据所述数字资产交易请求对应的智能合约,将所述嵌入数字水印的数字资产发送至所述交易发起方。
可选地,在接收交易发起方的数字资产交易请求之前,所述方法包括:当接收到交易节点的上链请求时,将所述交易节点的身份标识信息发送给CA节点,使得所述CA节点根据接收到的所述身份标识信息对所述交易节点的身份进行认证;将CA节点分发的密钥发送给所述交易节点,所述交易节点包括交易接收方和交易发起方。
可选的,所述方法还包括:当接收到数字资产确权请求,根据所述数字资产确权请求,对需要确权的嵌入数字水印的数字资产进行水印提取,所述数字资产确权请求包括需要确权的嵌入数字水印的数字资产;将提取出的水印与存储的对应数字资产的水印进行比对;根据比对结果对相应的数字资产进行确权。
可选地,根据所述数字资产交易请求对应的智能合约,将所述嵌入数字水印的数字资产发送至所述交易发起方,包括:根据所述数字资产交易请求对应的智能合约,将所述数字资产摘要发送至所述交易发起方,使得所述交易发起方根据所述数字资产摘要对接收到的资产信息进行完整性验证。
可选地,根据所述数字资产交易请求对应的智能合约,将所述嵌入数字水印的数字资产发送至所述交易发起方,包括:广播所述数字资产交易;当满***易共识条件,记录所述交易。
根据第二方面,本发明实施例提供一种基于区块链的数字资产交易装置,包括:交易请求接收模块,用于接收交易发起方的数字资产交易请求,所述数字资产交易请求包括交易发起方信息和数字资产标识;交易接收方确认模块,用于根据所述数字资产交易请求,确定交易接收方;数字水印生成模块,用于当所述交易发起方和所述交易接收方的信息满足验证条件时,根据所述数字资产交易请求,生成数字水印,所述数字水印根据所述交易发起方信息、交易接收方信息以及数字资产信息生成;数字水印嵌入模块,用于根据所述数字水印和所述数字资产交易请求对应的数字资产,得到嵌入数字水印的数字资产;数字资产发送模块,用于根据所述数字资产交易请求对应的智能合约,将所述嵌入数字水印的数字资产发送至所述交易发起方。
可选地,所述装置还包括:身份认证模块,用于当接收到交易节点的上链请求时,将所述交易节点的身份标识信息发送给CA节点,使得所述CA节点根据接收到的所述身份标识信息对所述交易节点的身份进行认证;密钥分发模块,用于将CA节点分发的密钥发送给所述交易节点,所述交易节点包括交易接收方和交易发起方。
可选地,所述装置还包括:水印提取模块,用于当接收到数字资产确权请求,根据所述数字资产确权请求,对需要确权的嵌入数字水印的数字资产进行水印提取,所述数字资产确权请求包括需要确权的嵌入数字水印的数字资产;水印对比模块,用于将提取出的水印与存储的对应数字资产的水印进行比对;确权模块,用于根据比对结果对相应的数字资产进行确权。
根据第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第一方面任一实施方式所述的基于区块链的数字资产交易方法的步骤。
根据第四方面,本发明实施例提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面或第一方面任一实施方式所述的基于区块链的数字资产交易方法的步骤。
本发明技术方案,具有如下优点:
本实施例提供一种基于区块链的数字资产交易方法/装置,通过在联盟链上对数字资产嵌入带有交易发起方信息、交易接收方信息以及数字资产信息的数字水印,一方面能够防止上链数字资产的非法篡改以及数字水印的非法篡改;另一方面由于每个数字资产根据交易双方以及数字资产信息的不同,生成的数字水印都是独一无二的,所以不同购买用户泄露出的同一条数据资产中数字水印信息都是不同的,能够对泄露数字资产的侵权用户精准定位,降低了数字资产维权成本。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本实施例提供一种基于区块链的数字资产交易方法,如图1所示,包括如下步骤:
S101,接收交易发起方的数字资产交易请求,数字资产交易请求包括交易发起方信息和数字资产标识;
示例性地,交易发起方信息可以是交易发起方上链时,联盟链CA节点为交易发起方颁发的身份证书以及对应的数字签名和在进行数字资产上链、交易等流程中加解密所需的各种密钥;数字资产标识是数字资产上链时,联盟链根据智能合约生成对应数字资产的唯一标识。数字资产上链的具体过程可以包括登录过程以及数字资产上链过程。登录过程为:数字资产拥有方可以通过接收到的密钥对待上链数字资产作加密处理获得加密后的密文数字资产,此处的加密方式可以是同态加密。同时,生成该数字资产对应的描述信息,描述信息包括但不限于数字资产类型、数字资产大小、完整数据HASH值以及交易定价等信息。完成以上操作后,数字资产拥有方发起联盟链登录请求,该登录请求包括数字资产拥有方的身份证书以及数字签名,联盟链接收后,智能合约验证身份证书以及数字签名是否正确,当通过验证则返回登录成功的信息给数字资产拥有方。
当登录成功后,数字资产上链过程为:数字资产拥有方发起数字资产上链请求,数字资产上链请求中包括数字资产以及该数字资产对应的描述信息,智能合约根据接收到的数字资产上链请求生成唯一的数字资产标识,将数字资产标识以及数字资产存储在联盟链中,并将数字资产标识和上链结果发送至数字资产拥有方。
交易发起方可以是联盟链上任意节点,通过数字资产检索的方式在联盟链上对打算交易的数字资产进行检索。当检索到想要交易的数字资产,则交易发起方提交自身身份证书信息和打算进行交易的数字资产标识,发起数字资产交易请求。
S102,根据数字资产交易请求,确定交易接收方;根据数字资产交易请求,交易接收方的确定方式可以通过数字资产交易请求中的数字资产标识进行匹配得到,数字资产标识具有唯一性,对应唯一的数字资产标识拥有方。
S103,当交易发起方和交易接收方的信息满足验证条件时,根据数字资产交易请求,生成数字水印,数字水印根据交易发起方信息、交易接收方信息以及数字资产信息生成;
示例性地,验证条件可以是:首先,验证交易发起方和交易接收方的身份信息是否合法,当身份信息合法再验证是否存在对应的可执行的智能合约,当存在可执行的智能合约,则根据智能合约验证交易发起方和交易接收方的信息是否满***易执行条件。判断身份信息是否合法的方式可以是验证交易发起方和交易接收方的数字签名是否正确。
当身份合法,但不存在对应的可执行智能合约时,交易发起方和交易接收方可以发起智能合约建立请求。智能合约建立的过程可以是在验证交易发起方和交易接收方合法之后,验证需要进行交易的数字资产数据是否正确,当数字资产数据正确时,联盟链中节点响应智能合约建立请求,建立对应的智能合约,联盟链节点达成共识,并记账,从而完成智能合约的建立,根据建立的智能合约验证交易发起方和交易接收方的信息是否满***易执行条件。
当身份合法且存在对应的可执行智能合约,则根据可执行智能合约验证交易发起方和交易接收方的信息是否满***易执行条件。交易执行条件具体可以是仅当数字资产价格小于交易发起方钱包余额时,才继续执行智能合约,以完成数字资产交易。
当交易发起方和交易接收方的信息均满足上述验证条件时,表示交易发起方和交易接收方可以完成该笔数字资产交易,此时,智能合约根据交易发起方信息、交易接收方信息以及数字资产信息生成唯一的数字水印,需要说明的是,数字水印中包含的信息不限于发起方信息、交易接收方信息以及数字资产信息,还可以包括时间戳信息。
S104,根据数字水印和数字资产交易请求对应的数字资产,得到嵌入数字水印的数字资产;
示例性地,得到嵌入数字水印的数字资产的方式可以是智能合约将数字水印通过嵌入算法对数字资产进行水印嵌入。需要说明的是,此处的数字资产可以是未被加密的数字资产,也可以是为了保证数字资产上链的安全性,在数字资产上链之前,数字资产拥有者节点本地,也即交易接收方本地对数字资产进行同态加密并上链,而得到的同态加密的数字资产。
当数字资产预先被同态加密,那么为了能够完整恢复出嵌入数字水印的数字资产,也需对生成的数字水印进行相同的同态加密,具体方式可以是在数字水印生成之后,联盟链智能合约将数字水印发送回对应的数字资产拥有节点服务器,数字资产节点服务器对数字水印进行相同的同态加密,并将加密后的数字水印返回至联盟链智能合约,供智能合约进行数字水印嵌入,得到同态加密后嵌入数字水印的数字资产。
S105,根据数字资产交易请求对应的智能合约,将嵌入数字水印的数字资产发送至交易发起方。
示例性地,将嵌入数字水印的数字资产发送至交易发起方的具体方式可以是首先,联盟链智能合约将嵌入数字水印的数字资产以及交易发起方信息发送至交易接收方节点服务器,同时,将交易接收方节点信息发送到交易发起方节点,交易接收方节点信息包括交易接收方节点服务器地址。当嵌入数字水印的数字资产为经过同态加密的嵌入数字水印的数字资产时,交易接收方节点对其进行解密,恢复出未加密的嵌入数字水印的数字资产。交易接收方节点将嵌入数字水印的数字资产以及交易发起方信息存储在本地数据库中等待交易。当接收到交易发起方的下载请求时,利用交易发起方的公钥对嵌入数字水印的数字资产进行加密,并将加密的嵌入数字水印的数字资产发送至交易发起方节点。
本实施例提供的基于区块链的数字资产交易方法,通过在联盟链上对数字资产嵌入带有交易发起方信息、交易接收方信息以及数字资产信息的数字水印,一方面能够防止上链数字资产的非法篡改以及数字水印的非法篡改;另一方面由于每个数字资产根据交易双方以及数字资产信息的不同,生成的数字水印都是独一无二的,所以不同购买用户泄露出的同一条数据资产中数字水印信息都是不同的,能够对泄露数字资产的侵权用户精准定位,降低了数字资产维权成本。
作为本实施例一种可选的实施方式,在上述步骤S110之前,上述方法包括:
当接收到交易节点的上链请求时,将交易节点的身份标识信息发送给CA节点,使得CA节点根据接收到的身份标识信息对交易节点的身份进行认证;将CA节点分发的密钥发送给所述交易节点,交易节点包括交易接收方和交易发起方。
示例性地,交易节点可以包括交易发起方节点和交易接收方节点。交易节点的身份标识信息包括交易节点的用户名、密码等,本实施例对身份标识信息具体内容不做限定,本领域技术人员可以根据需要确定。CA节点根据接收到的身份标识信息对交易节点的身份进行认证,完成交易节点接入的身份认证和身份证书的颁发,在本实施例中CA节点绝对可信。另外,在完成身份认证和身份证书的颁发的同时,CA节点会根据接入节点的身份分配完成交易的各个过程中节点所需的所有密钥,联盟链将分配的密钥以及身份证书分发给交易节点。
本实施例提供的基于区块链的数字资产交易方法,通过CA节点完成交易节点上链的身份认证和密钥分发,使得交易节点的上链更加安全,同时,因为对每个交易节点进行身份证书的颁发,为后续交易的执行提供了身份验证手段,提高了交易的安全性。另外,CA节点还完成密钥的分配,为每个交易节点分配交易所需密钥,为后续数字资产的上链、数字资产的交易、数字水印的生成、数字资产的传输提供了安全保障,解决了数据隐私保护的问题。
作为本实施例一种可选的实施方式,上述方法还包括:
当接收到数字资产确权请求,根据数字资产确权请求,对需要确权的嵌入数字水印的数字资产进行水印提取,数字资产确权请求包括需要确权的嵌入数字水印的数字资产;将提取出的水印与存储的对应数字资产的水印进行比对;根据比对结果对相应的数字资产进行确权。
示例性地,数字资产确权请求可以是由任意节点发起,数字资产确权请求中包括需要确权的数字资产。根据数字资产确权请求,对需要确权的数字资产进行数字水印提取,将提取出的数字水印和数字资产交易确权时存储的数字水印进行比对,得到对比值,当对比值大于设定阈值时,设定阈值大小可以是80%,说明需要确权的数字资产确实是发起确权请求的节点的数字资产,确权成功,确权成功后,根据该数字资产上的数字水印,获得侵权用户信息,并将该侵权用户信息返回给发起确权请求的节点,以便发起确权请求的节点对泄露数字资产的侵权用户进行定位与追溯。本实施例对设定阈值大小不做限定,本领域技术人员可以根据需要确定。
本实施例提供的基于区块链的数字资产交易方法,通过接收数字确权请求,完成数字水印信息之间的比对,完成数字资产确权,为数字资产的泄露侵权提供了充足证据,便于进行侵权判断,实现了数字资产非法泄露的可信溯源查询,降低了非法泄露维权的成本。
作为本实施例一种可选的实施方式,上述步骤S150,包括:
根据数字资产交易请求对应的智能合约,将数字资产摘要发送至交易发起方,使得交易发起方根据所述数字资产摘要对接收到的资产信息进行完整性验证。
示例性地,当交易过程达到智能合约规定的条件时,比如,智能合约中规定当交易发起方向交易接收方支付相应费用的同时,交易接收方节点向交易发起方节点发送对应的数字资产摘要,该数字资产摘要可以由交易接收方私钥加密以P2P的方式进行传输。数字资产摘要是数字资产进行哈希计算得到的结果。
数据资产原始文件可以以交易发起方公钥加密的形式通过服务器中转,发送至交易发起方节点服务器;也可以以交易发起方公钥加密的形式直接与加密的数字资产摘要通过P2P的方式,一并传输至交易发起方节点的服务器。
交易发起方将接收到的数据资产原始文件利用交易发起方私钥解密,再对其进行哈希计算,将得到的哈希计算结果与利用交易接收方的公钥进行解密后的数字资产摘要进行完整性比对,当哈希计算结果与数字资产摘要完全一致时,说明数据资产原始文件完整。
本实施例提供的基于区块链的数字资产交易方法,通过传输数字资产摘要,交易发起方根据数字资产摘要快速进行完整性与准确度比对,保证数字资产的完整与准确,并且在此过程中,数字资产摘要利用交易接收方的公钥进行解密,可以验证数据资产提供者的身份,判断提供者是否为交易接收方,提高了交易的安全性。
作为本实施例一种可选的实施方式,上述步骤S150,包括:广播数字资产交易;当满***易共识条件,记录交易。
示例性地,当数字资产交易完成,交易发起方节点和交易接收方节点向其他节点广播数字资产交易信息,当数字资产交易信息满足共识条件时,在联盟链中记录该笔交易,并将该笔交易信息打包成区块存储在联盟链中,其中,交易信息包括嵌入数字水印的数字资产信息,交易方信息等。共识条件可以是共识节点中51%的节点承认该笔交易。本实施例对联盟链采用的共识机制不做限定,本领域技术人员可以根据需要确定。
本实施例提供的基于区块链的数字资产交易方法,通过将交易数据进行广播,当达到共识条件对其进行记录,能够防止恶意篡改数字资产交易记录的行为,保证了交易的安全性。
本发明实施例提供一种基于区块链的数字资产交易装置,如图2所示,包括:
交易请求接收模块201,用于接收交易发起方的数字资产交易请求,所述数字资产交易请求包括交易发起方信息和数字资产标识;具体实施方式参见上述方法部分步骤S101对应部分,在此不再赘述。
交易接收方确认模块202,用于根据所述数字资产交易请求,确定交易接收方;具体实施方式参见上述方法部分步骤S102对应部分,在此不再赘述。
数字水印生成模块203,用于当所述交易发起方和所述交易接收方的信息满足验证条件时,根据所述数字资产交易请求,生成数字水印,所述数字水印根据所述交易发起方信息、交易接收方信息以及数字资产信息生成;具体实施方式参见上述方法部分步骤S103对应部分,在此不再赘述。
数字水印嵌入模块204,用于根据所述数字水印和所述数字资产交易请求对应的数字资产,得到嵌入数字水印的数字资产;具体实施方式参见上述方法部分步骤S104对应部分,在此不再赘述。
数字资产发送模块205,用于根据所述数字资产交易请求对应的智能合约,将所述嵌入数字水印的数字资产发送至所述交易发起方。具体实施方式参见上述方法部分步骤S105对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,上述基于区块链的数字资产交易装置还包括:
身份认证模块,用于当接收到交易节点的上链请求时,将所述交易节点的身份标识信息发送给CA节点,使得所述CA节点根据接收到的所述身份标识信息对所述交易节点的身份进行认证;具体实施方式参见上述方法对应部分,在此不再赘述。
密钥分发模块,用于将CA节点分发的密钥发送给所述交易节点,所述交易节点包括交易接收方和交易发起方。具体实施方式参见上述方法对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,上述基于区块链的数字资产交易装置还包括:
水印提取模块,用于当接收到数字资产确权请求,根据所述数字资产确权请求,对需要确权的嵌入数字水印的数字资产进行水印提取,所述数字资产确权请求包括需要确权的嵌入数字水印的数字资产;具体实施方式参见上述方法对应部分,在此不再赘述。
水印对比模块,用于将提取出的水印与存储的对应数字资产的水印进行比对;具体实施方式参见上述方法对应部分,在此不再赘述。
确权模块,用于根据比对结果对相应的数字资产进行确权。具体实施方式参见上述方法对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,数字水印嵌入模块204,包括:
完整性验证模块,用于根据所述数字资产交易请求对应的智能合约,将所述数字资产摘要发送至所述交易方,使得所述交易发起方根据所述数字资产摘要对接收到的资产信息进行完整性验证。具体实施方式参见上述方法对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,数字资产发送模块205,包括:
广播模块,用于广播所述数字资产交易;具体实施方式参见上述方法对应部分,在此不再赘述。
记录模块,用于当满***易共识条件,记录所述交易。具体实施方式参见上述方法对应部分,在此不再赘述。
本申请实施例还提供一种电子设备,如图3所示,处理器310和存储器320,其中处理器310和存储器320可以通过总线或者其他方式连接。
处理器310可以为中央处理器(Central Processing Unit,CPU)。处理器310还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器320作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于区块链的数字资产交易方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器320可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器320中,当被所述处理器310执行时,执行如图1所示实施例中的基于区块链的数字资产交易方法。
上述电子设备的具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中基于区块链的数字资产交易方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。