CN111400743B - 基于区块链网络的事务处理方法、装置、电子设备和介质 - Google Patents
基于区块链网络的事务处理方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN111400743B CN111400743B CN202010276519.8A CN202010276519A CN111400743B CN 111400743 B CN111400743 B CN 111400743B CN 202010276519 A CN202010276519 A CN 202010276519A CN 111400743 B CN111400743 B CN 111400743B
- Authority
- CN
- China
- Prior art keywords
- password
- transaction
- parameter
- ciphertext
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 112
- 230000008569 process Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000005516 engineering process Methods 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000013475 authorization Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2131—Lost password, e.g. recovery of lost or forgotten passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了基于区块链的事务处理方法,涉及区块链技术领域。由可信节点执行的具体实现方案为:获取包括参数密文的事务处理请求;根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。本申请技术解决了智能合约隐私数据泄露问题,实现了轻量级的基于可信执行环境的包括隐私数据的事务请求处理方式,降低了可信执行环境的计算压力。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及区块链技术领域,具体涉及基于区块链的事务处理方法、装置、电子设备和介质。
背景技术
对于在区块链网络上进行的智能合约交易,可能需要加密保护以保证交易数据的安全性。如果由交易的发起方对相关数据进行加密保护,例如轻量级节点对数据进行加密,那么将密文发送至区块链网络后,其它全节点无法运行智能合约对密文进行处理,也无法对智能合约运行的正确性进行验证。
因此,目前智能合约交易的相关数据通常是明文存储在区块链网络账本中,智能合约的隐私数据存在泄漏风险。
发明内容
提供了一种用于基于区块链网络的事务处理方法、装置、设备以及存储介质。
根据第一方面,提供了一种基于区块链网络的事务处理方法,由区块链网络中可信节点执行,所述方法包括:
获取包括参数密文的事务处理请求;
根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;
根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
根据第二方面,提供了一种基于区块链网络的事务处理方法,由区块链客户端执行,所述方法包括:
生成包括参数密文的事务处理请求;
向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
根据第三方面,提供了一种基于区块链网络的事务处理方法,由密码生成节点执行,所述方法包括:
确定候选版本密码;
向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中。
根据第四方面,提供了一种基于区块链网络的事务处理装置,配置于区块链网络的可信节点中,所述装置包括:
事务请求获取模块,用于获取包括参数密文的事务处理请求;
事务密钥确定模块,用于根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;
事务请求处理模块,用于根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
根据第五方面,提供了一种基于区块链网络的事务处理装置,配置于区块链客户端中,所述装置包括:
事务请求生成模块,用于生成包括参数密文的事务处理请求;
事务请求发送模块,用于向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
根据第六方面,提供了一种基于区块链网络的事务处理装置,配置于密码生成节点中,所述装置包括:
密码确定模块,用于确定候选版本密码;
密码发送模块,用于向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中。
根据第七方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例中任一项所述由可信节点执行的方法,或者执行如本申请实施例中任一项所述由区块链客户端执行的方法,或者执行如本申请实施例中任一项所述由密码生成节点执行的方法。
根据第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例中任一项所述由可信节点执行的方法,或者执行如本申请实施例中任一项所述由区块链客户端执行的方法,或者执行如本申请实施例中任一项所述由密码生成节点执行的方法。
根据本申请的技术解决了智能合约隐私数据泄露问题,实现了轻量级的基于可信执行环境的包括隐私数据的事务请求处理方式,降低了可信执行环境的计算压力。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图2是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图3是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图4是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图5是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图6是根据本申请实施例提供的基于区块链网络的事务处理方法的流程示意图;
图7是根据本申请实施例提供的基于区块链网络的事务处理装置的结构示意图;
图8是根据本申请实施例提供的基于区块链网络的事务处理装置的结构示意图;
图9是根据本申请实施例提供的基于区块链网络的事务处理装置的结构示意图;
图10是用来实现本申请实施例的基于区块链的事务处理的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例提供的基于区块链的事务处理方法的流程示意图。本实施例可适用于区块链网络中可信节点对基于智能合约的事务处理请求进行处理的情况。本实施例公开的基于区块链的事务处理方法可以由承载可信节点的电子设备执行,具体可以由基于区块链的事务处理装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图1,本实施例提供的由区块链网络中可信节点执行的基于区块链的事务处理方法包括:
S110、获取包括参数密文的事务处理请求。
其中,参数密文通过采用事务密钥对智能合约要调用的参数原文进行加密得到。参数原文为智能合约的隐私数据。所述事务处理请求可以为包括参数密文的背书事务处理请求,一般由区块链客户端发起;事务处理请求也可以为包括参数密文和背书处理密文的验证事务处理请求,一般经背书处理之后,基于共识机制传输到可信验证节点。背书处理密文通过采用事务密钥对背书结果原文进行加密得到,可以为智能合约的读写集。
其中,事务密钥由背书节点根据当前版本密码生成。不同事务的事务密钥不同。某一事务的背书事务处理请求和验证事务处理请求可以采用相同事务密钥,也可以采用不同事务密钥;一般采用相同事务密钥。
S120、根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥。
其中,可信节点可以采用TEE(可信执行环境)芯片,例如英特尔的SGX芯片(IntelSoftware Guard Extensions)。可信芯片中的密码存储区(安全存储区),用于存储当前版本密码。其中,当前版本密码是指区块链网络中各可信节点同步使用的密码,用于确定事务密钥。密码存储区中可以存储有多个候选密码,可信节点可以周期性地从候选密码中选择当前版本密码,从而避免密码泄露导致的事务密钥泄露。
其中,所述事务密钥中包括事务的密钥生成数据例如事务摘要和区块链客户端的账户地址。具体的,从事务密钥中提取密钥生成数据,根据密钥生成数据和本地密码存储区中的当前版本密码,确定事务密钥。
需要说明的是,本申请实施例中密钥处理过程在可信执行环境中执行,可信执行环境每次使用事务密钥之前都需要调用密钥衍生函数重新确定事务密钥。
S130、根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
具体的,可信执行环境采用确定的事务密钥,对事务处理请求中数据密文进行处理,得到数据原文,调用智能合约对数据原文进行处理。其中数据密文可以为参数密文和/或背书结果密文;相应地,数据原文可以为参数原文和/或背书结果原文。
需要说明的是,本申请实施例只将涉及到密文处理的计算部分放到可信执行环境中,其他诸如签名验证、事务打包、共识和区块同步等非常消耗资源的计算任务还是放在可信执行环境之外虚拟机中执行,即最小化的将密文处理的相关任务放到可信执行环境里面,防止可信执行环境出现性能瓶颈。另外,可信执行环境支持对数据密文做四则运算,丰富了智能合约的计算能力。
可选的,S130可以包括:根据所述事务密钥,对所述参数密文进行解密得到参数原文;调用所述智能合约根据所述参数原文对所述事务请求进行处理。由于可信执行环境能够确定参数原文,因此在可信执行环境中能够调用智能合约进行事务处理,解决了智能合约隐私数据泄露问题。
本申请实施例的技术方案,通过可信节点的密码存储区存储当前版本密码,在可信执行环境中根据当前版本密码确定事务密钥,基于生成的事务密钥调用智能数据处理包括数据密文的事务请求,解决了智能合约隐私数据泄露问题。通过将涉及密钥处理计算放在可执行环境中,实现了轻量级的基于可信执行环境的包括隐私数据的事务请求处理方式,降低了可信执行环境的计算压力。
图2是根据本申请实施例提供的一种基于区块链的事务处理方法的流程示意图,由可信节点执行。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例提供的基于区块链的事务处理方法包括:
S210、从密码生成节点获取候选版本密码。
其中,密码生成节点可以为区块链网络中节点,也可以不为区块链网络中节点。为了避免密码泄露,密码生成节点可以为可信节点。密码生成节点用于生成候选版本密码,并将候选版本密码发送给区块链网络中可信节点,可信节点将获取的候选版本密码存储于本地密码存储区中。
具体的,密码生成节点可以基于密码衍生函数生成多个候选版本密码。不同候选版本密码的版本号不同,在先生成的候选版本密码能够推导在后生成的候选版本密码,且在后生成的候选版本密码不能够推导在先生成的候选版本密码。
可选的,密码生成节点可以基于哈希消息认证码技术,根据根密码和候选密码版本号,确定所述候选版本密码。具体的,密码生成节点可以从中立的第三方获取根密码,可以表示为kds(0)。
并且,通过如下确定候选版本密码:
kds(n)=HMAC(kds(n-1),n-1|kds(n-1))
其中,kds(n)表示版本号为n的候选版本密码,HMAC()表示哈希消息认证码技术,kds(n-1)表示版本号为n-1的候选版本密码,n-1表示版本号,|表示链接符号。
S220、从所述候选版本密码中选择所述当前版本密码。
其中,可信节点的版本密码可以周期性更新,避免版本密码泄露导致的事务密钥泄露,从而进一步提高智能合约隐私数据的安全性。区块链网络中不同可信节点的密码同步更新,即不同可信节点的当前版本密码一致。
可选的,S220可以包括:接收所述密码生成节点发送的密码更新指令;响应于所述密码更新指令进行重启,并根据重启前使用的原版本密码,从所述候选版本密码中选择所述当前版本密码。
具体的,密码生成节点周期性地向区块链网络中可信节点发送密码更新指令。可信节点响应于密码更新指令进行重启后,更新当前版本密码。
可选的,所述原版本密码通过基于哈希消息认证码技术,根据所述当前版本密码和当前版本号生成。也就是说,当前版本密码先与原版本密码生成,例如原版本密码为kds(i+1),则当前版本密码可以为kds(i)。
这样设置的好处在于,使用时间长的密码更容易泄露,在写生成的候选密码能够确定在后生成的候选密码且在后生成的候选密码无法确定在先生成的候选密码。因此,可信节点先使用在后生成的候选密码再使用在先生成的候选密码,避免在后生成的候选密码泄露后影响在后生成的候选密码的安全性。
S230、获取包括参数密文的事务处理请求。
S240、根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥。
可选的S240可以包括:从所述参数密文中提取所述区块链客户端的账户地址和参数摘要;根据所述账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定所述事务密钥。
具体的,可以通过如下确定事务密钥:
Key=HMAC(kds(i),address|args_hash)
其中,Key为事务密钥,kds(i)为当前版本密码,address为区块链客户端的账户地址,args_hash为参数摘要,|为链接符号。address和args_hash从参数密文中提取。
S250、根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
本申请实施例的技术方案,通过可信节点从密码生成节点获取候选版本密码,且在当前版本密码更新过程中通过先将在后生成的候选版本密码作为当前版本密码,再将在后生成的候选版本密码作为当前版本密码,进一步提高事务密钥的安全性,从而提高智能合约隐私数据的安全性。
图3是根据本申请实施例提供的一种基于区块链的事务处理方法的流程示意图,由可信节点执行。本实施例是在上述实施例的基础上提出的一种可选方案。参见图3,本实施例提供的基于区块链的事务处理方法包括:
S310、根据从区块链客户端获取的智能合约要调用的参数原文,确定参数摘要。
具体的,可信背书节点从区块链客户端获取智能合约要调用的参数原文;采用哈希算法,对参数原文进行处理得到参数摘要。区块链客户端可以为区块链轻量级节点,也可以不为轻量级节点,仅为区块链SDK(软件开发工具包)。
可选的,S310之前还包括:响应于所述区块链客户端的数据传输请求,调用授权服务确定所述区块链客户端是否具有数据传输权限;若有,则通过加密通道,从所述区块链客户端获取智能合约要调用的参数原文。
具体的,通过授权服务(Certificate Authority,CA)为区块链客户端授予智能合约执行权限,可信背书节点中API Server只接收具有权限的区块链客户端的参数原文,拒绝不具有权限的区块链客户端的参数原文。由于只有权限的区块链客户端才能够使用可信节点中当前版本密码,减少当前版本密码使用次数,进一步提高当前版本密码的安全性。
S320、根据所述区块链客户端的账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定事务密钥。
具体的,通过如下确定事务密钥:
Key=HMAC(kds(i),address|args_hash)
其中,Key为事务密钥,kds(i)为当前版本密码,address为区块链客户端的账户地址,args_hash为参数摘要,|为链接符号。
S330、采用所述事务密钥对所述参数原文进行加密,得到参数密文。
S340、向所述区块链客户端反馈所述参数密文。
S350、获取包括参数密文的事务处理请求。
S360、根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥。
S370、根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
具体的,采用事务密钥对参数密文进行解密得到参数原文,调用智能合约根据参数原文进行处理得到背书结果原文(预执行结果原文)。
可选的,S370之后还包括:采用所述事务密钥,对背书结果原文进行加密得到背书结果密文,用于根据所述参数密文和所述背书结果密文发起验证事务处理请求。从而避免背书结果原文泄露,进一步保护智能合约的隐私数据。
具体的,基于共识机制,将验证事务请求同步给区块链网络中可信验证节点,例如区块生成可信节点或监管可信节点。由可信验证节点对背书结果密文进行验证。
可选的,若可信节点为可信验证节点;所述事务处理请求为根据所述参数密文和背书结果密文发起的验证事务处理请求。可信验证节点响应于验证事务处理请求,根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;根据所述事务密钥,调用智能合约对所述验证事务处理请求进行处理。
具体的,可信验证节点获取验证事务请求之后,基于共识机制对背书结果密文进行验证。例如,可信背书节点将智能合约的读写数据集(即背书结果密文)与该事务请求、区块链客户端的账户私钥签名,一起封装,然后提交至可信验证节点。可信验证节点至少验证账户签名,背书签名等,运行智能合约执行一遍该事务请求,确定智能合约的读写数据集是否正确。
本申请实施例的技术方案,通过可信背书节点为区块链客户端的事务生成事务密钥,并采用事务密钥对参数原文进行加密得到参数密文,区块链客户端基于参数密文发起事务处理请求,由于可信节点能够确定事务密钥,因此能够对基于参数密文发起事务处理请求进行处理,进一步提高了智能合约隐私数据的安全性。
图4是根据本申请实施例提供的基于区块链的事务处理方法的流程示意图。本实施例可适用于区块链客户端对基于智能合约的事务处理请求进行处理的情况。本实施例公开的基于区块链的事务处理方法可以由承载区块链客户端的电子设备执行,具体可以由基于区块链的事务处理装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图4,本实施例提供的由区块链客户端执行的基于区块链的事务处理方法包括:
S410、生成包括参数密文的事务处理请求。
其中,参数密文可以由区块链网络中可信背书节点确定。
可选的,参数密文可以根据当前版本密码、区块链客户端的账户地址和参数摘要确定。参数摘要为智能合约需要调用的参数原文的摘要。
可选的,S410之前还包括:向可信背书节点发送智能合约要调用的参数原文,用于指示可信背书节点确定事务密钥,并采用所述事务密钥对所述参数原文进行加密得到参数密文:从所述可信背书节点获取所述参数密文。
S420、向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
本申请实施例的技术方案,区块链客户端通过使用可信背书节点为事务生成事务密钥,并基于参数密文发起事务处理请求,由于可信节点能够确定事务密钥,因此能够对基于参数密文发起事务处理请求进行处理,提高了智能合约隐私数据的安全性。
图5是根据本申请实施例提供的基于区块链的事务处理方法的流程示意图。本实施例可适用于密码生成节点对基于智能合约的事务处理请求进行处理的情况。本实施例公开的基于区块链的事务处理方法可以由承载密码生成节点的电子设备执行,具体可以由基于区块链的事务处理装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图5,本实施例提供的由密码生成节点执行的基于区块链的事务处理方法包括:
S510、确定候选版本密码。
具体的,密码生成节点可以基于密码衍生函数生成多个候选版本密码。不同候选版本密码的版本号不同,在先生成的候选版本密码能够确定在后生成的候选版本密码,且在后生成的候选版本密码不能够确定在先生成的候选版本密码。
可选的,S510包括:基于哈希消息认证码技术,根据根密码和候选密码版本号,确定所述候选版本密码。
具体的,密码生成节点可以从中立的第三方获取根密码,可以表示为kds(0)。
并且,通过如下确定候选版本密码:
kds(n)=HMAC(kds(n-1),n-1|kds(n-1))
其中,kds(n)表示版本号为n的候选版本密码,HMAC()表示哈希消息认证码技术,kds(n-1)表示版本号为n-1的候选版本密码,n-1表示版本号,|表示链接符号。
S520、向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中。
可选的,还包括:向所述可信节点发送密码更新指令,用于指示所述可信节点从所述候选版本密码中选择所述当前版本密码。
其中,可信节点的版本密码可以周期性更新,避免版本密码泄露导致的事务密钥泄露,从而进一步提高智能合约隐私数据的安全性。区块链网络中不同可信节点的密码同步更新,即不同可信节点的当前版本密码一致。
可选的,所述原版本密码通过基于哈希消息认证码技术,根据所述当前版本密码和当前版本号生成。也就是说,当前版本密码先与原版本密码生成,例如原版本密码为kds(i+1),则当前版本密码可以为kds(i)。
这样设置的好处在于,使用时间长的密码更容易泄露,在写生成的候选密码能够确定在后生成的候选密码且在后生成的候选密码无法确定在先生成的候选密码。因此,可信节点先使用在后生成的候选密码再使用在先生成的候选密码,避免在后生成的候选密码泄露后影响在后生成的候选密码的安全性。
本申请实施例的技术方案,密码生成节点通过密码衍生函数确定多个候选版本密码供可信节点周期性使用,并且可信节点先使用在后生成的候选密码后使用在先使用的候选密钥,进一步提高候选密码的安全性,从而提高事务密钥、智能合约隐私数据的安全性。
图6是根据本申请实施例提供的基于区块链的事务处理方法的具体实现过程信令图。参考图6,该方法由事务处理系统执行,事务处理系统至少包括区块链客户端、区块链网络中可信节点和密码生成节点。该系统还可以包括通过授权服务。相应地,该方法包括:
密码生成节点通过密钥衍生函数生成多个候选版本密码,且将候选版本密码发送到区块链网络的可信节点中。
区块链网络的可信节点将所述候选版本密码写入本地密码存储区,还从候选版本密码中选择当前版本密码,且将当前版本密码写入本地密码存储区。
区块链客户端通过加密通道向区块链网络中可信背书节点发送数据传输请求。
具体的,区块链客户端在需要调用智能合约发起事务请求时,生成数据传输请求。其中,数据传输请求中包括智能合约要调用的参数原文。
可信背书节点还可以调用授权服务确定区块链客户端是否具有访问权限。如果有继续执行后续操作;否则结束操作。
可信背书节点根据参数原文确定参数摘要,并根据本地密码存储区中的当前版本密码、区块链客户端的账户地址和参数摘要,确定事务密钥,并将事务密文反馈给区块链客户端。其中,事务密钥中包括所述账户地址和参数摘要。
需要说明的是,本申请实施例中事务密钥具有如下特性:1)安全性:事务密钥长度保证在256bit以上,保证密钥难以被猜出;同时不同用户的密钥以及不同事务的密钥能够做到不一样;2)可定期更新:密钥必须能够被定期更新,防止密钥丢失带来灾难性的后果;3)无关联性:新旧密钥之间需要具备无关联性或者弱关联性,在先生成的密码能够衍生出在后生成的密码,因此先采用在后生成的密码确定事务密钥,再采用在后生成的密码确定事务密钥。
区块链客户端根据所述事务密文发起事务处理请求。
可信背书节点响应于所述事务处理请求,从所述事务密文中提取账户地址和参数摘要,并根据本地密码存储区中的当前版本密码、区块链客户端的账户地址和参数摘要,重新确定事务密钥。
可信背书节点采用事务密钥,对参数密文进行解析得到参数原文;调用智能合约根据参数原文进行事务处理,得到背书结果原文;采用事务密钥对背书结果原文进行加密,得到背书结果密文,即智能合约的读写集。
另外,区块链网络中可信验证节点响应于获取的验证事务请求,从所述事务密文中提取账户地址和参数摘要,并根据自身密码存储区中的当前版本密码、区块链客户端的账户地址和参数摘要,确定事务密钥;根据事务密钥,对验证事务请求进行处理。其中,所述验证事务请求包括参数密文和背书结果密文。
本申请实施例中可信节点(可信背书节点或可信验证节点)中可以只部署一个虚拟机,虚拟机中有交互接口(API Server)和可信执行环境,密码管理模块和合约执行模块均位于可执行环境中。另外,可信节点中可以部署有密码管理虚拟机和智能合约虚拟机;其中密码管理虚拟机包括密码管理模块和交互接口,智能合约虚拟机中包括合约执行模块,密码管理模块和合约执行模块均位于可执行环境中。本申请实施例对可信节点的虚拟机设置方式不作具体限定。
本申请实施例的技术方案,区块链网络可信节点的密码存储区中存储有候选版本密码和当前版本密码,在可信节点需要对数据密文进行处理过程中,根据当前版本密码确定事务密钥,并采用事务密钥对数据密文进行解密得到数据原文,实现了基于智能合约的数据进行隐私存储和计算,实现了最小化的将密文处理的相关任务放到可信执行环境中,防止可信执行环境出现性能瓶颈;另外,通过虚拟机中配置可信执行环境的方式完成隐私计算,非常容易部署。
图7是根据本申请实施例提供的配置于区块链网络中可信节点的基于区块链的事务处理装置的结构示意图。参见图7,本申请实施例公开了基于区块链的事务处理装置700,该装置700包括:
事务请求获取模块701,用于获取包括参数密文的事务处理请求;
事务密钥确定模块702,用于根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;
事务请求处理模块703,用于根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
可选的,所述装置700还包括:
密码接收模块,用于从密码生成节点获取候选版本密码;
密码选择模块,用于从所述候选版本密码中选择所述当前版本密码。
可选的,密码选择模块包括:
更新指令接收单元用于,接收所述密码生成节点发送的密码更新指令;
密码更新单元,用于响应于所述密码更新指令进行重启,并根据重启前使用的原版本密码,从所述候选版本密码中选择所述当前版本密码。
可选的,所述原版本密码通过基于哈希消息认证码技术,根据所述当前版本密码和当前版本号生成。
可选的,事务密钥确定模块702包括:
数据提取单元,用于从所述参数密文中提取所述区块链客户端的账户地址和参数摘要;
事务密钥生成单元,用于根据所述账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定所述事务密钥。
可选的,事务请求处理模块703包括:
密文解密单元,用于根据所述事务密钥,对所述参数密文进行解密得到参数原文;
合约调用单元,用于调用所述智能合约根据所述参数原文对所述事务请求进行处理。
可选的,若所述可信节点为可信背书节点;相应地,所述装置还包括:
摘要确定模块,用于根据从所述区块链客户端获取的智能合约要调用的参数原文,确定参数摘要;
密钥确定模块,用于根据所述区块链客户端的账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定事务密钥;
密文生成模块,用于采用所述事务密钥对所述参数原文进行加密,得到参数密文;
密文发送模块,用于向所述区块链客户端反馈所述参数密文。
可选的,所述装置还包括:
鉴权模块,用于响应于所述区块链客户端的数据传输请求,调用授权服务确定所述区块链客户端是否具有数据传输权限;
原文接收模块,用于若有,则通过加密通道,从所述区块链客户端获取智能合约要调用的参数原文。
可选的,所述装置还包括:
背书结果加密模块,用于采用所述事务密钥,对背书结果原文进行加密得到背书结果密文,用于根据所述参数密文和所述背书结果密文发起验证事务处理请求。
可选的,若所述可信节点为可信验证节点;所述事务处理请求为根据所述参数密文和背书结果密文发起的验证事务处理请求。
本申请实施例的技术方案,区块链网络可信节点的密码存储区中存储有候选版本密码和当前版本密码,在可信节点需要对数据密文进行处理过程中,根据当前版本密码确定事务密钥,并采用事务密钥对数据密文进行解密得到数据原文,实现了基于智能合约的数据进行隐私存储和计算,实现了最小化的将密文处理的相关任务放到可信执行环境中,防止可信执行环境出现性能瓶颈;另外,通过虚拟机中配置可信执行环境的方式完成隐私计算,非常容易部署。
图8是根据本申请实施例提供的配置于区块链客户端的基于区块链的事务处理装置的结构示意图。参见图8,本申请实施例公开了基于区块链的事务处理装置800,该装置800包括:
事务请求生成模块801,用于生成包括参数密文的事务处理请求;
事务请求发送模块802,用于向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理。
可选的,所述装置还包括:
原文发送模块,用于向可信背书节点发送智能合约要调用的参数原文,用于指示可信背书节点确定事务密钥,并采用所述事务密钥对所述参数原文进行加密得到参数密文:
密文获取模块,用于从所述可信背书节点获取所述参数密文。
本申请实施例的技术方案,区块链客户端通过使用可信背书节点为事务生成事务密钥,并基于参数密文发起事务处理请求,由于可信节点能够确定事务密钥,因此能够对基于参数密文发起事务处理请求进行处理,提高了智能合约隐私数据的安全性。
图9是根据本申请实施例提供的配置于密码生成节点的基于区块链的事务处理装置的结构示意图。参见图9,本申请实施例公开了基于区块链的事务处理装置900,该装置900包括:
密码确定模块901,用于确定候选版本密码;
密码发送模块902,用于向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中。
可选的,所述装置900还包括:
更新指令发送模块,用于向所述可信节点发送密码更新指令,用于指示所述可信节点从所述候选版本密码中选择所述当前版本密码。
可选的密码确定模块901,具体用于:基于哈希消息认证码技术,根据根密码和候选密码版本号,确定所述候选版本密码。
本申请实施例的技术方案,密码生成节点通过密码衍生函数确定多个候选版本密码供可信节点周期性使用,并且可信节点先使用在后生成的候选密码后使用在先使用的候选密钥,进一步提高候选密码的安全性,从而提高事务密钥、智能合约隐私数据的安全性。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的基于区块链的事务处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的基于区块链的事务处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于区块链的事务处理的方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于区块链的事务处理的方法对应的程序指令/模块(例如,附图所示的事务请求获取模块701、事务密钥确定模块702和事务请求处理模块703;又如,事务请求生成模块801和事务请求发送模块802;又如,密码确定模块801和密码发送模块802)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于区块链的事务处理的方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于区块链的事务处理的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至基于区块链的事务处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于区块链的事务处理的方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与基于区块链的事务处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,本申请实施例的技术方案,区块链网络可信节点的密码存储区中存储有候选版本密码和当前版本密码,在可信节点需要对数据密文进行处理过程中,根据当前版本密码确定事务密钥,并采用事务密钥对数据密文进行解密得到数据原文,实现了基于智能合约的数据进行隐私存储和计算,实现了最小化的将密文处理的相关任务放到可信执行环境中,防止可信执行环境出现性能瓶颈;另外,通过虚拟机中配置可信执行环境的方式完成隐私计算,非常容易部署。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (19)
1.基于区块链网络的事务处理方法,其特征在于,由区块链网络中可信节点执行,所述方法包括:
获取包括参数密文的事务处理请求;
根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;
根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;
其中,所述根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥,包括:
从所述参数密文中提取区块链客户端的账户地址和参数摘要;
根据所述账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定所述事务密钥。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥之前,还包括:
从密码生成节点获取候选版本密码;
从所述候选版本密码中选择所述当前版本密码。
3.根据权利要求2所述的方法,其特征在于,从所述候选版本密码中选择所述当前版本密码,包括:
接收所述密码生成节点发送的密码更新指令;
响应于所述密码更新指令进行重启,并根据重启前使用的原版本密码,从所述候选版本密码中选择所述当前版本密码。
4.根据权利要求3所述的方法,其特征在于,所述原版本密码通过基于哈希消息认证码技术,根据所述当前版本密码和当前版本号生成。
5.根据权利要求1所述的方法,其特征在于,根据所述事务密钥,调用智能合约对所述事务处理请求进行处理,包括:
根据所述事务密钥,对所述参数密文进行解密得到参数原文;
调用所述智能合约根据所述参数原文对所述事务请求进行处理。
6.根据权利要求1-5中任一项所述的方法,其特征在于,若所述可信节点为可信背书节点;相应地,获取包括参数密文的事务处理请求之前,还包括:
根据从所述区块链客户端获取的智能合约要调用的参数原文,确定参数摘要;
根据所述区块链客户端的账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定事务密钥;
采用所述事务密钥对所述参数原文进行加密,得到参数密文;
向所述区块链客户端反馈所述参数密文。
7.根据权利要求6所述的方法,其特征在于,根据从所述区块链客户端获取的智能合约要调用的参数原文,确定参数摘要之前,还包括:
响应于所述区块链客户端的数据传输请求,调用授权服务确定所述区块链客户端是否具有数据传输权限;
若有,则通过加密通道,从所述区块链客户端获取智能合约要调用的参数原文。
8.根据权利要求6所述的方法,其特征在于,调用智能合约对所述事务处理请求进行处理之后,还包括:
采用所述事务密钥,对背书结果原文进行加密得到背书结果密文,用于根据所述参数密文和所述背书结果密文发起验证事务处理请求。
9.根据权利要求1-5中任一项所述的方法,其特征在于,若所述可信节点为可信验证节点;所述事务处理请求为根据所述参数密文和背书结果密文发起的验证事务处理请求。
10.基于区块链网络的事务处理方法,其特征在于,由区块链客户端执行,所述方法包括:
生成包括参数密文的事务处理请求;
向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;其中,所述事务密钥通过如下方式确定:从所述参数密文中提取区块链客户端的账户地址和参数摘要;根据所述账户地址、所述参数摘要和密码存储区中的当前版本密码,确定所述事务密钥。
11.根据权利要求10所述的方法,其特征在于,生成包括参数密文的事务处理请求之前,还包括:
向可信背书节点发送智能合约要调用的参数原文,用于指示可信背书节点确定事务密钥,并采用所述事务密钥对所述参数原文进行加密得到参数密文:
从所述可信背书节点获取所述参数密文。
12.基于区块链网络的事务处理方法,其特征在于,由密码生成节点执行,所述方法包括:
确定候选版本密码;
向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中,使可信节点根据事务处理请求中的参数密文和从所述候选版本密码中选择的当前版本密码,确定事务密钥;根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;其中,所述事务密钥通过如下方式确定:从所述参数密文中提取区块链客户端的账户地址和参数摘要;根据所述账户地址、所述参数摘要和所述当前版本密码,确定所述事务密钥。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
向所述可信节点发送密码更新指令,用于指示所述可信节点从所述候选版本密码中选择所述当前版本密码。
14.根据权利要求12所述的方法,其特征在于,确定候选版本密码,包括:
基于哈希消息认证码技术,根据根密码和候选密码版本号,确定所述候选版本密码。
15.基于区块链网络的事务处理装置,其特征在于,配置于区块链网络中可信节点中,所述装置包括:
事务请求获取模块,用于获取包括参数密文的事务处理请求;
事务密钥确定模块,用于根据所述参数密文和本地密码存储区中的当前版本密码,确定事务密钥;
事务请求处理模块,用于根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;
其中,所述事务密钥确定模块包括:
数据提取单元,用于从所述参数密文中提取所述区块链客户端的账户地址和参数摘要;
事务密钥生成单元,用于根据所述账户地址、所述参数摘要和所述本地密码存储区中的当前版本密码,确定所述事务密钥。
16.基于区块链网络的事务处理装置,其特征在于,配置于区块链客户端中,所述装置包括:
事务请求生成模块,用于生成包括参数密文的事务处理请求;
事务请求发送模块,用于向区块链网络中可信节点发送所述事务处理请求,用于指示所述可信节点执行如下:根据所述参数密文和密码存储区中的当前版本密码,确定事务密钥;且根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;其中,所述事务密钥通过如下方式确定:从所述参数密文中提取区块链客户端的账户地址和参数摘要;根据所述账户地址、所述参数摘要和密码存储区中的当前版本密码,确定所述事务密钥。
17.基于区块链网络的事务处理装置,其特征在于,配置于密码生成节点中,所述装置包括:
密码确定模块,用于确定候选版本密码;
密码发送模块,用于向区块链网络中可信节点发送所述候选版本密码,用于指示所述可信节点将所述候选版本密码存储于密码存储区中,使可信节点根据事务处理请求中的参数密文和从所述候选版本密码中选择的当前版本密码,确定事务密钥;根据所述事务密钥,调用智能合约对所述事务处理请求进行处理;其中,所述事务密钥通过如下方式确定:从所述参数密文中提取区块链客户端的账户地址和参数摘要;根据所述账户地址、所述参数摘要和所述当前版本密码,确定所述事务密钥。
18.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项由区块链网络中可信节点执行的方法,或者能够执行权利要求10-11中任一项由区块链客户端执行的方法,或者能够执行权利要求12-14中任一项由密码生成节点执行的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276519.8A CN111400743B (zh) | 2020-04-07 | 2020-04-07 | 基于区块链网络的事务处理方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276519.8A CN111400743B (zh) | 2020-04-07 | 2020-04-07 | 基于区块链网络的事务处理方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400743A CN111400743A (zh) | 2020-07-10 |
CN111400743B true CN111400743B (zh) | 2023-08-15 |
Family
ID=71429552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010276519.8A Active CN111400743B (zh) | 2020-04-07 | 2020-04-07 | 基于区块链网络的事务处理方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400743B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115409619A (zh) * | 2021-05-28 | 2022-11-29 | 华为技术有限公司 | 一种基于区块链的数据处理方法及区块链节点装置 |
CN113393225B (zh) * | 2021-06-30 | 2022-10-28 | 杭州链网科技有限公司 | 数字货币加密支付方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN108989290A (zh) * | 2018-06-21 | 2018-12-11 | 上海二三四五网络科技有限公司 | 一种在外网中实现服务器网络访问限制的控制方法及控制装置 |
CN109523440A (zh) * | 2018-11-23 | 2019-03-26 | 南京荣链科技有限公司 | 一种基于区块链的设备报修方法、服务器、系统及介质 |
CN109727044A (zh) * | 2018-12-29 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 基于区块链的品牌事务处理方法、装置、设备及介质 |
CN109951295A (zh) * | 2019-02-27 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 密钥处理和使用方法、装置、设备及介质 |
CN109981297A (zh) * | 2019-04-11 | 2019-07-05 | 百度在线网络技术(北京)有限公司 | 区块链处理方法、装置、设备及存储介质 |
CN110084599A (zh) * | 2019-04-28 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN110245117A (zh) * | 2019-06-13 | 2019-09-17 | 南开大学 | 一种基于区块链的云上数据可信删除方法与系统 |
CN110276613A (zh) * | 2019-06-20 | 2019-09-24 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的数据处理装置、方法及计算机可读存储介质 |
US10469487B1 (en) * | 2016-05-31 | 2019-11-05 | Wells Fargo Bank, N.A. | Biometric electronic signature authenticated key exchange token |
WO2019218919A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 区块链场景下的私钥管理方法、装置及系统 |
CN110493261A (zh) * | 2019-09-16 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于区块链的验证码获取方法、客户端、服务器及存储介质 |
CN110826992A (zh) * | 2019-10-31 | 2020-02-21 | 百度在线网络技术(北京)有限公司 | 基于区块链的政务信息处理方法、装置、设备和介质 |
CN110866740A (zh) * | 2019-11-14 | 2020-03-06 | 百度在线网络技术(北京)有限公司 | 一种区块链事务请求的处理方法、装置、电子设备和介质 |
-
2020
- 2020-04-07 CN CN202010276519.8A patent/CN111400743B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10469487B1 (en) * | 2016-05-31 | 2019-11-05 | Wells Fargo Bank, N.A. | Biometric electronic signature authenticated key exchange token |
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
WO2019218919A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 区块链场景下的私钥管理方法、装置及系统 |
CN108989290A (zh) * | 2018-06-21 | 2018-12-11 | 上海二三四五网络科技有限公司 | 一种在外网中实现服务器网络访问限制的控制方法及控制装置 |
CN109523440A (zh) * | 2018-11-23 | 2019-03-26 | 南京荣链科技有限公司 | 一种基于区块链的设备报修方法、服务器、系统及介质 |
CN109727044A (zh) * | 2018-12-29 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 基于区块链的品牌事务处理方法、装置、设备及介质 |
CN109951295A (zh) * | 2019-02-27 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 密钥处理和使用方法、装置、设备及介质 |
CN109981297A (zh) * | 2019-04-11 | 2019-07-05 | 百度在线网络技术(北京)有限公司 | 区块链处理方法、装置、设备及存储介质 |
CN110084599A (zh) * | 2019-04-28 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN110245117A (zh) * | 2019-06-13 | 2019-09-17 | 南开大学 | 一种基于区块链的云上数据可信删除方法与系统 |
CN110276613A (zh) * | 2019-06-20 | 2019-09-24 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的数据处理装置、方法及计算机可读存储介质 |
CN110493261A (zh) * | 2019-09-16 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于区块链的验证码获取方法、客户端、服务器及存储介质 |
CN110826992A (zh) * | 2019-10-31 | 2020-02-21 | 百度在线网络技术(北京)有限公司 | 基于区块链的政务信息处理方法、装置、设备和介质 |
CN110866740A (zh) * | 2019-11-14 | 2020-03-06 | 百度在线网络技术(北京)有限公司 | 一种区块链事务请求的处理方法、装置、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
周艺华 ; 李洪明 ; .基于区块链的数据管理方案.信息安全研究.2020,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111400743A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN108632284B (zh) | 基于区块链的用户数据授权方法、介质、装置和计算设备 | |
CN111143890B (zh) | 一种基于区块链的计算处理方法、装置、设备和介质 | |
CN110492990B (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
CN111460429B (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
US11750396B2 (en) | Private data processing method, device and medium | |
CN111310216B (zh) | 区块链数据处理方法、装置、电子设备和介质 | |
JP2020518880A (ja) | スマートコントラクトホワイトリストに基づくブロックチェーンネットワークにおけるトランザクションの並列実行 | |
US11418320B2 (en) | Blockchain-based data processing methods, devices, and media | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
KR102490490B1 (ko) | 자기 디스크 암호화 보호 방법 및 장치 | |
JP7317084B2 (ja) | トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 | |
CN112989400B (zh) | 一种隐私事务处理方法、装置、电子设备和介质 | |
WO2022143298A1 (zh) | 基于区块链的数据处理方法和装置 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
CN114363088B (zh) | 用于请求数据的方法和装置 | |
CN113630412B (zh) | 资源下载方法、资源下载装置、电子设备以及存储介质 | |
CN113794706B (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
CN116011590A (zh) | 联邦学习方法、装置和系统 | |
CN115600215A (zh) | 系统启动方法、系统信息处理方法、装置、设备及其介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN112565156A (zh) | 信息注册方法、装置和系统 | |
CN113986940A (zh) | 基于区块链公链的合约处理方法和装置 | |
CN115225281A (zh) | 一种身份认证方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |