YODA:在含拜占庭与自私节点的区块链上实现计算密集型合约
摘要
以 Bitcoin 和 Ethereum 为代表的无需许可区块链的一个主要缺陷是不适合运行计算密集型智能合约(CICs)。这阻碍了此类区块链运行机器学习算法、零知识证明等可能需要大量计算的任务。本文中,我们提出 YODA,据我们所知,这是首个在含拜占庭与自私节点的威胁模型下为无需许可区块链中 CICs 高效计算提供保证的解决方案。YODA 通过抽签选取一个或多个执行集(ES)在链下执行特定 CIC。一项关键创新是基于序贯假设检验的 Multi-Round Adaptive Consensus using Likelihood Estimation(MIRACLE)算法。MIRACLE 允许执行集规模较小,从而使 YODA 高效,同时以高概率确保 CIC 的正确执行。它根据系统中拜占庭节点的集中程度自动调整 ES 集数量,并在某些场景下就所用 ES 集期望数量而言是最优的。通过一系列经济激励与技术机制(如新颖的 Randomness Inserted Contract Execution(RICE)算法),我们迫使自私节点诚实行为。我们还证明了自私节点的诚实行为是一个近似纳什均衡。我们给出了 YODA 的系统设计与细节,并证明了 MIRACLE 与 RICE 的安全属性。构建于 Ethereum 之上的原型实现表明,YODA 运行 CICs 时单位时间 gas 及总 gas 需求均可比 Ethereum 当前支持的高出数个数量级,同时也展示了 RICE 的低开销。
引用
@article{arxiv.1811.03265,
title = {YODA: Enabling computationally intensive contracts on blockchains with Byzantine and Selfish nodes},
author = {Sourav Das and Vinay Joseph Ribeiro and Abhijeet Anand},
journal= {arXiv preprint arXiv:1811.03265},
year = {2018}
}
备注
To appear at Network and Distributed Systems Security (NDSS) Symposium 2019 24-27 February 2019, San Diego, CA, USA