首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种面向栈式EVM的细粒度交易部分回滚机制的实现方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:华东师范大学

摘要:本发明公开了一种面向栈式EVM的细粒度交易部分回滚机制的实现方法,旨在解决智能合约交易在并发执行过程中产生的读后写冲突问题。首先,针对目前智能合约执行环境的主流标准EVM,设计一个持久化栈的结构pStack。pStack将栈区划分为若干个内存段,每个内存段记录栈中连续的一组元素,这样细粒度的划分使得快照在创建时,可以共享未修改的内存段,而无需复制整个栈,从而支持高效的快照记录与管理。本发明实现了基于栈原生的细粒度交易部分回滚机制。通过pStack记录所有在将来要回滚至的栈的状态,以允许中止的交易T仅需重执行被冲突影响的操作,而其他与冲突无关的已执行逻辑和读写将被保留,从而节省了大量计算资源,并提升了交易执行的效率。

主权项:1.一种面向栈式EVM的细粒度交易部分回滚机制的实现方法,其特征在于,用一个持久化栈的结构pStack,在基于栈式虚拟机的EVM智能合约执行环境中实现细粒度交易部分回滚机制,具体包括如下步骤:步骤A1:在EVM执行环境中检查交易T是否读取智能合约执行环境之外的状态数据;若读取外部状态,则创建一个检查点,复制前一个栈帧的栈高度和指针列表来分叉构建一个新的pStack栈帧;步骤A2:执行交易T;根据交易T中的逻辑操作,更新当前pStack栈帧的指针列表以及操作中涉及的内存段;步骤A3:检测智能合约交易的读后写冲突;当智能合约交易T因冲突发生而被终止时,将交易T回滚到该冲突之前最近的检查点中记录的pStack栈帧状态,并删除此pStack栈帧之后创建的所有栈帧以及因冲突而无效的读取依赖关系和写入版本信息;步骤A4:在回滚到的最近检查点记录的pStack栈帧的执行上下文中重新执行交易,并在试探性提交时,将交易T在最新一次中止后新写入的本地写集版本插入共享存储中;其中:所述pStack是一个基于持久化栈的结构,用于记录所有在将来要回滚至的栈的状态;所述的结构模拟了一个标准的栈,支持通用的栈操作原语,能够有效地还原和操作多个栈的快照;所述的结构将栈细粒度地划分为若干个内存段,每个内存段记录栈中m个连续的元素,使得多个快照之间能够共享未修改的内存段,而无需复制整个栈;所述的结构支持利用索引访问所有栈元素,以及追踪记录的栈的快照;所述的结构利用栈帧来标识栈快照,所述栈帧由三部分组成:一个指针列表,指向其维护的内存段;一个记录栈高度的变量和一个布尔类型的引用标记列表,以跟踪当前栈帧是否与其他栈帧共享内存段。

全文数据:

权利要求:

百度查询: 华东师范大学 一种面向栈式EVM的细粒度交易部分回滚机制的实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。