CN114493585A - 基于区块链的数据传输方法及装置 - Google Patents

基于区块链的数据传输方法及装置 Download PDF

Info

Publication number
CN114493585A
CN114493585A CN202011157338.XA CN202011157338A CN114493585A CN 114493585 A CN114493585 A CN 114493585A CN 202011157338 A CN202011157338 A CN 202011157338A CN 114493585 A CN114493585 A CN 114493585A
Authority
CN
China
Prior art keywords
data
transaction
watermark
hash value
token
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.)
Pending
Application number
CN202011157338.XA
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011157338.XA priority Critical patent/CN114493585A/zh
Publication of CN114493585A publication Critical patent/CN114493585A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本申请提供了一种基于区块链的数据传输方法及装置,该方法包括数据发送方向水印服务器发送第一中间信息,第一中间信息包括第一传输数据和第一交易基础信息,第一传输数据基于目标数据嵌入第一水印得到;数据发送方从水印服务器接收水印服务器基于第一中间信息生成的第一反馈信息,第一反馈信息包括第一水印、第二水印,以及第二传输数据对应的传输数据哈希值,第二传输数据基于目标数据嵌入第二水印得到;数据发送方确定第一交易关联信息,根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据,并向记账节点发送第一交易数据。采用本申请,可解决因数据被篡改所导致的无法追踪数据泄露者的问题。

Description

