【技术实现步骤摘要】
一种部署智能合约的方法、区块链节点和存储介质
本说明书实施例属于区块链
,尤其涉及一种部署智能合约的方法、区块链节点和存储介质。
技术介绍
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链2.0时代中出现了智能合约,将区块链的应用范围提升到了一个新高度。有了智能合约,区块链能做的不再是单一的转账交易,而是还可以调用一段代码,而这段代码可以由用户自定义。
技术实现思路
本说明书在于提供一种部署智能合约的方法、区块链节点和存储介质。本说明书实施例提供的一种部署智能合约的方法、区块链节点和存储介质,通过以下方式实现:一种部署智能合约的方法,包括:客户端将智能合约的字节码发送至第一可信执行环境TEE,并接收第一TEE对所述字节码进行AoT编译得到的机器码;区块链节点接收所述客户端提交的创建智能合约的交易,所述交易中包括所述智能合约的机器码;所述区块链节点在确定所述机器码由可信TEE对所述字节码进行编译得到的情况下,完成所述智能合约的部署。一种部署智能合约的方法,包括:区块链节点接收创建智能合约的交易,所述交易中包括所述智能合约的机器码,所述机器码由第一可信执行环境TEE对所述智能合约的字节码进行AoT编译得到;所述区块链节点在确定所述机器码由可信TEE对所述字节码进行编译得到的情况下,完成所述智能合约的部署。一种部署智能合约的区块链节点,执行上述的方法。一种 ...
【技术保护点】
1.一种部署智能合约的方法,包括:/n客户端将智能合约的字节码发送至第一可信执行环境TEE,并接收第一TEE对所述字节码进行AoT编译得到的机器码;/n区块链节点接收所述客户端提交的创建智能合约的交易,所述交易中包括所述智能合约的机器码;/n所述区块链节点在确定所述机器码由可信TEE对所述字节码进行编译得到的情况下,完成所述智能合约的部署。/n
【技术特征摘要】
1.一种部署智能合约的方法,包括:
客户端将智能合约的字节码发送至第一可信执行环境TEE,并接收第一TEE对所述字节码进行AoT编译得到的机器码;
区块链节点接收所述客户端提交的创建智能合约的交易,所述交易中包括所述智能合约的机器码;
所述区块链节点在确定所述机器码由可信TEE对所述字节码进行编译得到的情况下,完成所述智能合约的部署。
2.如权利要求1所述的方法,将所述智能合约的字节码AoT编译为所述机器码,包括:
在对所述智能合约的字节码进行AoT编译的过程中进行优化编译。
3.如权利要求2所述的方法,在对所述智能合约的字节码进行AoT编译的过程中进行优化编译,包括:
获取所述区块链节点的硬件信息和环境信息;
在对所述智能合约的字节码进行AoT编译的过程中,基于所述硬件信息和所述环境信息进行优化编译。
4.如权利要求1所述的方法,将所述智能合约的字节码AoT编译为所述机器码,包括:
根据所述区块链节点的处理器架构和/或运行环境,对所述字节码进行AoT编译,以得到能够在所述区块链节点上执行的机器码。
5.如权利要求1所述的方法,第一TEE部署于下述任一方:所述客户端、区块链网络中的任一区块链节点、区别于所述客户端和所述区块链节点的第三方服务端。
6.如权利要求5所述的方法,在第一TEE部署于区块链网络中的任一区块链节点的情况下,客户端将智能合约的字节码发送至第一可信执行环境TEE,包括:
客户端创建用于实现AoT编译的交易,并该交易发送至部署有第一TEE的区块链节点处,以由部署有第一TEE的区块链节点调用用于实现编译功能的智能合约,对接收到的交易中包含的字节码进行AoT编译,得到机器码。
7.如权利要求1所述的方法,所述区块链节点确定所述机器码由可信TEE对所述字节码编译得到,包括:
所述区块链节点从所述交易中获取第一TEE通过私钥对所述机器码生成的签名;
所述区块链节点在所述签名被预定义的可信TEE镜像对应的公钥验证成功的情况下,确定第一TEE属于可信TEE。
8.如权利要求7所述的方法,所述私钥由密钥管理服务器在确定第一TEE通过远程证明的情况下分发至第一TEE中。
9.如权利要求7所述的方法,所述可信TEE镜像包括:基于软件扩展保护SGX的可信围圈enclave的镜像。
10.如权利要求7所述的方法,所述可信TEE镜像对应的公钥被记录于系统合约中;所述方法还包括:
所述区块链节点调用所述系统合约,并向所述系统合约传入所述签名;
所述区块链节点接收所述系统合约返回的识别结果,所述识别结果用于表明所述签名是否被所述可信TEE镜像对应的公钥验证成功。
11.如权利要求10所述的方法,所述区块链节点调用所述系统合约,包括:
所述区块链节点从所述交易中读取所述系统合约的合约地址,并基于所述合约地址调用所述系统合约;或者,
所述区块链节点在确定所述交易的类型为合约部署类型的情况下,根据链代码中定义的所述系统合约的合约地址调用所述系统合约。
12.如权利要求11所述的方法,所述系统合约被部署在创世块中...
【专利技术属性】
技术研发人员:刘琦,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。