Skip to main content
QUICK REVIEW

[论文解读] An Empirical Study of Speculative Concurrency in Ethereum Smart Contracts

Vikram Saraph, Maurice Herlihy|arXiv (Cornell University)|Jan 5, 2019
Blockchain Technology Applications and Security参考文献 5被引用 19
一句话总结

本文利用历史交易追踪数据,评估了以太坊智能合约执行中的推测并发性。提出了一种两阶段推测执行模型——先并行执行,再对冲突交易顺序重执行——发现在2016年速度提升约8倍,到2017年降至2倍,大部分争用来自少数高流量合约(如CryptoKitties)。

ABSTRACT

We use historical data to estimate the potential benefit of speculative techniques for executing Ethereum smart contracts in parallel. We replay transaction traces of sampled blocks from the Ethereum blockchain over time, using a simple speculative execution engine. In this engine, miners attempt to execute all transactions in a block in parallel, rolling back those that cause data conflicts. Aborted transactions are then executed sequentially. Validators execute the same schedule as miners. We find that our speculative technique yields estimated speed-ups starting at about 8-fold in 2016, declining to about 2-fold at the end of 2017, where speed-up is measured using either gas costs or instruction counts. We also observe that a small set of contracts are responsible for many data conflicts resulting from speculative concurrent execution.

研究动机与目标

  • 使用真实历史数据,评估推测并行执行在以太坊智能合约中的实际性能收益。
  • 识别推测执行中数据冲突的程度与成因,尤其在交易负载增加时的表现。
  • 评估简单推测技术是否能在争用加剧的情况下仍带来显著的速度提升。
  • 探讨通过语义感知执行或激励机制减少冲突,是否能提升可扩展性。

提出的方法

  • 使用推测执行引擎重放采样的以太坊区块,通过读写集重叠检测冲突,实现交易并行执行。
  • 根据冲突检测结果,将交易分为并发和顺序执行两类:无冲突交易并行执行,有冲突交易则顺序重执行。
  • 使用气体成本或EVM指令计数作为运行时间的代理指标,通过顺序执行时间与推测执行时间的比值计算速度提升。
  • 采用贪心装箱策略将交易排序至并发或顺序阶段,以最小化冲突检测开销。
  • 通过隔离高流量合约(如CryptoKitties)分析其对争用和速度提升的影响。
  • 评估核心数量(16至64)变化及替代冲突检测策略(包括语义感知冲突建模)的影响。

实验结果

研究问题

  • RQ1推测并行执行在以太坊智能合约中随时间推移可实现多大的速度提升?
  • RQ2在以太坊交易负载的不同阶段,冲突率和争用模式如何演变?
  • RQ3哪些智能合约在推测执行中导致了大部分数据冲突?
  • RQ4更具侵略性的推测策略(如多阶段执行)在多大程度上能提升性能?
  • RQ5语义级冲突分析或VM级原子操作能否减少误报,从而提升可扩展性?

主要发现

  • 推测执行带来的速度提升从2016年初的约8倍下降至2017年底的约2倍,表明在负载增加下收益递减。
  • 少数高度流行的合约(尤其是CryptoKitties)导致了不成比例的大量数据冲突,高峰期30%的冲突存储地址至少存在五次冲突。
  • 排除CryptoKitties等高冲突合约后,高争用地址比例从30%降至14%,显著改善了冲突直方图与速度提升潜力。
  • 分别拆分读集和写集显著降低了冲突率,表明朴素的冲突检测会高估真实依赖关系。
  • 将模拟核心数从16增加到64提升了速度提升,但核心数超过64后进一步扩展几乎不再带来额外收益。
  • 更具侵略性的推测策略(如多阶段并发执行)收益甚微,原因在于冲突模式具有突发性,即一个冲突交易往往与多个其他交易冲突。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。