结合代码标注与事件类型的有条件的收据存储方法和节点与流程

文档序号:18739706发布日期:2019-09-21 01:38阅读:来源:国知局

技术特征:

1.一种结合代码标注与事件类型的有条件的收据存储方法,包括:

第一区块链节点接收经过加密的对应于智能合约的交易,所述智能合约的代码中包括通过暴露标识符标明的对象;

第一区块链节点在可信执行环境中解密所述交易以获得所述智能合约,所述智能合约包含特殊事件函数;

第一区块链节点在所述可信执行环境中执行所述智能合约,得到收据数据,所述收据数据包含对应于所述特殊事件函数的日志;

第一区块链节点存储所述收据数据,使对应于所述特殊事件函数的日志中的至少一部分收据内容以明文形式存储、所述收据数据的其余内容以密文形式存储,所述至少一部分收据内容匹配于所述暴露标识符标明的对象且满足预设条件。

2.根据权利要求1所述的方法,第一区块链节点接收的交易对应的智能合约,包括:

高级语言编写的智能合约;或,

字节码形式的智能合约。

3.根据权利要求2所述的方法,当第一区块链节点接收的交易对应的智能合约为高级语言编写的智能合约时,所述方法还包括:

第一区块链节点通过编译器对所述高级语言编写的智能合约进行编译,生成字节码形式的智能合约,以在所述可信执行环境中执行。

4.根据权利要求2所述的方法,当第一区块链节点接收的交易对应的智能合约为字节码形式的智能合约时,所述字节码形式的智能合约由客户端通过编译器对高级语言编写的智能合约进行编译而得到,所述高级语言编写的智能合约由用户在所述客户端上编写得到。

5.根据权利要求2所述的方法,所述高级语言编写的智能合约与所述字节码形式的智能合约具有相同或对应的暴露标识符。

6.根据权利要求1所述的方法,第一区块链节点接收的交易对应的智能合约,包括:

用户在第一区块链节点上生成的智能合约;或,

用户在客户端上生成的智能合约;或,

所述客户端通过第二区块链节点发来的交易中的智能合约。

7.根据权利要求1所述的方法,所述暴露标识符标明的对象包括:收据字段和/或状态变量。

8.根据权利要求1所述的方法,所述暴露标识符标明的对象包括:合约级对象;第一区块链节点存储所述收据数据,包括:

第一区块链节点在存储所述收据数据时,将所有特殊事件函数产生的日志中对应于所述合约级对象且满足所述预设条件的部分以明文形式存储。

9.根据权利要求1所述的方法,所述暴露标识符标明的对象包括:对应于所述智能合约中定义的至少一个事件的事件级对象;第一区块链节点存储所述收据数据,包括:

第一区块链节点在存储所述收据数据时,确定出所述至少一个事件对应的特殊事件函数产生的日志,并将确定出的日志中对应于所述事件级对象且满足所述预设条件的部分以明文形式存储。

10.根据权利要求1所述的方法,所述智能合约中的事件函数包含类型标识符,所述类型标识符用于将所述事件函数标记为特殊事件函数。

11.根据权利要求1所述的方法,当所述智能合约包含的事件函数位于区块链上记录的特殊函数列表中时,所述智能合约包含的事件函数被判定为特殊事件函数。

12.根据权利要求1所述的方法,所述预设条件包括以下至少之一:相应的收据内容中包含预设内容、相应的收据内容的取值属于预设数值区间。

13.根据权利要求1所述的方法,

所述预设条件包括所述收据数据中的所有收据字段对应的通用条件;或,

所述预设条件包括所述收据数据中的每一收据字段分别对应的专用条件。

14.根据权利要求1所述的方法,

所述预设条件位于所述交易中;或,

所述预设条件位于所述交易对应的智能合约中,或所述交易对应的智能合约所调用的另一智能合约中;或,

所述预设条件位于系统合约或链代码中。

15.根据权利要求1所述的方法,第一区块链节点存储所述收据数据,包括:

第一区块链节点读取系统合约的代码,所述系统合约的代码中定义了与暴露标识符、预设条件和特殊事件函数相关的收据数据存储逻辑;

第一区块链节点执行所述系统合约的代码,以将对应于所述特殊事件函数的日志中的至少一部分收据内容以明文形式存储、所述收据数据的其余内容以密文形式存储,所述至少一部分收据内容匹配于所述暴露标识符标明且满足所述预设条件的对象。

16.根据权利要求15所述的方法,所述系统合约包括:记录于创世块中的预置系统合约,或所述预置系统合约对应的更新后系统合约。

17.根据权利要求1所述的方法,第一区块链节点存储所述收据数据,包括:

第一区块链节点在所述可信执行环境之外执行存储功能代码,以将所述收据数据存储至所述可信执行环境之外的外部存储空间。

18.根据权利要求1所述的方法,第一区块链节点对所述收据数据进行加密的密钥包括:对称加密算法的密钥或非对称加密算法的密钥。

19.根据权利要求18所述的方法,所述对称加密算法的密钥包括所述客户端提供的初始密钥;或,所述对称加密算法的密钥包括所述初始密钥与影响因子生成的衍生密钥。

20.根据权利要求19所述的方法,所述交易由所述初始密钥进行加密,且所述初始密钥被非对称加密算法的公钥进行加密;第一区块链节点在可信执行环境中解密所述交易,包括:

第一区块链节点用所述非对称加密算法的私钥解密得到所述初始密钥,并用所述初始密钥对所述交易进行解密,以得到所述交易内容。

21.根据权利要求19所述的方法,所述初始密钥由客户端生成;或,所述初始密钥由密钥管理服务器发送至所述客户端。

22.根据权利要求19所述的方法,所述影响因子与所述交易相关。

23.根据权利要求22所述的方法,所述影响因子包括:所述交易的哈希值的指定位。

24.一种结合代码标注与事件类型的有条件的收据存储节点,包括:

接收单元,接收经过加密的对应于智能合约的交易,所述智能合约的代码中包括通过暴露标识符标明的对象;

解密单元,在可信执行环境中解密所述交易以获得所述智能合约,所述智能合约包含特殊事件函数;

执行单元,在所述可信执行环境中执行所述智能合约,得到收据数据,所述收据数据包含对应于所述特殊事件函数的日志;

存储单元,存储所述收据数据,使对应于所述特殊事件函数的日志中的至少一部分收据内容以明文形式存储、所述收据数据的其余内容以密文形式存储,所述至少一部分收据内容匹配于所述暴露标识符标明的对象且满足预设条件。

25.一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如权利要求1-23中任一项所述的方法。

26.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-23中任一项所述方法的步骤。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1