[发明专利]高性能智能合约设计有效
申请号: | 201710983044.4 | 申请日: | 2017-10-20 |
公开(公告)号: | CN109636592B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 胡凯;余维;罗戡 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 性能 智能 合约 设计 | ||
1.一种高性能智能合约的实现方法,其特征在于包括如下步骤:
(1)设计智能合约并行执行模型;
(2)设计交易去依赖算法;
(3)设计线程数量分配算法;
所述并行执行模型的设计方法包括如下步骤:(1)使用合约语言编写智能合约;(2)用合约编译器将合约编译成合约虚拟机字节码;(3)编译好的虚拟机字节码回送给系统前端;(4)前端将编译好的智能合约部署到区块链中;(5)区块链返回智能合约地址+ABI,其中所述ABI表示合约接口的二进制表示;(6)前端接收到交易,通过Address+ABI+nonce,调用对应智能合约;(7)系统从区块链中取出对应合约字节码,将合约字节码加载到合约虚拟机中;(8)系统将交易中包含的信息作为参数传递给合约,调用对应的合约应用程序编程接口,合约在合约虚拟机中执行相关操作,对共享变量实现并发访问从而设计出基于多线程的并发智能合约并行执行模型;
所述交易去依赖算法包括如下步骤:(1)构建交易图;(2)分割交易;(3)交易负载平衡;
所述构建交易图包括:将交易中所涉及账户作为所述交易图中的结点,构成一个无向交易图G(v),其中v代表涉及账户,v的值代表与账户关联的交易集合;
所述分割交易使用广度优先算法,遍历所述交易图中的结点,获取不连通的子图集合,所述子图集合中的每个子图所包含的交易都是独立于其他子图;
所述交易负载平衡包括将独立的所述子图以接近均分的方式分配给各个线程。
2.根据权利要求1所述的高性能智能合约的实现方法,其特征在于:所述合约接口包括变量,事件和可以调用的方法。
3.根据权利要求1所述的高性能智能合约的实现方法,其特征在于:所述并行执行模型处理交易基于多线程进行,在执行交易之前,首先对交易进行切分,然后通过交易流,生成交易图,所述交易图中的各个结点代表交易中所含账户,不连通的子图代表一个独立的交易集合,独立交易集合可以并发执行,从而提高交易处理的速度,同时,从区块链读取智能合约的过程跟随着交易被分配给了多个线程并发执行交易的处理。
4.根据权利要求1所述的高性能智能合约的实现方法,其特征在于:所述线程数量分配算法根据独立交易集合的数量以及交易在独立交易集合中的分布生成。
5.一种能实施根据权利要求1-4任一项所述的高性能智能合约的实现方法的系统,所述系统包括:智能合约并行执行模型形成模块,交易去依赖算法模块以及线程数量分配算法模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710983044.4/1.html,转载请声明来源钻瓜专利网。