Improving Blockchains with Client-Assistance

Jian Liu,Kui Ren
DOI: https://doi.org/10.1109/tc.2021.3072129
IF: 3.183
2021-01-01
IEEE Transactions on Computers
Abstract:Blockchain is a distributed database shared among disparate parties. It promises to enable new applications and solutions to wide-ranging domains. However, today's blockchains suffer from low throughput and high latency. This impedes widespread adoption of more complex blockchain-based applications. We propose a new direction for the future development of blockchains: pushing utmost work to client-side to make the blockchain-core as simple as possible. To show the feasibility and practicability of this idea, we construct both client-assisted consensus and client-assisted smart contracts. The client-assisted consensus only requires a single round-trip between clients and blockchain nodes; it is leaderless and parallelizable. Our experimental results show that it can process thousands of transactions per second when the number of replicas is 400. The client-assisted smart contract pushes the expensive execution to client-side and ensures the correctness by verifiable computation. It avoids duplicated execution, allows parallel execution and reduces transaction/blockchain sizes.
What problem does this paper attempt to address?