[发明专利]一种基于多核架构的智能合约执行优化方法在审
申请号: | 202010467552.9 | 申请日: | 2020-05-28 |
公开(公告)号: | CN111724256A | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 王建荣;吴彤;刘志强;李雪威;赵满坤;侯庆志;张克兴 | 申请(专利权)人: | 天津大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q10/06;G06Q10/04 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 霍慧慧 |
地址: | 300071*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多核 架构 智能 合约 执行 优化 方法 | ||
1.一种基于多核架构的智能合约执行优化方法,其特征在于:所述方法的步骤为:
1)并行挖矿阶段:矿工收集交易信息对智能合约进行初次调用执行,对交易进行标记并对执行顺序进行记录,包含步骤:
S1、并行化执行交易;
S2、标记交易的执行顺序使交易的结构可以复现;
2)并行验证阶段:验证结点对交易的结构进行复现,并对冲突的交易进行分组,验证交易的最终状态,包含步骤:
S3、根据挖矿结点提供的标记信息对交易进行复现;
S4、利用贪心分组策略将冲突的交易进行分组并行化;
S5、保证组内交易的执行顺序避免锁的争用和等待;
S6、对交易的结果进行验证。
2.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S1的具体操作为:使用自旋锁(pinLock)和时间戳(Timestamp)来解决读写冲突和优先级的问题并使用缓存提交,进行读操作时将读到的数据复制到线程局部变量(ThreadLocal)中,如果Timestamp的值没有改变,则继续进行下一步操作,否则表明在这段时间内有其他的线程对该变量进行了写操作;此时需要重新读取原变量的值,直到Timestamp的值相同,在此过程中缓存策略将所有成功执行的操作先存储在缓存(Cache)中,当所有动作执行完毕提交或丢弃Cache。
3.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S2使用Spinlock执行交易并对交易进行标记,记录每个操作的前驱结点和锁定时间,具体操作为:开启三个工作线程对交易进行并行化执行,Ti表示线程,ti表示交易序号,采用Spinlock和乐观读对交易进行处理,并记录每个操作的前驱结点和锁定的时间戳,若交易没有前驱结点则标记为空,如交易有多个前驱结点,则按照顺序进行记录。
4.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S3通过S2标记的信息构造交易图谱,具体操作为:通过并行挖矿阶段标记的信息可以得到合约之间交易的邻接矩阵M1,M2和M3,其顶点顺序依次为M1(V)={Kate,Ivy,Rita,Kim,Len,Eva,May,Zara,Lucy},M2(V)={Ruth,Elsa,Ruby},M3(V)={Vera,Kyra},每当有一笔交易记录就会在账户之间形成一条有向边用1表示,否则用0表示,如公式所示:
其中:M表示邻接矩阵;
vi,vj表示任意两个顶点,即合约账户。
5.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S4根据机器的并发将交易分组,具体操作为:递归是解决线性分组最直接的手段之一,首先,按照交易的规模对冲突交易集合U进行升序排序,假设排序后的集合为SU={s1,s2,...,sn},通过不断比较前i个元素和后n-i个元素的最值,得到问题的最优解,如公式所示:
其中:n代表集合U中元素的个数;
M|n,k|代表将n个元素分成k组的最优解;
边界条件计算公式为:
6.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S5具体操作为:将分组后的交易分发给不同的消息队列并行执行,每个消息队列使用单一的消费线程进行串行执行,以保证组内交易的执行顺序避免锁的争用和等待。
7.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S6对基于多核架构的智能合约执行优化方法进行实验,具体操作为:基于Aelf区块链,使用经典的转账合约作为实验数据,通过设置交易数量(txCount)和交易冲突率(conflictRate)这两个参数控制冲突交易的比例,针对并行挖矿策略和并行验证策略设计实验,验证交易的冲突率对智能合约并行化执行效率的影响,并行挖矿和并行验证策略吞吐量和加速比的变化情况;并分别与Aelf区块链提出的串行挖矿和串行验证作对比,验证并行策略的优越性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010467552.9/1.html,转载请声明来源钻瓜专利网。