  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.
