一种基于区块链的数据处理方法及区块链节点装置制造方法及图纸

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

【技术实现步骤摘要】
一种基于区块链的数据处理方法及区块链节点装置


[0001]本申请涉及区块链
,特别涉及一种基于区块链的数据处理方法及区块链节点装置。

技术介绍

[0002]区块链(block chains)是一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,其中,通过在区块链节点安装和运行智能合约的合约逻辑,以完成交易。
[0003]对于传统的区块链系统而言,由于未设立对区块链节点和智能合约的运行环境的隔离机制,当区块链节点和智能合约所在的宿主机或环境被非法攻破后,可能导致区块链节点程序、智能合约等被非法替换,从而导致完成交易后所获得的结构体的不可靠性。
[0004]针对于此,目前业内提出一种在可信执行环境(trusted execution environment,TEE)中安装和运行智能合约的方案,以期消除传统区块链智能合约运行过程中存在的安全隐患。
[0005]然而,基于TEE运行智能合约的方案虽然可以在一定程度上提高智能合约运行过程中的安全性,但依然未能实现对交易过本文档来自技高网...

【技术保护点】

【技术特征摘要】
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.一种区块链节点装置,其特征在于,包括:通信单元,用于接收来自区块链客户端的交易请求,其中,所述交易请求包含交易参数,且所述交易请求用于指示所述区块链节点基于所述交易参数执行相应的智能合约以完成...

【专利技术属性】
技术研发人员:檀景辉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1