CN111756743B - 基于区块链的资源转移方法、装置、计算机设备和存储介质 - Google Patents

基于区块链的资源转移方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111756743B
CN111756743B CN202010590213.XA CN202010590213A CN111756743B CN 111756743 B CN111756743 B CN 111756743B CN 202010590213 A CN202010590213 A CN 202010590213A CN 111756743 B CN111756743 B CN 111756743B
Authority
CN
China
Prior art keywords
client
public key
value
resource
identifier
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
CN202010590213.XA
Other languages
English (en)
Other versions
CN111756743A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010590213.XA priority Critical patent/CN111756743B/zh
Publication of CN111756743A publication Critical patent/CN111756743A/zh
Application granted granted Critical
Publication of CN111756743B publication Critical patent/CN111756743B/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
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本申请涉及一种基于区块链的资源转移方法、装置、计算机设备和存储介质。该方法包括:根据私钥解密第一结构体;当解密成功、且第一结构体中的第一资源数值包括待转移的资源数值时,创建第二结构体;第二结构体中的第二资源数值,为待转移的资源数值;向区块链网络中的节点广播第一结构体对应的无效标识;无效标识,用于指示节点将无效标识首次添加至无效标识集合中;根据第二客户端的公钥加密第二结构体,并将加密后的第二结构体发送至第二客户端;向节点广播第二结构体唯一对应的有效标识;有效标识,用于指示节点将有效标识添加至有效标识集合中。采用本方法能够在资源转移过程中的保护隐私,提高安全性。

Description

