Today's blockchains suffer from low throughput and high latency, which impedes their widespread adoption of more complex applications like smart contracts. In this paper, we propose a novel paradigm for smart contract execution. It distinguishes between consensus nodes and execution nodes: different groups of execution nodes can execute transactions in parallel; meanwhile, consensus nodes can asynchronously order transactions and process execution results. Moreover, it requires no coordination among execution nodes and can effectively prevent livelocks. We show two ways of applying this paradigm to blockchains. First, we show how we can make Ethereum support parallel and asynchronous contract execution \emph{without hard-forks}. Then, we propose a new public, permissionless blockchain. Our benchmark shows that, with a fast consensus layer, it can provide a high throughput even for complex transactions like Cryptokitties gene mixing. It can also protect simple transactions from being starved by complex transactions.
翻译:当今区块链面临低吞吐量和高延迟的问题,这阻碍了智能合约等复杂应用的广泛采用。本文提出一种新型智能合约执行范式,其核心在于区分共识节点与执行节点:不同执行节点组可并行执行交易,同时共识节点能异步排序交易并处理执行结果。该范式无需执行节点间协调,并可有效避免活锁。我们展示了将该范式应用于区块链的两种途径:首先,演示如何在不进行硬分叉的前提下使以太坊支持并行与异步合约执行;其次,提出一种全新的无许可公有区块链。基准测试表明,在快速共识层的支撑下,该方案即使针对Cryptokitties基因混合等复杂交易也能实现高吞吐量,同时可防止简单交易被复杂交易"饿死"。