【技术实现步骤摘要】
【国外来华专利技术】用于在区块链上执行原生合约的系统和方法
本申请总体涉及用于在区块链上执行原生合约(nativecontract)的系统和方法。
技术介绍
区块链技术允许以去中心化方式存储数据。数据可存储在相互之间具有优先关系的一系列数据块中,这些数据块形成区块的链。区块的链由节点网络维护,该节点网络也负责在将数据存储到区块中之前验证数据。由于节点采用了密码技术和共识技术,所以存储在区块链中的数据几乎是不可改变的。节点网络也被称为区块链共识网络。近来,区块链技术已经扩展为提供用于执行区块链合约(或称为智能合约)的框架。区块链合约是一种计算机协议,其旨在以数字方式促进、验证或施行合约的协商或履行。例如,区块链合约允许在没有第三方的情况下执行可信交易。当前的智能合约大多是运行在以太坊虚拟机(EVM)上的Solidity合约,因为它们需要以Solidity语言编写。Solidity合约是驻留在以太坊区块链上的特定地址处的代码(合约函数)和数据(合约状态)的集合。一些其他智能合约是原生合约。原生合约可以以非Solidity的语言编写。原生合约不应与预编译合约混淆。预编译合约是运行在EVM之 ...
【技术保护点】
1.一种计算机实施的用于在区块链上实现原生合约的方法,包括:获取与区块链合约相关的组合字节码,其中,所述组合字节码包括表示所述区块链合约的类型的指示符;至少基于所述指示符确定所述区块链合约的类型;以及基于确定的所述区块链合约的类型执行所述区块链合约。
【技术特征摘要】
【国外来华专利技术】1.一种计算机实施的用于在区块链上实现原生合约的方法,包括:获取与区块链合约相关的组合字节码,其中,所述组合字节码包括表示所述区块链合约的类型的指示符;至少基于所述指示符确定所述区块链合约的类型;以及基于确定的所述区块链合约的类型执行所述区块链合约。2.根据权利要求1所述的方法,其中:所述组合字节码包括从所述区块链合约的源代码编译的动态库文件的字节码。3.根据权利要求2所述的方法,其中,至少基于所述指示符确定所述区块链合约的类型包括:确定所述区块链合约的类型是否为原生合约。4.根据权利要求3所述的方法,其中,基于确定的所述区块链合约的类型执行所述区块链合约包括:响应于确定所述区块链合约为原生合约,触发区块链虚拟机执行所述区块链合约。5.根据权利要求4所述的方法,其中,触发所述虚拟机执行所述区块链合约包括:至少基于所述指示符确定与所述类型相应的虚拟机;以及触发确定的所述虚拟机以执行所述动态库文件。6.根据权利要求3所述的方法,其中,基于确定的所述区块链合约的类型执行所述区块链合约包括:响应于确定所述区块链合约为原生合约,创建子进程来执行所述区块链合约。7.根据权利要求6所述的方法,其中,创建子进程来执行所述区块链合约包括:创建可执行文件;以及生成所述子进程以启动所述可执行文件来执行所述动态库文件。8.根据权利要求6所述的方法,其中:所述子进程和区块链虚拟机经由套接字或共享存储器通信。9.根据权利要求3所述的方法,其中,基于确定的所述区块链合约的类型执行所述区块链合约包括:响应于确定所述区块链合约为原生合约,启动Docker容器来执行所述区块链合约。10.根据权利要求9所述的方法,其中,启动所述Docker容器来执行所述区块链合约包括:创建Docker容器;以及启动所述Docker容器来执行所述动态库文件。11.根据权利要求9所述的方法,其中:所述Docker容器和区块链虚拟机经由套接字通信。12.一种非暂时性计算机可读存储介质,配置有能够由一个或多个处理器执行的指令,以使所述一个或多个处理器执行包括以下的操作:获取与区块链合约相关的组合字节码,其中,所述组合字节码包括表示所述区块链合约的类型的指示符;至少基于所述指示符确定所述区块链合约的类型;以及基于所述确定的...
【专利技术属性】
技术研发人员:孙赫,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。