CKB new script verification with VM pause

CKB new script verification with VM pause

💡 原文中文,约2900字,阅读约需7分钟。
📝

内容提要

CKB交易在提交前需经过脚本验证,使用CKB-VM执行脚本。改进后的CKB-VM支持事件驱动的暂停,简化了大循环交易的处理流程,提高了效率,采用队列和多线程方案来处理交易。

🎯

关键要点

  • CKB交易在提交前需经过脚本验证,使用CKB-VM执行脚本。
  • 脚本是可在链上执行的二进制文件,通常用C或Rust实现。
  • 大循环交易的处理面临效率问题,CKB-VM之前支持不足。
  • 通过设置step cycles,CKB-VM可以在处理大循环交易时暂停。
  • 旧的脚本校验流程复杂,使用FIFO队列处理大交易,导致代码复杂度增加。
  • CKB-VM的暂停机制通过event-based方式改进,简化了状态保存和恢复。
  • 新的实现方案采用队列和多线程,提高了大交易处理效率。
  • 本地交易优先处理,不放入队列,网络交易则放入队列。
  • 新增的spawn实现允许父子VM共享暂停状态,优化了执行逻辑。
  • 整个改进旨在简化代码并提高CKB验证效率。
➡️

继续阅读