一种基于区块链的数据处理方法及区块链节点装置与流程

文档序号:32383090发布日期:2022-11-30 03:33阅读:来源:国知局

技术特征:
1.一种基于区块链的数据处理方法,其特征在于,应用于区块链上的区块链节点,所述方法包括:接收来自区块链客户端的交易请求,其中,所述交易请求包含交易参数,且所述交易请求用于指示所述区块链节点基于所述交易参数执行相应的智能合约以完成所述交易请求对应的交易;调用安装在可信执行环境tee中的可信执行程序ta,以使所述ta根据所述交易参数在所述tee执行所述智能合约,得到目标结构体,其中,所述目标结构体中包括所述交易相关的状态数据的密文,所述状态数据的加密密钥是所述区块链客户端的密钥;向所述区块链客户端发送所述目标结构体。2.根据权利要求1所述的方法,其特征在于,所述交易请求中包括写请求,所述交易参数包括所述写请求对应的写操作参数,所述交易相关的状态数据包括所述写操作参数对应的第一状态数据,所述交易相关的状态数据的密文包括所述第一状态数据对应的第一密文。3.根据权利要求2所述的方法,其特征在于,所述第一状态数据包括键值对;其中,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的值进行加密得到的;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的值进行加密得到的加密密文与随机数的组合;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的键值对进行加密得到的;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的键值对进行加密得到的加密密文与随机数组合。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:在确定所述交易在所述区块链达成共识的情况下,从存储有所述目标结构体的目标区块中获取所述目标结构体;将所述目标结构体中的第一密文写入所述区块链节点的状态数据库中;其中,所述状态数据库位于所述区块链节点的非可信执行环境ree中,所述第一密文的查询键为第一哈希值,所述第一哈希值是所述ta采用预设的哈希算法对所述第一状态数据中的键进行哈希运算得到的。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述交易请求中包括读请求,所述交易参数包括所述读请求对应的读操作参数,所述交易相关的状态数据包括所述读操作参数对应的第二状态数据,所述交易相关的状态数据的密文包括所述第二状态数据对应的第二密文。6.根据权利要求5所述的方法,其特征在于,调用安装在tee中的ta,以使所述ta根据所述交易参数在所述tee执行所述智能合约,包括:调用所述ta,以使所述ta根据所述读操作参数从所述区块链节点的状态数据库中读取所述第二密文;调用所述ta,以使所述ta根据所述区块链客户端的密钥对所述第二密文进行解密,得到所述第二状态数据;
调用所述ta,以使所述ta基于所述第二状态数据继续执行所述智能合约的后续逻辑。7.根据权利要求5或6所述的方法,其特征在于,所述读请求中包含待查询的目标键,所述第二密文采用键-值对格式;其中,所述ta从所述状态数据库读取所述第二密文时,以第二哈希值作为所述第二密文的查询键,所述第二哈希值是所述ta采用预设的哈希算法对所述目标键进行哈希运算得到的。8.根据权利要求5-7中任一项所述的方法,其特征在于,所述第二状态数据是所述第二密文对应的明文,所述明文对应的解密密钥为所述区块链客户端的密钥和随机数。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述目标结构体中还包括第三哈希值,所述第三哈希值是所述ta采用预设的哈希算法对所述智能合约的合约逻辑进行哈希运算得到的。10.根据权利要求9所述的方法,其特征在于,所述智能合约的合约逻辑为wasm字节码或evm字节码或源码文件或文件压缩包。11.根据权利要求1-10中任一项所述的方法,其特征在于,所述区块链节点接收来自区块链客户端的交易请求之前,所述方法还包括:接收来自区块链客户端的第三密文;调用所述ta,以使所述ta根据保存的非对称密钥对所述第三密文进行解密,得到所述区块链客户端的密钥。12.根据权利要求1-11中任一项所述的方法,其特征在于,所述区块链客户端的密钥为对称密钥。13.一种区块链节点装置,其特征在于,包括:通信单元,用于接收来自区块链客户端的交易请求,其中,所述交易请求包含交易参数,且所述交易请求用于指示所述区块链节点基于所述交易参数执行相应的智能合约以完成所述交易请求对应的交易;处理单元,用于调用安装在可信执行环境tee中的可信执行程序ta,以使所述ta根据所述交易参数在所述tee执行所述智能合约,得到目标结构体;其中,所述目标结构体中包括所述交易相关的状态数据的密文,所述状态数据的加密密钥是所述区块链客户端的密钥;通信单元还用于向所述区块链客户端发送所述目标结构体。14.根据权利要求13所述的装置,其特征在于,所述交易请求中包括写请求,所述交易参数包括所述写请求对应的写操作参数,所述交易相关的状态数据包括所述写操作参数对应的第一状态数据,所述交易相关的状态数据的密文包括所述第一状态数据对应的第一密文。15.根据权利要求14所述的装置,其特征在于,所述第一状态数据包括键值对;其中,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的值进行加密得到的;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的值进行加密得到的加密密文与随机数的组合;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的键值
对进行加密得到的;或者,所述第一密文是所述ta根据所述区块链客户端的密钥对所述第一状态数据中的键值对进行加密得到的加密密文与随机数组合。16.根据权利要求14或15所述的装置,其特征在于,所述处理单元还用于:在确定所述交易在所述区块链达成共识的情况下,通过所述通信单元从存储有所述目标结构体的目标区块中获取所述目标结构体;将所述目标结构体中的第一密文写入所述区块链节点的状态数据库中;其中,所述状态数据库位于所述区块链节点的非可信执行环境ree中,所述第一密文的查询键为第一哈希值,所述第一哈希值是所述ta采用预设的哈希算法对所述第一状态数据中的键进行哈希运算得到的。17.根据权利要求13-16中任一项所述的装置,其特征在于,所述交易请求中包括读请求,所述交易参数包括所述读请求对应的读操作参数,所述交易相关的状态数据包括所述读操作参数对应的第二状态数据,所述交易相关的状态数据的密文包括所述第二状态数据对应的第二密文。18.根据权利要求17所述的装置,其特征在于,所述处理单元用于:调用所述ta,以使所述ta根据所述读操作参数从所述区块链节点的状态数据库中读取所述第二密文;调用所述ta,以使所述ta根据所述区块链客户端的密钥对所述第二密文进行解密,得到所述第二状态数据;调用所述ta,以使所述ta基于所述第二状态数据继续执行所述智能合约的后续逻辑。19.根据权利要求17或18所述的装置,其特征在于,所述读操作参数中包含待查询的目标键,所述第二密文采用键-值对格式;其中,所述ta从所述状态数据库读取所述第二密文时,以第二哈希值作为所述第二密文的查询键,所述第二哈希值是所述ta采用预设的哈希算法对所述目标键进行哈希运算得到的。20.根据权利要求17-19中任一项所述的装置,其特征在于,所述第二状态数据是所述第二密文对应的明文,所述明文对应的解密密钥为所述区块链客户端的密钥和随机数。21.根据权利要求13-20中任一项所述的装置,其特征在于,所述目标结构体中还包括第三哈希值,所述第三哈希值是所述ta采用预设的哈希算法对所述智能合约的合约逻辑进行哈希运算得到的。22.根据权利要求21所述的装置,其特征在于,所述智能合约的合约逻辑为wasm字节码或evm字节码或源码文件或文件压缩包。23.根据权利要求13-22中任一项所述的装置,其特征在于,所述区块链节点接收来自区块链客户端的交易请求之前,所述处理单元还用于:通过所述通信单元接收来自区块链客户端的第三密文;调用所述ta,以使所述ta根据保存的非对称密钥对所述第三密文进行解密,得到所述区块链客户端的密钥。24.根据权利要求13-23中任一项所述的装置,其特征在于,所述区块链客户端的密钥
为对称密钥。25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行权利要求1-12任一项所述的方法。26.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行权利要求1-12任一项所述的方法。

技术总结
一种基于区块链的数据处理方法及区块链节点装置,涉及区块链技术领域。区块链节点接收来自区块链客户端的交易请求,交易请求包含交易参数,且交易请求用于指示区块链节点基于交易参数执行相应的智能合约以完成交易请求对应的交易;调用安装在可信执行环境TEE中的可信执行程序TA,以使TA根据交易参数在TEE执行智能合约,得到目标结构体;其中,目标结构体中包括所述交易相关的状态数据的密文,状态数据的加密密钥是区块链客户端的密钥;向区块链客户端发送目标结构体。该方法,有助于实现对交易过程中涉及的状态数据的隐私保护以及对完成交易的智能合约进行可信溯源,提升区块链网络整体的可信性。网络整体的可信性。网络整体的可信性。


技术研发人员:檀景辉
受保护的技术使用者:华为技术有限公司
技术研发日:2021.05.28
技术公布日:2022/11/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1