基于区块链的资源转移方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,具体涉及区块链处理技术领域,特别是涉及一种基于区块链的资源转移方法、装置、计算机设备和存储介质。
背景技术
随着科学技术的飞速发展,区块链技术应运而生。目前有很多场景都会应用区块链技术来解决问题。其中,利用区块链技术进行资源转移就属于一种重要的应用场景。
传统的区块链转账系统在发生资源转移时会向公众(矿工等参与节点)暴露转账双方的很多隐私信息,比如,转账双方的地址、转账金额或账户余额等信息,造成一定程度上的信息泄露,从而导致安全性比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高安全性的基于区块链的资源转移方法、装置、计算机设备和存储介质。
一种基于区块链的资源转移方法,由第一客户端执行,方法包括:
根据私钥解密第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;
当解密成功、且所述第一资源数值中包括待转移的资源数值时,创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥;
向区块链网络中的节点广播所述第一结构体唯一对应的无效标识;所述无效标识,用于指示所述节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中;
根据第二客户端的公钥加密所述第二结构体,并将加密后的第二结构体发送至所述第二客户端;
向所述节点广播所述第二结构体唯一对应的有效标识;所述有效标识,用于指示所述节点将所述有效标识添加至有效标识集合中。
一种基于区块链的资源转移装置,设置于第一客户端中,装置包括:
解密模块,用于根据私钥解密第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;
创建模块,用于当解密成功、且所述第一资源数值中包括待转移的资源数值时,创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥;
广播模块,用于向区块链网络中的节点广播所述第一结构体唯一对应的无效标识;所述无效标识,用于指示所述节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中;
加密模块,用于根据第二客户端的公钥加密所述第二结构体,并将加密后的第二结构体发送至所述第二客户端;
所述广播模块还用于向所述节点广播所述第二结构体唯一对应的有效标识;所述有效标识,用于指示所述节点将所述有效标识添加至有效标识集合中。
在一个实施例中,有效标识为第一有效标识;第一资源数值,为第二资源数值与第三资源数值之和;
创建模块还用于创建第三结构体;所述第三结构体中包括所述第三资源数值、第三唯一数值和第三持有者公钥;所述第三持有者公钥为所述第一客户端的公钥;
加密模块还用于根据第一客户端的公钥加密第三结构体;将加密后的第三结构体存储;
广播模块还用于向节点广播第三结构体对应的第二有效标识,以指示节点将第二有效标识添加至有效标识集合中。
在一个实施例中,创建模块还用于在解密成功后,识别第一结构体中的第一资源数值和第一持有者公钥;当第一资源数值大于或等于第二资源数值、且第一持有者公钥和私钥对应的公钥一致时,创建第二结构体。
在一个实施例中,所述第二唯一数值为第二随机数;创建模块还用于生成第二随机数;对第二随机数进行哈希运算,得到第二哈希值;获取第二客户端的公钥,作为第二持有者公钥;根据第二随机数、第二哈希值、第二资源数值和第二持有者公钥,生成第二结构体。
在一个实施例中,第一唯一数值为第一随机数;第一结构体中还包括对第一随机数进行哈希运算后的第一哈希值;广播模块还用于将第一哈希值作为无效标识,并将无效标识向区块链网络中的节点广播。
在一个实施例中,广播模块还用于对第二结构体进行哈希运算,得到第二结构体对应的有效标识;向节点广播有效标识。
一种基于区块链的资源转移方法,由第二客户端执行,方法包括:
接收所述第一客户端发送的、且根据所述第二客户端的公钥加密后的第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥;
在第一客户端将第一结构体对应的无效标识以及所述第二结构体对应的有效标识发送至区块链网络中的节点、且所述节点将所述无效标识首次添加至无效标识集合以及将所述有效标识记录在有效标识集合中后,将接收的所述第二结构体存储;
其中,所述第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;所述第二结构体是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二资源数值,是从所述第一资源数值中转移出的资源数值。
一种基于区块链的资源转移装置,其特征在于,设置于第二客户端中,装置包括:
接收模块,用于接收所述第一客户端发送的、且根据所述第二客户端的公钥加密后的第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥;
存储模块,用于在第一客户端将第一结构体对应的无效标识以及第二结构体对应的有效标识发送至区块链网络中的节点、且所述节点将所述无效标识首次添加至无效标识集合以及将所述有效标识记录在有效标识集合中后,将接收的所述第二结构体存储;
其中,所述第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;所述第二结构体是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二资源数值,是从所述第一客户端的第一结构体的第一资源数值中转移出的资源数值。
在一个实施例中,无效标识为第一无效标识;有效标识为第一有效标识。该装置还包括:
解密模块,用于根据第二客户端的私钥,对第二结构体解密;
创建模块,用于当第二结构体中的第二资源数值与待转移的第四资源数值一致时,创建第四结构体;第四结构体中包括第四资源数值、第四唯一数值和第四持有者公钥;所述第四持有者公钥为第三客户端的公钥;
广播模块,用于向节点广播第二结构体对应的第二无效标识,以指示节点在验证无效标识集合中不存在所述第二无效标识后,将所述第二无效标识添加至所述无效标识集合中;
加密模块,用于根据第三客户端的公钥加密第四结构体,并将加密后的第四结构体发送至第三客户端;
广播模块还用于向节点广播第四结构体对应的第三有效标识;第三有效标识,用于指示节点将第三有效标识添加至有效标识集合中。
一种基于区块链的资源转移方法,由区块链网络中的节点执行,方法包括:
接收第一客户端广播至的第一结构体对应的无效标识;所述第一结构体是用所述第一客户端的私钥解密成功的结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;
当无效标识集合中不存在所述无效标识时,将所述无效标识添加至所述无效标识集合中;
在所述第一客户端将由所述第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收所述第一客户端广播至的所述第二结构体对应的有效标识;所述第二结构体,是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;所述第二资源数值,是从所述第一客户端的第一结构体的所述第一资源数值中转移出的资源数值;
将所述有效标识添加至有效标识集合中。
一种基于区块链的资源转移装置,其特征在于,设置于区块链网络中的节点中,装置包括:
接收模块,用于接收第一客户端广播至的第一结构体对应的无效标识;所述第一结构体是用所述第一客户端的私钥解密成功的结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;
记录模块,用于当无效标识集合中不存在所述无效标识时,将所述无效标识添加至所述无效标识集合中;
所述接收模块还用于在所述第一客户端将由所述第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收所述第一客户端广播至的所述第二结构体对应的有效标识;所述第二结构体,是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;所述第二资源数值,是从所述第一客户端的第一结构体的所述第一资源数值中转移出的资源数值;
所述记录模块还用于将所述有效标识添加至有效标识集合中。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中所述的基于区块链的资源转移方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中所述的基于区块链的资源转移方法的步骤。
上述基于区块链的资源转移方法、装置、计算机设备和存储介质,基于存储有资源数值的具有唯一性的结构体进行资源转移,第一客户端根据私钥解密第一结构体;当解密成功、且第一结构体中的第一资源数值包括待转移的资源数值时,创建第二结构体;第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥。解密成功则说明第一客户端有权限对第一结构体中的第一资源数值进行转移处理,即,在第一客户端的本地进行鉴权和资源数值是否充足等相关验证。第一客户端不用将自身的资源数值、待转移的资源数值和资源接收端的地址等隐私信息告知节点,而是,向区块链网络中的节点广播第一结构体对应的无效标识,以告知将第一结构体作废。第一客户端根据第二客户端的公钥加密第二结构体,并将加密后的第二结构体发送至所述第二客户端。这样一来,只有第二客户端能够有权限使用该第二结构体中的资源数值进行资源转移,保证了资源转移的准确性。第一客户端向节点广播所述第二结构体对应的有效标识,以告知节点第二结构体中的资源数值可用。这样一来,验证鉴权机制设置在客户端本地,节点只需要获知被作废的第一结构体的无效标识以及新增的第二结构体的有效标识,就可以实现资源转移处理,避免了隐私信息的泄露,提高了资源转移的安全性。
附图说明
图1为一个实施例中基于区块链的资源转移方法的应用环境图;
图2为一个实施例中基于区块链的资源转移方法的流程示意图;
图3为另一个实施例中基于区块链的资源转移方法的流程示意图;
图4为一个实施例中基于区块链的资源转移方法的时序图;
图5为一个实施例中基于区块链的资源转移方法的原理示意图;
图6为一个实施例中传统的区块链转账原理示意图;
图7为一个实施例中基于区块链的资源转移装置的结构框图;
图8为另一个实施例中基于区块链的资源转移装置的结构框图;
图9为又一个实施例中基于区块链的资源转移装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于区块链的资源转移方法,可以应用于如图1所示的应用环境中。本申请实施例涉及的系统可以是由客户端和多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
参见图1,图1是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点130(接入网络中的任意形式的计算设备,如服务器、用户终端)、第一客户端110和第二客户端120形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链系统中各节点(即节点)的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
可以理解,区块链中的各节点,可以为服务器或终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。相当于可以结合云技术实现本申请实施例中的基于区块链的资源转移方法。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
第一客户端110可以根据私钥解密第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;当解密成功、且第一资源数值中包括待转移的资源数值时,创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥。第一客户端110可以向区块链网络中的节点130广播所述第一结构体唯一对应的无效标识。节点130可以将所述无效标识首次添加至无效标识集合中,即,在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中。第一客户端110可以根据第二客户端120的公钥加密所述第二结构体,并将加密后的第二结构体发送至所述第二客户端120。第一客户端110可以向节点130广播所述第二结构体唯一对应的有效标识。节点130将所述有效标识添加至有效标识集合中。
在一个实施例中,如图2所示,提供了一种基于区块链的资源转移方法,以该方法应用于图1中的第一客户端为例进行说明,包括以下步骤:
步骤202,根据私钥解密第一结构体;第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;第一持有者公钥为第一客户端的公钥。
其中,私钥,是第一客户端的私钥。第一客户端是资源数值转移方(即发起资源转移请求的用户)所登录的客户端。结构体是由一批数据组合而成的一种新的数据类型。结构体中的数据可以为不同类型。
可以理解,本申请各实施例中的结构体可以包括资源数值、唯一数值和持有者公钥等类型的数据。
其中,唯一数值,是具有唯一性的数值。唯一数值可以是原生唯一性数值,也可以是对原生唯一性数值进行唯一性运算(比如哈希运算)后得到的数值。原生唯一性数值,是指本身具有唯一性的初始数值。因此,唯一数值可以是随机数、也可以是对随机数进行哈希运算得到的哈希值。随机数就是初始的具有唯一性的原生唯一性数值,对随机数进行运算后得到的哈希值,就属于对原生唯一性数值进行唯一性运算后得到的数值。
此外,同一结构体中的唯一数值,可以为多个,多个唯一数值可以为不同类型的数值。比如,同一结构体中的唯一数值还可以包括原生唯一性数值以及对原生唯一性数值进行唯一性运算(比如哈希运算)后得到的数值等多种具有唯一性的数值。可以理解,随机数和随机数的哈希值都是唯一性的数值,但二者是不同类型的数值。因此,唯一数值还可以包括随机数和对随机数进行哈希运算得到的哈希值。
持有者公钥,是指对结构体具有使用权限的客户端的公钥。可以理解,结构体还可以包括除上述三种类型之外的类型的数据。
第一结构体是第一客户端本地存储的、且用第一客户端的公钥加密后的结构体。第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥。
在一个实施例中,唯一数值可以为随机数,那么,第一唯一数值为第一随机数,则第一结构体中包括第一资源数值、第一随机数和第一持有者公钥。其中,随机数,即为随机生成的唯一的、不重复的数值。
在另一个实施例中,唯一性数值还可以为随机数的哈希值,那么,第一唯一数值为第一随机数的哈希值,则第一结构体中包括第一资源数值、第一随机数的第一哈希值和第一持有者公钥。
在又一个实施例中,第一结构体中包括第一资源数值、第一随机数、对第一随机数进行哈希运算后的第一哈希值、以及第一持有者公钥。
第一客户端的私钥,与第一客户端的公钥是一对,能够用于解密由第一客户端的公钥加密后的数据。因此,第一客户端能够使用私钥成功解密第一结构体。
步骤204,当解密成功、且第一资源数值中包括待转移的资源数值时,创建第二结构体;第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥。
可以理解,不同结构体中包括的唯一数值不同,具有唯一性,从而使得不同结构体具有唯一性。即,第一唯一数值和第二唯一数值不同,各自具有唯一性,从而使得第一结构体和第二结构体各自具有唯一性。
在一个实施例中,第二唯一数值,可以为第二随机数。在另一个实施例中,第二唯一数值可以包括第二随机数和第二随机数的第二哈希值。在又一个实施例中,第二唯一数值可以为第二随机数的第二哈希值。同样地,不同随机数各自也具有唯一性,即,第一随机数和第二随机数不同,从而使得第一结构体和第二结构体各自具有唯一性。
待转移的资源数值,是指需要进行转移的资源数值。第一资源数值中包括待转移的资源数值,是指第一资源数值中具有充足的资源数值用来进行资源转移。即,第一资源数值大于或等于待转移的资源数值。
需要说明的是,当第一结构体中的资源数值等于待转移的资源数值时,执行步骤204~210。当第一结构体中的资源数值大于待转移的资源数值时,除了执行步骤204~210以外,还需要创建新的归属于第一客户端的结构体,新创建的归属于第一客户端的结构体中的资源数值和第二结构体中的资源数值之和,等于第一结构体中的第一资源数值。
可以理解,解密成功说明第一客户端有权限对第一结构体中的第一资源数值进行转移。
具体地,用户可以基于第一客户端进行资源转移操作,第一客户端在检测到该资源转移操作后,可以执行步骤202根据私钥对第一结构体进行解密。第一客户端在解密成功后,可以验证第一结构体中的第一资源数值是否大于或等于资源转移操作所指示的待转移的资源数值,并在验证大于或等于待转移的资源数值后,创建第二结构体。
需要说明的是,第一结构体可以为至少一个。即,当多个第一结构体中的资源数值才足够转出该待转移的资源数值时,第一客户端则可以对本地的多个第一结构体解密,这样,多个第一结构体中包括待转移的资源数值。可以理解,如果第一客户端本地所有的第一结构体中包括的资源数值皆不足够转出该待转移的资源数值,那么,就说明资源转移处理不能执行,则不在本申请方案的讨论范围之内。
可以理解,本申请各实施例中不同的结构体,包括相同类型的数据,仅各类型的数据的具体数值存在差异。第二结构体中除了具有第二资源数值、第二唯一数值和第二持有者公钥以外,还可以包括其他类型的数据。
步骤206,向区块链网络中的节点广播第一结构体唯一对应的无效标识;无效标识,用于指示节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中。
其中,无效标识,与第一结构体唯一对应、且用于表征第一结构体无效,即,将第一结构体作废。无效标识集合,是用于记录无效标识的集合。可以理解,本申请实施例中的节点,用于通过记录交易生成区块,即将交易上链。需要说明的是,本申请实施例中的节点,并不知晓交易详情,而是通过记录用于代表交易的无效标识和有效标识,生成区块。
需要说明的是,不同结构体对应不同的无效标识。即,无效标识是一个唯一的、不可重复的字符串或数值。与单纯的无效标签并不相同,因为无效标签仅用于表明无效状态,可以对任意对象进行标签,并不具备唯一属性。
无效标识可以是随机生成的一个随机数,也可以是对一个随机数进行哈希计算后得到的哈希值。
在一个实施例中,第一唯一数值为第一随机数,第一结构体中还包括对第一随机数进行哈希运算后的第一哈希值。步骤206包括:将所述第一哈希值作为所述无效标识,并将所述无效标识向区块链网络中的节点广播。
具体地,第一客户端可以在对第一结构体解密成功后,从第一结构体中提取对第一随机数进行哈希运算后的第一哈希值。可以理解,由于第一随机数是唯一的,所以,第一哈希值也是唯一的,因而,可以将第一哈希值作为第一结构体的无效标识。第一客户端可以将该无效标识向区块链网络中的节点广播。
具体地,节点在接收到第一结构体的无效标识后,可以验证无效标识集合中是否已经存在该无效标识,如果不存在,则将该无效标识添加至无效标识集合中,如果存在,则拒绝将该无效标识添加至无效标识集合中,即,拒绝进行资源转移。从而,避免对第一结构体中的资源数值进行重复转移。
步骤208,根据第二客户端的公钥加密第二结构体,并将加密后的第二结构体发送至第二客户端。
其中,第二客户端是指需要将资源数值转移至的客户端。第二客户端,是资源数值接收方所登录的客户端。
可以理解,第一客户端已经预先获知第二客户端的公钥,所以,第一客户端可以根据第二客户端的公钥,对创建的第二结构体进行加密。第一客户端可以将加密后的第二结构体发送至第二客户端。
由于第二结构体是由第二客户端的公钥加密的,所以,只有使用第二客户端的私钥才能够解密该第二结构体,进而才能利用该第二结构体进行资源转移。即,只有第二客户端才能使用该第二结构体进行资源转移。
在一个实施例中,第二客户端的公钥可以包括第二客户端的资源数值接收地址。资源数值接收地址,可以是收款地址。
步骤210,向节点广播第二结构体唯一对应的有效标识;有效标识,用于指示节点将有效标识添加至有效标识集合中。
其中,有效标识,与第二结构体唯一对应、且用于表征第二结构体有效,即,用于表征第二结构体中的资源数值是可以使用的、有效的。有效标识集合,是用于记录有效标识的集合。
需要说明的是,不同结构体对应不同的有效标识。即,有效标识是一个唯一的、不可重复的字符串或数值。与单纯的有效标签并不相同,因为有效标签仅用于表明有效状态,可以对任意对象进行标签,并不具备唯一属性。
可以理解,有效标识可以是随机生成的一个随机数,也可以是对第二结构体进行哈希计算后得到的哈希值。
在一个实施例中,第二结构体中还包括第二随机数。步骤210包括:对所述第二结构体进行哈希运算,得到所述第二结构体对应的有效标识;向所述节点广播所述有效标识。
可以理解,第二随机数,即为随机生成的唯一的、不重复的数值,而第二结构体中包括第二随机数,那么,对该第二结构体进行哈希运算的数值也是唯一的,因此,可以将对第二结构体进行哈希运算得到的数值,作为第二结构体对应的有效标识。第一客户端可以将该有效标识向区块链网络中的节点广播。
节点在接收到第二结构体的有效标识后,可以将该有效标识添加至有效标识集合中。
在一个实施例中,所述有效标识,用于指示所述节点在验证到所述无效标识集合中记录有第一客户端发送的相应无效标识后,将所述有效标识添加至有效标识集合中。即,节点通过无效标识集合中记录有第一客户端发起的相应的无效标识,可以判断第一客户端进行了转出资源数值的处理,那么,节点则可以将该有效标识添加至有效标识集合中。可以理解,资源转移,是指从一方中转出资源数值,并将该转出的资源数值转入至另一方,因此,当第一客户端对一个结构体中的资源数值进行转移后,则会新增另一个结构体来继承这笔资源数值,所以,当第一客户端向节点广播一个结构体无效后,那么,则可以将其针对另一个结构体广播的有效标识,添加至有效标识集合中,从而实现资源转移。
在一个实施例中,第二客户端在接收到使用自身公钥加密后的第二结构体后,可以将其存储在本地。当第二客户端需要使用该第二结构体向其他客户端进行资源转移时,第二客户端则为发起资源转移的一方,即可以执行步骤202~210,通过将第二结构体对应的无效标识添加在无效标识集合中,以将第二结构体中的资源数值转移出去。
可以理解,本申请各实施例中的方案,相当于使用零知识证明做到了资源转移过程中对隐私数据的保护,提高了安全性。其中,零知识证明,是将证明问题解的正确性与其解的证明过程或结果进行解耦,既可以向第三方证明已得到了关于某个命题的正确解且不泄露证明正确解的过程或步骤。
上述基于区块链的资源转移方法,基于存储有资源数值的具有唯一性的结构体进行资源转移,第一客户端根据私钥解密第一结构体;当解密成功、且第一结构体中的第一资源数值包括待转移的资源数值时,创建第二结构体;第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥。解密成功则说明第一客户端有权限对第一结构体中的资源数值进行转移处理,即,在第一客户端的本地进行鉴权和资源数值是否充足等相关验证。第一客户端不用将自身的资源数值、待转移的资源数值和资源接收端的地址等隐私信息告知节点,而是,向区块链网络中的节点广播第一结构体对应的无效标识,以告知将第一结构体作废。第一客户端根据第二客户端的公钥加密第二结构体,并将加密后的第二结构体发送至所述第二客户端。这样一来,只有第二客户端能够有权限使用该第二结构体中的资源数值进行资源转移,保证了资源转移的准确性。第一客户端向节点广播所述第二结构体对应的有效标识,以告知节点第二结构体中的资源数值可用。这样一来,验证鉴权机制设置在客户端本地,节点只需要获知被作废的第一结构体的无效标识以及新增的第二结构体的有效标识,就可以实现资源转移处理,实现了匿名转账,避免了隐私信息的泄露,提高了资源转移的安全性。
在一个实施例中,所述有效标识为第一有效标识。本实施例中,第一资源数值大于待转移的第二资源数值,即为所述第二资源数值与第三资源数值之和。该方法还包括:创建第三结构体;所述第三结构体中包括所述第三资源数值、第三唯一数值和第三持有者公钥;所述第三持有者公钥为所述第一客户端的公钥;根据第一客户端的公钥加密所述第三结构体;将加密后的第三结构体存储,并向所述节点广播所述第三结构体唯一对应的第二有效标识,以指示所述节点将所述第二有效标识添加至所述有效标识集合中。
同样地,第三唯一数值可以包括第三随机数和第三随机数的第三哈希值中的至少一种。第三随机数具有唯一性。
可以理解,当第一结构体中的第一资源数值大于待转移的第二资源数值时,如果仅将第一结构体进行无效,将资源数值为第二资源数值的第二结构体作为有效的,那么,就会出现资源数值不平衡的问题。即,无效掉的资源数值(即第一资源数值)大于转出的资源数值(即第二资源数值),那么,就会存在资源数值错误转移的问题。
因此,当第一资源数值大于第二资源数值时,第一客户端除了执行步骤204~210以外,还可以创建第三结构体;所述第三结构体中的资源数值为所述第三资源数值。
第一客户端可以根据该第一客户端的公钥,加密该第三结构体,并将加密后的第三结构体存储。可以理解,由第一客户端自身的公钥加密第三结构体,则仅有第一客户端的私钥能够对该第三结构体进行解密,即表明仅第一客户端对该第三结构体具有使用权限。第一客户端可以确定第三结构体唯一对应的第二有效标识,并向节点发送所述第三结构体对应的第二有效标识。节点则可以将该第二有效标识添加至有效标识集合中。这样一来,就能够实现资源数值平衡的资源转移处理。
在一个实施例中,第一客户端可以生成一个随机数,作为第三结构体对应的第二有效标识,也可以对第三结构体进行哈希运算,将得到的哈希值作为第二有效标识。
上述实施例中,当第一结构体中的第一资源数值大于第二结构体中的待转移的第二资源数值时,则创建一个第一客户端自身的第三结构体,使用第一客户端的公钥对其进行加密,并将其所对应的有效标识广播至节点进行记录,从而实现了账本记账的准确性,防止错账,保证了资源转移的准确性。
在一个实施例中,当解密成功、且第一资源数值中包括待转移的资源数值时,创建第二结构体包括:在解密成功后,识别第一结构体中的所述第一资源数值和所述第一持有者公钥;当所述第一资源数值大于或等于所述第二资源数值、且所述第一持有者公钥和所述私钥对应的公钥一致时,创建第二结构体。
具体地,在解密成功后,第一客户端可以识别第一结构体中的第一资源数值和第一持有者公钥。第一客户端可以在本地将第一资源数值与待转移的第二资源数值进行大小比对,以及将从第一结构体中识别的第一持有者公钥与第一客户端的私钥所对应的公钥(即第一客户端的公钥)进行一致性比对。当所述第一资源数值大于或等于所述第二资源数值、且所述第一持有者公钥和所述私钥对应的公钥一致时,则说明对第一客户端的使用权限以及余额充足性鉴定通过,则第一客户端可以创建第二结构体,以进行资源转移处理。
上述实施例中,在客户端本地进行余额充足性的验证,以及通过对持有者公钥的验证来对第一结构体中的资源数值的使用权限进行验证,在不让节点获知这些隐私信息的情况下,也能够保证资源转移的准确性。
在一个实施例中,第二唯一数值为第二随机数;所述创建第二结构体包括:生成第二随机数;对所述第二随机数进行哈希运算,得到第二哈希值;获取所述第二客户端的公钥,作为第二持有者公钥;根据所述第二随机数、所述第二哈希值、所述第二资源数值和所述第二持有者公钥,生成第二结构体。
具体地,在创建第二结构体时,第一客户端可以生成第二随机数。可以理解,第二随机数不同于第一随机数。第一客户端可以对第二随机数进行哈希运算,得到第二哈希值。第一客户端还可以获取第二客户端的公钥,作为第二持有者公钥。第一客户端可以根据所述第二随机数、所述第二哈希值、所述第二资源数值和所述第二持有者公钥,生成第二结构体。即,第二结构体中包括第二随机数、第二哈希值、第二资源数值(即从第一结构体中转出的资源数值)和第二持有者公钥。
上述实施例中,根据第二随机数、第二随机数的哈希值、第二资源数值以及第二持有者公钥生成第二结构体,使得第二结构体具有唯一性,从而基于该结构体能够在不让节点获知这些隐私信息的情况下,保证资源转移的准确性。
在一个实施例中,提供了另一种基于区块链的资源转移方法,由第二客户端执行,该方法包括:接收所述第一客户端发送的、且根据第二客户端的公钥加密后的第二结构体;在第一客户端将第一结构体对应的无效标识以及第二结构体对应的有效标识发送至区块链网络中的节点后,将接收的所述第二结构体存储。
其中,第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥。第二结构体是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的。第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥。第二资源数值,是从第一客户端的第一结构体的第一资源数值中转移出的资源数值。
具体地,第一客户端可以用第一客户端的私钥解密第一结构体,然后创建第二结构体,并使用第二客户端的公钥对第二结构体进行加密。
可以理解,第一客户端将第一结构体对应的无效标识以及第二结构体对应的有效标识发送至区块链网络中的节点、且节点将所述无效标识首次添加至无效标识集合以及将有效标识记录添加至有效标识集合中后,才能完成整个资源转移处理的过程。第二客户端则可以将从第一客户端接收的第二结构体存储。
在一个实施例中,无效标识为第一无效标识;有效标识为第一有效标识。该方法还包括:根据第二客户端的私钥,对第二结构体解密;当第二结构体中的第二资源数值与待转移的第四资源数值一致时,创建第四结构体;第四结构体中包括第四资源数值、第四唯一数值和第四持有者公钥;所述第四持有者公钥为第三客户端的公钥;向节点广播第二结构体对应的第二无效标识,以指示节点在验证无效标识集合中不存在所述第二无效标识后,将所述第二无效标识添加至所述无效标识集合中;根据第三客户端的公钥加密第四结构体,并将加密后的第四结构体发送至第三客户端;向节点广播第四结构体对应的第三有效标识;第三有效标识,用于指示节点将第三有效标识添加至有效标识集合中。
同样地,第四唯一数值包括第四随机数和第四随机数的第四哈希值中的至少一种。第四随机数具有唯一性。
可以理解,登录于第二客户端的用户,可以操作第二客户端,通过使用第二结构体向第三客户端进行资源转移处理。第二客户端可以根据第二客户端的公钥对第二结构体进行解密,解密成功后,第二客户端可以验证第二结构体中的第二资源数值是否足够用来转移第四资源数值。如果足够,则可以创建第四结构体。第四结构体中的资源数值即为该第四资源数值。第二客户端可以向节点广播第二结构体对应的第二无效标识,以指示节点在验证无效标识集合中不存在所述第二无效标识后,将第二无效标识首次添加至无效标识集合中。第二客户端可以根据第三客户端的公钥加密第四结构体,并将加密后的第四结构体发送至第三客户端。进一步地,第二客户端还可以向节点广播第四结构体对应的第三有效标识;第三有效标识,用于指示节点将第三有效标识添加至有效标识集合中。
可以理解,当第二结构体中的第二资源数值大于或等于第四资源数值时,则说明足够用来转移第四资源数值,则可以创建第四结构体。当第二资源数值与待转移的第四资源数值一致时,则执行上述步骤即可完成将第四资源数值从第二结构体中转移至第三客户端。当第二资源数值大于待转移的第四资源数值时,那么,除了执行上述步骤以外,还需要创建第五结构体,第四资源数值与该第五结构体中的第五资源数值之和,即等于第二资源数值。然后,第二客户端可以将第五结构体的第四有效标识广播至节点进行记录。可以理解,第二无效标识、第三有效标识以及第四有效标识的生成原理,同第一有效标识和第一无效标识,此处不再赘述。
如图3所示,在一个实施例中,提供了另一种基于区块链的资源转移方法,由区块链网络中的节点执行。该方法包括以下步骤:
步骤302,接收第一客户端广播至的第一结构体对应的无效标识;第一结构体是用第一客户端的私钥解密成功的结构体。
其中,第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥。
步骤304,当无效标识集合中不存在无效标识时,将无效标识添加至无效标识集合中。
步骤306,在第一客户端将由第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收第一客户端广播至的第二结构体对应的有效标识,并将该有效标识添加至有效标识集合中。
其中,第二结构体,是第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;第二资源数值,是从第一客户端的第一结构体的第一资源数值中转移出的资源数值。
如图4所示,提供了一种基于区块链的资源转移方法的时序图。该时序图具体包括以下步骤:
1)第一用户登录第一客户端,进行资源转移操作。
可以理解,第一用户进行资源转移操作,是为了将资源数值向第二用户的账户进行转移。
2)第一客户端根据私钥解密第一结构体,以确定第一结构体中包括的第一资源数值。
3)当第一资源数值大于或等于待转移的第二资源数值时,则生成第二随机数;对第二随机数进行哈希运算,得到第二哈希值;获取第二客户端的公钥,作为第二持有者公钥;根据第二随机数、第二哈希值、第二资源数值和第二持有者公钥,生成第二结构体。
其中,第二资源数值,是资源转移操作所指示转移的资源数值。第二结构体中的资源数值即为该第二资源数值。
在一个实施例中,当第一资源数值大于或等于待转移的第二资源数值、且第一结构体中的第一持有者公钥和第一客户端的公钥一致时,则生成第二随机数及执行后续步骤。
4)第一客户端从解密成功后的第一结构体中提取对第一随机数进行哈希计算后的第一哈希值。
5)第一客户端将第一哈希值作为第一结构体对应的作废标识,向区块链网络中的节点广播。
其中,作废标识即为无效标识。
6)节点在验证无效标识集合中并不存在该作废标识时,则添加该无效标识至作废表(Nullifier)中。
其中,作废表,用于记录作废的结构体所对应的无效标识。可以理解,作废表中记录的无效标识所对应的结构体,即为作废的、无效的结构体。
7)第一客户端根据第二客户端的公钥加密第二结构体。
8)第一客户端将加密后的第二结构体发送至第二客户端。
9)第一客户端对第二结构体进行哈希运算,得到第二结构体对应的余额标识。
其中,余额标识,即用于标识能够用来转移的资源数值。相当于说明第二结构体属于有效的、第二结构体中的资源数值能够用来转移,因此,这里的余额标识即相当于有效标识。
10)第一客户端向节点广播该有效标识。
11)节点在验证到作废表中记录有第一客户端发送的相应无效标识后,将该余额标识添加至余额表中。
其中,余额表,用于记录具有可用资源数值的结构体的有效标识。即,余额表中记录的有效标识所对应的结构体中具有可用的资源数值(即余额)。
可以理解,由于作废表和余额表皆在区块链上,所以,将无效标识和有效标识分别记录在作废表和余额表中,相当于记录在区块上,说明资源转移处理生效完成。
12)第二客户端则可以将接收的第二结构体在本地存储。
图5为一个实施例中基于区块链的资源转移方法的原理示意图。参照图5,客户端A(即为第一客户端)想向客户端B(即第二客户端)转移30元(即待转移的资源数值)。假设Note3(即第一结构体)属于A,那么,客户端A则可以从使用私钥解密Note3,以在客户端A本地验证Note3中的金额(即第一资源数值)是否充足,以及验证客户端A是否有权限使用Note3(比如,验证Note3中的持有者公钥是否为客户端A的公钥)。相当于,余额的验证和用户权限的验证,皆在客户端本地处理。从图5可知,Note3中的金额面值为30元,刚好够转账给客户端B。Note3中还包括随机数r3(即第一随机数)以及对r3进行哈希运算得到的Hash(r3)(即第一哈希值)。
客户端A可以新建一个Note4(即第二结构体),在第二结构体中的持有者公钥这一项,写上客户端B的收款地址bpk(即客户端B的公钥)。客户端A可以生成随机数r4(即第二随机数),对r4进行哈希运算得到Hash(r4)(即第二哈希值)。客户端A可以将30元的转账金额、r4和Hash(r4)一并写入Note4中。这样一来,Note4即为<bpk,30,r4,Hash(r4)这样一个结构体。客户端A可以将Hash(r3)(即第一哈希值)作为作废标识N2向节点广播。节点则可以验证作废表(Nullifier)中有无N2,若有则是双重花费(即重复花费),拒绝该交易,若无则将N2记录在作废表中,以表征N2代表的面值(金额)已花费。客户端A将Note4使用客户端B的公钥进行加密后传送给到客户端B。客户端A可以对Note4进行哈希运算得到H4,将H4作为余额标识向节点广播。节点在验证作废表中有一笔客户端A发起的花费记录,因此,将H4记录在余额表(Hashed Notes)中。从而将这笔交易打包至区块,完成这笔交易。客户端B收到自己公钥加密的Note4后,可以通过将N3(即Hash(r4))添加在Nullifier(作废表)来花费这笔收款,因此循环进行花费交易处理,形成闭环。
从图5可知,节点记录的总账本包括余额表和作废表。502即为总账本转账前状态,从中可看出Note2中的金额已花费(Note2的作废标识N1=Hash(r2)记录在作废表中)。504即为总账本转账后状态,从中可看出Note3中的金额已花费(Note3的作废标识N2=Hash(r3)记录在作废表中)。
从图5可知,本申请实施例中的基于区块链的资源转移方法中,节点并不知晓转账双方地址、转账金额以及具体余额信息,只会知晓对应于每个结构体的作废标识和余额标识进行相应记录,以维护总账本。很显然,转账权限和金额是否充足的验证机制在客户端本地实行。
图6为传统的区块链转账原理示意图。从图6可知,转账方A若想要向B转账30元,则需要创建一笔30元的“支配”,并签上自己的名字,证明有转账权利。然后,A需要将这30元指定由B来接受,只有B的私钥签名可以支配这笔钱。A将该笔交易广播出去,由节点来打包上链从而生效。节点则需要验证A余额是否充足:余额列表A有30+50>30,余额充足。节点还需要验证A是否有转账所需的“密码”:A广播的交易中有A的私钥签名。然后,节点才会将该笔交易打包进区块中,交易正式生效。图6所示的传统方法,在实现完整的转账过程后,转账双方的地址、转账金额均被矿工及第三方获悉,所以造成了一定程度上的隐私信息泄露。因此,图5所示的方案中,节点并不知晓转账双方地址、转账金额以及具体余额信息,相较于图6所示的传统方案,保护了转账隐私数据,提高了安全性。
如图7所示,在一个实施例中,提供了一种基于区块链的资源转移装置,设置于第一客户端中。该装置包括:解密模块702、创建模块704、广播模块706以及加密模块708;其中:
解密模块702,用于根据私钥解密第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥。
创建模块704,用于当解密成功、且第一资源数值中包括待转移的资源数值时,创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥。
广播模块706,用于向区块链网络中的节点广播第一结构体对应的无效标识;无效标识,用于指示节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中。
加密模块708,用于根据第二客户端的公钥加密第二结构体,并将加密后的第二结构体发送至第二客户端。
广播模块706还用于向节点广播第二结构体唯一对应的有效标识;有效标识,用于指示节点将有效标识添加至有效标识集合中。
在一个实施例中,有效标识为第一有效标识;待转移的资源数值为第二资源数值;第一结构体中的第一资源数值,为第二资源数值与第三资源数值之和;
创建模块704还用于创建第三结构体;所述第三结构体中包括所述第三资源数值、第三唯一数值和第三持有者公钥;所述第三持有者公钥为所述第一客户端的公钥。
加密模块708还用于根据第一客户端的公钥加密第三结构体;将加密后的第三结构体存储。
广播模块706还用于向节点广播第三结构体对应的第二有效标识,以指示节点将第二有效标识添加至有效标识集合中。
在一个实施例中,创建模块704还用于在解密成功后,识别第一结构体中的第一资源数值和第一持有者公钥;当第一资源数值大于或等于第二资源数值、且第一持有者公钥和私钥对应的公钥一致时,创建第二结构体。
在一个实施例中,第二唯一数值为第二随机数;创建模块704还用于生成第二随机数;对第二随机数进行哈希运算,得到第二哈希值;获取第二客户端的公钥,作为第二持有者公钥;根据第二随机数、第二哈希值、第二资源数值和第二持有者公钥,生成第二结构体。
在一个实施例中,第一唯一数值为第一随机数;第一结构体中还包括对第一随机数进行哈希运算后的第一哈希值;广播模块706还用于将第一哈希值作为无效标识,并将无效标识向区块链网络中的节点广播。
在一个实施例中,广播模块706还用于对第二结构体进行哈希运算,得到第二结构体对应的有效标识;向节点广播有效标识。
如图8所示,在一个实施例中,提供了一种基于区块链的资源转移装置,设置于第二客户端中,该装置包括:接收模块802以及存储模块804;其中:
接收模块802,用于接收第一客户端发送的、且根据所述第二客户端的公钥加密后的第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥;
存储模块804,用于在第一客户端将第一结构体对应的无效标识以及第二结构体对应的有效标识发送至区块链网络中的节点、且节点将无效标识首次添加至无效标识集合以及将有效标识记录在有效标识集合中后,将接收的第二结构体存储。
其中,所述第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;所述第二结构体是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;第二资源数值,是从第一客户端的第一结构体的第一资源数值中转移出的资源数值。
在一个实施例中,无效标识为第一无效标识;有效标识为第一有效标识。该装置还包括:
解密模块(未示出),用于根据第二客户端的私钥,对第二结构体解密。
创建模块(未示出),用于当第二结构体中的第二资源数值与待转移的第四资源数值一致时,创建第四结构体;第四结构体中包括第四资源数值、第四唯一数值和第四持有者公钥;所述第四持有者公钥为第三客户端的公钥。
广播模块(未示出),用于向节点广播第二结构体对应的第二无效标识,以指示节点在验证无效标识集合中不存在所述第二无效标识后,将所述第二无效标识添加至所述无效标识集合中。
加密模块(未示出),用于根据第三客户端的公钥加密第四结构体,并将加密后的第四结构体发送至第三客户端。
广播模块还用于向节点广播第四结构体对应的第三有效标识;第三有效标识,用于指示节点将第三有效标识添加至有效标识集合中。
如图9所示,在一个实施例中,提供了一种基于区块链的资源转移装置,设置于区块链网络中的节点中。该装置包括:接收模块902以及记录模块904;其中:
接收模块902,用于接收第一客户端广播至的第一结构体对应的无效标识;第一结构体是用第一客户端的私钥解密成功的结构体;第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥。
记录模块904,用于当无效标识集合中不存在无效标识时,将无效标识添加至无效标识集合中。
接收模块902还用于在第一客户端将由所述第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收第一客户端广播至的第二结构体对应的有效标识;第二结构体,是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;第二资源数值,是从第一客户端的第一结构体的第一资源数值中转移出的资源数值。
记录模块904还用于将有效标识添加至有效标识集合中。
关于基于区块链的资源转移装置的具体限定可以参见上文中对于基于区块链的资源转移方法的限定,在此不再赘述。上述基于区块链的资源转移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的计算机设备进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于区块链的资源转移方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是单独服务器或服务器集群中的服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储搜索数据。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的资源转移方法。可以理解,服务器实现的是基于区块链的资源转移方法中的后台处理步骤。
本领域技术人员可以理解,图10和11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种基于区块链的资源转移方法,其特征在于,由资源数值转移方所登录的第一客户端执行,所述方法包括:
根据所述第一客户端的私钥解密所述第一客户端本地存储的第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
当解密成功、且所述第一资源数值中包括待转移的资源数值时,在所述第一客户端的本地创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥;
向区块链网络中的节点广播所述第一结构体唯一对应的无效标识;所述无效标识,用于指示所述节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中;
根据第二客户端的公钥加密所述第二结构体,并将加密后的第二结构体发送至所述第二客户端;
向所述节点广播所述第二结构体唯一对应的有效标识;所述有效标识,用于指示所述节点将所述有效标识添加至有效标识集合中。
2.根据权利要求1所述的方法,其特征在于,所述有效标识为第一有效标识;所述第一资源数值,为所述第二资源数值与第三资源数值之和;
所述方法还包括:
创建第三结构体;所述第三结构体中包括所述第三资源数值、第三唯一数值和第三持有者公钥;所述第三持有者公钥为所述第一客户端的公钥;
根据所述第一客户端的公钥加密所述第三结构体;
将加密后的第三结构体存储,并向所述节点广播所述第三结构体唯一对应的第二有效标识,以指示所述节点将所述第二有效标识添加至所述有效标识集合中。
3.根据权利要求1所述的方法,其特征在于,所述当解密成功、且所述第一资源数值中包括待转移的资源数值时,在所述第一客户端的本地创建第二结构体包括:
在解密成功后,识别第一结构体中的所述第一资源数值和所述第一持有者公钥;
当所述第一资源数值大于或等于所述第二资源数值、且所述第一持有者公钥和所述私钥对应的公钥一致时,创建第二结构体。
4.根据权利要求1所述的方法,其特征在于,所述第二唯一数值为第二随机数;所述在所述第一客户端的本地创建第二结构体包括:
在所述第一客户端的本地生成第二随机数;
对所述第二随机数进行哈希运算,得到第二哈希值;
获取所述第二客户端的公钥,作为第二持有者公钥;
根据所述第二随机数、所述第二哈希值、所述第二资源数值和所述第二持有者公钥,生成第二结构体。
5.根据权利要求1所述的方法,其特征在于,所述第一唯一数值为第一随机数;所述第一结构体中还包括对所述第一随机数进行哈希运算后的第一哈希值;
所述向区块链网络中的节点广播所述第一结构体唯一对应的无效标识包括:
将所述第一哈希值作为所述无效标识,并将所述无效标识向区块链网络中的节点广播。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述向所述节点广播所述第二结构体唯一对应的有效标识包括:
对所述第二结构体进行哈希运算,得到所述第二结构体对应的有效标识;
向所述节点广播所述有效标识。
7.一种基于区块链的资源转移方法,其特征在于,由第二客户端执行,所述方法包括:
接收第一客户端发送的、且根据所述第二客户端的公钥加密后的第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
在第一客户端将第一结构体对应的无效标识以及所述第二结构体对应的有效标识发送至区块链网络中的节点、且所述节点将所述无效标识首次添加至无效标识集合以及将所述有效标识记录在有效标识集合中后,将接收的所述第二结构体存储;
其中,所述第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;所述第二结构体是所述第一客户端在所述第一客户端的本地用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二资源数值,是从所述第一资源数值中转移出的资源数值。
8.根据权利要求7所述的方法,其特征在于,所述无效标识为第一无效标识;所述有效标识为第一有效标识;所述方法还包括:
根据所述第二客户端的私钥,对所述第二结构体解密;
当所述第二结构体中的所述第二资源数值与待转移的第四资源数值一致时,创建第四结构体;所述第四结构体中包括所述第四资源数值、第四唯一数值和第四持有者公钥;所述第四持有者公钥为第三客户端的公钥;
向所述节点广播所述第二结构体对应的第二无效标识,以指示所述节点在验证无效标识集合中不存在所述第二无效标识后,将所述第二无效标识添加至所述无效标识集合中;
根据所述第三客户端的公钥加密所述第四结构体,并将加密后的第四结构体发送至所述第三客户端;
向所述节点广播所述第四结构体对应的第三有效标识;所述第三有效标识,用于指示所述节点将所述第三有效标识添加至所述有效标识集合中。
9.一种基于区块链的资源转移方法,其特征在于,由区块链网络中的节点执行,所述方法包括:
接收第一客户端广播至的第一结构体对应的无效标识;所述第一结构体是用所述第一客户端的私钥在所述第一客户端本地解密成功的结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
当无效标识集合中不存在所述无效标识时,将所述无效标识添加至所述无效标识集合中;
在所述第一客户端在所述第一客户端本地将由第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收所述第一客户端广播至的所述第二结构体对应的有效标识;所述第二结构体,是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含第二资源数值时创建的;所述第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;所述第二资源数值,是从所述第一客户端的第一结构体的所述第一资源数值中转移出的资源数值;
将所述有效标识添加至有效标识集合中。
10.一种基于区块链的资源转移装置,其特征在于,设置于第一客户端中,所述装置包括:
解密模块,用于根据所述第一客户端的私钥解密所述第一客户端本地存储的第一结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
创建模块,用于当解密成功、且所述第一资源数值中包括待转移的资源数值时,在所述第一客户端的本地创建第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;第二资源数值为所述待转移的资源数值;所述第二持有者公钥为第二客户端的公钥;
广播模块,用于向区块链网络中的节点广播所述第一结构体唯一对应的无效标识;所述无效标识,用于指示所述节点在验证无效标识集合中不存在所述无效标识后,将所述无效标识添加至所述无效标识集合中;
加密模块,用于根据第二客户端的公钥加密所述第二结构体,并将加密后的第二结构体发送至所述第二客户端;
所述广播模块还用于向所述节点广播所述第二结构体唯一对应的有效标识;所述有效标识,用于指示所述节点将所述有效标识添加至有效标识集合中。
11.根据权利要求10所述的装置,其特征在于,所述有效标识为第一有效标识;所述第一资源数值,为所述第二资源数值与第三资源数值之和;
所述创建模块还用于创建第三结构体;所述第三结构体中包括所述第三资源数值、第三唯一数值和第三持有者公钥;所述第三持有者公钥为所述第一客户端的公钥;
所述加密模块还用于根据所述第一客户端的公钥加密所述第三结构体;
所述广播模块还用于将加密后的第三结构体存储,并向所述节点广播所述第三结构体唯一对应的第二有效标识,以指示所述节点将所述第二有效标识添加至所述有效标识集合中。
12.一种基于区块链的资源转移装置,其特征在于,设置于第二客户端中,所述装置包括:
接收模块,用于接收第一客户端发送的、且根据所述第二客户端的公钥加密后的第二结构体;所述第二结构体中包括第二资源数值、第二唯一数值和第二持有者公钥;所述第二持有者公钥为所述第二客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
存储模块,用于在第一客户端将第一结构体对应的无效标识以及第二结构体对应的有效标识发送至区块链网络中的节点、且所述节点将所述无效标识首次添加至无效标识集合以及将所述有效标识记录在有效标识集合中后,将接收的所述第二结构体存储;
其中,所述第一结构体包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;所述第二结构体是所述第一客户端在所述第一客户端的本地用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含所述第二资源数值时创建的;所述第二资源数值,是从所述第一客户端的第一结构体的第一资源数值中转移出的资源数值。
13.一种基于区块链的资源转移装置,其特征在于,设置于区块链网络中的节点中,所述装置包括:
接收模块,用于接收第一客户端广播至的第一结构体对应的无效标识;所述第一结构体是用所述第一客户端的私钥在所述第一客户端的本地解密成功的结构体;所述第一结构体中包括第一资源数值、第一唯一数值和第一持有者公钥;所述第一持有者公钥为所述第一客户端的公钥;结构体是由一批数据组合而成的一种新的数据类型;
记录模块,用于当无效标识集合中不存在所述无效标识时,将所述无效标识添加至所述无效标识集合中;
所述接收模块还用于在所述第一客户端在所述第一客户端本地将由第二客户端的公钥加密后的第二结构体发送至第二客户端后,接收所述第一客户端广播至的所述第二结构体对应的有效标识;所述第二结构体,是所述第一客户端用所述第一客户端的私钥解密成功所述第一结构体、且所述第一结构体中的所述第一资源数值包含第二资源数值时创建的;所述第二结构体中包括第二唯一数值、第二持有者公钥和第二资源数值;所述第二资源数值,是从所述第一客户端的第一结构体的所述第一资源数值中转移出的资源数值;
所述记录模块还用于将所述有效标识添加至有效标识集合中。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202010590213.XA 2020-06-24 2020-06-24 基于区块链的资源转移方法、装置、计算机设备和存储介质 Active CN111756743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010590213.XA CN111756743B (zh) 2020-06-24 2020-06-24 基于区块链的资源转移方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010590213.XA CN111756743B (zh) 2020-06-24 2020-06-24 基于区块链的资源转移方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111756743A CN111756743A (zh) 2020-10-09
CN111756743B true CN111756743B (zh) 2021-12-14

