CN112580112A - 一种基于全链共识、局部部署的智能合约实现方法、装置 - Google Patents
一种基于全链共识、局部部署的智能合约实现方法、装置 Download PDFInfo
- Publication number
- CN112580112A CN112580112A CN202110217296.2A CN202110217296A CN112580112A CN 112580112 A CN112580112 A CN 112580112A CN 202110217296 A CN202110217296 A CN 202110217296A CN 112580112 A CN112580112 A CN 112580112A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- contract
- target local
- deployment
- 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.)
- Granted
Links
Images
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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于全链共识、局部部署的智能合约实现方法和装置,通过将部署交易和业务交易的全链触发和局部执行分开,并引入局部状态的方式,支持在区块链网络上实现全链级共识和合约级共识相结合的、局部部署、局部触发和局部存储的智能合约,即数据和代码在区块链节点选择性存在但参与全链共识的局部合约。因为绝大多数现实场景只对相关方有意义因而只需在相关方部署,该局部合约架构方法能够在全链共识的前提下大大提高一个区块链网络可以同时支持的智能合约数量。而且,辅以链外的安全中继服务,该局部合约架构方法能够在全链共识的前提下实现真正安全私密的智能合约,以满足现实场景的私密性要求。
Description
技术领域
本发明涉及区块链技术,尤其是在区块链网络上在全链共识的前提下支持局部部署的公共和私密智能合约这一技术领域。
背景技术
数字时代,数据是资产和现实对象在数字平台上的映射,代码(可执行的“数据”)是业务逻辑在数字平台上的实现。现实应用,大多是私密应用,即要求数据和代码只对被授权的相关方“可见”、“可用”,对其他各方不可见、不可用。
在由一个或多个分布式控制的区块链节点(计算设备)组成的区块链网络上,分布式账本存储了应用的数据,每个智能合约是应用的逻辑实现。外部应用程序通过区块链协议栈提交交易,区块链协议栈在区块生成和验证时,触发智能合约执行交易,并将交易执行的结果,连同交易本身,计入区块链的分布式账本。
区块链网络,从架构上要求其上所有的区块链节点都有同样的账本数据和共同的(一个或多个)智能合约,以便全链所有的节点都可以对交易的执行和账本进行共识和信任背书。这种将智能合约部署到区块链网络上的每一个区块链节点的方式,是网络、算力、存储资源的巨大浪费。
从私密性的角度来说,除非组成一个区块链网络的所有区块链节点都是一个私密智能合约的相关方,否则该区块链网络不能支持该私密智能合约。如果两个私密智能合约的相关方(区块链节点)不完全相同,则其不能被同一个区块链网络支持。
超级账本Fabric区块链通过通道机制支持智能合约的局部部署,但组成一个超级账本Fabric区块链的各个通道互相隔离、各个通道维护各自的分布式账本、部署各自的(一个或多个)智能合约,进行各自的共识,所以如果一个局部部署的公共或私密智能合约部署在仅有相关方节点组成的通道上,而且该通道没有包含所属Fabric区块链实例的所有节点的话,就不是全链共识。
将数据和代码加密存储在不相关方的方式很难实现真正私密的智能合约应用,因为在运行过程中数据和代码是基本上只能是明文的,不相关方可以窃取。当然,不计成本、深度安全加固的区块链节点,可能能够在一定程度上拒止不相关方窃取数据和代码,但这不是普遍情况。
在全链信任背书的基础上,做到私密数据和私密代码只在相关的区块链节点(而不是该区块链网络的全部节点)上存在,是在区块链上实现真正的私密智能合约应用的有效方式,也是在区块链网络节省带宽、算力和存储以支持大量智能合约的有效方式。
发明内容
为了解决上述技术问题中的至少一个,本发明提供了一种基于全链共识、局部部署的智能合约实现方法、装置、电子设备、可读存储介质和系统。
本发明的第一方面,提供了一种基于全链共识、局部部署的智能合约实现方法,包括:
区块链的第一节点接收包括局部标识的由目标局部合约执行的第一交易;其中,所述第一节点为部署了所述目标局部合约的区块链节点;
所述第一节点在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识;
所述第一节点获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易;
所述第一节点将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至所述区块链;
所述第一节点在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
可选地,所述第一节点获取所述第一交易的交易数据,包括:
所述第一节点获取所述第一交易包括的明文的交易数据;或者,
所述第一节点获取所述第一交易包括的密文的交易数据,获取所述密文的交易数据的密钥,根据所述密文的交易数据的密钥和所述密文的交易数据获取明文的交易数据;或者,
所述第一节点获取所述第一交易包括的交易数据的安全下载地址和交易数据的哈希值,从所述安全下载地址下载明文的交易数据后,根据所述交易数据的哈希值验证所述明文的交易数据。
可选地,所述第一节点检测到所述第一交易包括局部标识之后,还包括:
所述第一节点在全局状态中记录所述第一交易的状态信息。
可选地,所述第一节点根据所述目标局部合约和所述交易数据执行所述第一交易的同时,还包括:
所述第一节点读写全局状态和局部状态。
可选地,所述第一节点在全局状态中记录所述第一交易在所述第一节点执行后的状态信息之后,还包括:
所述第一节点根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
可选地,方法还包括:
区块链的第二节点接收所述第一交易;其中,所述第二节点为未部署所述目标局部合约的区块链节点;
所述第二节点在生成或验证包括所述第一交易的区块时,在全局状态中记录所述第一交易的状态信息。
可选地,方法还包括:
区块链的第二节点接收所述第二交易;
所述第二节点在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
可选地,所述区块链的第一节点接收包括局部标识的由目标局部合约执行的第一交易之前,还包括:
所述第一节点接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易;
所述第一节点在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识;
所述第一节点确定本节点为满足所述目标局部合约的部署条件的节点;
所述第一节点根据所述目标局部合约的内容信息部署所述目标局部合约;
所述第一节点将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链;
所述第一节点在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
可选地,所述第三交易还包括:最少部署的节点数量;
所述第一节点在全局状态中记录所述目标局部合约的部署状态信息之后,还包括:
所述第一节点确定部署成功的节点数量大于所述最少部署的节点数量;
所述第一节点在全局状态记录所述目标局部合约部署成功。
可选地,所述目标局部合约的内容信息,包括:
明文的目标局部合约的代码;或者,
密文的目标局部合约的代码;或者,
目标局部合约的代码的安全下载地址,以及,目标局部合约的代码哈希值。
可选地,所述第一节点检测到所述第三交易包括局部标识之后,还包括:
所述第一节点在全局状态中记录所述目标局部合约的部署状态信息。
可选地,方法还包括:
第二节点接收所述第三交易;所述第二节点为不满足所述部署条件的节点;
所述第二节点在生成或验证包括所述第三交易的区块时,在全局状态中记录所述目标局部合约的部署状态信息。
可选地,方法还包括:
第二节点接收所述第四交易;所述第二节点为不满足所述部署条件的节点;
所述第二节点在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
本发明的第二方面,提供了一种第一节点装置,所述第一节点装置已预先部署目标局部合约,装置包括:
交易接收模块,用于接收包括局部标识的由目标局部合约执行的第一交易;
第一交易处理模块,用于在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识,获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易;
交易发起模块,用于将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至所述区块链;
第二交易处理模块,用于在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
可选地,所述第一交易处理模块用于获取所述第一交易的交易数据时,具体用于:
获取所述第一交易包括的明文的交易数据;或者,
获取所述第一交易包括的密文的交易数据,获取所述密文的交易数据的密钥,根据所述密文的交易数据的密钥和所述密文的交易数据获取明文的交易数据;或者,
获取所述第一交易包括的交易数据的安全下载地址和交易数据的哈希值,从所述安全下载地址下载明文的交易数据后,根据所述交易数据的哈希值验证所述明文的交易数据。
可选地,所述第一交易处理模块还用于:
在检测到所述第一交易包括局部标识之后,在全局状态中记录所述第一交易的状态信息。
可选地,装置还包括:
交易结果判断模块,用于根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
可选地,装置还包括:第三交易处理模块和第四交易处理模块;
所述交易接收模块,还用于接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易;
所述第三交易处理模块,用于在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识,确定本节点为满足所述目标局部合约的部署条件的节点,根据所述目标局部合约的内容信息部署所述目标局部合约;
所述交易发起模块,还用于将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链;
所述第四交易处理模块,用于在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
可选地,装置还包括:
部署结果判断模块,用于确定部署成功的节点数量大于所述第三交易包括的最少部署的节点数量;在全局状态记录所述目标局部合约部署成功。
可选地,所述第一交易处理模块还用于:
检测到所述第三交易包括局部标识之后,在全局状态中记录所述目标局部合约的部署状态信息。
本发明的第三方面,提供了一种基于全链共识、局部部署的智能合约系统,包括:
部署了目标局部合约的区块链的第一节点、未部署目标局部合约的区块链的第二节点和客户端;
所述客户端用于向所述区块链发起包括局部标识的由所述目标局部合约执行的第一交易;
所述第一节点用于接收所述第一交易,在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识,在全局状态中记录所述第一交易的状态信息,获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易,将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至所述区块链,在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息;
所述第二节点用于接收所述第一交易,在生成或验证包括所述第一交易的区块时,在全局状态中记录所述第一交易的状态信息;以及,接收所述第二交易;在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
可选地,所述第一节点和/或所述第二节点还用于:
根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
可选地,所述第一节点还用于接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易,在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识,确定本节点为满足所述目标局部合约的部署条件的节点,根据所述目标局部合约的内容信息部署所述目标局部合约,将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链,在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息;
所述第二节点还用于接收所述第三交易,在生成或验证包括所述第三交易的区块时,在全局状态中记录所述目标局部合约的部署状态信息;以及,接收所述第四交易,在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
可选地,所述第一节点和/或所述第二节点还用于:
确定部署成功的节点数量大于预设的最少部署的节点数量;
在全局状态记录所述目标局部合约部署成功。
可选地,系统还包括:
服务端,用于存储交易数据;其中,当所述服务端接收到所述第一节点通过安全下载链接发起的下载请求时,向所述第一节点返回所述交易数据;和/或,
用于存储目标局部合约的代码;其中,当所述服务端接收到所述第一节点通过安全下载链接发起的下载请求时,向所述第一节点返回所述目标局部合约的代码。
本发明的第四方面,提供了一种电子设备,包括存储器和处理器,所述存储器用于存储计算机指令,所述计算机指令被所述处理器执行以实现如本发明第一方面所述的方法。
本发明的第五方面,提供了一种可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现本发明第一方面所述的方法。
本发明通过将部署交易和业务交易的全链触发和局部执行分开,并引入局部状态的方式,支持在区块链网络上实现全链级共识和合约级共识相结合的、局部部署、局部触发和局部存储的智能合约,即数据和代码在区块链节点选择性存在但参与全链共识的局部合约。因为绝大多数现实场景只对相关方有意义因而只需在相关方部署,该局部合约架构方法能够在全链共识的前提下大大提高一个区块链网络可以同时支持的智能合约数量。而且,辅以链外的安全中继服务,该局部合约架构方法能够在全链共识的前提下实现真正安全私密的智能合约,以满足现实场景的私密性要求。
附图说明
附图示出了本发明的示例性实施方式,并与其说明一起用于解释本发明的原理,其中包括了这些附图以提供对本发明的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1示例本发明支持私密智能合约的整体架构。
具体实施方式
下面结合附图和实施方式对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分。
需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明。
本发明通过在区块链协议栈内引入局部合约执行器、局部状态模块,将部署交易和业务交易的全链触发和局部执行分开,支持实现全链共识、局部部署、局部存储的智能合约(简称局部合约)。本发明的局部合约在部分区块链节点存在的架构方法,能够大大节省区块链网络的带宽、算力和存储,从而支持一个区块链网络托管大量的智能合约。区块链协议栈内引入的局部合约执行器、局部状态模块,连同链外的、合约相关方信任的安全中继服务模块一起,支持实现全链共识的、合约代码和数据只在相关方存在的、真正私密的局部合约(简称私密合约)。
部署私密合约时,合约部署者选择目标区块链网络上的一组区块链节点,上传合约代码到相关方信任的安全中继服务并施加授权控制确保只有该合约的授权部署节点方可下载,然后将合约代码在安全中继服务的下载地址、这些授权部署节点的标识、最少部署的节点数量、局部合约的共识策略,连同合约代码的哈希值等信息一起,生成局部合约部署交易TX0,并提交至区块链网络。区块链网络在区块生成和验证时,将局部合约部署交易TX0提交到局部合约执行器执行。局部合约执行器在全局状态(即传统的世界状态)中记录该智能合约的部署信息,比如合约名称/地址、节点公钥列表(或其他节点标识)、最少部署的节点数量、局部合约的共识策略、起始状态(“开始部署”)等。如果是授权部署节点(即符合TX0中的节点标识),局部合约执行器将启动异步线程,该线程将从可信的链外安全中继服务下载私密合约的执行代码,然后在本地节点安装部署该私密合约。安装部署结束(成功或失败)之后,生成并提交本节点签名的结果交易TX2(包含TX1的交易ID,TX0在本地执行的结果状态等信息)到区块链网络。当TX2在区块生成和验证过程中被执行时,区块链协议栈的区块生成和验证模块调用局部合约执行器,后者据此更新该局部合约在相应部署节点的部署状态。如果当前成功部署的节点数量大于等于TX0中规定的最少部署的节点数量,则记录该局部合约部署成功。如果判定TX0中规定的最少部署的节点数量已经不可能满足,则记录该局部合约部署失败。
链外应用程序在调用局部合约或私密合约时,上传私密交易数据到相关方信任的安全中继服务,并施加授权控制确保只有合约的授权部署节点方可安全下载,然后将交易数据在安全中继服务的下载地址、连同交易数据的哈希值等信息一起,生成局部合约业务交易TX1,并提交至区块链网络。区块链网络在区块生成和验证时,将局部合约业务交易TX1提交给局部合约执行器执行。局部合约执行器在全局状态(即传统的世界状态)中记录该业务交易情况,比如TX1的ID、状态(开始执行)等。如果本地节点是目标局部合约的授权部署节点,局部合约执行器将提交TX1到为该局部合约分配的异步线程,该线程将从可信的链外安全中继服务安全下载交易数据,然后在本地节点触发该私密合约真正执行TX1,执行过程中可能读写全局状态和局部状态。执行结束(成功或失败)之后,局部合约执行器生成并提交本节点签名的结果交易TX2到区块链网络。TX2中包括TX1的交易ID、TX1的结果状态的哈希值等信息。当TX2在区块生成和验证过程中被执行时,区块链协议栈的区块生成和验证模块调用局部合约执行器,后者据此更新TX1在部署节点的执行状态并基于该局部合约的共识策略判断TX1是否执行成功。
因为部署交易和业务交易的触发执行、执行结果的哈希值等,都经过全链共识并在全局状态记录,而且私密合约的代码和数据只在授权的部署节点存在,所以本发明实现了全链共识前提下的私密智能合约。
如果私密合约的代码和数据量不大,而且合约场景可以接受代码和数据在不相关方加密存储的话,合约代码和交易数据可以在TX0和TX1中加密传输,只要加密机制确保只能合约的授权节点才能解密得到明文的合约代码和交易数据即可。
显而易见,TX0和TX1中,可以直接分别包含明文的合约代码和交易数据,以实现不需要链外安全中继服务(除非代码和数据量过大)的局部合约。不管是否需要链外安全中继服务,本发明的局部合约的架构方法,能够大大节省区块链网络的带宽、算力和存储,从而大大提高其能够托管的智能合约的数量。
本发明具体如下技术方案实现:
一、名词定义。
为了表达简洁、准确,在本发明的语境下,特定义如下名词:
(1)局部合约:在一个区块链网络上的部分区块链节点部署的智能合约。
(2)部署节点:部署有一个局部合约的区块链节点,被称为该局部合约的部署节点。
(3)局部状态:每一个局部合约在每一个部署节点的非全局(全链)的世界状态,但全局的世界状态与其通过哈希值可信关联。
(4)私密合约:如果一个局部合约在其部署时合约代码只对其部署节点可见、可用,在提交业务交易时敏感的交易数据只对部署节点可见、可用,该局部合约在局部状态的状态数据只对授权的相关方可见、可用,则该局部合约是私密合约。私密代码和私密数据可以经由可信的链外安全中继服务安全获取,亦可以在部署交易和业务交易中加密传输,只要加密机制确保只能合约的部署节点才能解密得到明文的合约代码和交易数据即可。
(5)部署交易(TX0):智能合约的部署者提交的、用于指示区块链网络部署一个智能合约的交易。
(6)业务交易(TX1):应用程序提交的触发链上智能合约功能的区块链交易。
(7)结果交易(TX2):一个局部合约的部署节点,在执行部署交易TX0或业务交易TX1之后,提交的用于通知区块链网络上的所有区块链节点TX0或TX1执行结果的交易,称为结果交易。一个TX0或TX1,对应的TX2的最大数量等于目标局部合约的有效部署节点的数量。
二、总体架构。
如图1所示,在区块链协议栈(图块106)内,除了原有的区块生成和验证模块(图块104)、待执行交易池模块(图块107)和全局状态模块(图块108,即传统的世界状态)等现有模块之外,本发明新引入局部合约执行器模块(图块102)和局部状态模块(图块105),并在区块链协议栈外引入可选的安全中继服务模块(图块100)。
局部合约执行器(图块102),可以是一个内置智能合约,由区块生成和验证模块(图块104)在区块生成和验证时触发执行局部合约的部署交易TX0、业务交易TX1和结果交易TX2。
局部状态,用于在部署节点存储其部署的局部合约的状态。区块链节点上部署的局部合约,可以读写局部状态以确保私密数据只在相关方(部署节点)存在,也可以读写全局状态实现对公共数据的支持。
链外的安全中继服务(图块100),在需要时由应用程序(图块101)选择用来安全暂存局部合约的代码和数据,以便每个部署节点在局部合约部署和调用时安全获取代码和数据而无需这些代码和数据以明文或密文形式经由非部署节点。这个做法也能解决代码和数据过大无法直接写入部署交易TX0或业务TX1的情况。
三、局部部署。
智能合约的部署者,在实现本发明的区块链网络上通过应用程序工具(图块101)遵循以下流程部署局部合约:
(1)决定部署节点的公钥列表,或者部署节点需要满足的节点属性(最好有部署方认可的签名);
(2)【可选】如果是代码量大或要求代码不在非授权节点明文或密文存在,则上载智能合约的代码到信任的链外安全中继服务(图块100)并通过访问控制等安全机制确保只有授权的部署节点方可安全下载合约代码(因为简单的信息安全方法即可实现,本发明不予赘述);
(3)生成并提交局部合约的部署交易(TX0)到目标区块链网络。TX0中包含局部标识(partial_deploy: true)、授权部署节点的公钥列表或节点属性、最少部署的节点数量、合约级共识策略(比如全部部署节点一致、2/3部署节点一致等)、链外安全中继服务(图块100)提供的合约代码的安全下载地址、合约代码的哈希值等。如果不经链外的安全中继服务(图块100),则TX0中不包含链外安全中继服务(图块100)提供的合约代码的安全下载地址、合约代码的哈希值,而是包含明文或密文的合约代码。如果是密文的合约代码,即该局部合约是私密合约,则采用的加密机制需要确保只有授权的部署节点方可解密获得合约代码(因为简单的信息安全方法即可实现,本发明不予赘述);
(4)区块链协议栈(图块106)通过交易提交服务接口(或从其他区块链节点)收到TX0并添加其到待执行交易池(图块107);
(5)在区块生成和验证时,区块链协议栈(图块106)的区块生成和验证模块(图块104)从待执行交易池(图块107)提取TX0;
(6)因为TX0有局部标识,区块生成和验证模块(图块104)转交局部合约执行器(图块102)执行;
(7)局部合约执行器,在全局状态(即传统的世界状态,图块108)中记录该智能合约的部署状态信息,比如合约名称/地址、节点公钥列表(或节点属性)、最少部署的节点数量、局部合约的共识策略、状态(“开始部署”)等。如果本地节点不是该局部合约的授权部署节点,则部署流程到此结束。反之,局部合约执行器(图块102)将启动异步线程,该线程执行如下的第(8)和(9)步:
(8)从可信的链外安全中继服务(图块100)安全下载局部合约的执行代码。如果合约代码在TX0内,则直接获取或解密获取明文的合约代码;
(9)在本地节点安装部署该局部合约;安装部署结束(成功或失败)之后,生成并提交本节点签名的结果交易TX2到区块链网络。TX2中包括TX0的交易ID(用TXID1标识)、TX0的结果状态(成功/失败,说明等)等信息。
(10)当TX2在区块生成和验证过程中被执行时,区块链协议栈(图块106)的区块生成和验证模块(图块104)调用局部合约执行器(图块102),后者根据TX2中的部署结果更新该局部合约在相应部署节点的部署状态。如果当前成功部署的节点数量大于等于TX0中规定的最少部署的节点数量,则记录该局部合约部署成功。如果判定TX0中规定的最少部署的节点数量已经不可能满足,则记录该局部合约部署失败。
因为部署交易TX0(及相关的所有结果交易TX2)由全链触发、各部署节点的部署结果以及最终结果计入全局状态,所以局部合约的部署过程由全链共识。部署方可以通过查询局部合约执行器(图块102)来知道自己的局部合约是否部署成功。
四、局部调用。
智能合约的调用者,在实现本发明的区块链网络上通过应用程序工具(图块101)调用局部合约完成业务逻辑:
(1)【可选】如果是大量数据或要求数据不在非授权节点明文或密文存在,则上载交易数据到信任的链外安全中继服务(图块100)并通过访问控制等安全机制确保只有授权部署节点方可安全下载该交易数据;
(2)生成并提交局部合约的业务交易(TX1)到目标区块链网络。TX1中包含局部标识(partial_deploy: true)、链外安全中继服务(图块100)提供的交易数据的安全下载地址、交易数据的哈希值等。如果不经链外的安全中继服务(图块100),则TX1中不包含链外安全中继服务(图块100)提供的交易数据的安全下载地址、交易数据的哈希值,而实包含明文或密文的交易数据。如果是密文的交易数据,即目标局部合约是私密合约,则采用的加密机制需要确保只有授权的部署节点方可解密获得交易数据(因为简单的信息安全方法即可实现,本发明不予赘述);
(3)区块链协议栈(图块106)通过交易提交服务接口(或从其他区块链节点)收到TX1并添加其到待执行交易池(图块107);
(4)在区块生成和验证时,区块链协议栈(图块106)的区块生成和验证模块(图块104)从待执行交易池(图块107)提取TX1;
(5)因为TX1有局部标识,区块生成和验证模块(图块104)转交局部合约执行器(图块102)执行;
(6)局部合约执行器,在全局状态(即传统的世界状态,图块108)中记录该业务交易TX1的状态信息,比如TX1的ID,状态为”开始执行”等。如果本地节点不是该局部合约的部署节点,则流程到此结束。反之,局部合约执行器(图块102)将提交TX1给为每个局部合约分配的执行线程,该线程执行如下的第(7)至(9)步:
(7)从可信的链外安全中继服务(图块100)安全下载TX1的交易数据。如果交易数据在TX1内,则直接获取或解密获取明文的交易数据;
(8)在本地节点调用目标局部合约(图块103)。局部合约在执行TX1时可能会读写局部状态(图块105)和全局状态(图块108);
(9)TX1执行结束(成功或失败)之后,局部合约执行器生成并提交本节点签名的结果交易TX2到区块链网络。TX2中包括TX1的交易ID(用TXID1标识)、TX1的结果状态的哈希值等信息。
(10)当TX2在区块生成和验证过程中被执行时,区块链协议栈(图块106)的区块生成和验证模块(图块104)调用局部合约执行器(图块102),后者根据TX2中的结果状态更新该局部合约在相应部署节点执行TX1的结果状态,并根据该局部合约的合约级共识策略判断并记录TX1是否成功执行或执行失败。
因为业务交易TX1(及相关的所有结果交易TX2)由全链触发、各部署节点的执行结果以及最终结果计入全局状态,局部合约的业务交易执行过程由全链共识。应用程序可以通过查询目标局部合约(图块103)来获得TX1的执行状态。
五、实现总结。
通过将部署交易和业务交易的全链触发和局部执行分开,并引入局部状态的方式,本发明支持在区块链网络上实现全链级共识和合约级共识相结合的、局部部署、局部触发和局部存储的智能合约(局部合约)。因为绝大多数现实场景只对相关方有意义因而无需部署在不相关方,该局部合约架构方法能够在全链共识的前提下大大提高一个区块链网络可以同时支持的智能合约数量。而且,辅以链外的安全中继服务,该局部合约架构方法能够在全链共识的前提下实现真正安全私密的智能合约,以满足现实场景的私密性要求。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本发明的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
本领域那些技术人员应当理解在本文所发明的示例中的设备的模块或模块或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或模块或组件组合成一个模块或模块或组件,以及此外可以把它们分成多个子模块或子模块或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中发明的所有特征以及如此发明的任何方法或者设备的所有过程或模块进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中发明的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的发明是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (27)
1.一种基于全链共识、局部部署的智能合约实现方法,其特征在于,包括:
区块链的第一节点接收包括局部标识的由目标局部合约执行的第一交易;其中,所述第一节点为部署了所述目标局部合约的区块链节点;
所述第一节点在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识;
所述第一节点获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易;
所述第一节点将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至所述区块链;
所述第一节点在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
2.如权利要求1所述的方法,其特征在于,所述第一节点获取所述第一交易的交易数据,包括:
所述第一节点获取所述第一交易包括的明文的交易数据;或者,
所述第一节点获取所述第一交易包括的密文的交易数据,获取所述密文的交易数据的密钥,根据所述密文的交易数据的密钥和所述密文的交易数据获取明文的交易数据;或者,
所述第一节点获取所述第一交易包括的交易数据的安全下载地址和交易数据的哈希值,从所述安全下载地址下载明文的交易数据后,根据所述交易数据的哈希值验证所述明文的交易数据。
3.如权利要求1所述的方法,其特征在于,所述第一节点检测到所述第一交易包括局部标识之后,还包括:
所述第一节点在全局状态中记录所述第一交易的状态信息。
4.如权利要求1所述的方法,其特征在于,所述第一节点根据所述目标局部合约和所述交易数据执行所述第一交易的同时,还包括:
所述第一节点读写全局状态和局部状态。
5.如权利要求1所述的方法,其特征在于,所述第一节点在全局状态中记录所述第一交易在所述第一节点执行后的状态信息之后,还包括:
所述第一节点根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
6.如权利要求1所述的方法,其特征在于,还包括:
区块链的第二节点接收所述第一交易;其中,所述第二节点为未部署所述目标局部合约的区块链节点;
所述第二节点在生成或验证包括所述第一交易的区块时,在全局状态中记录所述第一交易的状态信息。
7.如权利要求1所述的方法,其特征在于,还包括:
区块链的第二节点接收所述第二交易;
所述第二节点在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
8.如权利要求1所述的方法,其特征在于,所述区块链的第一节点接收包括局部标识的由目标局部合约执行的第一交易之前,还包括:
所述第一节点接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易;
所述第一节点在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识;
所述第一节点确定本节点为满足所述目标局部合约的部署条件的节点;
所述第一节点根据所述目标局部合约的内容信息部署所述目标局部合约;
所述第一节点将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链;
所述第一节点在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
9.如权利要求8所述的方法,其特征在于,所述第一节点在全局状态中记录所述目标局部合约的部署状态信息之后,还包括:
所述第一节点确定部署成功的节点数量大于预设的最少部署的节点数量;
所述第一节点在全局状态记录所述目标局部合约部署成功。
10.如权利要求8所述的方法,其特征在于,所述目标局部合约的内容信息,包括:
明文的目标局部合约的代码;或者,
密文的目标局部合约的代码;或者,
目标局部合约的代码的安全下载地址,以及,目标局部合约的代码哈希值。
11.如权利要求8所述的方法,其特征在于,所述第一节点检测到所述第三交易包括局部标识之后,还包括:
所述第一节点在全局状态中记录所述目标局部合约的部署状态信息。
12.如权利要求8所述的方法,其特征在于,还包括:
区块链的第二节点接收所述第三交易;所述第二节点为不满足所述部署条件的节点;
所述第二节点在生成或验证包括所述第三交易的区块时,在全局状态中记录所述目标局部合约的部署状态信息。
13.如权利要求8所述的方法,其特征在于,还包括:
区块链的第二节点接收所述第四交易;所述第二节点为不满足所述部署条件的节点;
所述第二节点在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
14.一种第一节点装置,其特征在于,所述第一节点装置已预先部署目标局部合约,所述第一节点装置包括:
交易接收模块,用于接收包括局部标识的由所述目标局部合约执行的第一交易;
第一交易处理模块,用于在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识,获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易;
交易发起模块,用于将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至区块链;
第二交易处理模块,用于在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
15.如权利要求14所述的装置,其特征在于,所述第一交易处理模块用于获取所述第一交易的交易数据时,具体用于:
获取所述第一交易包括的明文的交易数据;或者,
获取所述第一交易包括的密文的交易数据,获取所述密文的交易数据的密钥,根据所述密文的交易数据的密钥和所述密文的交易数据获取明文的交易数据;或者,
获取所述第一交易包括的交易数据的安全下载地址和交易数据的哈希值,从所述安全下载地址下载明文的交易数据后,根据所述交易数据的哈希值验证所述明文的交易数据。
16.如权利要求14所述的装置,其特征在于,所述第一交易处理模块还用于:
在检测到所述第一交易包括局部标识之后,在全局状态中记录所述第一交易的状态信息。
17.如权利要求14所述的装置,其特征在于,还包括:
交易结果判断模块,用于根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
18.如权利要求14所述的装置,其特征在于,还包括:第三交易处理模块和第四交易处理模块;
所述交易接收模块,还用于接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易;
所述第三交易处理模块,用于在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识,确定本节点为满足所述目标局部合约的部署条件的节点,根据所述目标局部合约的内容信息部署所述目标局部合约;
所述交易发起模块,还用于将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链;
所述第四交易处理模块,用于在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
19.如权利要求18所述的装置,其特征在于,还包括:
部署结果判断模块,用于确定部署成功的节点数量大于所述第三交易包括的最少部署的节点数量;在全局状态记录所述目标局部合约部署成功。
20.如权利要求18所述的装置,其特征在于,所述第一交易处理模块还用于:
检测到所述第三交易包括局部标识之后,在全局状态中记录所述目标局部合约的部署状态信息。
21.一种基于全链共识、局部部署的智能合约系统,其特征在于,包括:部署了目标局部合约的区块链的第一节点、未部署目标局部合约的区块链的第二节点和客户端;
所述客户端用于向所述区块链发起包括局部标识的由所述目标局部合约执行的第一交易;
所述第一节点用于接收所述第一交易,在生成或验证包括所述第一交易的区块时,检测到所述第一交易包括局部标识,在全局状态中记录所述第一交易的状态信息,获取所述第一交易的交易数据,根据所述目标局部合约和所述交易数据执行所述第一交易,将包括所述第一交易的标识和所述第一交易在所述第一节点执行后的状态信息的第二交易提交至所述区块链,在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息;
所述第二节点用于接收所述第一交易,在生成或验证包括所述第一交易的区块时,在全局状态中记录所述第一交易的状态信息;以及,接收所述第二交易;在生成或验证包括所述第二交易的区块时,在全局状态中记录所述第一交易在所述第一节点执行后的状态信息。
22.如权利要求21所述的系统,其特征在于,所述第一节点和/或所述第二节点还用于:
根据预先获取的合约级共识策略和所述全局状态中的所述第一交易在各个第一节点执行后的状态信息,确定所述第一交易在所述区块链执行成功或失败。
23.如权利要求21所述的系统,其特征在于,
所述第一节点还用于接收包括局部标识、所述目标局部合约的部署条件和目标局部合约的内容信息的第三交易,在生成或验证包括所述第三交易的区块时,检测到所述第三交易包括局部标识,确定本节点为满足所述目标局部合约的部署条件的节点,根据所述目标局部合约的内容信息部署所述目标局部合约,将包括所述第三交易的标识和所述目标局部合约的部署状态信息的第四交易提交至所述区块链,在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息;
所述第二节点还用于接收所述第三交易,在生成或验证包括所述第三交易的区块时,在全局状态中记录所述目标局部合约的部署状态信息;以及,接收所述第四交易,在生成或验证包括所述第四交易的区块时,在全局状态中记录所述目标局部合约在所述第一节点的部署状态信息。
24.如权利要求23所述的系统,其特征在于,所述第一节点和/或所述第二节点还用于:
确定部署成功的节点数量大于预设的最少部署的节点数量;
在全局状态记录所述目标局部合约部署成功。
25.如权利要求21所述的系统,其特征在于,还包括:
服务端,用于存储交易数据;其中,当所述服务端接收到所述第一节点通过安全下载链接发起的下载请求时,向所述第一节点返回所述交易数据;和/或,
用于存储目标局部合约的代码;其中,当所述服务端接收到所述第一节点通过安全下载链接发起的下载请求时,向所述第一节点返回所述目标局部合约的代码。
26.一种电子设备,包括存储器和处理器,所述存储器用于存储计算机指令,其特征在于,所述计算机指令被所述处理器执行以实现如权利要求1-13的任一项所述的方法。
27.一种可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-13的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217296.2A CN112580112B (zh) | 2021-02-26 | 2021-02-26 | 一种基于全链共识、局部部署的智能合约实现方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217296.2A CN112580112B (zh) | 2021-02-26 | 2021-02-26 | 一种基于全链共识、局部部署的智能合约实现方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112580112A true CN112580112A (zh) | 2021-03-30 |
CN112580112B CN112580112B (zh) | 2021-06-22 |
Family
ID=75114053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110217296.2A Active CN112580112B (zh) | 2021-02-26 | 2021-02-26 | 一种基于全链共识、局部部署的智能合约实现方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112580112B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949508A (zh) * | 2021-08-30 | 2022-01-18 | 深圳时空云科技有限公司 | 基于随机数共识机制的过程数据处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190164153A1 (en) * | 2017-11-30 | 2019-05-30 | Shashank Agrawal | Blockchain system for confidential and anonymous smart contracts |
CN110020855A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、存储介质 |
CN110291550A (zh) * | 2018-11-27 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 提高区块链上智能合约的安全性的系统和方法 |
CN110692078A (zh) * | 2018-10-10 | 2020-01-14 | 王成 | 基于区块链的交易数据处理方法、设备和存储介质 |
CN111527489A (zh) * | 2020-03-13 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 基于去中心化标识的数据授权 |
CN112269836A (zh) * | 2020-11-15 | 2021-01-26 | 北京物资学院 | 一种区块链智能合约生成与管理系统及其实现机制 |
-
2021
- 2021-02-26 CN CN202110217296.2A patent/CN112580112B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190164153A1 (en) * | 2017-11-30 | 2019-05-30 | Shashank Agrawal | Blockchain system for confidential and anonymous smart contracts |
CN110692078A (zh) * | 2018-10-10 | 2020-01-14 | 王成 | 基于区块链的交易数据处理方法、设备和存储介质 |
CN110291550A (zh) * | 2018-11-27 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 提高区块链上智能合约的安全性的系统和方法 |
CN110020855A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、存储介质 |
CN111527489A (zh) * | 2020-03-13 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 基于去中心化标识的数据授权 |
CN112269836A (zh) * | 2020-11-15 | 2021-01-26 | 北京物资学院 | 一种区块链智能合约生成与管理系统及其实现机制 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949508A (zh) * | 2021-08-30 | 2022-01-18 | 深圳时空云科技有限公司 | 基于随机数共识机制的过程数据处理方法及装置 |
CN113949508B (zh) * | 2021-08-30 | 2023-09-22 | 深圳时空云科技有限公司 | 基于随机数共识机制的过程数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112580112B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10790976B1 (en) | System and method of blockchain wallet recovery | |
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
CN109934593B (zh) | 用于实现支持多重签名的区块链系统的设计方法及设备 | |
JP5497171B2 (ja) | セキュア仮想マシンを提供するためのシステムおよび方法 | |
JP4410821B2 (ja) | 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証 | |
CN101669128B (zh) | 级联认证系统 | |
JP4939851B2 (ja) | 情報処理端末、セキュアデバイスおよび状態処理方法 | |
Bozic et al. | Securing virtual machine orchestration with blockchains | |
EP3488584B1 (en) | Usage tracking in hybrid cloud computing systems | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
JP6073320B2 (ja) | デジタル署名するオーソリティ依存のプラットフォームシークレット | |
CN112287034B (zh) | 一种数据同步方法、设备以及计算机可读存储介质 | |
CN111723383A (zh) | 数据存储、验证方法及装置 | |
CN109447601B (zh) | 在区块链网络中执行见证人转移交易的方法 | |
WO2020259390A1 (zh) | 一种反序列化漏洞的检测方法及装置 | |
CN111260470A (zh) | 一种混合区块链架构系统及处理方法 | |
WO2022206431A1 (zh) | 查询Fabric区块链账本数据的方法和装置 | |
CN112580112B (zh) | 一种基于全链共识、局部部署的智能合约实现方法、装置 | |
WO2021019429A1 (en) | Techniques for incentivized intrusion detection system | |
CN109063461B (zh) | 一种第三方免密登录方法及系统 | |
CN115426106B (zh) | 一种身份认证方法、装置、系统、电子设备及存储介质 | |
CN110298165A (zh) | 安全访问共享内存的方法、装置以及认证代理 | |
US7051210B2 (en) | Persistance and recovery of security keys | |
CN114372280A (zh) | 一种基于多签智能合约的区块链业务执行方法及装置 | |
JP7374112B2 (ja) | セキュアデータ処理 |
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 |