基于区块链的数据传输方法及装置
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据传输方法及装置。
背景技术
随着互联网技术的快速发展,人们现在已经进入万物互联的大数据时代。数据(例如视频、图片、音频和文件等)快速且广泛的传播成为一种普遍现象。然而,由于数据本身是一种数字信息,其存在被泄露和篡改的风险。因此,当前为实现对数据拥有者的产权保护,通常可将数据对应的哈希值存储在区块链中。
然而,本申请的发明人在研究和实验过程中发现,当恶意用户对数据进行一定修改后再进行传播时,由于修改后的数据的哈希值必然与之前记录在区块链上的数据的哈希值不同,因此使得泄露追责难度大,适用性差。
发明内容
本申请实施例提供了一种基于区块链的数据传输方法及装置,可解决数据流转过程中,当数据被恶意篡改时,导致无法追踪数据泄露者的问题。
第一方面,本申请提供了基于区块链的数据传输方法,该方法包括:数据发送方向水印服务器发送第一中间信息,上述第一中间信息中包括第一传输数据和第一交易对应的第一交易基础信息,上述第一传输数据基于目标数据嵌入第一水印得到,上述第一交易为上述目标数据的转移交易。上述数据发送方从上述水印服务器接收上述水印服务器基于上述第一中间信息生成的第一反馈信息,上述第一反馈信息中包括上述第一水印、上述第一交易对应的第二水印,以及第二传输数据对应的传输数据哈希值,上述第二传输数据基于上述目标数据嵌入上述第二水印得到。上述数据发送方确定第一交易关联信息,根据上述第一交易基础信息、上述第一反馈信息以及上述第一交易关联信息生成第一交易数据,并向记账节点发送上述第一交易数据,以使上述记账节点在确定上述第一交易数据为合法交易数据时,将上述第一交易数据上传至区块链。
在本申请中,数据发送方通过向水印服务器发送第一中间信息,然后从水印服务器接收该水印服务器基于第一中间信息生成的第一反馈信息,可根据包括第一水印和第二水印的第一反馈信息、第一交易关联信息以及第一交易基础信息生成的第一交易数据,进而将第一交易数据发送至记账节点,以使记账节点当确定第一交易数据为合法交易数据时将第一交易数据上链。显而易见,通过将每次数据转移对应的交易数据上传至区块链,可记录数据完整的转移或传输过程,以便后续可基于区块链上的数据进行数据追踪。且由于目标数据中嵌入的水印与每次数据转移交易一一对应,即一次交易对应一个新水印(即第二水印),因此,当目标数据在任一次转移过程中被恶意篡改后泄露时,可基于泄露数据中包括的水印进行泄露者定位。
结合第一方面,在第一种可能的实施方式中,上述方法还包括:
上述数据发送方从上述水印服务器接收上述水印服务器基于数据接收方公钥对上述第二传输数据进行加密后生成的加密数据,并向数据接收方发送上述加密数据。
在本申请中,基于数据接收方公钥对第二传输数据进行加密,可控制只能指定的数据接收方(即拥有与用于加密的公钥对应的私钥的数据接收方)才能解密出加密后第二传输数据,一方面既可保证数据不会被其他无关人员解密,另一方面可实现后续对数据泄露者的追踪。
结合第一方面或第一方面第一种可能的实施方式中任一种,在第二种可能的实施方式中,上述第一交易关联信息中包括数据接收方数字签名;
上述数据发送方确定第一交易关联信息,包括:
上述数据发送方向数据接收方发送上述第一交易基础信息;
上述数据发送方从上述数据接收方接收上述数据接收方基于数据接收方私钥对上述第一交易基础信息进行签名后生成的数据接收方数字签名。
在本申请中,通过将包括数据接收方数字签名的第一交易数据发送至记账节点,以使记账节点对数据接收方数字签名验证通过后再将第一交易数据进行上链,增加了数据接收方对该笔交易的认同,使得链上数据更具可信性。
结合第一方面至第一方面第二种可能的实施方式中任一种,在第三种可能的实施方式中,上述第一交易关联信息中还包括数据发送方数字签名;
上述数据发送方确定第一交易关联信息,包括:
上述数据发送方基于数据发送方私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名以生成数据发送方数字签名。
在本申请中,通过将包括数据发送方数字签名的第一交易数据发送至记账节点,以使记账节点对数据发送方数字签名验证通过后再将第一交易数据进行上链,增加了数据发送方对该笔交易的认同,使得链上数据更具可信性。
结合第一方面至第一方面第三种可能的实施方式中任一种,在第四种可能的实施方式中,上述第一交易关联信息中还包括上述第一交易对应的第一交易标识。
结合第一方面至第一方面第四种可能的实施方式中任一种,在第五种可能的实施方式中,上述第一反馈信息中还包括水印服务器数字签名,上述水印服务器数字签名由上述水印服务器基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成。
结合第一方面至第一方面第五种可能的实施方式中任一种,在第六种可能的实施方式中,上述第一交易基础信息中包括上述第一交易的数据发送方地址、上述第一交易的数据接收方地址、上述第一交易的父交易对应的父交易标识、上述第一交易的第一代币转移数量、上述第一交易的第二代币转移数量、上述第一交易的代币标识以及上述第一交易的代币接收方地址中的一个或者多个,其中,上述第一代币转移数据量为上述数据发送方向上述第一交易的数据接收方转移的代币数量,上述第二代币转移数量为上述数据发送方向上述代币接收方地址所指示的代币接收方转移的代币数量。
结合第一方面至第一方面第六种可能的实施方式中任一种,在第七种可能的实施方式中,上述第一水印为预设字符串或者上述第一交易的父交易对应的水印。
第二方面,本申请提供了一种基于区块链的数据传输方法,该方法包括:
记账节点从数据发送方接收第一交易对应的第一交易数据,上述第一交易数据中包括第一交易基础信息、第一反馈信息以及第一交易关联信息,上述第一反馈信息中包括第一水印、上述第一交易对应的第二水印,以及第二传输数据对应的传输数据哈希值,上述第二传输数据基于上述目标数据嵌入上述第二水印得到,上述第一水印为第一预设字符串或者上述第一交易的父交易对应的水印;
上述记账节点根据上述第一交易基础信息、上述第一水印、上述第二水印和上述第一交易关联信息确定上述第一交易数据是否为合法交易数据,若确定上述第一交易数据为合法交易数据,则将上述第一交易数据上传至区块链。
在本申请中,记账节点通过接收数据发送方发送的第一交易数据,并根据第一交易数据中包括的第一交易基础信息、第一水印、第二水印和第一交易关联信息确定第一交易数据合法性,进而在确定第一交易数据为合法交易数据时将第一交易数据上链。显而易见,通过将每次数据转移对应的交易数据上传至区块链,可记录数据完整的转移或传输过程,以便后续可基于区块链上的数据进行数据追踪。且由于每次对目标数据进行数据转移,目标数据中都重新嵌入了一个新水印(即第二水印),因此,当目标数据在任一次转移过程中被恶意篡改后泄露时,可基于泄露数据中包括的水印进行泄露者定位。
结合第二方面,在第一种可能的实施方式中,上述第一水印为上述第一预设字符串,上述第一交易关联信息中包括上述第一交易对应的第一交易标识;
上述记账节点根据上述第一交易基础信息、上述第一水印、上述第二水印和上述第一交易关联信息确定上述第一交易数据是否为合法交易数据,包括:
上述记账节点分别对上述第一交易基础信息和上述第一交易数据中除上述第一交易标识之外的其他数据进行哈希运算,以得到上述第一交易基础信息对应的第一哈希值,以及上述其他数据对应的第二哈希值;
上述记账节点获取第二预设字符串;
若上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,当数据发送方为原始发送者时,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据,进而将第一交易数据上链,可提高区块链上数据的可信性。
结合第二方面,在第二种可能的实施方式中,上述第一水印为上述第一交易的父交易对应的水印,上述第一交易关联信息中包括上述第一交易对应的第一交易标识,上述第一交易基础信息中包括上述父交易对应的父交易标识;
上述记账节点根据上述第一交易基础信息、上述第一水印、上述第二水印和上述第一交易关联信息确定上述第一交易数据是否为合法交易数据,包括:
上述记账节点分别对上述第一交易基础信息和上述第一交易数据中除上述第一交易标识之外的其他数据进行哈希运算,以得到上述第一交易基础信息对应的第一哈希值,以及上述其他数据对应的第二哈希值;
上述记账节点根据上述父交易标识,从上述区块链中获取上述父交易标识对应的父交易数据,上述父交易数据中包括父交易基础信息;
上述记账节点对上述父交易基础信息进行哈希运算,以得到上述父交易基础信息对应的第三哈希值;
若上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,当数据发送方为非原始发送者时,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据,进而将第一交易数据上链,可提高区块链上数据的可信性。
结合第二方面第二种可能的实施方式中,在第三种可能的实施方式中,上述第一交易基础信息中还包括上述第一交易的数据发送方地址,上述父交易基础信息中包括上述父交易的数据接收方地址;
上述方法还包括:
若上述第一交易的数据发送方地址与上述父交易的数据接收方地址相匹配、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
结合第二方面第二种可能的实施方式中,在第四种可能的实施方式中,上述第一交易基础信息中还包括上述第一交易的代币标识,上述父交易基础信息中还包括上述父交易的代币标识;
上述方法还包括:
若上述第一交易的代币标识等于上述父交易的代币标识、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
结合第二方面第一种可能的实施方式或者第二方面第二种可能的实施方式中,在第五种可能的实施方式中,上述第一交易基础信息中还包括上述第一交易的第一代币转移数量,上述第一代币转移数据量为上述数据发送方向上述第一交易的数据接收方转移的代币数量,上述第一代币转移数量为整数;
上述方法还包括:
若上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过设置并验证代币转移数量,可限定数据的转发次数,提高了数据转发的可控性。
结合第二方面第五种可能的实施方式中,在第六种可能的实施方式中,上述方法还包括:
若上述第一代币转移数量大于或者等于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量大于或者等于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过设置并验证代币转移数量,可限定数据的转发次数,提高了数据转发的可控性。
结合第二方面第五种可能的实施方式中,在第七种可能的实施方式中,上述第一交易为上述目标数据的首次转移交易;
上述方法还包括:
若上述代币余量等于1、上述第一代币转移数量大于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过设置并验证代币转移数量,可限定数据的转发次数,提高了数据转发的可控性。
结合第二方面第五种可能的实施方式中,在第八种可能的实施方式中,上述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,上述第二代币转移数量为上述数据发送方向上述代币接收方地址所指示的代币接收方转移的代币数量;
上述方法还包括:
若上述第一代币转移数量大于0、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量大于0、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过设置并验证代币转移数量,可限定数据的转发次数,提高了数据转发的可控性。
结合第二方面第五种可能的实施方式中,在第九种可能的实施方式中,上述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,上述第二代币转移数量为上述数据发送方向上述代币接收方地址所指示的代币接收方转移的代币数量;
上述方法还包括:
若上述第一代币转移数量等于1、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过设置并验证代币转移数量,可限定数据的被转发次数,提高了数据转发的可控性。
结合第二方面第一种可能的实施方式或者第二方面第二种可能的实施方式,在第十种可能的实施方式中,上述第一交易关联信息中还包括数据接收方数字签名,上述数据接收方数字签名由上述数据接收方基于数据接收方私钥对上述第一交易基础信息进行签名后生成;
上述方法还包括:
上述记账节点获取数据接收方公钥;
若上述记账节点基于上述数据接收方公钥确定上述数据接收方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述记账节点基于上述数据接收方公钥确定上述数据接收方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过对数据接收方数字签名验证进行通过后再将第一交易数据进行上链,增加了数据接收方对该笔交易的认同,使得链上数据更具可信性。
结合第二方面第一种可能的实施方式或者第二方面第二种可能的实施方式,在第十一种可能的实施方式中,上述第一交易关联信息中还包括数据发送方数字签名,上述数据发送方数字签名由上述数据发送方基于数据发送方私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成;
上述方法还包括:
上述记账节点获取数据发送方公钥;
若上述记账节点基于上述数据发送方公钥确定上述数据发送方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述记账节点基于上述数据发送方公钥确定上述数据发送方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过对数据发送方数字签名进行验证通过后再将第一交易数据进行上链,增加了数据发送方对该笔交易的认同,使得链上数据更具可信性。
结合第二方面第一种可能的实施方式或者第二方面第二种可能的实施方式,在第十二种可能的实施方式中,上述第一反馈信息中还包括水印服务器数字签名,上述水印服务器数字签名由上述水印服务器基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成;
上述方法还包括:
上述记账节点获取水印服务器公钥;
若上述记账节点基于上述水印服务器公钥确定上述水印服务器数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述记账节点基于上述水印服务器公钥确定上述水印服务器数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在本申请中,通过对水印服务器数字签名验证通过后再将第一交易数据进行上链,增加了水印服务器对该笔交易的认同,使得链上数据更具可信性。
第三方面,本申请提供了一种基于区块链的数据传输方法,该方法包括:
水印服务器从数据发送方接收第一中间信息,上述第一中间信息中包括第一传输数据和第一交易对应的第一交易基础信息,上述第一传输数据基于目标数据嵌入第一水印得到,上述第一交易为上述目标数据的转移交易;
上述水印服务器从上述第一传输数据中提取上述第一水印,以及根据上述第一交易基础信息生成第二水印;
上述水印服务器将上述第二水印嵌入上述目标数据中以生成第二传输数据,并对上述第二传输数据进行哈希运算以得到传输数据哈希值;
上述水印服务器根据上述第一水印、上述第二水印以及上述传输数据哈希值确定第一反馈信息,并向上述数据发送方发送上述第一反馈信息。
在本申请中,水印服务器根据从数据发送方接收的第一中间信息生成包括第一水印、第二水印以及传输数据哈希值的第一反馈信息,并将第一反馈信息发送至数据发送方,使得每次对目标数据进行数据转移,目标数据中都重新嵌入了一个新水印(即第二水印),因此,当目标数据在任一次转移过程中被恶意篡改后泄露时,可基于泄露数据中包括的水印进行泄露者定位。
结合第三方面,在第一种可能的实施方式中,上述第一反馈信息中还包括水印服务器数字签名;
上述水印服务器根据上述第一水印、上述第二水印以及上述传输数据哈希值确定第一反馈信息,包括:
上述水印服务器基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名以生成水印服务器数字签名;
上述水印服务器根据上述第一水印、上述第二水印、上述传输数据哈希值,以及连同上述水印服务器数字签名确定第一反馈信息。
在本申请中,水印服务器数字签名用于增加数据接收方对该笔交易的认同,使得验证通过后上链的数据更具可信性。
结合第三方面或者结合第三方面第一种可能的实施方式,在第二种可能的实施方式中,上述方法还包括:
上述水印服务器获取数据接收方公钥;
上述水印服务器基于上述数据接收方公钥对上述第二传输数据进行加密以得到加密数据;
上述水印服务器向上述数据接收方发送上述加密数据,或者,上述水印服务器通过上述数据发送方将上述加密数据转发给上述数据接收方。
在本申请中,基于数据接收方公钥对第二传输数据进行加密,可控制只能指定的数据接收方(即拥有与用于加密的公钥对应的私钥的数据接收方)才能解密出加密后第二传输数据,一方面既可保证数据不会被其他无关人员解密,另一方面可实现后续对数据泄露者的追踪。
第四方面,本申请提供一种基于区块链的数据传输方法,该方法包括:
用户方向水印服务器发送水印提取请求,上述水印提取请求中包括传输数据;
上述用户方从上述水印服务器接收从上述传输数据中提取出的第一交易水印;
上述用户方根据上述第一交易水印从区块链中获取上述第一交易水印对应的第一交易数据,上述第一交易数据中包括第一交易的数据发送方地址和上述第一交易的父交易的父交易标识,上述第一交易水印为上述第一交易对应的水印;
上述用户方根据上述父交易标识从上述区块链中获取上述父交易标识对应的父交易数据,上述父交易数据中包括父交易对应的父交易水印,以及上述父交易的数据发送方地址;
若上述父交易水印与预设字符串相匹配,则将上述父交易的数据发送方地址所指示的数据发送方确定为上述目标数据的原始发送方;
上述用户方根据上述原始发送方,上述第一交易的数据发送方地址所指示的数据发送方确定出上述目标数据的数据转移记录。
结合第四方面,在第一种可能的实施方式中,上述第一交易数据中还包括上述第一交易的数据接收方地址;
上述方法还包括:
上述用户方将上述第一交易的数据接收方地址所指示的数据接收方确定为数据泄露方。
第五方面,本申请实施例提供了一种终端,该终端可为数据发送方,该终端包括用于执行上述第一方面和/或第一方面的任意一种可能的实现方式所提供的基于区块链的数据传输方法的单元和/或模块,因此也能实现第一方面提供的方法所具备的有益效果(或者优点)。
第六方面,本申请实施例提供了一种服务器,该服务器可为记账节点,该服务器包括用于执行上述第二方面和/或第二方面的任意一种可能的实现方式所提供的基于区块链的数据传输方法的单元和/或模块,因此也能实现第二方面提供的方法所具备的有益效果(或者优点)。
第七方面,本申请实施例提供了一种服务器,该服务器可为水印服务器,该服务器包括用于执行上述第三方面和/或第三方面的任意一种可能的实现方式所提供的基于区块链的数据传输方法的单元和/或模块,因此也能实现第三方面提供的方法所具备的有益效果(或者优点)。
第八方面,本申请实施例提供了一种终端,该终端可为用户方,该终端包括用于执行上述第四方面和/或第四方面的任意一种可能的实现方式所提供的基于区块链的数据传输方法的单元和/或模块,因此也能实现第四方面提供的方法所具备的有益效果(或者优点)。
第九方面,本申请实施例提供了一种终端,该终端包括存储器、收发器和处理器;其中,该存储器、收发器和处理器通过通信总线连接,或者处理器和收发器用于与存储器耦合。该存储器用于存储一组程序代码,该收发器和处理器用于调用该存储器中存储的程序代码执行上述第一方面和/或第一方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,因此也能实现第一方面提供的方法所具备的有益效果。
第十方面,本申请实施例提供了一种服务器,该服务器包括存储器、收发器和处理器;其中,该存储器、收发器和处理器通过通信总线连接,或者处理器和收发器用于与存储器耦合。该存储器用于存储一组程序代码,该收发器和处理器用于调用该存储器中存储的程序代码执行上述第二方面和/或第二方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,因此也能实现第二方面提供的方法所具备的有益效果。
第十一方面,本申请实施例提供了一种服务器,该服务器包括存储器、收发器和处理器;其中,该存储器、收发器和处理器通过通信总线连接,或者处理器和收发器用于与存储器耦合。该存储器用于存储一组程序代码,该收发器和处理器用于调用该存储器中存储的程序代码执行上述第三方面和/或第三方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,因此也能实现第三方面提供的方法所具备的有益效果。
第十二方面,本申请实施例提供了一种终端,该终端包括存储器、收发器和处理器;其中,该存储器、收发器和处理器通过通信总线连接,或者处理器和收发器用于与存储器耦合。该存储器用于存储一组程序代码,该收发器和处理器用于调用该存储器中存储的程序代码执行上述第四方面和/或第四方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,因此也能实现第四方面提供的方法所具备的有益效果。
第十三方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端上运行时,使得终端执行上述第一方面和/或第一方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,也能实现第一方面提供的方法所具备的有益效果。
第十四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端上运行时,使得终端执行上述第二方面和/或第二方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,也能实现第二方面提供的方法所具备的有益效果。
第十五方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端上运行时,使得终端执行上述第三方面和/或第三方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,也能实现第三方面提供的方法所具备的有益效果。
第十六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端上运行时,使得终端执行上述第四方面和/或第四方面中任意一种可能的实现方式所提供的基于区块链的数据传输方法,也能实现第四方面提供的方法所具备的有益效果。
第十七方面,本申请实施例提供了一种通信装置,该通信装置可以是一块芯片或多块协同工作的芯片,该通信装置中包括与通信装置(例如芯片)耦合的输入设备,用于执行本申请实施例第一方面提供的技术方案。应理解,这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
第十八方面,本申请实施例提供了一种通信装置,该通信装置可以是一块芯片或多块协同工作的芯片,该通信装置中包括与通信装置(例如芯片)耦合的输入设备,用于执行本申请实施例第二方面提供的技术方案。应理解,这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
第十九方面,本申请实施例提供了一种通信装置,该通信装置可以是一块芯片或多块协同工作的芯片,该通信装置中包括与通信装置(例如芯片)耦合的输入设备,用于执行本申请实施例第三方面提供的技术方案。应理解,这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
第二十方面,本申请实施例提供了一种通信装置,该通信装置可以是一块芯片或多块协同工作的芯片,该通信装置中包括与通信装置(例如芯片)耦合的输入设备,用于执行本申请实施例第四方面提供的技术方案。应理解,这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
第二十一方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在终端上运行时,使得终端执行上述第一方面提供的基于区块链的数据传输方法,也能实现第一方面提供的方法所具备的有益效果。
第二十二方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行上述第二方面提供的基于区块链的数据传输方法,也能实现第二方面提供的方法所具备的有益效果。
第二十三方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行上述第三方面提供的基于区块链的数据传输方法,也能实现第三方面提供的方法所具备的有益效果。
第二十四方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在终端上运行时,使得终端执行上述第四方面提供的基于区块链的数据传输方法,也能实现第四方面提供的方法所具备的有益效果。
第二十五方面,本申请实施例提供一种数据传输系统,该数据传输系统包括上述第五方面提供的数据发送方、第六方面提供的记账节点、第七方面提供的水印服务器以及第八方面提供的用户方中的一个或者多个。
附图说明
图1是本申请提供的数据传输系统的结构示意图;
图2是本申请提供的基于区块链的数据传输方法的一流程示意图;
图3是本申请提供的基于区块链的数据传输方法的另一流程示意图;
图4是本申请提供的基于区块链的数据传输方法的另一流程示意图;
图5是本申请提供的基于区块链的数据传输方法的另一流程示意图;
图6是本申请实施例提供的一种终端一结构示意图;
图7是本申请实施例提供的一种服务器一结构示意图;
图8是本申请实施例提供的一种终端另一结构示意图;
图9是本申请实施例提供的一种服务器另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参见图1,图1是本申请提供的数据传输系统的结构示意图。如图1所示,数据传输系统包括用户方、水印服务器和记账节点。其中,用户方可包括用户方1和用户方2等,在此不做限制。如图1所示,用户方1、用户方2、水印服务器和记账节点之间相互连接。通常而言,数据传输系统中的用户方、水印服务器和记账节点等可以是任意形式的计算设备,如服务器、终端等,在此不做限制。其中,终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑以及移动互联网设备(mobile internet device,MID)等,在此不做限制。应当理解的是,上述用户方、水印服务器和记账节点仅是举例,本申请实施例提供的数据传输系统还可以包括共识节点等,在此不做限制。通常而言,用户方可以是数据的拥有者,即数据权利人,或者也可称作数据原始发送者,其拥有对数据的所有权(例如,占有权、使用权、收益权和处分权等权能)。可选的,用户方还可以是数据的交付对象,即数据交付对象,或者也可称为数据接收方。一般地,数据交付对象可通过购买或其他交付方式,从数据权利人处获得数据。其中,数据交付对象对数据的转移能力可由数据权利人决定,即数据交付对象能否作为数据发送方可由数据原始发送者决定。应当理解的是,本申请中的数据发送方可以是数据权利人,或者,也可以是数据交付对象等,在此不做限制。水印服务器被认为是具有法律机关认可的从业资质机构对应的服务器。
本申请实施例提供了一种基于区块链的数据传输方法,用于在数据流转过程中保护数据权利人的相关权益,一般地,“数据流转”包括但不限于存在支付关系的“交易”,但为叙述方便,本申请实施例中将“数据流转”与“交易”视为同义,并均采用“交易”的提法。并且,交易可以发生多次,每次交易均可采用本申请实施例的方法。为方便描述,本申请实施例仅以一次交易(例如,第一交易)为例进行说明。
实施例一
请参见图2,图2是本申请提供的基于区块链的数据传输方法的一流程示意图。如图2所示,本申请提供的方法可包括步骤:
S101、数据发送方向水印服务器发送第一中间信息。
在一些可行的实施方式中,数据发送方可基于与第一交易相关的信息生成第一交易对应的第一交易基础信息。其中,第一交易为目标数据的转移交易。通常而言,目标数据为本次交易进行转移的数据,其中,目标数据可以是视频数据、图片数据、音频数据或文件数据等,在此不做限制。第一交易基础信息包括第一交易的数据发送方地址、第一交易的数据接收方对应的数据接收方地址、第一交易的父交易对应的父交易标识、第一交易的第一代币转移数量、第一交易的第二代币转移数量、第一交易的代币标识、第一交易的代币接收方地址以及时间戳中的一项或者多项,在此不做限制。其中,第一代币转移数据量为本次交易中,数据发送方向第一交易的数据接收方转移的代币数量,第二代币转移数量为本次交易中,数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。其中,代币标识是数据的唯一标识符,可用于区分不同数据的代币。通常而言,与数据关联的代币只能在本数据传输时被转移,无法在其他数据被转移时被转移。第一交易的父交易为该数据发送方之前接收本目标数据时对应的交易,即第一交易的父交易为数据发送方作为本目标数据的数据接收方时的交易。举例来说,假设数据权利人为用户1,且目标数据的转移路径为用户1→用户2→用户3。其中,假设第一交易为用户2向用户3转移目标数据时的交易,则第一交易的父交易为用户1向用户2转移目标数据时对应的交易。不难理解的是,当数据发送方为数据权利人时,第一交易的父交易为空,即,数据权利人是目标数据的原始发送者。
在一些可行的实施方式中,数据发送方获取第一传输数据,进而可基于第一交易基础信息和第一传输数据生成第一中间信息,并向水印服务器发送第一中间信息。其中,上述第一传输数据基于目标数据嵌入第一水印得到。不难理解的是,当数据发送方为数据权利人时,第一水印为预设字符串,且第一交易没有父交易,即第一交易的父交易为空。当数据发送方为数据交付对象时,第一水印为第一交易的父交易对应的水印。在本申请中,第一水印为父交易的父交易基础信息的哈希值,第二水印为第一交易基础信息的哈希值。
可选的,在一些可行的实施方式中,数据发送方向水印服务器发送第一中间信息之前,还可以向数据接收方发送第一交易基础信息,以使数据接收方在接收到第一交易基础信息后,可基于数据接收方私钥对第一交易基础信息进行签名,以生成数据接收方数字签名。不难理解的是,当数据接收方生成数据接收方数据签名后,数据接收方可将数据接收方数字签名发送至数据发送方,以使数据发送方将包括第一交易基础信息、第一传输数据和数据接收方数字签名的第一中间信息发送至水印服务器。
S102、水印服务器向数据接收方发送第一反馈信息。
在一些可行的实施方式中,水印服务器通过接收数据发送方发送的第一中间信息,可基于第一中间信息生成第一反馈信息,并将生成的第一反馈信息发送至数据接收方。具体地,水印服务器可从第一中间信息包括的第一传输数据中提取出第一水印,以及根据第一交易基础信息生成第二水印。其中,通过将生成的第二水印嵌入目标数据,可生成第二传输数据。通过对第二传输数据进行哈希运算,可得到第二传输数据的哈希值,即传输数据哈希值。进而,根据第一水印、第二水印以及传输数据哈希值可生成第一反馈信息,并向数据发送方发送第一反馈信息。
可选的,水印服务器还可以基于水印服务器私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息进行签名,以生成水印服务器数字签名。进而,水印服务器可将包括第一水印、第二水印、传输数据哈希值以及水印服务器数字签名的第一反馈信息发送至数据发送方。
可选的,在一些可行的实施方式中,若水印服务器接收到的第一中间信息中除了包括第一交易基础信息和第一待传输数据之外,还包括数据接收方数据签名,则当水印服务器接收到第一中间信息后,可首先验证第一中间信息中包括的数据接收方数字签名的有效性,若确定数据接收方数字签名为无效数字签名,则水印服务器拒绝本次服务,若确定数据接收方数据签名为有效数字签名,则水印服务器执行上述根据第一中间信息生成第一反馈信息的操作。具体地,水印服务器可基于第一交易基础信息中包括的数据接收方地址,从区块链的公钥存储区块中获取数据接收方地址对应的数据接收方公钥,进而根据数据接收方公钥对数据接收方数字签名进行解密以得到哈希值D。进一步地,水印服务器对第一交易基础信息进行哈希运算,以得到第一交易基础信息对应的哈希值D’。其中,若哈希值D与哈希值D’相同,则确定数据接收方数字签名为有效数字签名,若哈希值D与哈希值D’不相同,则确定数据接收方数字签名为无效数字签名。
S103、数据发送方确定第一交易关联信息,根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据。
在一些可行的实施方式中,数据发送方通过确定第一交易关联信息,以及从水印服务器接收水印服务器基于第一中间信息生成的第一反馈信息,可根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据。其中,第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的一项或者多项。不难理解的是,数据接收方数字签名为数据接收方基于数据接收方私钥对从数据发送方接收的第一交易基础信息进行签名后生成的数字签名。数据发送方数字签名为数据发送方基于数据发送方私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息进行签名后生成的数字签名。第一交易标识用于唯一标记第一交易,在本申请中,第一交易标识为第一交易数据中除第一交易标识之外的其他数据的哈希值。
S104、数据发送方向记账节点发送第一交易数据。
在一些可行的实施方式中,当数据发送方生成第一交易数据后,可向记账节点发送该第一交易数据,以使记账节点对第一交易数据进行验证。
S105、若记账节点确定第一交易数据为合法交易数据,则将第一交易数据上传至区块链。
在一些可行的实施方式中,当记账节点从数据发送方接收到包括第一交易基础信息、第一反馈信息和第一交易关联信息的第一交易数据后,可根据第一交易基础信息、第一反馈信息中包括的第一水印、第二水印和第一交易关联信息验证第一交易数据是否为合法交易数据。其中,记账节点对第一交易数据的验证分为两种情况。第一种情况,当第一交易数据为数据权利人产生的交易数据(即数据发送方为数据权利人)时的验证。第二种情况,当第一交易数据为数据交付对象产生的交易数据(即数据发送方为数据交付对象)时的验证。不难理解的是,当数据发送方为数据权利人时,由于数据权利人为目标数据的所有权人,因此,其没有父交易,即第一交易的父交易为空,此时,第一水印为某个公开制定的特殊字符串(即预设字符串)。当数据发送方为数据交付对象时,则第一水印为第一交易的父交易对应的水印。
具体地,针对第一种情况(数据发送方为数据权利人时)的交易验证,假设第一交易基础信息中包括数据发送方地址和数据接收方地址。第一反馈信息中包括第一预设字符串(即第一水印)、第二水印和传输数据哈希值。第一交易关联信息中包括第一交易对应的第一交易标识。那么,记账节点在对第一交易数据进行验证时,通过分别对第一交易基础信息和第一交易数据中除第一交易标识之外的其他数据进行哈希运算,可得到第一交易基础信息对应的第一哈希值,以及其他数据对应的第二哈希值。其中,记账节点通过获取第二预设字符串,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。为方便描述,可将满足“第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配”的验证简称第一验证通过。
可选的,当第一交易关联信息中除了包括第一交易标识,还包括数据接收方数字签名时,若记账节点基于数据接收方公钥确定数据接收方数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定数据接收方数字签名为有效数字签名,且第一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“数据接收方数字签名为有效数字签名”的验证简称第二验证通过。
其中,数据接收方数字签名由数据接收方基于数据接收方私钥对第一交易基础信息进行签名后生成。具体地,记账节点在验证数据接收方数字签名时,可根据第一交易基础信息中包括的数据接收方地址,从区块链的公钥存储区块中获取数据接收方地址对应的数据接收方公钥,进而根据数据接收方公钥对数据接收方数字签名进行解密以得到哈希值D。进一步地,记账节点通过对第一交易基础信息进行哈希运算,可得到第一交易基础信息对应的哈希值D’。其中,若哈希值D与哈希值D’相同,则可确定数据接收方数字签名为有效数字签名,若哈希值D与哈希值D’不相同,则可确定数据接收方数字签名为无效数字签名。
可选的,当第一交易关联信息中除了包括第一交易标识,还包括数据发送方数字签名时,若记账节点基于数据发送方公钥确定数据发送方数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定数据发送方数字签名为有效数字签名,且第一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“数据发送方数字签名为有效数字签名”的验证简称第三验证通过。
其中,数据发送方数字签名由数据发送方基于数据发送方私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息打包进行签名后生成。具体地,记账节点在验证数据发送方数字签名时,可根据第一交易基础信息中包括的数据发送方地址,从区块链的公钥存储区块中获取数据发送方地址对应的数据发送方公钥,进而根据数据发送方公钥对数据发送方数字签名进行解密以得到哈希值B。进一步地,记账节点通过对包括第一水印、第二水印、传输数据哈希值以及第一交易基础信息的打包数据进行哈希运算,可得到打包数据对应的哈希值B’。其中,若哈希值B与哈希值B’相同,则可确定数据发送方数字签名为有效数字签名,若哈希值B与哈希值B’不相同,则可确定数据发送方数字签名为无效数字签名。
可选的,当第一反馈信息中除了包括第一预设字符串(即第一水印)、第二水印和传输数据哈希值,还包括水印服务器数字签名时,若记账节点基于水印服务器公钥确定水印服务器数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定水印服务器数字签名为有效数字签名,且第一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“水印服务器数字签名为有效数字签名”的验证简称第四验证通过。
其中,水印服务器数字签名由水印服务器基于水印服务器私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息打包进行签名后生成。具体地,记账节点在验证水印服务器数字签名时,可根据水印服务器地址,从区块链的公钥存储区块中获取水印服务器地址对应的水印服务器公钥,进而根据水印服务器公钥对水印服务器数字签名进行解密以得到哈希值R。进一步地,记账节点通过对包括第一水印、第二水印、传输数据哈希值以及第一交易基础信息的打包数据进行哈希运算,可得到打包数据对应的哈希值R’。其中,若哈希值R与哈希值R’相同,则可确定水印服务器数字签名为有效数字签名,若哈希值R与哈希值R’不相同,则可确定水印服务器数字签名为无效数字签名。
可选的,当第一交易基础信息中除了包括数据发送方地址和数据接收方地址,还包括第一交易的第一代币转移数量时,若第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第一代币转移数量不大于数据发送方的代币余量,且第一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一代币转移数量小于或者等于数据发送方的代币余量”的验证简称第五验证通过。其中,第一代币转移数据量为数据发送方向第一交易的数据接收方转移的代币数量,且第一代币转移数量为整数。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括数据发送方地址和数据接收方地址,还包括第一交易的第一代币转移数量的情况下,若数据权利人允许每个数据接收者可以无限次地将目标数据传输给其他接收者(为方便描述,简称无限制模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于或者等于0、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,在无限制模式下,当记账节点确定第一代币转移数量大于或者等于0,且第一验证通过和第五验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一代币转移数量大于或者等于0”的验证简称第六验证通过。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括数据发送方地址和数据接收方地址,还包括第一交易的第一代币转移数量的情况下,若数据权利人仅允许每个数据接收者只能有限次将数据转发给其接收者,且最终数据只能延指定数量的单线路径持续传播(为方便描述,简称多线模式),则记账节点在进行第一交易数据的合法性验证时,若确定若第一代币转移数量大于0、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,在多线模式下,当记账节点确定第一代币转移数量大于0,且第一验证通过和第五验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一代币转移数量大于0”的验证简称第七验证通过。
不难理解的是,第一代币转移数量大于0意味着,每次数据转移,数据发送方必须将大于0数量的代币转移给数据接收方。因此,同一个数据发送方在经过一定次数的数据转移之后,必将使得其代币余量最终变为0,进而其无法再向其他用户转移代币。也就是说,当某个数据发送方的代币余量等于0时,其不再具有转移该目标数据的能力。
通常而言,数据权利人(即数据原始发送者)通过设置目标数据对应的代币的总数量K(K>0),即限制了后续数据接收者对目标数据的传输能力。在多线模式中,数据权利人可将K个代币全部转移给某一个用户,或者,数据权利人也可将K个代币划分成多份后分别转移给多个用户。为方便描述,可将收到数据权利人转移的代币的用户称之为“第一层用户”。根据代币数量转移的规律可知,第一层用户的代币之和等于K。这样,第一层用户具备了传输该目标数据的能力,或者,也可理解为数据权利人将自己转移数据的能力转移给了第一层用户。之后,第一层用户可以在后续的数据传输过程中,把自己的代币转移给第二层用户。显然,第二层用户的代币之和也等于K。以此类推,每一层用户的代币之和都是K。其中,当某次数据传输的代币转移数量是1时,那么数据接收者只能将收到的数据传输一次。原因是,一旦这个接收者将该数据传输一次之后,其必然将之前收到的1个代币转移给了下一个接收者,因此自己就没有关于该目标数据的代币,所以其无法再次传输该数据。而当某次数据传输的代币转移数量大于1时,那么接收者至多可以传输该数据m次。原因是,当该接收者在后续的每次数据传输时,若每次都只转移1个代币,那么该接收者就可以传输m次该目标数据,相应地,当该接收者在后续某次数据传输时转移的代币数量大于1时,由于其手中与该数据关联的代币只有m个,所以这必然导致其传输该数据的总次数小于m。应当理解的是,目标数据经过若干层传输之后,若最新一层的每个用户所获取到与目标数据关联的代币都是1,那么最新一层的每个用户后续只能将目标数据传输一次。并且,之后每次数据传输的接收者也只能将目标数据传输一次。也就是说,当最新一层的每个用户所获取到与目标数据关联的代币都是1时,后续数据传输的路径将是沿着K条线延续传播下去,不会出现路径分叉现象。
可选的,在一些可行的实施方式中,若数据权利人需要限制每个数据接收者只有将数据转发一次的能力,且最终数据只能延单线路径持续传播(为方便描述,简称单线模式),则当第一交易为目标数据的首次转移交易时,若确定代币余量等于1、第一代币转移数量大于0、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,在单线模式下,当记账节点确定代币余量等于1,且第一验证通过、第五验证通过以及第七验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“代币余量等于1”的验证简称第八验证通过。
不难理解的是,单线模式是多线模式的特例。在单线模式中,数据权利人通过设置目标数据对应的代币的总数量K等于1,即可限制被传输的目标数据只能沿着一条转移路径持续传播。简单来说,当K=1时,由于第一代币转移数量大于0,因此,数据权利人只能将目标数据传输给一个第一层用户P1,也就是说,当数据权利人将目标数据对应的1个代币转移给一个第一层用户P1后,数据权利人将无法再传输该目标数据,以此类推,当该第一层用户P1将该目标数据传输给一个第二层用户P2后,该第二层用户P2也不再具备传播该目标数据的能力,进而限制了目标数据只能沿着一条转移路径持续传播。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括数据发送方地址、数据接收方地址和第一代币转移数量,还包括代币接收方地址和第二代币转移数量的情况下,数据权利人还可以限制目标数据被转发一定次数之后,再无法被传播(为方便描述,简称有限转发模式)。因此,记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,在有限转发模式下,当记账节点确定第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址,且第一验证通过和第七验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址”的验证简称第九验证通过。
其中,第二代币转移数量为数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。也就是说,在有限转发模式中,每次进行数据传输时,数据发送方除了必须向数据接收方转移大于0数量的代币,其还需要向代币接收方转移大于0数量的代币。应当理解,当代币被转移到代币接收方时,就意味着这些代币消失了,没有人可以使用转移给代币接收方的代币,即代币接收方起到了燃烧代币的作用。不难理解的是,由于每次数据转移时都必须将正整数个代币转移到代币接收方,因此意味着每次数据转移都会消失一定数量的代币。也就是说,在有限次数据转移之后,所有代币将会燃烧殆尽,进而使得后续该目标数据将无法再被转移。
可选的,在一些可行的实施方式中,若数据权利人希望限制数据接收者只拥有对目标数据的使用权,而无法将收到的目标数据转发给其他用户(即数据接收者没有转发权,为方便描述,简称禁止转发模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量等于1、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且第一预设字符串与第二预设字符串相匹配,则确定第一交易数据为合法交易数据。也就是说,在禁止转发模式下,当记账节点确定第一代币转移数量等于1,且第一验证通过和第九验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一代币转移数量等于1”的验证简称第十验证通过。
不难理解的是,禁止转发模式是有限转发模式的特例。在禁止转发模式中,数据权利人只会向同一个数据接收者转移一次目标数据,因此,当数据权利人向数据接收方转移的第一代币转移数量等于1时,该数据接收者将无法向其他用户转移该数据。
具体地,针对第二种情况(数据发送方为数据交付对象时)的交易验证,假设第一交易基础信息中包括第一交易的父交易对应的父交易标识。第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印和传输数据哈希值。第一交易关联信息中包括第一交易对应的第一交易标识。那么,记账节点在对第一交易数据进行验证时,记账节点通过分别对第一交易基础信息和第一交易数据中除第一交易标识之外的其他数据进行哈希运算,可得到第一交易基础信息对应的第一哈希值,以及其他数据对应的第二哈希值。进一步地,记账节点根据第一交易基础信息中包括的父交易标识,可从区块链中获取到该父交易标识对应的父交易数据,其中,父交易数据中包括父交易基础信息。进而,记账节点通过对父交易基础信息进行哈希运算,可得到父交易基础信息对应的第三哈希值。或者,记账节点也可以根据第一交易基础信息中包括的父交易标识,从区块链中直接获取该父交易标识对应的第三哈希值。应当理解的是,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则可确定第一交易数据为合法交易数据。为方便描述,可将满足“第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则可确定第一交易数据为合法交易数据”的验证简称第十一验证通过。
可选的,当第一交易基础信息中除了包括第一交易的父交易对应的父交易标识,还包括第一交易的数据发送方地址,且上述父交易基础信息中包括父交易的数据接收方地址时,若第一交易的数据发送方地址与父交易的数据接收方地址相匹配、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第一交易的数据发送方地址与父交易的数据接收方地址相匹配,且第十一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一交易的数据发送方地址与父交易的数据接收方地址相匹配”的验证简称第十二验证通过。
可选的,当第一交易基础信息中除了包括第一交易的父交易对应的父交易标识,还包括第一交易的代币标识,且上述父交易基础信息中还包括父交易的代币标识时,若第一交易的代币标识等于父交易的代币标识、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。可选的,当第一交易基础信息中还包括第一交易的第一代币转移数量时,若第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第一交易的代币标识等于父交易的代币标识,且第十一验证通过时,可确定第一交易数据为合法交易数据。为方便描述,可将满足“第一交易的代币标识等于父交易的代币标识”的验证简称第十三验证通过。
可选的,当第一交易关联信息中除了包括第一交易对应的第一交易标识,还包括数据接收方数字签名时,记账节点获取数据接收方公钥,若记账节点基于数据接收方公钥确定数据接收方数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第十一验证通过且第二验证通过时,可确定第一交易数据为合法交易数据。
其中,数据接收方数字签名由数据接收方基于数据接收方私钥对第一交易基础信息进行签名后生成。具体地,记账节点在验证数据接收方数字签名时,可根据第一交易基础信息中包括的数据接收方地址,从区块链的公钥存储区块中获取数据接收方地址对应的数据接收方公钥,进而根据数据接收方公钥对数据接收方数字签名进行解密以得到哈希值D。进一步地,记账节点通过对第一交易基础信息进行哈希运算,可得到第一交易基础信息对应的哈希值D’。其中,若哈希值D与哈希值D’相同,则可确定数据接收方数字签名为有效数字签名,若哈希值D与哈希值D’不相同,则可确定数据接收方数字签名为无效数字签名。
可选的,当第一交易关联信息中除了包括第一交易对应的第一交易标识,还包括数据发送方数字签名时,若记账节点基于数据发送方公钥确定数据发送方数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第十一验证通过且第三验证通过时,可确定第一交易数据为合法交易数据。
其中,数据发送方数字签名由数据发送方基于数据发送方私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息打包进行签名后生成。具体地,记账节点在验证数据发送方数字签名时,可根据第一交易基础信息中包括的数据发送方地址,从区块链的公钥存储区块中获取数据发送方地址对应的数据发送方公钥,进而根据数据发送方公钥对数据发送方数字签名进行解密以得到哈希值B。进一步地,记账节点通过对包括第一水印、第二水印、传输数据哈希值以及第一交易基础信息的打包数据进行哈希运算,可得到打包数据对应的哈希值B’。其中,若哈希值B与哈希值B’相同,则可确定数据发送方数字签名为有效数字签名,若哈希值B与哈希值B’不相同,则可确定数据发送方数字签名为无效数字签名。
可选的,当第一反馈信息中除了包括父交易对应的水印(即第一水印)、第二水印和传输数据哈希值,还包括水印服务器数字签名时,记账节点获取水印服务器公钥,若记账节点基于水印服务器公钥确定水印服务器数字签名为有效数字签名、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,当记账节点确定第十一验证通过且第四验证通过时,可确定第一交易数据为合法交易数据。
其中,水印服务器数字签名由水印服务器基于水印服务器私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息打包进行签名后生成。具体地,记账节点在验证水印服务器数字签名时,可根据水印服务器地址,从区块链的公钥存储区块中获取水印服务器地址对应的水印服务器公钥,进而根据水印服务器公钥对水印服务器数字签名进行解密以得到哈希值R。进一步地,记账节点通过对包括第一水印、第二水印、传输数据哈希值以及第一交易基础信息的打包数据进行哈希运算,可得到打包数据对应的哈希值R’。其中,若哈希值R与哈希值R’相同,则可确定水印服务器数字签名为有效数字签名,若哈希值R与哈希值R’不相同,则可确定水印服务器数字签名为无效数字签名。
可选的,当第一交易基础信息中除了包括第一交易的父交易对应的父交易标识,还包括第一交易的第一代币转移数量时,若第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。其中,第一代币转移数据量为数据发送方向第一交易的数据接收方转移的代币数量,且第一代币转移数量为整数。也就是说,当记账节点确定第十一验证通过且第五验证通过,可确定第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括第一交易的父交易对应的父交易标识,还包括第一交易的第一代币转移数量的情况下,若数据权利人允许每个数据接收者可以无限次地将目标数据传输给其他接收者(为方便描述,简称无限制模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于或者等于0、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,在无限制模式下,当记账节点确定第十一验证通过、第五验证通过、且第六验证通过时,可确定第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括第一交易的父交易对应的父交易标识,还包括第一交易的第一代币转移数量的情况下,若数据权利人仅允许每个数据接收者只能有限次将数据转发给其接收者,且最终数据只能延指定数量的单线路径持续传播(为方便描述,简称多线模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,在多线模式下,当记账节点确定第十一验证通过、第五验证通过且第七验证通过时,可确定第一交易数据为合法交易数据。
不难理解的是,第一代币转移数量大于0意味着,每次数据转移,数据发送方必须将大于0数量的代币转移给数据接收方。因此,同一个数据发送方在经过一定次数的数据转移之后,必将使得其代币余量最终变为0,进而其无法再向其他用户转移代币。也就是说,当某个数据发送方的代币余量等于0时,其不再具有转移该目标数据的能力。
可选的,在一些可行的实施方式中,在第一交易基础信息中除了包括第一交易的父交易对应的父交易标识和第一代币转移数量,还包括代币接收方地址和第二代币转移数量的情况下,数据权利人还可以限制目标数据被转发一定次数之后,再无法被传播(为方便描述,简称有限转发模式)。因此,记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第一代币转移数量小于或者等于数据发送方的代币余量、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配,且父交易对应的水印与第三哈希值相匹配,则确定第一交易数据为合法交易数据。也就是说,在有限转发模式下,当记账节点确定第十一验证通过、第七验证通过且第九验证通过时,可确定第一交易数据为合法交易数据。
其中,第二代币转移数量为数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。也就是说,在有限转发模式中,每次进行数据传输时,数据发送方除了必须向数据接收方转移大于0数量的代币,其还需要向代币接收方转移大于0数量的代币。应当理解,当代币被转移到代币接收方时,就意味着这些代币消失了,没有人可以使用转移给代币接收方的代币,即代币接收方起到了燃烧代币的作用。不难理解的是,由于每次数据转移时都必须将正整数个代币转移到代币接收方,因此意味着每次数据转移都会消失一定数量的代币。也就是说,在有限次数据转移之后,所有代币将会燃烧殆尽,进而使得后续该目标数据将无法再被转移。
在一些可行的实施方式中,若记账节点确定第一交易数据为合法交易数据,则可将第一交易数据上传至区块链。具体地,记账节点可将第一交易数据发送至数据传输系统中包括的各共识节点,以使各共识节点对第一交易数据进行合法性验证。其中,各共识节点对第一交易数据的验证过程可参见上述记账节点对第一交易数据的验证过程,在此不再进行赘述。通常来说,当各共识节点对第一交易数据进行验证后,可将验证结果返回至记账节点。其中,当记账节点根据各共识节点返回的验证结果确定各共识节点对该第一交易数据达成共识时,可将包括第一交易数据的区块上传至区块链。
在本申请中,数据发送方向水印服务器发送第一中间信息,第一中间信息中包括第一传输数据和第一交易对应的第一交易基础信息,第一传输数据基于目标数据嵌入第一水印得到,第一交易为目标数据的转移交易。数据发送方从水印服务器接收水印服务器基于第一中间信息生成的第一反馈信息,第一反馈信息中包括第一水印、第一交易对应的第二水印,以及第二传输数据对应的传输数据哈希值,第二传输数据基于目标数据嵌入第二水印得到。数据发送方确定第一交易关联信息,根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据,并向记账节点发送第一交易数据,以使记账节点在确定第一交易数据为合法交易数据时,将第一交易数据上传至区块链。采用本申请,可解决因数据被篡改所导致的无法追踪数据泄露者的问题。
实施例二:
不难理解的是,为提高区块链上存储的交易数据的可信性和可验证性,交易数据在上链之前,通常需要经历一定的验证,且只有通过验证的交易数据才能上链。因此,实施例二将在实施例一的基础上进一步说明数据的完整传输过程和验证过程。
请参见图3,图3是本申请提供的基于区块链的数据传输方法的另一流程示意图。如图3所示,本申请提供的方法可包括步骤:
S201、数据发送方向数据接收方发送第一交易基础信息。
在一些可行的实施方式中,数据发送方可基于与第一交易相关的信息生成第一交易对应的第一交易基础信息。其中,第一交易为目标数据的转移交易。通常而言,目标数据为本次交易进行转移的数据,其中,目标数据可以是视频数据、图片数据、音频数据或文件数据等,在此不做限制。第一交易基础信息包括第一交易的数据发送方地址、第一交易的数据接收方对应的数据接收方地址、第一交易的父交易对应的父交易标识、第一交易的第一代币转移数量、第一交易的第二代币转移数量、第一交易的代币标识、第一交易的代币接收方地址、时间戳中的一项或者多项,在此不做限制。其中,第一代币转移数据量为本次交易中,数据发送方向第一交易的数据接收方转移的代币数量,第二代币转移数量为本次交易中,数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。其中,代币标识是数据的唯一标识符,可用于区分不同数据的代币。通常而言,与数据关联的代币只能在本数据传输时被转移,无法在其他数据被转移时被转移。第一交易的父交易为该数据发送方之前接收本目标数据时对应的交易,即第一交易的父交易为数据发送方作为本目标数据的数据接收方时的交易。不难理解的是,当数据发送方为数据权利人时,第一交易的父交易为空。也就是说,数据权利人是目标数据的原始发送者。
在一些可行的实施方式中,当数据发送方生成第一交易基础信息后,可向数据接收方发送第一交易基础信息,以使数据接收方对第一交易基础信息进行确认。
S202、数据接收方向数据发送方发送数据接收方数字签名。
在一些可行的实施方式中,数据接收方从数据发送方接收到第一交易基础信息后,若数据接收方认同该笔交易,则可对接收到的第一交易基础信息进行签名以生成数据接收方数字签名。具体地,数据接收方可基于数据接收方私钥对第一交易基础信息进行签名,以得到数据接收方数字签名,并向数据发送方发送该数据接收方数字签名。
S203、数据发送方向水印服务器发送第一中间信息。
在一些可行的实施方式中,当数据发送方接收到数据接收方发送的数据接收方数字签名后,可将包括第一交易基础信息、第一传输数据和数据接收方数字签名的第一中间信息发送给水印服务器。其中,上述第一传输数据基于目标数据嵌入第一水印得到,且第一传输数据事先存储在数据发送方中。不难理解的是,当数据发送方为数据权利人时,第一水印为预设字符串,且第一交易没有父交易,即第一交易的父交易为空。当数据发送方为数据交付对象时,第一水印为第一交易的父交易对应的水印。在本申请中,第一水印为父交易的父交易基础信息的哈希值,第二水印为第一交易基础信息的哈希值。
S204、水印服务器向数据接收方发送第一反馈信息。
在一些可行的实施方式中,水印服务器通过接收数据发送方发送的第一中间信息,可基于第一中间信息生成第一反馈信息,并将生成的第一反馈信息发送至数据接收方。具体地,水印服务器可首先验证第一中间信息中包括的数据接收方数字签名的有效性,若确定数据接收方数字签名为无效数字签名,则水印服务器拒绝本次服务,若确定数据接收方数据签名为有效数字签名,则水印服务器可从第一中间信息包括的第一传输数据中提取出第一水印,以及根据第一交易基础信息生成第二水印。其中,水印服务器通过将生成的第二水印嵌入目标数据,可生成第二传输数据。通过对第二传输数据进行哈希运算,可得到第二传输数据的哈希值,即传输数据哈希值。进而,水印服务器可根据第一水印、第二水印以及传输数据哈希值生成第一反馈信息,并向数据发送方发送第一反馈信息。
可选的,水印服务器还可以基于水印服务器私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息进行签名,以生成水印服务器数字签名。进而,水印服务器将包括第一水印、第二水印、传输数据哈希值以及水印服务器数字签名的第一反馈信息发送至数据发送方。
S205、数据发送方确定第一交易关联信息,根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据。
在一些可行的实施方式中,数据发送方通过确定第一交易关联信息,以及从水印服务器接收水印服务器基于第一中间信息生成的第一反馈信息,可根据第一交易基础信息、第一反馈信息以及第一交易关联信息生成第一交易数据。其中,第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的一项或者多项。不难理解的是,数据接收方数字签名为数据接收方基于数据接收方私钥对从数据发送方接收的第一交易基础信息进行签名后生成的数字签名。数据发送方数字签名为数据发送方基于数据发送方私钥对第一水印、第二水印、传输数据哈希值以及第一交易基础信息进行签名后生成的数字签名。其中,第一交易标识用于唯一标记第一交易。在本申请中,第一交易标识为第一交易数据中除第一交易标识之外的其他数据的哈希值。
S206、数据发送方向记账节点发送第一交易数据。
在一些可行的实施方式中,当数据发送方生成第一交易数据后,可向记账节点发送该第一交易数据,以使记账节点对第一交易数据进行验证。
S207、记账节点若确定第一交易数据为合法交易数据,则将第一交易数据上传至区块链。
在一些可行的实施方式中,当记账节点从数据发送方接收到包括第一交易基础信息、第一反馈信息和第一交易关联信息的第一交易数据后,可根据第一交易基础信息、第一反馈信息中包括的第一水印、第二水印和第一交易关联信息验证第一交易数据是否为合法交易数据。其中,记账节点对第一交易数据的验证分为两种情况。一种情况为第一交易数据为数据权利人产生的交易数据(即数据发送方为数据权利人)时的验证,另一种情况为第一交易数据为数据交付对象产生的交易数据(即数据发送方为数据交付对象)时的验证。不难理解的是,当数据发送方为数据权利人时,由于数据权利人为目标数据的所有权人,因此,其没有父交易,即第一交易的父交易为空,此时,第一水印为某个公开制定的特殊字符串(即预设字符串)。当数据发送方为数据交付对象时,则第一水印为第一交易的父交易对应的水印。
具体地,针对第一种情况(即数据发送方为数据权利人时)的交易验证,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息。第一反馈信息中包括第一预设字符串(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息。第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的全部信息。那么,记账节点在对第一交易数据进行验证时,其通过分别对第一交易基础信息和第一交易数据中除第一交易标识之外的其他数据进行哈希运算,可得到第一交易基础信息对应的第一哈希值,以及其他数据对应的第二哈希值。应当理解的是,记账节点通过获取第二预设字符串,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。其中,第一代币转移数据量为数据发送方向第一交易的数据接收方转移的代币数量,且第一代币转移数量为整数。也就是说,当且仅当第一验证通过~第五验证通过(即第一验证通过、第二验证通过、第三验证通过、第四验证通过、且第五验证通过)时,可认为第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,当第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的部分或全部信息,第一反馈信息中包括第一预设字符串(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的部分或全部信息,或者,第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的部分或全部信息时,当且仅当确定第一交易基础信息、第一反馈信息,以及第一交易关联信息中实际包括的信息满足验证条件时,才可确定第一交易数据为合法交易数据。
例如,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息,第一反馈信息中包括第一预设字符串(即第一水印)、第二水印和传输数据哈希值,第一交易关联信息中包括数据接收方数字签名和第一交易对应的第一交易标识,则当且仅当第一验证通过、第二验证通过、且第五验证通过时,可确定第一交易数据为合法交易数据。
又例如,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息,第一反馈信息中包括第一预设字符串(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息,第一交易关联信息中包括数据接收方数字签名和第一交易对应的第一交易标识,则当且仅当第一验证通过、第二验证通过、第四验证通过、且第五验证通过时,可确定第一交易数据为合法交易数据。
为方便描述,以下本申请实施例针对第一种情况以第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息。第一反馈信息中包括第一预设字符串(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息。且第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的全部信息为例进行说明。
可选的,在一些可行的实施方式中,若数据权利人允许每个数据接收者可以无限次地将目标数据传输给其他接收者(为方便描述,简称无限制模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于或者等于0、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在无限制模式下,当记账节点确定第一验证通过~第六验证通过时,可确定第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,当第一交易基础信息中包括第一交易的第一代币转移数量时,若数据权利人仅允许每个数据接收者只能有限次将数据转发给其接收者,且最终数据只能延指定数量的单线路径持续传播(为方便描述,简称多线模式),则记账节点在进行第一交易数据的合法性验证时,若确定若第一代币转移数量大于0、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在多线模式下,当记账节点确定第一验证通过~第五验证通过,且第七验证通过时,可确定第一交易数据为合法交易数据。
不难理解的是,第一代币转移数量大于0意味着,每次数据转移,数据发送方必须将大于0数量的代币转移给数据接收方。因此,同一个数据发送方在经过一定次数的数据转移之后,必将使得其代币余量最终变为0,进而其无法再向其他用户转移代币。也就是说,当某个数据发送方的代币余量等于0时,其不再具有转移该目标数据的能力。
通常而言,数据权利人(即数据原始发送者)通过设置目标数据对应的代币的总数量K(K>0),即限制了后续数据接收者对目标数据的传输能力。在多线模式中,数据权利人可将K个代币全部转移给某一个用户,或者,数据权利人也可将K个代币划分成多份后分别转移给多个用户。为方便描述,可将收到数据权利人转移的代币的用户称之为“第一层用户”。根据代币数量转移的规律可知,第一层用户的代币之和等于K。这样,第一层用户具备了传输该目标数据的能力,或者,也可理解为数据权利人将自己转移数据的能力转移给了第一层用户。之后,第一层用户可以在后续的数据传输过程中,把自己的代币转移给第二层用户。显然,第二层用户的代币之和也等于K。以此类推,每一层用户的代币之和都是K。其中,当某次数据传输的代币转移数量是1时,那么数据接收者只能将收到的数据传输一次。原因是,一旦这个接收者将该数据传输一次之后,其必然将之前收到的1个代币转移给了下一个接收者,因此自己就没有关于该目标数据的代币,所以其无法再次传输该数据。而当某次数据传输的代币转移数量大于1时,那么接收者至多可以传输该数据m次。原因是,当该接收者在后续的每次数据传输时,若每次都只转移1个代币,那么该接收者就可以传输m次该目标数据,相应地,当该接收者在后续某次数据传输时转移的代币数量大于1时,由于其手中与该数据关联的代币只有m个,所以这必然导致其传输该数据的总次数小于m。应当理解的是,目标数据经过若干层传输之后,若最新一层的每个用户所获取到与目标数据关联的代币都是1,那么最新一层的每个用户后续只能将目标数据传输一次。并且,之后每次数据传输的接收者也只能将目标数据传输一次。也就是说,当最新一层的每个用户所获取到与目标数据关联的代币都是1时,后续数据传输的路径将是沿着K条线延续传播下去,不会出现路径分叉现象。
可选的,在一些可行的实施方式中,若数据权利人需要限制每个数据接收者只有将数据转发一次的能力,且最终数据只能延单线路径持续传播(为方便描述,简称单线模式),则当第一交易为目标数据的首次转移交易时,若确定代币余量等于1、第一代币转移数量大于0、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在单线模式下,当记账节点确定第一验证通过~第五验证通过、第七验证通过、且第八验证通过时,可确定第一交易数据为合法交易数据。
不难理解的是,单线模式是多线模式的特例。在单线模式中,数据权利人通过设置目标数据对应的代币的总数量K等于1,即可限制被传输的目标数据只能沿着一条转移路径持续传播。简单来说,当K=1时,由于第一代币转移数量大于0,因此,数据权利人只能将目标数据传输给一个第一层用户P1,也就是说,当数据权利人将目标数据对应的1个代币转移给一个第一层用户P1后,数据权利人将无法再传输该目标数据,以此类推,当该第一层用户P1将该目标数据传输给一个第二层用户P2后,该第二层用户P2也不再具备传播该目标数据的能力,进而限制了目标数据只能沿着一条转移路径持续传播。
可选的,在一些可行的实施方式中,当第一交易基础信息中还包括代币接收方地址和第二代币转移数量时,数据权利人还可以限制目标数据被转发一定次数之后,再无法被传播(为方便描述,简称有限转发模式)。因此,记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在有限转发模式下,当记账节点确定第一验证通过~第五验证通过、第七验证通过、且第九验证通过时,可确定第一交易数据为合法交易数据。
其中,第二代币转移数量为数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。也就是说,在有限转发模式中,每次进行数据传输时,数据发送方除了必须向数据接收方转移大于0数量的代币,其还需要向代币接收方转移大于0数量的代币。应当理解,当代币被转移到代币接收方时,就意味着这些代币消失了,没有人可以使用转移给代币接收方的代币,即代币接收方起到了燃烧代币的作用。不难理解的是,由于每次数据转移时都必须将正整数个代币转移到代币接收方,因此意味着每次数据转移都会消失一定数量的代币。也就是说,在有限次数据转移之后,所有代币将会燃烧殆尽,进而使得后续该目标数据将无法再被转移。
可选的,在一些可行的实施方式中,若数据权利人希望限制数据接收者只拥有对目标数据的使用权,而无法将收到的目标数据转发给其他用户(即数据接收者没有转发权,为方便描述,简称禁止转发模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量等于1、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、第一预设字符串与第二预设字符串相匹配、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在禁止转发模式下,当记账节点确定第一验证通过~第五验证通过、第九验证通过、且第十验证通过时,可确定第一交易数据为合法交易数据。
不难理解的是,禁止转发模式是有限转发模式的特例。在禁止转发模式中,数据权利人只会向同一个数据接收者转移一次目标数据,因此,当数据权利人向数据接收方转移的第一代币转移数量等于1时,该数据接收者将无法向其他用户转移该数据。
针对第二种情况(即数据发送方为数据交付对象时)的交易验证,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息。第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息。第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的全部信息。那么,记账节点在对第一交易数据进行验证时,其通过分别对第一交易基础信息和第一交易数据中除第一交易标识之外的其他数据进行哈希运算,可得到第一交易基础信息对应的第一哈希值,以及其他数据对应的第二哈希值。进一步地,记账节点根据第一交易基础信息中包括的父交易标识,可从区块链中获取到该父交易标识对应的父交易数据,其中,父交易数据中包括父交易基础信息,父交易基础信息中包括父交易的数据接收方地址和数据接收方地址,以及父交易的代币标识。进而,记账节点通过对父交易基础信息进行哈希运算,可得到父交易基础信息对应的第三哈希值。或者,记账节点也可以根据第一交易基础信息中包括的父交易标识,从区块链中直接获取该父交易标识对应的第三哈希值。应当理解的是,若第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、父交易对应的水印与第三哈希值相匹配、第一交易的数据发送方地址与父交易的数据接收方地址相匹配(即相同)、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名、第一交易的代币标识等于父交易的代币标识,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。其中,第一代币转移数据量为数据发送方向第一交易的数据接收方转移的代币数量,且第一代币转移数量为整数。也就是说,当且仅当第十一验证通过~第十三验证通过(即第十一验证通过、第十二验证通过、且第十三验证通过)、且第二验证通过~第五验证通过(即第二验证通过、第三验证通过、第四验证通过且第五验证通过)时,可认为第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,当第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的部分或全部信息,第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的部分或全部信息,或者,第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的部分或全部信息时,当且仅当确定第一交易基础信息、第一反馈信息,以及第一交易关联信息中实际包括的信息满足验证条件时,才可确定第一交易数据为合法交易数据。
例如,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息,第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印和传输数据哈希值,第一交易关联信息中包括数据接收方数字签名和第一交易对应的第一交易标识,则当且仅当第十一验证通过~第十三验证通过、且第二验证通过时,可确定第一交易数据为合法交易数据。
又例如,假设第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息,第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息,第一交易关联信息中包括数据接收方数字签名和第一交易对应的第一交易标识,则当且仅当第十一验证通过~第十三验证通过、第二验证通过、第四验证通过、且第五验证通过时,可确定第一交易数据为合法交易数据。
为方便描述,以下本申请实施例针对第二种情况以第一交易基础信息中包括数据发送方地址、数据接收方地址、父交易标识、第一代币转移数量、第一交易的代币标识和时间戳中的全部信息。第一反馈信息中包括父交易对应的水印(即第一水印)、第二水印、传输数据哈希值和水印服务器数字签名中的全部信息。且第一交易关联信息中包括数据接收方数字签名、数据发送方数字签名和第一交易对应的第一交易标识中的全部信息为例进行说明。
可选的,在一些可行的实施方式中,若数据权利人允许每个数据接收者可以无限次地将目标数据传输给其他接收者(为方便描述,简称无限制模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于或者等于0、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、父交易对应的水印与第三哈希值相匹配、第一交易的数据发送方地址与父交易的数据接收方地址相匹配(即相同)、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名、第一交易的代币标识等于父交易的代币标识,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在无限制模式下,当记账节点确定第十一验证通过~第十三验证通过、且第二验证通过~第六验证通过时,可确定第一交易数据为合法交易数据。
可选的,在一些可行的实施方式中,若数据权利人仅允许每个数据接收者只能有限次将数据转发给其接收者,且最终数据只能延指定数量的单线路径持续传播(为方便描述,简称多线模式),则记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、父交易对应的水印与第三哈希值相匹配、第一交易的数据发送方地址与父交易的数据接收方地址相匹配(即相同)、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名、第一交易的代币标识等于父交易的代币标识,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在多线模式下,当记账节点确定第十一验证通过~第十三验证通过、第二验证通过~第五验证通过,且第七验证通过时,可确定第一交易数据为合法交易数据。
不难理解的是,第一代币转移数量大于0意味着,每次数据转移,数据发送方必须将大于0数量的代币转移给数据接收方。因此,同一个数据发送方在经过一定次数的数据转移之后,必将使得其代币余量最终变为0,进而其无法再向其他用户转移代币。也就是说,当某个数据发送方的代币余量等于0时,其不再具有转移该目标数据的能力。
可选的,在一些可行的实施方式中,当第一交易基础信息中还包括代币接收方地址和第二代币转移数量时,数据权利人还可以限制目标数据被转发一定次数之后,再无法被传播(为方便描述,简称有限转发模式)。因此,记账节点在进行第一交易数据的合法性验证时,若确定第一代币转移数量大于0、第二代币转移数量大于0、代币接收方地址等于预设代币接收方地址、第二水印与第一哈希值相匹配、第一交易标识与第二哈希值相匹配、父交易对应的水印与第三哈希值相匹配、第一交易的数据发送方地址与父交易的数据接收方地址相匹配(即相同)、数据接收方数字签名为有效数字签名、数据发送方数字签名为有效数字签名、水印服务器数字签名为有效数字签名、第一交易的代币标识等于父交易的代币标识,且第一代币转移数量小于或者等于数据发送方的代币余量,则可确定第一交易数据为合法交易数据。也就是说,在单线模式下,当记账节点确定第十一验证通过~第十三验证通过、且第二验证通过~第五验证通过、第七验证通过、且第八验证通过时,可确定第一交易数据为合法交易数据。
其中,第二代币转移数量为数据发送方向代币接收方地址所指示的代币接收方转移的代币数量。也就是说,在有限转发模式中,每次进行数据传输时,数据发送方除了必须向数据接收方转移大于0数量的代币,其还需要向代币接收方转移大于0数量的代币。应当理解,当代币被转移到代币接收方时,就意味着这些代币消失了,没有人可以使用转移给代币接收方的代币,即代币接收方起到了燃烧代币的作用。不难理解的是,由于每次数据转移时都必须将正整数个代币转移到代币接收方,因此意味着每次数据转移都会消失一定数量的代币。也就是说,在有限次数据转移之后,所有代币将会燃烧殆尽,进而使得后续该目标数据将无法再被转移。
在一些可行的实施方式中,若记账节点确定第一交易数据为合法交易数据,则可将第一交易数据上传至区块链。具体地,记账节点可将第一交易数据发送至数据传输系统中包括的各共识节点,以使各共识节点对第一交易数据进行合法性验证。其中,各共识节点对第一交易数据的验证过程可参见上述记账节点对第一交易数据的验证过程,在此不再进行赘述。通常来说,当各共识节点对第一交易数据进行验证后,可将验证结果返回至记账节点。其中,当记账节点根据各共识节点返回的验证结果确定各共识节点对该第一交易数据达成共识时,可将包括第一交易数据的区块上传至区块链。
S208、水印服务器获取数据接收方公钥,基于数据接收方公钥对第二传输数据进行加密以得到加密数据。
在一些可行的实施方式中,当记账节点将第一交易数据上传至区块链后,记账节点可更新数据发送方和数据接收方中与目标数据关联的代币的代币余量,即数据发送方的代币余量减去本次交易对应的代币转移总数量,数据接收方的代币余量加上本次交易对应的代币转移总数量。应当理解的是,代币转移总数量等于第一代币转移数量与第二代币转移数量之和。
进一步地,在一些可行的实施方式中,水印服务器可获取数据接收方公钥,并基于数据接收方公钥对第二传输数据(即基于目标数据嵌入第二水印得到的传输数据)进行加密以得到加密数据。具体地,水印服务器可根据第一交易的数据接收方地址,从区块链的公钥存储区块中获取数据接收方地址对应的数据接收方公钥,进而根据获取到的数据接收方公钥对第二传输数据进行加密以得到加密数据。应当理解的是,基于数据接收方公钥进行加密的数据,只能被拥有该数据接收方公钥对应的私钥的用户(即数据接收方)解密得到。
S209、水印服务器向数据发送方发送加密数据。
在一些可行的实施方式中,当水印服务器基于数据接收方公钥对第二传输数据进行加密并得到加密数据后,水印服务器可将生成的加密数据发送给数据发送方。
S210、数据发送方向数据接收方发送加密数据。
在一些可行的实施方式中,当数据发送方从水印服务器接收到加密数据后,数据发送方可进一步将加密数据发送给数据接收方。不难理解的是,当数据接收方接收到加密数据后,数据接收方利用自己的私钥(即数据接收方私钥)对加密数据进行解密后,即可得到第二传输数据。与此同时,数据接收方可进一步计算第二传输数据的哈希值,并通过查看区块链中第一交易数据中包括的传输数据哈希值与计算出的第二传输数据的哈希值是否相等,借此判断其收到的第二传输数据是否正确。
可选的,在一些可行的实施方式中,水印服务器在生成加密数据后,除了可以通过数据发送方将加密数据转发给数据接收方,还可以直接将加密数据发送给数据接收方。例如,请参见图4,图4是本申请提供的基于区块链的数据传输方法的另一流程示意图。如图4所示,在步骤S208之后,还可以包括步骤:
S211、水印服务器向数据接收方发送加密数据。
在一些可行的实施方式中,当水印服务器基于数据接收方公钥对第二传输数据进行加密并得到加密数据后,水印服务器还可以直接将生成的加密数据发送给数据接收方。不难理解的是,当数据接收方接收到加密数据后,数据接收方利用自己的私钥(即数据接收方私钥)对加密数据进行解密,以得到第二传输数据。并且,数据接收方可计算第二传输数据的哈希值,并通过查看区块链中第一交易数据中包括的传输数据哈希值与计算出的第二传输数据的哈希值是否相等,借此判断其收到的第二传输数据是否正确。
在本申请中,区块链上的交易记录具备可验证性,即链上的过往转移记录可以证明当前转移记录的正确性。任何用户或记账节点都可以利用以往区块链交易记录验证当前交易中的数据的正确性。并且,数据在上链之前需要经历一定的验证,通过验证的交易才能上链。这样,保证了链上数据在一定程度上具有可验证性和可信性。其次,本申请以代币作为控制接收者转发数据能力的工具,实现了在无中心化节点情况下,发送者可以灵活控制接收者在系统的转发次数,并且原始发送者可以控制数据在系统中的转发模式,即无限制模式、多线模式、单线模式、有限转发模式和禁止转发模式。与此同时,由于每次数据转移都将与数据转移相关的交易基础信息作为水印嵌入到了目标数据中,并将与数据转移的相关信息都记录在了区块链上,因此,即使数据在转移过程中受到一定程度的破坏,仍然可以从数据中提取正确的水印,进而根据提取出的水印能够查出该数据的源头和泄漏点。
实施例三
不难理解的是,由于每次数据转移都将与数据转移相关的交易基础信息作为水印嵌入到了目标数据中,并将详细的交易数据记录在了区块链上,因此可实现数据追踪功能。为便于理解,以下实施例三将对数据追踪过程进行详细阐述。
请参见图5,图5是本申请提供的基于区块链的数据传输方法的另一流程示意图。如图5所示,本申请提供的方法可包括步骤:
S301、用户方向水印服务器发送水印提取请求。
在一些可行的实施方式中,用户方向水印服务器发送水印提取请求,其中,该水印提取请求中包括传输数据。通常而言,传输数据中包括目标数据和嵌入的水印(为方便描述,以第一交易水印为例进行说明)。
S302、水印服务器向用户方发送从传输数据中提取出的第一交易水印;
在一些可行的实施方式中,水印服务器通过接收用户方发送的水印提取请求,可解析得到水印提取请求中包括的传输数据。进而,水印服务器可从传输数据中提取出嵌入传输数据中的第一交易水印,并将提取出的第一交易水印发送给用户方。
S303、用户方根据第一交易水印,并结合区块链中的数据进行数据溯源和/或数据追责。
在一些可行的实施方式中,用户方通过从水印服务器接收第一交易水印,则可根据第一交易水印从区块链中获取第一交易水印对应的交易数据(为方便描述,以第一交易数据为例进行说明)。其中,第一交易数据中可包括第一交易的数据发送方地址、第一交易的数据接收方地址和第一交易的父交易的父交易标识等。
其中,在数据溯源场景下,用户方可根据父交易标识从区块链中获取父交易标识对应的父交易数据。其中,父交易数据中包括父交易对应的父交易水印,以及父交易的数据发送方地址。应当理解的是,若父交易水印与预设字符串相匹配,则可将父交易的数据发送方地址所指示的数据发送方确定为目标数据的原始发送方。因此,用户方根据原始发送方,第一交易的数据发送方地址所指示的数据发送方可确定出目标数据的数据转移记录。也就是说,当用户方接收到来自水印服务器的第一交易水印之后,用户方可在区块链上查找哪个交易对应的交易数据中包括的交易基础信息的哈希值等于这个第一交易水印。其中,一旦找到某个交易的交易基础信息的哈希值等于该第一交易水印,则可以通过这个交易对应的交易数据中包括的父交易标识找到上一个传输此目标数据的交易,进而根据这个新找到的交易对应的交易数据中包括的父交易标识查找到再上一次传输此目标数据的交易。以此类推,逐个向前追溯交易,直到找到某个交易对应的交易数据中包括的父交易水印等于预设字符串时,可将这个交易的发送者确定为该目标数据的原始发送方(即数据权利人),进而可得到该目标数据的数据转移记录。
可选的,在数据追责场景下,当用户方接收到来自水印服务器的第一交易水印之后,可在区块链上查找以该第一交易水印为交易基础信息的交易。其中,一旦找到某个交易的交易基础信息与该第一交易水印一致,那么该交易的接收者就是目标数据的泄露者。例如,假设第一交易水印为第一交易对应的水印,则用户方可将第一交易数据中第一交易的数据接收方地址所指示的数据接收方确定为数据泄露方。
在本申请中,由于每次数据转移都将与数据转移相关的交易基础信息作为水印嵌入到了目标数据中,并将与数据转移的相关信息(即交易数据)记录在了区块链上,因此实现了追踪数据传播路径的功能。其次,由于数字水印具有一定的鲁棒性,所以数据在被一定程度的修改之后,仍然可以从数据中提取正确的水印。因此,本申请能够抵抗对数据一定程度的破坏,也就是说,即使对数据进行了一定程度的破坏,用户方仍然能够通过数据中的水印信息查找到区块链上相应的转移记录。也就是说,当需要查找某份数据的源头或某份泄露数据的泄露者时,可以从数据中提取水印,进而可在区块链上找到该数据最近被转发的那次交易,以确定泄露者身份。与此同时,还可以依据被锁定的交易逐个往前追溯,进而可以追溯到该数据的原始发送者。
请参见图6,图6是本申请实施例提供的一种终端的一结构示意图。为了便于说明,图6中仅示出了该终端的主要部件。由图6可知,该终端400包括收发单元410和处理单元420。可选的,终端400还可以包括存储单元430(图6中暂未示出),用于存储终端400的程序代码和数据。
应当理解的是,该终端可为前文实施例一或实施例二中叙述的数据发送方,且该终端可用于执行上述实施例一或实施例二中描述的数据发送方的功能。具体实现中,上述收发单元410用于向水印服务器发送第一中间信息,接收来自于水印服务器的第一反馈信息,以及向记账节点发送第一交易数据等。具体过程可参见实施例一中步骤S101、步骤S102和步骤S104描述的过程,或者实施例二中步骤S201~步骤204、步骤S206和步骤210描述的过程,此处便不再赘述。上述处理单元420用于确定第一交易关联信息,根据上述第一交易基础信息、上述第一反馈信息以及上述第一交易关联信息生成第一交易数据等。具体过程可参见实施例一中步骤S103中所描述的过程,或者实施例二中步骤S205描述的过程,此处便不再赘述。
在一种可选的实现方式中,上述收发单元410用于:
从上述水印服务器接收上述水印服务器基于数据接收方公钥对上述第二传输数据进行加密后生成的加密数据,并向数据接收方发送上述加密数据。
在一种可选的实现中,上述第一交易关联信息中包括数据接收方数字签名;
上述处理单元420,用于通过上述收发单元410向数据接收方发送上述第一交易基础信息;
上述处理单元420,还用于通过上述收发单元410从上述数据接收方接收上述数据接收方基于数据接收方私钥对上述第一交易基础信息进行签名后生成的数据接收方数字签名。
在一种可选的实现中,上述第一交易关联信息中还包括数据发送方数字签名;
上述处理单元420用于:
基于数据发送方私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名以生成数据发送方数字签名。
在一种可选的实现中,上述第一交易关联信息中还包括上述第一交易对应的第一交易标识。
在一种可选的实现中,上述第一反馈信息中还包括水印服务器数字签名,上述水印服务器数字签名由上述水印服务器基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成。
在一种可选的实现中,上述第一交易基础信息中包括上述第一交易的数据发送方地址、上述第一交易的数据接收方地址、上述第一交易的父交易对应的父交易标识、上述第一交易的第一代币转移数量、上述第一交易的第二代币转移数量、上述第一交易的代币标识以及上述第一交易的代币接收方地址中的一个或者多个,其中,上述第一代币转移数据量为上述数据发送方向上述第一交易的数据接收方转移的代币数量,上述第二代币转移数量为上述用户方向上述代币接收方地址所指示的代币接收方转移的代币数量。
在一种可选的实现中,上述第一水印为预设字符串或者上述第一交易的父交易对应的水印。
可选的,该终端还可以为前文实施例三中叙述的用户方,且该终端可用于执行上述实施例三中描述的用户方的功能。具体实现中,上述收发单元410用于向水印服务器发送水印提取请求,接收水印服务器发送的第一交易水印等。具体过程可参加实施例三中步骤S301和步骤S302描述的实现过程,此处便不再赘述。上述处理单元420用于根据第一交易水印,并结合区块链中的数据进行数据溯源和/或数据追责等。具体过程可参加实施例三中步骤S303描述的实现过程,此处便不再赘述。
在一种可选的实现中,上述第一交易数据中还包括上述第一交易的数据接收方地址;
上述处理单元420用于:
将上述第一交易的数据接收方地址所指示的数据接收方确定为数据泄露方。
请参见图7,图7是本申请实施例提供的一种服务器一结构示意图。为了便于说明,图7中仅示出了该服务器的主要部件。由图7可知,该服务器500包括收发单元510和处理单元520。可选的,服务器500还可以包括存储单元530(图7中暂未示出),用于存储服务器500的程序代码和数据。
应当理解的是,该服务器可为前文实施例一或实施例二中叙述的记账节点,该服务器可用于执行上述实施例一或实施例二中描述的记账节点的功能。具体实现中,上述收发单元510用于接收数据发送方发送的第一交易数据。具体过程可参加实施例一中步骤S104描述的实现过程,或实施二中步骤S206描述的过程,此处便不再赘述。上述处理单元520用于根据上述第一交易基础信息、上述第一水印、上述第二水印和上述第一交易关联信息确定上述第一交易数据是否为合法交易数据,若确定上述第一交易数据为合法交易数据,则将上述第一交易数据上传至区块链。具体过程可参加实施例一中步骤S105中描述的实现过程,或实施二中步骤S207描述的过程,此处便不再赘述。
在一种可选的实现中,上述第一水印为上述第一预设字符串,上述第一交易关联信息中包括上述第一交易对应的第一交易标识;
上述处理单元520用于:
分别对上述第一交易基础信息和上述第一交易数据中除上述第一交易标识之外的其他数据进行哈希运算,以得到上述第一交易基础信息对应的第一哈希值,以及上述其他数据对应的第二哈希值;
获取第二预设字符串;
若上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一水印为上述第一交易的父交易对应的水印,上述第一交易关联信息中包括上述第一交易对应的第一交易标识,上述第一交易基础信息中包括上述父交易对应的父交易标识;
上述处理单元520用于:
分别对上述第一交易基础信息和上述第一交易数据中除上述第一交易标识之外的其他数据进行哈希运算,以得到上述第一交易基础信息对应的第一哈希值,以及上述其他数据对应的第二哈希值;
根据上述父交易标识,从上述区块链中获取上述父交易标识对应的父交易数据,上述父交易数据中包括父交易基础信息;
对上述父交易基础信息进行哈希运算,以得到上述父交易基础信息对应的第三哈希值;
若上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易基础信息中还包括上述第一交易的数据发送方地址,上述父交易基础信息中包括上述父交易的数据接收方地址;
上述处理单元520还用于:
若上述第一交易的数据发送方地址与上述父交易的数据接收方地址相匹配、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易基础信息中还包括上述第一交易的代币标识,上述父交易基础信息中还包括上述父交易的代币标识;
上述处理单元520还用于:
若上述第一交易的代币标识等于上述父交易的代币标识、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易基础信息中还包括上述第一交易的第一代币转移数量,上述第一代币转移数据量为上述数据发送方向上述第一交易的数据接收方转移的代币数量,上述第一代币转移数量为整数;
上述处理单元520还用于:
若上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述处理单元520还用于:
若上述第一代币转移数量大于或者等于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量大于或者等于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易为上述目标数据的首次转移交易;
上述处理单元520还用于:
若上述代币余量等于1、上述第一代币转移数量大于0、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,上述第二代币转移数量为上述数据发送方向上述代币接收方地址所指示的代币接收方转移的代币数量;
上述处理单元520还用于:
若上述第一代币转移数量大于0、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若上述第一代币转移数量大于0、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,上述第二代币转移数量为上述数据发送方向上述代币接收方地址所指示的代币接收方转移的代币数量;
上述处理单元520还用于:
若上述第一代币转移数量等于1、上述第二代币转移数量大于0、上述代币接收方地址等于预设代币接收方地址、上述第一代币转移数量小于或者等于上述数据发送方的代币余量、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易关联信息中还包括数据接收方数字签名,上述数据接收方数字签名由上述数据接收方基于数据接收方私钥对上述第一交易基础信息进行签名后生成;
上述处理单元520还用于:
获取数据接收方公钥;
若基于上述数据接收方公钥确定上述数据接收方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若基于上述数据接收方公钥确定上述数据接收方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一交易关联信息中还包括数据发送方数字签名,上述数据发送方数字签名由上述数据发送方基于数据发送方私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成;
上述处理单元520还用于:
获取数据发送方公钥;
若基于上述数据发送方公钥确定上述数据发送方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若基于上述数据发送方公钥确定上述数据发送方数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
在一种可选的实现中,上述第一反馈信息中还包括水印服务器数字签名,上述水印服务器数字签名由上述水印服务器基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名后生成;
上述处理单元520还用于:
获取水印服务器公钥;
若基于上述水印服务器公钥确定上述水印服务器数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述第一预设字符串与上述第二预设字符串相匹配,则确定上述第一交易数据为合法交易数据;或者
若基于上述水印服务器公钥确定上述水印服务器数字签名为有效数字签名、上述第二水印与上述第一哈希值相匹配、上述第一交易标识与上述第二哈希值相匹配,且上述父交易对应的水印与上述第三哈希值相匹配,则确定上述第一交易数据为合法交易数据。
可选的,该服务器还可以为前文实施例一或实施例二中叙述的水印服务器,且该服务器可用于执行上述实施例一或实施例二中描述的水印服务器的功能。具体实现中,上述收发单元510用于接收数据发送方发送的第一中间信息,向数据发送方发送第一反馈信息等。具体过程可参加实施例一中步骤S101和步骤S102描述的实现过程,此处便不再赘述。上述处理单元520用于根据第一中间信息生成第一反馈信息等,此处便不再赘述。
在一种可选的实现中,上述第一反馈信息中还包括水印服务器数字签名;
上述处理单元520用于:
基于水印服务器私钥对上述第一水印、上述第二水印、上述传输数据哈希值以及上述第一交易基础信息进行签名以生成水印服务器数字签名;
根据上述第一水印、上述第二水印、上述传输数据哈希值,以及连同上述水印服务器数字签名确定第一反馈信息。
在一种可选的实现中,上述处理单元520,用于获取数据接收方公钥;
上述处理单元520,用于基于上述数据接收方公钥对上述第二传输数据进行加密以得到加密数据;
上述收发单元510,用于向上述数据接收方发送上述加密数据,或者,通过上述数据发送方将上述加密数据转发给上述数据接收方。
请参见图8,图8是本申请实施例提供的终端的另一结构示意图。该终端可以为上述实施例一或者实施例二中的数据发送方,该终端可用于实现数据发送方所实现的方法。可选的,该终端还可以为上述实施例中的用户方,该终端可用于实现上述实施例中的用户方所实现的方法。
如图8所示,本申请实施例提供的终端包括处理器601、存储器602、用户接口603、通信接口604、耦合器605和天线606等功能模块。上述存储器602可对应图6所示的终端400的存储单元430。上述存储器602用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器602包括但不限于RAM、ROM、EPROM、或CD-ROM等,在此不做限制。此外,上述存储器602也可以是处理器601中的存储器,在此不做限制。
存储器602存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
上述处理器601控制终端的操作,处理器601可以是一个或多个CPU。上述本申请实施例提供的图2至图5各个实施例揭示的数据发送方或用户方的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件执行图2至图5中各个实施例所描述的数据发送方或用户方的方法步骤。
上述终端的用户接口603主要用于为用户提供输入的接口,获取用户输入的数据。用户接口603可包括多媒体输入和/或输出设备6031、摄像头6032以及显示器6033等等,在此不做限制。用户接口603可以是与终端的用户进行交互的信息输入和/或输出模块,例如手机等终端的麦克风和/或喇叭,前置和/或后置摄像头以及触控屏等,在此不做限制。可选的,用户接口603还可以包括标准的有线接口、无线接口等,在此不做限制。
终端的处理器601可通过一个或者多个通信接口604和耦合器605与天线606等设备进行耦合,结合其他功能模块执行图2至图5中各个实施例所描述的数据发送方或用户方所执行的实现方式,具体可参见上述各个实施例提供的实现方式,在此不做限制。这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
请参见图9,图9是本申请实施例提供的服务器的另一结构示意图。该服务器可以为上述实施例中的记账节点,该服务器可用于实现上述实施例中的记账节点所实现的方法。可选的,该服务器还可以为上述实施例中的水印服务器,该服务器可用于实现上述实施例中的水印服务器所实现的方法。如图9所示,本申请实施例提供的服务器包括处理器701、存储器702、反射器703、接收器704、网络接口707等。其中,上述处理器701、发射器703和接收器704(发射器703饿接收器704也可集成为收发器)等功能模块可通过耦合器705与天线706等设备进行耦合。处理器701可结合耦合的各个功能模块执行图2至图5中各个实施例所描述的记账节点或者水印服务器所执行的实现方式,具体可参见上述各个实施例提供的实现方式,在此不做限制。这里“耦合”是指两个部件彼此直接或间接地结合。这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间通信。
其中,上述存储器702可对应图7所示的服务器500中的存储单元530。上述存储器702用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器702包括但不限于RAM、ROM、EPROM、或CD-ROM等,在此不做限制。此外,上述存储器702也可以是处理器701中的存储器,在此不做限制。
存储器702存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
上述处理器701控制服务器的操作,处理器701可以是一个或多个CPU。上述本申请实施例提供的图2至图5中各个实施例揭示的记账节点或水印服务器的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器102中的信息,结合其硬件执行图2至图5中各个实施例所描述的记账节点或水印服务器的方法步骤。网络接口707可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等,在此不做限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端上运行时,使得终端执行上述图2至图5中各个实施例所描述的终端(即数据发送方或用户方)所执行的实现方式,具体可参见上述各个实施例提供的实现方式,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在服务器上运行时,使得服务器执行上述图2至图5中各个实施例所描述的服务器(即记账节点或水印服务器)所执行的实现方式,具体可参见上述各个实施例提供的实现方式,在此不再赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在终端上运行时,使得终端执行上述图2至图5中各个实施例所描述的终端(即数据发送方或用户方)所执行的实现方式。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行上述图2至图5中各个实施例所描述的服务器(即记账节点或水印服务器)所执行的实现方式。
需要说明的是,本申请还提供一种数据传输系统,其包括前述的一个或多个数据发送方,和,一个或多个记账节点,和,一个或多个水印服务器,和,一个或多个用户方。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种基于区块链的数据传输方法,其特征在于,所述方法包括:
数据发送方向水印服务器发送第一中间信息,所述第一中间信息中包括第一传输数据和第一交易对应的第一交易基础信息,所述第一传输数据基于目标数据嵌入第一水印得到,所述第一交易为所述目标数据的转移交易;
所述数据发送方从所述水印服务器接收所述水印服务器基于所述第一中间信息生成的第一反馈信息,所述第一反馈信息中包括所述第一水印、所述第一交易对应的第二水印,以及第二传输数据对应的传输数据哈希值,所述第二传输数据基于所述目标数据嵌入所述第二水印得到;
所述数据发送方确定第一交易关联信息,根据所述第一交易基础信息、所述第一反馈信息以及所述第一交易关联信息生成第一交易数据,并向记账节点发送所述第一交易数据,以使所述记账节点在确定所述第一交易数据为合法交易数据时,将所述第一交易数据上传至区块链。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述数据发送方从所述水印服务器接收所述水印服务器基于数据接收方公钥对所述第二传输数据进行加密后生成的加密数据,并向数据接收方发送所述加密数据。
3.根据权利要求1或2所述的方法,其特征在于,所述第一交易关联信息中包括数据接收方数字签名;
所述数据发送方确定第一交易关联信息,包括:
所述数据发送方向数据接收方发送所述第一交易基础信息;
所述数据发送方从所述数据接收方接收所述数据接收方基于数据接收方私钥对所述第一交易基础信息进行签名后生成的数据接收方数字签名。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一交易关联信息中还包括数据发送方数字签名;
所述数据发送方确定第一交易关联信息,包括:
所述数据发送方基于数据发送方私钥对所述第一水印、所述第二水印、所述传输数据哈希值以及所述第一交易基础信息进行签名以生成数据发送方数字签名。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一交易关联信息中还包括所述第一交易对应的第一交易标识。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一反馈信息中还包括水印服务器数字签名,所述水印服务器数字签名由所述水印服务器基于水印服务器私钥对所述第一水印、所述第二水印、所述传输数据哈希值以及所述第一交易基础信息进行签名后生成。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一交易基础信息中包括所述第一交易的数据发送方地址、所述第一交易的数据接收方地址、所述第一交易的父交易对应的父交易标识、所述第一交易的第一代币转移数量、所述第一交易的第二代币转移数量、所述第一交易的代币标识以及所述第一交易的代币接收方地址中的一个或者多个,其中,所述第一代币转移数据量为所述数据发送方向所述第一交易的数据接收方转移的代币数量,所述第二代币转移数量为所述数据发送方向所述代币接收方地址所指示的代币接收方转移的代币数量。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一水印为预设字符串或者所述第一交易的父交易对应的水印。
9.一种基于区块链的数据传输方法,其特征在于,所述方法包括:
记账节点从数据发送方接收第一交易对应的第一交易数据,所述第一交易数据中包括第一交易基础信息、第一反馈信息以及第一交易关联信息,所述第一反馈信息中包括第一水印、所述第一交易对应的第二水印,以及第二传输数据对应的传输数据哈希值,所述第二传输数据基于所述目标数据嵌入所述第二水印得到,所述第一水印为第一预设字符串或者所述第一交易的父交易对应的水印;
所述记账节点根据所述第一交易基础信息、所述第一水印、所述第二水印和所述第一交易关联信息确定所述第一交易数据是否为合法交易数据,若确定所述第一交易数据为合法交易数据,则将所述第一交易数据上传至区块链。
10.根据权利要求9所述的方法,其特征在于,所述第一水印为所述第一预设字符串,所述第一交易关联信息中包括所述第一交易对应的第一交易标识;
所述记账节点根据所述第一交易基础信息、所述第一水印、所述第二水印和所述第一交易关联信息确定所述第一交易数据是否为合法交易数据,包括:
所述记账节点分别对所述第一交易基础信息和所述第一交易数据中除所述第一交易标识之外的其他数据进行哈希运算,以得到所述第一交易基础信息对应的第一哈希值,以及所述其他数据对应的第二哈希值;
所述记账节点获取第二预设字符串;
若所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据。
11.根据权利要求9所述的方法,其特征在于,所述第一水印为所述第一交易的父交易对应的水印,所述第一交易关联信息中包括所述第一交易对应的第一交易标识,所述第一交易基础信息中包括所述父交易对应的父交易标识;
所述记账节点根据所述第一交易基础信息、所述第一水印、所述第二水印和所述第一交易关联信息确定所述第一交易数据是否为合法交易数据,包括:
所述记账节点分别对所述第一交易基础信息和所述第一交易数据中除所述第一交易标识之外的其他数据进行哈希运算,以得到所述第一交易基础信息对应的第一哈希值,以及所述其他数据对应的第二哈希值;
所述记账节点根据所述父交易标识,从所述区块链中获取所述父交易标识对应的父交易数据,所述父交易数据中包括父交易基础信息;
所述记账节点对所述父交易基础信息进行哈希运算,以得到所述父交易基础信息对应的第三哈希值;
若所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
12.根据权利要求11所述的方法,其特征在于,所述第一交易基础信息中还包括所述第一交易的数据发送方地址,所述父交易基础信息中包括所述父交易的数据接收方地址;
所述方法还包括:
若所述第一交易的数据发送方地址与所述父交易的数据接收方地址相匹配、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
13.根据权利要求11所述的方法,其特征在于,所述第一交易基础信息中还包括所述第一交易的代币标识,所述父交易基础信息中还包括所述父交易的代币标识;
所述方法还包括:
若所述第一交易的代币标识等于所述父交易的代币标识、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
14.根据权利要求10或11所述的方法,其特征在于,所述第一交易基础信息中还包括所述第一交易的第一代币转移数量,所述第一代币转移数据量为所述数据发送方向所述第一交易的数据接收方转移的代币数量,所述第一代币转移数量为整数;
所述方法还包括:
若所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
若所述第一代币转移数量大于或者等于0、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述第一代币转移数量大于或者等于0、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
16.根据权利要求14所述的方法,其特征在于,所述第一交易为所述目标数据的首次转移交易;
所述方法还包括:
若所述代币余量等于1、所述第一代币转移数量大于0、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据。
17.根据权利要求14所述的方法,其特征在于,所述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,所述第二代币转移数量为所述数据发送方向所述代币接收方地址所指示的代币接收方转移的代币数量;
所述方法还包括:
若所述第一代币转移数量大于0、所述第二代币转移数量大于0、所述代币接收方地址等于预设代币接收方地址、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述第一代币转移数量大于0、所述第二代币转移数量大于0、所述代币接收方地址等于预设代币接收方地址、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
18.根据权利要求14所述的方法,其特征在于,所述第一交易基础信息中还包括代币接收方地址和第二代币转移数量,所述第二代币转移数量为所述数据发送方向所述代币接收方地址所指示的代币接收方转移的代币数量;
所述方法还包括:
若所述第一代币转移数量等于1、所述第二代币转移数量大于0、所述代币接收方地址等于预设代币接收方地址、所述第一代币转移数量小于或者等于所述数据发送方的代币余量、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据。
19.根据权利要求10或11所述的方法,其特征在于,所述第一交易关联信息中还包括数据接收方数字签名,所述数据接收方数字签名由所述数据接收方基于数据接收方私钥对所述第一交易基础信息进行签名后生成;
所述方法还包括:
所述记账节点获取数据接收方公钥;
若所述记账节点基于所述数据接收方公钥确定所述数据接收方数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述记账节点基于所述数据接收方公钥确定所述数据接收方数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
20.根据权利要求10或11所述的方法,其特征在于,所述第一交易关联信息中还包括数据发送方数字签名,所述数据发送方数字签名由所述数据发送方基于数据发送方私钥对所述第一水印、所述第二水印、所述传输数据哈希值以及所述第一交易基础信息进行签名后生成;
所述方法还包括:
所述记账节点获取数据发送方公钥;
若所述记账节点基于所述数据发送方公钥确定所述数据发送方数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述记账节点基于所述数据发送方公钥确定所述数据发送方数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
21.根据权利要求10或11所述的方法,其特征在于,所述第一反馈信息中还包括水印服务器数字签名,所述水印服务器数字签名由所述水印服务器基于水印服务器私钥对所述第一水印、所述第二水印、所述传输数据哈希值以及所述第一交易基础信息进行签名后生成;
所述方法还包括:
所述记账节点获取水印服务器公钥;
若所述记账节点基于所述水印服务器公钥确定所述水印服务器数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述第一预设字符串与所述第二预设字符串相匹配,则确定所述第一交易数据为合法交易数据;或者
若所述记账节点基于所述水印服务器公钥确定所述水印服务器数字签名为有效数字签名、所述第二水印与所述第一哈希值相匹配、所述第一交易标识与所述第二哈希值相匹配,且所述父交易对应的水印与所述第三哈希值相匹配,则确定所述第一交易数据为合法交易数据。
22.一种基于区块链的数据传输方法,其特征在于,所述方法包括:
水印服务器从数据发送方接收第一中间信息,所述第一中间信息中包括第一传输数据和第一交易对应的第一交易基础信息,所述第一传输数据基于目标数据嵌入第一水印得到,所述第一交易为所述目标数据的转移交易;
所述水印服务器从所述第一传输数据中提取所述第一水印,以及根据所述第一交易基础信息生成第二水印;
所述水印服务器将所述第二水印嵌入所述目标数据中以生成第二传输数据,并对所述第二传输数据进行哈希运算以得到传输数据哈希值;
所述水印服务器根据所述第一水印、所述第二水印以及所述传输数据哈希值确定第一反馈信息,并向所述数据发送方发送所述第一反馈信息。
23.根据权利要求22所述的方法,其特征在于,所述第一反馈信息中还包括水印服务器数字签名;
所述水印服务器根据所述第一水印、所述第二水印以及所述传输数据哈希值确定第一反馈信息,包括:
所述水印服务器基于水印服务器私钥对所述第一水印、所述第二水印、所述传输数据哈希值以及所述第一交易基础信息进行签名以生成水印服务器数字签名;
所述水印服务器根据所述第一水印、所述第二水印、所述传输数据哈希值,以及连同所述水印服务器数字签名确定第一反馈信息。
24.根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
所述水印服务器获取数据接收方公钥;
所述水印服务器基于所述数据接收方公钥对所述第二传输数据进行加密以得到加密数据;
所述水印服务器向所述数据接收方发送所述加密数据,或者,所述水印服务器通过所述数据发送方将所述加密数据转发给所述数据接收方。
25.一种基于区块链的数据传输方法,其特征在于,所述方法包括:
用户方向水印服务器发送水印提取请求,所述水印提取请求中包括传输数据;
所述用户方从所述水印服务器接收从所述传输数据中提取出的第一交易水印;
所述用户方根据所述第一交易水印从区块链中获取所述第一交易水印对应的第一交易数据,所述第一交易数据中包括第一交易的数据发送方地址和所述第一交易的父交易的父交易标识,所述第一交易水印为所述第一交易对应的水印;
所述用户方根据所述父交易标识从所述区块链中获取所述父交易标识对应的父交易数据,所述父交易数据中包括父交易对应的父交易水印,以及所述父交易的数据发送方地址;
若所述父交易水印与预设字符串相匹配,则将所述父交易的数据发送方地址所指示的数据发送方确定为所述目标数据的原始发送方;
所述用户方根据所述原始发送方,所述第一交易的数据发送方地址所指示的数据发送方确定出所述目标数据的数据转移记录。
26.根据权利要求25所述的方法,其特征在于,所述第一交易数据中还包括所述第一交易的数据接收方地址;
所述方法还包括:
所述用户方将所述第一交易的数据接收方地址所指示的数据接收方确定为数据泄露方。
27.一种终端,其特征在于,所述终端包括:处理器、收发器和存储器;
所述处理器和所述收发器用于与所述存储器耦合,读取并运行所述存储器中的指令,以实现如权利要求1-8任一项、或者权利要求25-26任一项所述的方法。
28.一种服务器,其特征在于,所述服务器包括:处理器、收发器和存储器;
所述处理器和所述收发器用于与所述存储器耦合,读取并运行所述存储器中的指令,以实现如权利要求9-21任一项,或者权利要求22-24任一项所述的方法。
29.一种包含指令的计算机程序产品,其特征在于,所述计算机程序产品在终端上运行时,使得所述终端执行如权利要求1-8任一项、或者权利要求25-26任一项所述的方法。
30.一种包含指令的计算机程序产品,其特征在于,所述计算机程序产品在服务器上运行时,使得所述服务器执行如权利要求9-24任一项所述的方法。
CN202011157338.XA 2020-10-26 2020-10-26 基于区块链的数据传输方法及装置 Pending CN114493585A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011157338.XA CN114493585A (zh) 2020-10-26 2020-10-26 基于区块链的数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011157338.XA CN114493585A (zh) 2020-10-26 2020-10-26 基于区块链的数据传输方法及装置

Publications (1)

Publication Number Publication Date
CN114493585A true CN114493585A (zh) 2022-05-13

Family

ID=81470339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011157338.XA Pending CN114493585A (zh) 2020-10-26 2020-10-26 基于区块链的数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN114493585A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180268386A1 (en) * 2016-09-13 2018-09-20 C. Jay Wack Identity Management Distributed Ledger and Blockchain
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
CN109002725A (zh) * 2018-07-19 2018-12-14 合肥工业大学 基于区块链的数据处理系统
CN109146479A (zh) * 2018-08-07 2019-01-04 杨国超 基于区块链的数据加密方法
CN109274644A (zh) * 2018-08-21 2019-01-25 华为技术有限公司 一种数据处理方法、终端和水印服务器
CN109492431A (zh) * 2018-10-31 2019-03-19 国网河南省电力公司信息通信公司 财务数据的存储方法及其系统和电子设备
CN109614776A (zh) * 2018-12-27 2019-04-12 北京三未信安科技发展有限公司 一种基于数字水印技术的数据溯源方法及系统
CN110914820A (zh) * 2019-05-20 2020-03-24 阿里巴巴集团控股有限公司 使用嵌入式版权信息识别版权材料
CN111210217A (zh) * 2020-01-02 2020-05-29 腾讯科技(深圳)有限公司 数据处理的方法、装置及存储介质
US20200259665A1 (en) * 2017-11-15 2020-08-13 Tencent Technology (Shenzhen) Company Limited Transaction data processing method, computing device, and storage medium
CN111538784A (zh) * 2020-04-21 2020-08-14 全球能源互联网研究院有限公司 一种基于区块链的数字资产交易方法、装置及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180268386A1 (en) * 2016-09-13 2018-09-20 C. Jay Wack Identity Management Distributed Ledger and Blockchain
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
US20200259665A1 (en) * 2017-11-15 2020-08-13 Tencent Technology (Shenzhen) Company Limited Transaction data processing method, computing device, and storage medium
CN109002725A (zh) * 2018-07-19 2018-12-14 合肥工业大学 基于区块链的数据处理系统
CN109146479A (zh) * 2018-08-07 2019-01-04 杨国超 基于区块链的数据加密方法
CN109274644A (zh) * 2018-08-21 2019-01-25 华为技术有限公司 一种数据处理方法、终端和水印服务器
CN109492431A (zh) * 2018-10-31 2019-03-19 国网河南省电力公司信息通信公司 财务数据的存储方法及其系统和电子设备
CN109614776A (zh) * 2018-12-27 2019-04-12 北京三未信安科技发展有限公司 一种基于数字水印技术的数据溯源方法及系统
CN110914820A (zh) * 2019-05-20 2020-03-24 阿里巴巴集团控股有限公司 使用嵌入式版权信息识别版权材料
CN111210217A (zh) * 2020-01-02 2020-05-29 腾讯科技(深圳)有限公司 数据处理的方法、装置及存储介质
CN111538784A (zh) * 2020-04-21 2020-08-14 全球能源互联网研究院有限公司 一种基于区块链的数字资产交易方法、装置及存储介质

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
OLEG EVSUTIN等: "The Use of the Blockchain Technology and Digital Watermarking to Provide Data Authenticity on a Mining Enterprise", 《SENSORS》, vol. 20, no. 12, 18 June 2020 (2020-06-18), pages 1 - 20 *
乔蕊等: "基于区块链技术的动态数据存储安全机制研究", 《计算机科学》, vol. 45, no. 02, 15 February 2018 (2018-02-15), pages 57 - 62 *
刘宗媛等: "区块链在数字版权领域的应用", 《网络空间安全》, vol. 10, no. 12, 25 December 2019 (2019-12-25), pages 36 - 45 *
周万锴等: "基于区块链的环境监测数据安全传输方案", 《计算机科学》, vol. 47, no. 01, 15 January 2020 (2020-01-15), pages 315 - 320 *
张静波: "区块链技术在数据交易中的应用", 《电子制作》, no. 04, 15 February 2019 (2019-02-15), pages 51 - 52 *
朱凤霞: "基于区块链技术的交易数据库加密技术", 《电子设计工程》, vol. 28, no. 03, 5 February 2020 (2020-02-05), pages 93 - 97 *
赵赫等: "基于区块链技术的采样机器人数据保护方法", 《华中科技大学学报(自然科学版)》, vol. 43, no. 1, 31 October 2015 (2015-10-31), pages 216 - 219 *
郝文涛: "基于区块链的分布式快速交易框架研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 2019, 15 September 2019 (2019-09-15), pages 138 - 530 *

Similar Documents

Publication Publication Date Title
CN112446785B (zh) 跨链交易方法、系统、装置、设备和存储介质
CN109409122B (zh) 文件存储方法及其电子设备、存储介质
CN111506901B (zh) 基于区块链的数据处理方法、终端及存储介质
KR101684076B1 (ko) 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템
CN107545414B (zh) 匿名交易方法、装置及计算机可读存储介质
US20190354969A1 (en) System and method for securing digital assets
CN111538784B (zh) 一种基于区块链的数字资产交易方法、装置及存储介质
CN110570196A (zh) 交易数据处理方法、装置、终端设备以及存储介质
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN114510743B (zh) 一种基于隐私计算平台的数据交换方法、装置及电子设备
CN110246039B (zh) 基于联盟链的交易监测方法、装置及电子设备
CN111507839B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN109491965A (zh) 购售电合同的存储方法及其网络和电子设备
CN111210217B (zh) 数据处理的方法、装置及存储介质
CN115203749B (zh) 一种基于区块链的数据交易方法和系统
CN111369338A (zh) 基于区块链的数据处理方法及装置
CN109146482B (zh) 基于区块链的用户权益提供方法和装置
CN117337435A (zh) 用于交易数字资产的方法
CN112771527A (zh) 信息处理程序、信息处理装置和信息处理方法
CN110598377A (zh) 基于区块链的软件序列号管理方法以及装置
CN108900472B (zh) 信息的传输方法和装置
KR20040028086A (ko) 무선단말에서의 컨텐츠 저작권 관리 시스템 및 그 방법
KR102355918B1 (ko) 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템
CN114239066A (zh) 基于区块链的合同处理方法及相关设备
CN111369332A (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