CN111507818A - 一种基于区块链的信息共享方法、装置及存储介质 - Google Patents
一种基于区块链的信息共享方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111507818A CN111507818A CN202010327203.7A CN202010327203A CN111507818A CN 111507818 A CN111507818 A CN 111507818A CN 202010327203 A CN202010327203 A CN 202010327203A CN 111507818 A CN111507818 A CN 111507818A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- asset
- asset transfer
- account
- block chain
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/10—Tax strategies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种基于区块链的信息共享方法和装置,方法包括:接收第一账户的资产转移请求,当检测到区块链上存在资产转移对象对应的资产转移记录,调用智能合约统计对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,若第四密文小于第二密文、第四密文与第一密文之和大于第二密文,调用智能合约对第二密文与第四密文进行同态运算得到第五密文,向第一账户返回第一资产转移响应,以使第一账户对第一资产转移响应包括的第五密文进行解密,得到第五资产,并转移第五资产给资产转移对象。实施本申请,对资产进行同态加密可以保护资产信息多方共享时的隐私性,并在密文之间进行同态运算,可以减少第一账户的资金损失。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的信息共享方法、装置及存储介质。
背景技术
企业的纳税数据可以在一定程度上反映企业的经营情况,银行在获得企业的授权后可以查看企业的纳税数据。目前存在的银行多种多样,企业可以同时授权一份纳税数据给多个银行。每个银行拿到这个企业的纳税数据之后,可以评估这个企业的风险承受能力,从而确定给这个企业放款的额度。然而,各个银行为了保护客户信息,各个银行之间的放款信息不会共享,这就可能造成多个银行同时给这个企业放款的情况。如果多个银行给这个企业的放款总额度超过这个企业的风险承受能力,则这多个银行可能需要承受企业无偿还能力的风险。
发明内容
本申请实施例提供一种基于区块链的信息共享方法和装置,在隐私保护的前提下,实现基于区块链的信息多方共享,不仅降低了信息泄露的风险,还减少了银行的财产损失。
第一方面,本申请提供了一种基于区块链的信息共享方法,该方法包括:
区块链节点接收第一账户的资产转移请求,该资产转移请求包括第一资产信息,该第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,该第一密文为第一资产经过目标加密函数进行同态加密后的密文,该第二密文为第二资产经过该目标加密函数进行同态加密后的密文,该第二资产的数额大于或等于该第一资产的数额;
若检测到区块链网络中存在该对象标识对应的资产转移记录,则该区块链节点调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,该第三密文、该第一密文以及该第二密文均由同一加密函数进行同态加密所得;
若该第四密文小于该第二密文、且该第四密文与该第一密文之和大于该第二密文,则该区块链节点调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文;
该区块链节点向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并转移该第五资产给该资产转移对象。
结合第一方面,在一种可能的实施方式中,该区块链节点调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文之后,该方法还包括:
该区块链节点将该第二密文、该第四密文以及该第五密文发送给该区块链网络中的各个共识节点,以使该各个共识节点在验证该第二密文与该第四密文之间的差值等于该第五密文时,返回共识确认消息;
若该各个共识节点返回的共识确认消息满足预设共识策略,则触发该区块链节点向该第一账户返回第一资产转移响应的步骤。
结合第一方面,在一种可能的实施方式中,上述第一账户为银行账户,上述资产转移对象为企业账户,上述第一资产信息为该银行账户的预放款信息,上述第一资产为该银行账户的预放款额度,上述第二资产为该银行账户的放款上限额度,上述资产转移记录为放款记录。
第二方面,本申请提供了一种信息共享装置,该装置包括:
收发模块,用于接收第一账户的资产转移请求,该资产转移请求包括第一资产信息,该第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,该第一密文为第一资产经过目标加密函数进行同态加密后的密文,该第二密文为第二资产经过该目标加密函数进行同态加密后的密文,该第二资产的数额大于或等于该第一资产的数额;
统计模块,用于在检测到区块链网络中存在该对象标识对应的资产转移记录的情况下,调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,该第三密文、该第一密文以及该第二密文均由同一加密函数进行同态加密所得;
计算模块,用于在该第四密文小于该第二密文、且该第四密文与该第一密文之和大于该第二密时,调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文;
该收发模块,还用于向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并转移该第五资产给该资产转移对象。
结合第二方面,在一种可能的实施方式中,上述资产转移请求还包括第一签名以及该第一账户的账户标识。该装置还包括检测模块。上述收发模块,还用于将该资产转移请求发送给该区块链网络中的各个共识节点,以使该各个共识节点根据该第一账户的账户标识在该区块链网络中查找该第一账户的公钥,基于该第一账户的公钥和该第一资产信息对该第一签名进行共识确认;该检测模块,用于在该各个共识节点返回的共识确认消息满足预设共识策略时,在该区块链网络中检测是否存在该对象标识对应的资产转移记录。
结合第二方面,在一种可能的实施方式中,上述收发模块,还用于在检测到该区块链网络中不存在该对象标识对应的资产转移记录,则向该第一账户返回第二资产转移响应,以使该第一账户转移该第一资产给该资产转移对象;或,当该第四密文与该第一密文之和小于或等于该第二密文时,向该第一账户返回该第二资产转移响应,以使该第一账户转移该第一资产给该资产转移对象。
结合第二方面,在一种可能的实施方式中,上述第一资产信息还包括第一时间周期。上述统计模块具体用于:当检测到该区块链网络中存在该对象标识对应的资产转移记录,根据该第一时间周期和该资产转移对象的信用等级对应的时间间隔确定第二时间周期;上述计算模块调用智能合约获取在该第二时间周期内该对象标识对应的资产转移记录中的各个第三密文,将在该第二时间周期内该对象标识对应的资产转移记录中的各个第三密文的总和作为第四密文。
结合第二方面,在一种可能的实施方式中,上述收发模块,还用于在接收到该资产转移对象的第一资产转移记录和该第一资产转移记录经过该第一账户的私钥加密运算后的第二签名时,该第一资产转移记录包括该第五密文、该对象标识以及该第一账户的账户标识;将该第一资产转移记录以及该第二签名发送给该区块链网络中的各个共识节点,以使该各个共识节点根据该第一账户的账户标识在该区块链网络中查找该第一账户的公钥,基于该第一账户的公钥和该第一资产转移记录对该第二签名进行共识确认;上述收发模块,还用于在该各个共识节点返回的共识确认消息满足该预设共识策略时,将该第一资产转移记录上传至该区块链网络中。
结合第二方面,在一种可能的实施方式中,该装置还包括查找模块。上述收发模块,还用于接收该资产转移对象的资产清还信息,该资产清还信息包括第一账户的账户标识和第六密文,该第六密文为第六资产经过该目标加密函数进行同态加密后的密文;该查找模块,用于在该区块链网络中查找该第一资产转移记录;上述计算模块,还用于调用该智能合约对该第一资产转移记录中的第五密文与该第六密文进行同态运算得到第七密文;上述收发模块,还用于向该资产转移对象返回第七密文,并基于该第七密文在该区块链网络中更新该第一资产转移记录。
结合第二方面,在一种可能的实施方式中,上述收发模块,还用于将该第二密文、该第四密文以及该第五密文发送给该区块链网络中的各个共识节点,以使该各个共识节点在验证该第二密文与该第四密文之间的差值等于该第五密文时,返回共识确认消息;当该各个共识节点返回的共识确认消息满足预设共识策略时,向该第一账户返回第一资产转移响应。
结合第二方面,在一种可能的实施方式中,上述第一账户为银行账户,上述资产转移对象为企业账户,上述第一资产信息为该银行账户的预放款信息,上述第一资产为该银行账户的预放款额度,上述第二资产为该银行账户的放款上限额度,上述资产转移记录为放款记录。
第三方面,本申请提供了一种区块链节点,包括:处理器、存储器以及收发器;
该处理器分别与存储器、收发器相连,其中,该存储器用于存储程序代码,该收发器用于与区块链网络中的各个共识节点进行通信或用于收发信息/数据,该收发器具体用于:接收第一账户的资产转移请求,该资产转移请求包括第一资产信息,该第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,该第一密文为第一资产经过目标加密函数进行同态加密后的密文,该第二密文为第二资产经过该目标加密函数进行同态加密后的密文,该第二资产的数额大于或等于该第一资产的数额;
该处理器用于调用该程序代码,以执行以下操作:
若检测到区块链上存在该对象标识对应的资产转移记录,则调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,该第三密文、该第一密文以及该第二密文均由同一加密函数的同态加密所得;
若该第四密文小于该第二密文、且该第四密文与该第一密文之和大于该第二密文,则调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文;
该收发器还用于:向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并转移该第五资产给该资产转移对象。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行如本申请实施例中第一方面中的基于区块链的信息共享方法。
本申请实施例通过接收第一账户的资产转移请求,当检测到区块链上存在该资产转移请求包括的对象标识对应的资产转移记录时,调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,若该第四密文小于该资产转移请求包括的第二密文、且该第四密文与该资产转移请求包括的第一密文之和大于该第二密文,则调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文,向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并转移该第五资产给该资产转移对象。实施本申请实施例,在区块链网络中进行信息多方共享时,利用目标加密函数来对资产进行同态加密可以保护资产信息的隐私性的基础上,在密文之间进行同态运算,减少第一账户的资金损失。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的分布式系统的结构示意图;
图1B是本申请实施例提供的区块结构(Block Structure)的示意图;
图2是本申请实施例提供的一种基于区块链的信息共享方法的流程示意图;
图3是本申请实施例提供的另一种基于区块链的信息共享方法的流程示意图;
图4是本申请实施例提供的信息共享装置的结构示意图;
图5是本申请实施例提供的区块链节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1A,图1A是本申请实施例提供的分布式系统的结构示意图。该分布式系统100由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成点对点(P2P,Peer To Peer)网络。P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1A示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图1B,图1B是本申请实施例提供的区块结构(Block Structure)的示意图。如图1B所示,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
下面将结合附图2至附图3对本申请所提供的基于区块链的信息共享方法进行说明。
在一些可行的实施方式中,本申请实施例所提及的区块链节点可以为图1A所示分布式系统100中的任一节点,该区块链节点可以为部署在税务局的节点,该区块链节点可以与客户端进行通信。本申请实施例所提及的第一账户和资产转移对象可以通过客户端与分布式系统100中的节点进行通信。
请参见图2,图2是本申请实施例提供的一种基于区块链的信息共享方法的流程示意图。如图2所示,该基于区块链的信息共享方法可以包括但不限于以下步骤:
S201,区块链节点接收第一账户的资产转移请求。
在一些可行的实施方式中,上述第一账户可以为银行账户。上述资产转移请求可以包括第一资产信息,该第一资产信息可以包括资产转移对象的对象标识、第一密文以及第二密文。该资产转移对象可以为企业账户。该第一密文可以为第一资产经过目标加密函数进行同态加密后的密文,该第二密文可以为第二资产经过该目标加密函数进行同态加密后的密文,该第二资产的数额大于或等于该第一资产的数额。可选的,该资产转移请求可以理解为第一账户请求该区块链节点进行资产转移验算,验算该第一账户是否可以向该资产转移对象转移该第一资产。该第一账户向该区块链节点发送该第一资产信息,该第一资产信息可以为预放款信息,该预放款信息包括第一资产(即预放款额度)以及第二资产(即第一账户对该资产转移对象的放款额度)。在一种可能的实现方式中,该第二资产为预设值,该第二资产为该第一账户根据该资产转移对象的信用等级和/或纳税信息而确定的,与该资产转移对象的对象标识具有对应关系。该第一资产可以是该资产转移对象提出的。
在一些可行的实施方式中,当银行用户想要给企业贷款时,可以利用第一账户登录银行客户端,并可以在该银行客户端上输入放款对象的对象标识(即资产转移对象的对象标识)、预放款额度(即第一资产)和放款上限额度(即第二资产),该资产转移对象的标识可以是企业纳税识别号,也可以企业法人代表的名字等信息。该银行客户端接收银行用户输入的资产转移对象的对象标识以及第一资产,可选的,该第二资产可以是与该资产转移对象的标识具有关联关系,当银行用户输入该资产转移对象的对象标识时,该银行客户端可以根据该资产转移对象的对象标识查找到该第二资产。并利用目标加密函数对该第一资产进行同态加密后得到第一密文,再利用该目标加密函数对该第二资产进行同态加密后得到第二密文。该银行客户端将该资产转移对象的对象标识、该第一密文以及该第二密文打包成第一资产信息,并通过该第一账户将该第一资产信息携带于资产转移请求中发送给区块链节点。相应地,区块链节点接收该第一账户的资产转移请求。其中,该第二资产的数额大于或等于该第一资产的数额。
需要说明的是,同态加密是指一种加密函数,对明文进行环上的加法和乘法运算后再加密,与加密后对密文进行相应的运算,结果是等价的。具有同态性质的加密函数是指两个明文a、b满足Dec(En(a)⊙En(b))=a⊕b的加密函数,其中En是加密运算,Dec是解密运算,⊙、⊕分别对应明文和密文域上的运算。当⊕代表加法时,称该加密为加同态加密:当⊕代表乘法时,称该加密为乘同态加密。本申请实施例中的目标加密函数,可以是满足同态加密算法(或Dec(En(a)⊙En(b))=a⊕b)的任一函数。
在一些可行的实施方式中,上述资产转移请求中还包括第一签名以及该第一账户的账户标识。区块链节点接收该第一账户的资产转移请求之后,可以根据该第一账户的账户标识获取该第一账户的公钥,各个共识节点可以基于该第一账户的公钥和该第一资产信息对该第一签名进行共识确认。示例性的,各个共识节点利用该第一账户的公钥对该资产转移请求中的第一签名进行解密运算得到第一校验码,共识节点对该第一资产信息进行哈希运算,得到第二校验码,若该第一校验码和该第二校验码相同,共识节点确认该第一签名为该第一账户的,返回共识确认消息如果各个共识节点返回的共识确认消息满足预设共识策略,则区块链节点在区块链网络中检测是否存在该对象标识对应的资产转移记录。其中,本申请实施例的区块链节点和各个共识节点属于同一区块链网络。
在一些可行的实施方式中,上述区块链网络中的各个共识节点拥有不同的权重。区块链节点接收上述各个共识节点返回的该第一签名的验证结果,并可以将返回共识确认消息的共识节点确定为目标共识节点。区块链节点可以统计各个目标共识节点的权重之和,并可以统计区块链网络中各个共识节点的权重之和。区块链节点比较该各个目标共识节点的权重之和是否超过区块链网络中各个共识节点的权重之和的一半。若该各个目标共识节点的权重之和超过区块链网络中各个共识节点的权重之和的一半,则区块链节点确定该各个共识节点返回的该第一签名的验证结果满足预设共识策略。
S202,若检测到区块链网络中存在对象标识对应的资产转移记录,则区块链节点调用智能合约统计对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文。
在一些可行的实施方式中,区块链节点在接收到该上述资产转移请求之后,可以检测区块链网络中是否存在上述对象标识对应的资产转移记录。如果该区块链上存在该对象标识对应的资产转移记录,说明上述资产转移对象有贷款记录,不是第一次贷款,则区块链节点可以调用智能合约在区块链上获取该对象标识对应的各条资产转移记录。区块链节点可以调用智能合约统计该对象标识对应的各条资产转移记录中的第三密文之和,得到第四密文。其中,每条资产转移记录中包括至少一个第三密文。该第三密文为该资产转移对象的待还款资产经过上述目标加密函数进行同态加密后的密文,可选的,该资产转移记录可以是该第一账户转移给该资产转移对象的,也可以是其他账户转移给该资产转移对象。该第三密文、上述第一密文以及上述第二密文均由同一加密函数进行同态加密所得。
在一些可行的实施方式中,如果该区块链网络中不存在该对象标识对应的资产转移记录,说明上述资产转移对象没有贷款记录,是第一次贷款,则区块链节点向上述第一账户返回第二资产转移响应;若所述第四密文与所述第一密文之和小于或等于所述第二密文,则所述区块链节点向所述第一账户返回所述第二资产转移响应,以使所述第一账户转移所述第一资产给所述资产转移对象。该第一账户接收到该第二资产转移响应之后,可以通过银行客户端将上述第一资产转移给该资产转移对象,以完成银行向企业放款。可选的,该第一账户可以通过银行客户端向区块链节点返回本次的资产转移记录,该资产转移记录中包括该资产转移对象的对象标识以及该第一密文。区块链节点可以对该第一账户返回的资产转移记录上链,便于其他银行账户在区块链上查询企业的资产转移记录,从而实现银行间的信息共享。
在一些可行的实施方式中,上述第一资产信息还包括第一时间周期,上述资产转移记录中也包括时间周期信息,该资产转移记录中的时间周期信息为贷款周期,既可以理解为贷款的起始时间至贷款还清的结束时间。如果该区块链上存在该对象标识对应的资产转移记录,则区块链节点获取上述资产转移对象的信用等级对应的时间间隔,可选的,上述资产转移对象的信用等级为预设值,由区块链节点根据上述资产转移对象的还款记录来确定的,示例性的,若没有还款记录,默认该资产转移对象的信用等级为良好。在一种可能的实施方式中,信用等级与时间间隔具有对应关系,是区块链节点预先设定的规则,例如信用等级为良好,对应的时间间隔为2年;信用等级为优秀,对应的时间间隔为1年等等。区块链节点可以根据该第一时间周期和该资产转移对象的信用等级对应的时间间隔确定第二时间周期。区块链节点可以调用智能合约根据上述资产转移对象的对象标识在区块链网络中获取该对象标识对应的各条资产转移记录,并可以从该对象标识对应的各条资产转移记录中获取在第二时间周期内该对象标识对应的资产转移记录中的各个第三密文,将在所述第二时间周期内所述对象标识对应的资产转移记录中的各个第三密文的总和作为所述第四密文。若该资产转移对象的信用等级高于预设等级,则该第二时间周期的起始时间为上述第一时间周期的起始时间与该时间间隔之差。举例来说,该资产转移对象的信用等级为良好,对应的时间间隔为2年,则区块链节点以上述第一时间周期的起始时间为终点,获取该资产转移对象的2年前的资产转移记录,例如,上述第一时间周期为2020年4月21日至2015年4月21日,则该第二时间周期为2018年4月21日至2020年4月21日,即区块链节点获取该资产转移对象在2018年4月21日至2020年4月21日期间的资产转移记录的密文总和,作为上述第四密文。
若该资产转移对象的信用等级低于或等于预设等级,区块链节点则在区块链网络中获取上述资产转移对象在第一时间周期的起始时间之前的所有资产转移记录,将上述资产转移对象在第一时间周期的起始时间之前的所有资产转移记录的密文总和,作为上述第四密文。
本实施例在资产转移对象的信用等级高于预设等级时,查看资产转移对象本次贷款周期(即第一时间周期)之前的较短时间内的贷款记录(即资产转移记录);在资产转移对象的信用等级低于或等于预设等级时,查看资产转移对象在本次贷款周期的起始时间(即第一时间周期的起始时间之前)的所有贷款记录(资产转移记录),如果这些贷款记录中资产转移对象有未还款资产,则基于该未还款资产计算银行(即第一账户)能够给即资产转移对象放款的额度,从而使得银行的放款更合理。
S203,若第四密文小于第二密文、且第四密文与第一密文之和大于第二密文,则区块链节点调用智能合约对第二密文与第四密文进行同态运算得到第五密文。
在一些可行的实施方式中,区块链节点得到上述第四密文之后,可以比较该第四密文与上述第二密文的大小关系。如果该第四密文小于该第二密文,说明企业已经贷款的额度未超过第一账户评估的企业能够承受的贷款额度,则区块链节点调用智能合约计算该第四密文与上述第一密文之和,并比较该第四密文与该第一密文之和与该第二密文的大小关系。如果该第四密文与该第一密文之和大于该第二密文,则区块链节点调用智能合约计算该第二密文与该第四密文之差得到第五密文。其中,该第五密文所对应的资产为企业目前还能够承受的贷款额度。具体的,该智能合约中包括同态运算函数,该同态运算函数的输入为任意两个同态加密后的密文以及函数参数,例如输入为第二密文以及第四密文,上述函数参数为上述目标加密函数确定的,采用不同的加密函数得到的密文元素不一样,因此对应的函数参数不一样,该函数参数可以理解为密文元素个数,则该同态运算函数的输出为任意两个密文之间的差值,例如第二密文与第四密文之间的差值。示例性的,该同态运算函数为subtract(同态减法运算中的一种函数)函数,表示为subtract(C,D,n),其中C为第二密文,D为第四密文,n为函数参数。
在一些可行的实施方式中,如果上述第四密文大于上述第二密文,说明企业已经贷款的额度已超过第一账户评估的企业能够承受的贷款额度,则区块链节点向上述第一账户返回失败响应。该第一账户通过银行客户端接收到该失败响应之后,可以拒绝向上述资产转移对象转移资产。可选的,如果该第四密文与该第一密文之和小于或等于该第二密文,则区块链节点向该第一账户返回第二资产转移响应。该第一账户通过银行客户端接收到该第二资产转移响应之后,可以将该第一资产转移给该资产转移对象。
S204,区块链节点向第一账户返回第一资产转移响应。
在一些可行的实施方式中,区块链节点在得到上述第五密文之后,可以向上述第一账户返回第一资产转移响应。该第一资产转移响应可以包括该第五资产。该第一账户通过银行客户端接收到该第一资产转移响应之后,可以对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并可以向上述资产转移对象转移该第五资产。其中,该第五资产小于上述第一资产。例如,第一资产为10万数额,第二资产为15万数额,第五资产为5万数额。本申请实施例利用同态加密算法来保护隐私信息,并基于区块链查询企业的历史贷款记录,从而基于历史贷款记录判断企业当前可贷款的额度,实现了基于区块链的银行间信息多方共享,不仅降低了信息泄露的风险,还减少了银行的财产损失。
可选的,区块链节点在得到上述第五密文之后,可以利用该第一账户的公钥对第一资产转移响应进行加密,并将加密后的该第一资产转移响应发送给该第一账户。
本申请实施例中,区块链节点接收第一账户的资产转移请求,当检测到区块链上存在该资产转移请求包括的对象标识对应的资产转移记录时,调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,若该第四密文小于该资产转移请求包括的第二密文、且该第四密文与该资产转移请求包括的第一密文之和大于该第二密文,则调用该智能合约计算该第二密文与该第四密文之差得到第五密文,向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行解密,得到第五资产,并转移该第五资产给该资产转移对象。实施本申请实施例,在区块链网络中进行信息多方共享时,利用目标加密函数来对资产进行同态加密可以保护资产信息的隐私性的基础上,在密文之间进行同态运算,减少第一账户的资金损失。
请参见图3,图3是本申请实施例提供的另一种基于区块链的信息共享方法的流程示意图。如图3所示,该基于区块链的信息共享方法可以包括但不限于以下步骤:
S301,区块链节点接收第一账户的资产转移请求。
S302,若检测到区块链上存在对象标识对应的资产转移记录,则区块链节点调用智能合约统计对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文。
S303,若第四密文小于第二密文、且第四密文与第一密文之和大于第二密文,则区块链节点调用智能合约计算第二密文与第四密文之差得到第五密文。
在一些可行的实施方式中,本申请实施例的步骤S301-步骤S303的实现方式可以参考图2所示实施例的步骤S201-步骤S203的实现方式,在此不再赘述。
S304,区块链节点将第二密文、第四密文以及第五密文发送给区块链网络中的各个共识节点,以使各个共识节点进行共识确认。
S305,若各个共识节点返回的共识确认消息满足预设共识策略,则区块链节点向第一账户返回第一资产转移响应。
在一些可行的实施方式中,区块链节点在得到上述第五密文之后,可以将上述第二密文、上述第四密文以及上述第五密文发送给区块链网络中的各个共识节点。各个共识节点接收到该第二密文、该第四密文以及该第五密文之后,可以验证该第二密文与该第四密文之间的差值是否等于该第五密文,在该第二密文与第四密文之间的差值等于该第五密文是,返回确认消息。各个共识节点向区块链节点返回各自的验证结果。如果各个共识节点返回的共识确认消息满足预设共识策略,则区块链节点向上述第一账户返回第一资产转移响应。该第一资产转移响应可以包括该第五资产。该第一账户通过银行客户端接收到该第一资产转移响应之后,可以对该第一资产转移响应包括的该第五密文进行解密,得到第五资产,并可以向上述资产转移对象转移该第五资产。其中,该第五资产小于或等于上述第一资产。其中,本申请实施例的区块链节点和各个共识节点属于同一区块链网络。
如果各个共识节点返回的共识确认消息不满足该预设共识策略,则区块链节点调用智能合约重新计算该第二密文与该第四密文之间的差值,并重新将该第二密文、该第四密文以及差值发送给区块链网络中的各个共识节点做共识,直至各个共识节点返回的共识确认消息满足该预设共识策略。
可选的,上述区块链网络中的各个共识节点拥有不同的权重。区块链节点接收上述各个共识节点返回的验证结果,并可以将返回的共识确认消息的共识节点确定为目标共识节点。区块链节点可以统计各个目标共识节点的权重之和,并可以统计区块链网络中各个共识节点的权重之和。区块链节点比较该各个目标共识节点的权重之和是否超过区块链网络中各个共识节点的权重之和的一半。若该各个目标共识节点的权重之和超过区块链网络中各个共识节点的权重之和的一半,则区块链节点确定该各个共识节点返回的验证结果满足预设共识策略。
需要说明的是,上述第一账户为银行账户,上述资产转移对象为企业账户。上述第一资产信息为该银行账户的预放款信息,上述第一资产为该银行账户的预放款额度,上述第二资产为该银行账户的放款上限额度。上述资产转移记录为放款记录。
S306,区块链节点接收上述资产转移对象的第一资产转移记录和该第一资产转移记录经过第一账户的私钥加密运算后的第二签名。
在一些可行的实施方式中,在上述第一账户向上述资产转移对象转移该第五资产之后,该第一账户可以通过银行客户端生成第一资产转移记录,并可以利用该第一账户的私钥对该第一资产转移记录进行加密运算后得到第二签名。该第一账户可以通过银行客户端向区块链节点发送该第一资产转移记录和该第二签名,相应地,区块链节点接收该第一资产转移记录和该第二签名。该第一资产转移记录中包括该第五密文、该资产转移对象的对象标识以及上述第一账户的账户标识。
S307,区块链节点将第一资产转移记录以及第二签名发送给区块链网络中的各个共识节点,以使各个共识节点根据上述第一账户的账户标识在区块链网络中查找该第一账户的公钥,基于该第一账户的公钥和上述第一资产转移记录对上述第二签名进行共识确认。
S308,若各个共识节点返回的共识确认消息满足预设共识策略,则区块链节点将上述第一资产转移记录上传至区块链网络中。
在一些可行的实施方式中,区块链节点接收到上述第一资产转移记录和上述第二签名后,可以将该第一资产转移记录以及该第二签名发送给区块链网络中的各个共识节点。各个共识节点接收到该第一资产转移记录以及该第一签名之后,可以根据上述第一账户的账户标识获取该第一账户的公钥,利用该第一账户的公钥对该第二签名进行解密运算得到第三校验码,共识节点对该第一资产转移记录进行哈希运算,得到第四校验码,若该第三校验码和该第四校验码相同,共识节点返回共识确认消息。各个共识节点向区块链节点返回各自对该第二签名的验证结果。如果各个共识节点返回的该第二签名的验证结果满足预设共识策略,则区块链节点将该第一账户的该第一资产转移记录上传至区块链网络。其中,此时,该第一资产转移记录中的第五密文为资产转移对象的未还款资产经过上述目标加密函数进行同态加密所得。
在一些可行的实施方式中,区块链节点将上述第一账户的第一资产转移记录上传至区块链网络之后,区块链节点接收上述资产转移对象的资产清还信息,例如,上述资产转移对象可以通过企业客户端向该第一账户转移第六资产,由上述第一账户向区块链节点发送上述资产清还信息,该资产清还信息可以包括第一账户的账户标识和第六密文,该第六密文为该第六资产经过上述目标加密函数的同态加密后的密文,可以理解的是,该第六资产为上述资产信息针对上述第五资产偿还的资金数值。区块链节点接收到该资产清还信息之后,可以在区块链上查找该第一资产转移记录,当该第一资产转移记录中包括的密文不等于零的密文时,区块链节点可以调用智能合约计算该第一资产转移记录中的密文(即第五密文)与该第六密文之间的差值得到第七密文。区块链节点可以利用该资产转移对象的公钥对该第七密文进行加密,并向该资产转移对象发送该资产转移对象的公钥加密后的第七密文。该资产转移对象对该第七密文进行解密后,可以得到待还款额度,该待还款额度可以为零。可选的,区块链节点可以基于该第七密文在该区块链上更新该第一资产转移记录,例如将上述第一资产转移记录中的剩余额度由第五密文改为第七密文;若上述第七密文等于零的密文,将上述第一资产转移记录标记为已完成,进一步地,可以将上述第一资产转移记录删除。
以区块链节点是税务局以及第一账户是银行账户来进行示例性说明,本实施例中,税务局(区块链节点)接收银行(即第一账户)的预放款请求(即资产转移请求),预放款请求中包括预放款信息(即第一资产信息),预放款信息包括纳税标识(即资产转移对象的对象标识)、预放款额度(即第一资产)经过目标加密函数进行同态加密后的第一密文以及放款上限额度(即第二资产)经过目标加密函数进行同态加密后的第二密文。税务局在区块链上查找是否存在这个企业对应的贷款记录(即资产转移记录)。如果存在,则区块链节点调用智能合约统计这些贷款记录中企业的未还款资产对应的密文(即第三密文)之和,得到第四密文。当第四密文小于第二密文、且第四密文与第一密文之和大于第二密文,区块链节点调用智能合约计算第二密文与第四密文之差得到第五密文,并向银行返回资产转移响应。银行根据资产转移响应向企业转移资产。银行向区块链节点返回放款记录(即第一资产转移记录),区块链节点对银行返回的放款记录上链。利用同态加密保护隐私信息的前提下,实现了基于区块链的信息多方共享,不仅降低了信息泄露的风险,还减少了银行的财产损失。
上述内容详细阐述了本申请实施例的基于区块链的信息共享方法,为了便于更好地实施本申请实施例的上述方案,本申请实施例还提供了相应的装置和设备。
请参见图4,图4是本申请实施例提供的信息共享装置的结构示意图。该信息共享装置1可以应用在如图2或图3所示的区块链节点中,该信息共享装置1可以包括:
收发模块10,用于接收第一账户的资产转移请求,该资产转移请求包括第一资产信息,该第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,该第一密文为第一资产经过目标加密函数进行同态加密后的密文,该第二密文为第二资产经过该目标加密函数进行同态加密后的密文,该第二资产的数额大于或等于该第一资产的数额;统计模块11,用于在检测到区块链网络中存在该对象标识对应的资产转移记录的情况下,调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,该第三密文、该第一密文以及该第二密文均由同一加密函数进行同态加密所得;计算模块12,用于在该第四密文小于该第二密文、且该第四密文与该第一密文之和大于该第二密时,调用该智能合约对该第二密文与该第四密文进行同态运算得到第五密文;该收发模块10,还用于向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行同态解密,得到第五资产,并转移该第五资产给该资产转移对象。
在一些可行的实施方式中,上述资产转移请求还包括第一签名以及该第一账户的账户标识。该信息共享装置1还包括检测模块13。上述收发模块10,还用于将该资产转移请求发送给区块链网络中的各个共识节点,以使该各个共识节点根据该第一账户的账户标识在区块链网络中查找上述第一账户的公钥,基于该第一账户的公钥和该第一资产信息对该第一签名进行共识确认;该检测模块13,用于在该各个共识节点返回的共识确认消息满足预设共识策略时,在区块链网络中检测是否存在该对象标识对应的资产转移记录。
在一些可行的实施方式中,上述收发模块10,还用于在检测到该区块链网络中不存在该对象标识对应的资产转移记录,则向该第一账户返回第二资产转移响应,以使该第一账户转移该第一资产给该资产转移对象;或,当该第四密文与该第一密文之和小于或等于该第二密文时,向该第一账户返回该第二资产转移响应,以使该第一账户转移该第一资产给该资产转移对象。
在一些可行的实施方式中,上述第一资产信息还包括第一时间周期。上述统计模块11具体用于:当检测到区块链网络中存在该对象标识对应的资产转移记录,根据该第一时间周期和上述资产转移对象的信用等级对应的时间间隔确定第二时间周期;上述计算模块调用智能合约获取在该第二时间周期内该对象标识对应的资产转移记录中的各个第三密文,将在该第二时间周期内该对象标识对应的资产转移记录中的各个第三密文的总和作为第四密文。
在一些可行的实施方式中,上述收发模块10,还用于在接收到该资产转移对象的第一资产转移记录和该第一资产转移记录经过该第一账户的私钥加密运算后的第二签名时,该第一资产转移记录包括该第五密文、该对象标识以及该第一账户的账户标识;将该第一资产转移记录以及该第二签名发送给该区块链网络中的各个共识节点,以使该各个共识节点根据该第一账户的账户标识在区块链网络中查找第一账户的公钥,基于该第一账户的公钥和该第一资产转移记录对该第二签名进行共识确认,上述收发模块10,还用于在该各个共识节点返回的共识确认消息满足该预设共识策略时,将该第一资产转移记录上传至该区块链网络中。
在一些可行的实施方式中,该信息共享装置1还包括查找模块15。上述收发模块10,还用于接收该资产转移对象的资产清还信息,该资产清还信息包括第一账户的账户标识和第六密文,该第六密文为第六资产经过该目标加密函数进行同态加密后的密文;该查找模块15,用于在该区块链网络中查找该第一资产转移记录;上述计算模块12,还用于调用该智能合约对该第一资产转移记录中的第五密文与该第六密文进行同态运算得到第七密文;上述收发模块10,还用于向该资产转移对象返回第七密文,并基于该第七密文在该区块链网络中更新该第一资产转移记录。
在一些可行的实施方式中,上述收发模块10,还用于将该第二密文、该第四密文以及该第五密文发送给该区块链网络中的各个共识节点,以使该各个共识节点在验证该第二密文与该第四密文之间的差值等于该第五密文时,并返回共识确认消息;当该各个共识节点返回的共识确认消息满足预设共识策略时,向该第一账户返回第一资产转移响应。
在一些可行的实施方式中,上述第一账户为银行账户,上述资产转移对象为企业账户,上述第一资产信息为该银行账户的预放款信息,上述第一资产为该银行账户的预放款额度,上述第二资产为该银行账户的放款上限额度,上述资产转移记录为放款记录。
其中,上述统计模块11、上述计算模块12、上述检测模块13、上述上链模块14以及上述查找模块15可以为一个模块,如处理模块。
具体实现中,各个模块的实现还可以对应参照图2或图3所示的方法实施例中区块链节点的相应描述,执行上述实施例中区块链节点所执行的方法和功能。
在本申请实施例中,信息共享装置1接收第一账户的资产转移请求,当检测到区块链上存在该资产转移请求包括的对象标识对应的资产转移记录时,调用智能合约统计该对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,若该第四密文小于该资产转移请求包括的第二密文、且该第四密文与该资产转移请求包括的第一密文之和大于该第二密文,则调用该智能合约计算该第二密文与该第四密文之差得到第五密文,向该第一账户返回第一资产转移响应,以使该第一账户对该第一资产转移响应包括的该第五密文进行解密,得到第五资产,并转移该第五资产给该资产转移对象。利用同态加密在保护隐私的前提下,实现了基于区块链的信息多方共享,不仅降低了信息泄露的风险,还减少了银行的财产损失。
请参见图5,图5是本申请实施例提供的区块链节点的结构示意图。如图5所示,区块链节点1000可以包括:处理器1001、存储器1002、收发器1003。此外,该电子设备1000还可以包括至少一个通信总线1004。其中,通信总线1004用于实现这些组件之间的连接通信。存储器1002可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1002可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机可读存储介质的存储器1002中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的区块链节点1000中,该收发器1003用于与区块链系统中的各个节点进行通信,该收发器1003具体用于。而处理器1001可以用于调用存储器1002中存储的设备控制应用程序,以实现:
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的信息共享装置1所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图2或图3所对应实施例中对该基于区块链的信息共享方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种基于区块链的信息共享方法,其特征在于,包括:
区块链节点接收第一账户的资产转移请求,所述资产转移请求包括第一资产信息,所述第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,所述第一密文为第一资产经过目标加密函数进行同态加密后的密文,所述第二密文为第二资产经过所述目标加密函数进行同态加密后的密文,所述第二资产的数额大于或等于所述第一资产的数额;
若检测到区块链网络中存在所述对象标识对应的资产转移记录,则所述区块链节点调用智能合约统计所述对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,所述第三密文、所述第一密文以及所述第二密文均由同一加密函数进行同态加密所得;
若所述第四密文小于所述第二密文、且所述第四密文与所述第一密文之和大于所述第二密文,则所述区块链节点调用所述智能合约对所述第二密文与所述第四密文进行同态运算得到第五密文;
所述区块链节点向所述第一账户返回第一资产转移响应,以使所述第一账户对所述第一资产转移响应包括的所述第五密文进行同态解密,得到第五资产,并转移所述第五资产给所述资产转移对象。
2.根据权利要求1所述的方法,其特征在于,所述资产转移请求还包括第一签名以及所述第一账户的账户标识;
所述区块链节点接收第一账户的资产转移请求之后,所述方法还包括:
所述区块链节点将所述资产转移请求发送给所述区块链网络中的各个共识节点,以使所述各个共识节点根据所述第一账户的账户标识在所述区块链网络中查找所述第一账户的公钥,基于所述第一账户的公钥和所述第一资产信息对所述第一签名进行共识确认;
若所述各个共识节点返回的共识确认消息满足预设共识策略,则所述区块链节点在所述区块链网络中检测是否存在所述对象标识对应的资产转移记录。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若检测到所述区块链网络中不存在所述对象标识对应的资产转移记录,则所述区块链节点向所述第一账户返回第二资产转移响应,以使所述第一账户转移所述第一资产给所述资产转移对象;或,
若所述第四密文与所述第一密文之和小于或等于所述第二密文,则所述区块链节点向所述第一账户返回所述第二资产转移响应,以使所述第一账户转移所述第一资产给所述资产转移对象。
4.根据权利要求1所述的方法,其特征在于,所述第一资产信息还包括第一时间周期;
所述区块链节点调用智能合约统计所述对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,包括:
所述区块链节点根据所述第一时间周期和所述资产转移对象的信用等级对应的时间间隔确定第二时间周期;
所述区块链节点调用智能合约获取在所述第二时间周期内所述对象标识对应的资产转移记录中的各个第三密文,将在所述第二时间周期内所述对象标识对应的资产转移记录中的各个第三密文的总和作为所述第四密文;
若所述资产转移对象的信用等级高于预设等级,则所述第二时间周期的起始时间为所述第一时间周期的起始时间与所述时间间隔之差,所述第二时间周期的结束时间为所述第一时间周期的起始时间。
5.根据权利要求1所述的方法,其特征在于,所述区块链节点向所述第一账户返回第一资产转移响应之后,所述方法还包括:
所述区块链节点接收所述资产转移对象的第一资产转移记录和所述第一资产转移记录经过所述第一账户的私钥加密运算后的第二签名,所述第一资产转移记录包括所述第五密文、所述对象标识以及所述第一账户的账户标识;
所述区块链节点将所述第一资产转移记录以及所述第二签名发送给所述区块链网络中的各个共识节点,以使所述各个共识节点根据所述第一账户的账户标识在所述区块链网络中查找所述第一账户的公钥,基于所述第一账户的公钥和所述第一资产转移记录对所述第二签名进行共识确认;
若所述各个共识节点返回的共识确认消息满足所述预设共识策略,则所述区块链节点将所述第一资产转移记录上传至所述区块链网络中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述区块链节点接收所述资产转移对象的资产清还信息,所述资产清还信息包括所述第一账户的账户标识和第六密文,所述第六密文为第六资产经过所述目标加密函数进行同态加密后的密文;
所述区块链节点在所述区块链网络中查找所述第一资产转移记录;
所述区块链节点调用所述智能合约对所述第一资产转移记录中的第五密文与所述第六密文进行同态运算得到第七密文;
所述区块链节点向所述资产转移对象返回第七密文,并基于所述第七密文在所述区块链网络中更新所述第一资产转移记录。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述智能合约中包括同态运算函数;
所述同态运算函数的输入为任意两个同态加密后的密文以及函数参数,所述函数参数为所述目标加密函数确定的,所述同态运算函数的输出为任意两个密文之间的差值。
8.一种信息共享装置,其特征在于,包括:
收发模块,用于接收第一账户的资产转移请求,所述资产转移请求包括第一资产信息,所述第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,所述第一密文为第一资产经过目标加密函数进行同态加密后的密文,所述第二密文为第二资产经过所述目标加密函数进行同态加密后的密文,所述第二资产的数额大于或等于所述第一资产的数额;
统计模块,用于在检测到区块链网络中存在所述对象标识对应的资产转移记录的情况下,调用智能合约统计所述对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,所述第三密文、所述第一密文以及所述第二密文均由同一加密函数进行同态加密所得;
计算模块,用于在所述第四密文小于所述第二密文、且所述第四密文与所述第一密文之和大于所述第二密时,调用所述智能合约对所述第二密文与所述第四密文进行同态运算得到第五密文;
所述收发模块,还用于向所述第一账户返回第一资产转移响应,以使所述第一账户对所述第一资产转移响应包括的所述第五密文进行同态解密,得到第五资产,并转移所述第五资产给所述资产转移对象。
9.一种区块链节点,其特征在于,包括:处理器、存储器以及收发器;
所述处理器分别与存储器、收发器相连,其中,所述存储器用于存储程序代码,所述收发器用于与区块链网络中的各个共识节点进行通信或用于收发信息/数据,所述收发器具体用于:接收第一账户的资产转移请求,所述资产转移请求包括第一资产信息,所述第一资产信息包括资产转移对象的对象标识、第一密文以及第二密文,所述第一密文为第一资产经过目标加密函数进行同态加密后的密文,所述第二密文为第二资产经过所述目标加密函数进行同态加密后的密文,所述第二资产的数额大于或等于所述第一资产的数额;
所述处理器用于调用所述程序代码,以执行以下操作:
若检测到区块链上存在所述对象标识对应的资产转移记录,则调用智能合约统计所述对象标识对应的各条资产转移记录包括的第三密文之和,得到第四密文,所述第三密文、所述第一密文以及所述第二密文均由同一加密函数的同态加密所得;
若所述第四密文小于所述第二密文、且所述第四密文与所述第一密文之和大于所述第二密文,则调用所述智能合约对所述第二密文与所述第四密文进行同态运算得到第五密文;
所述收发器还用于:向所述第一账户返回第一资产转移响应,以使所述第一账户对所述第一资产转移响应包括的所述第五密文进行同态解密,得到第五资产,并转移所述第五资产给所述资产转移对象。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述处理器执行所述程序指令时执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327203.7A CN111507818A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链的信息共享方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327203.7A CN111507818A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链的信息共享方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111507818A true CN111507818A (zh) | 2020-08-07 |
Family
ID=71870143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327203.7A Pending CN111507818A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链的信息共享方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507818A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907244A (zh) * | 2021-02-10 | 2021-06-04 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
-
2020
- 2020-04-23 CN CN202010327203.7A patent/CN111507818A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907244A (zh) * | 2021-02-10 | 2021-06-04 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN112907244B (zh) * | 2021-02-10 | 2023-11-28 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2735439C2 (ru) | Система и способ для защиты информации | |
CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
CN110839029B (zh) | 一种微服务注册方法和装置 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
JP2020035436A (ja) | ペットフードのトレーサビリティシステム | |
CN107274139A (zh) | 仓单数据管理方法和计算机可读介质 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN109858228A (zh) | 基于区块链的数据共享服务平台及方法 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
US20080263645A1 (en) | Privacy identifier remediation | |
CN111723060B (zh) | 基于区块链的黑名单数据共享方法及系统 | |
CN111431713A (zh) | 一种私钥存储方法、装置和相关设备 | |
CN104836776A (zh) | 数据交互方法和装置 | |
CN111507839A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN110910000A (zh) | 一种区块链资产管理方法和装置 | |
CN114565386A (zh) | 多方协同隐私保护的区块链托管交易方法及系统 | |
CN113283957B (zh) | 一种基于区块链的实体产品交易方法 | |
CN113407954A (zh) | 基于区块链的数据管理方法及装置 | |
CN113947394A (zh) | 云存储中重复数据可删除的基于区块链的公平支付方法 | |
CN109685659B (zh) | 一种区块链硬钱包支持链下交易的方法及硬钱包 | |
US20230259899A1 (en) | Method, participant unit, transaction register and payment system for managing transaction data sets | |
EP3799352A1 (en) | A method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider | |
CN111507818A (zh) | 一种基于区块链的信息共享方法、装置及存储介质 | |
CN115409511B (zh) | 一种基于区块链的个人信息保护系统 | |
CN111598556A (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 |