A theory of transaction parallelism in blockchains
Autor: | Maurizio Murgia, Massimo Bartoletti, Letterio Galletta |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2021 |
Předmět: |
FOS: Computer and information sciences
Blockchain Computer Science - Cryptography and Security General Computer Science Smart contract business.industry Computer science Static analysis Theoretical Computer Science Order (business) State (computer science) business Cryptography and Security (cs.CR) Database transaction Throughput (business) Computer network Block (data storage) |
Popis: | Decentralized blockchain platforms have enabled the secure exchange of crypto-assets without the intermediation of trusted authorities. To this purpose, these platforms rely on a peer-to-peer network of byzantine nodes, which collaboratively maintain an append-only ledger of transactions, called blockchain. Transactions represent the actions required by users, e.g. the transfer of some units of crypto-currency to another user, or the execution of a smart contract which distributes crypto-assets according to its internal logic. Part of the nodes of the peer-to-peer network compete to append transactions to the blockchain. To do so, they group the transactions sent by users into blocks, and update their view of the blockchain state by executing these transactions in the chosen order. Once a block of transactions is appended to the blockchain, the other nodes validate it, re-executing the transactions in the same order. The serial execution of transactions does not take advantage of the multi-core architecture of modern processors, so contributing to limit the throughput. In this paper we develop a theory of transaction parallelism for blockchains, which is based on static analysis of transactions and smart contracts. We illustrate how blockchain nodes can use our theory to parallelize the execution of transactions. Initial experiments on Ethereum show that our technique can improve the performance of nodes. arXiv admin note: text overlap with arXiv:1905.04366 |
Databáze: | OpenAIRE |
Externí odkaz: |