Family

ID=72677177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010590213.XA Active CN111756743B (zh) 2020-06-24 2020-06-24 基于区块链的资源转移方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111756743B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487245B (zh) * 2021-09-06 2021-12-07 苏州浪潮智能科技有限公司 一种云平台资源跨项目转让方法、系统及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985790A (zh) * 2018-06-25 2018-12-11 平安科技(深圳)有限公司 基于区块链的防伪方法、系统、计算机设备和存储介质
CN109558742A (zh) * 2018-11-16 2019-04-02 海南新软软件有限公司 一种基于区块链的信息有效性检测方法及装置
CN110473105A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链交易结算方法、系统及相关设备
CN110535639A (zh) * 2019-08-20 2019-12-03 深圳市网心科技有限公司 基于多资产模型的区块链资产处理方法及相关设备
CN110754061A (zh) * 2017-06-14 2020-02-04 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
CN110958110A (zh) * 2019-12-09 2020-04-03 趣派(海南)信息科技有限公司 一种基于零知识证明的区块链隐私数据管理方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012974A1 (en) * 2013-07-06 2015-01-08 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
DE102017202002A1 (de) * 2017-02-08 2018-08-09 Siemens Aktiengesellschaft Verfahren und Computer zum kryptografischen Schützen von Steuerungskommunikation in und/oder Service-Zugang zu IT-Systemen, insbesondere im Zusammenhang mit der Diagnose und Konfiguration in einem Automatisierungs-, Steuerungs- oder Kontrollsystem
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108737430B (zh) * 2018-05-25 2020-07-17 全链通有限公司 区块链节点的加密通信方法和系统
CN109919610A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于p2p公钥池的抗量子计算区块链保密交易方法和系统
CN110032885B (zh) * 2019-02-19 2020-03-06 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点和存储介质
CN110766550B (zh) * 2019-09-05 2021-06-22 创新先进技术有限公司 基于区块链的资产查询方法及装置、电子设备
CN111163149B (zh) * 2019-12-25 2022-11-29 江苏众享金联科技有限公司 一种基于区块链的智能合约平台方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110754061A (zh) * 2017-06-14 2020-02-04 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
CN108985790A (zh) * 2018-06-25 2018-12-11 平安科技(深圳)有限公司 基于区块链的防伪方法、系统、计算机设备和存储介质
CN109558742A (zh) * 2018-11-16 2019-04-02 海南新软软件有限公司 一种基于区块链的信息有效性检测方法及装置
CN110473105A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链交易结算方法、系统及相关设备
CN110535639A (zh) * 2019-08-20 2019-12-03 深圳市网心科技有限公司 基于多资产模型的区块链资产处理方法及相关设备
CN110958110A (zh) * 2019-12-09 2020-04-03 趣派(海南)信息科技有限公司 一种基于零知识证明的区块链隐私数据管理方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
零知识证明应用到区块链中的技术挑战;李康等;《大数据》;20180115;P60-63 *

Also Published As

Publication number Publication date
CN111756743A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
US11316697B2 (en) System and method for issuing verifiable claims
US11165576B2 (en) System and method for creating decentralized identifiers
US10938569B2 (en) System and method for verifying verifiable claims
US10824701B2 (en) System and method for mapping decentralized identifiers to real-world entities
US20210051025A1 (en) System and method for blockchain-based cross-entity authentication
CN111416709B (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN111756743B (zh) 基于区块链的资源转移方法、装置、计算机设备和存储介质
Payeras-Capellà et al. Design and performance evaluation of two approaches to obtain anonymity in transferable electronic ticketing schemes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030765

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant