{"title":"区块链中的事务并行理论","authors":"Massimo Bartoletti, Letterio Galletta, Maurizio Murgia","doi":"10.46298/lmcs-17(4:10)2021","DOIUrl":null,"url":null,"abstract":"Decentralized blockchain platforms have enabled the secure exchange of\ncrypto-assets without the intermediation of trusted authorities. To this\npurpose, these platforms rely on a peer-to-peer network of byzantine nodes,\nwhich collaboratively maintain an append-only ledger of transactions, called\nblockchain. Transactions represent the actions required by users, e.g. the\ntransfer of some units of crypto-currency to another user, or the execution of\na smart contract which distributes crypto-assets according to its internal\nlogic. Part of the nodes of the peer-to-peer network compete to append\ntransactions to the blockchain. To do so, they group the transactions sent by\nusers into blocks, and update their view of the blockchain state by executing\nthese transactions in the chosen order. Once a block of transactions is\nappended to the blockchain, the other nodes validate it, re-executing the\ntransactions in the same order. The serial execution of transactions does not\ntake advantage of the multi-core architecture of modern processors, so\ncontributing to limit the throughput. In this paper we develop a theory of\ntransaction parallelism for blockchains, which is based on static analysis of\ntransactions and smart contracts. We illustrate how blockchain nodes can use\nour theory to parallelize the execution of transactions. Initial experiments on\nEthereum show that our technique can improve the performance of nodes.","PeriodicalId":314387,"journal":{"name":"Log. Methods Comput. Sci.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"A theory of transaction parallelism in blockchains\",\"authors\":\"Massimo Bartoletti, Letterio Galletta, Maurizio Murgia\",\"doi\":\"10.46298/lmcs-17(4:10)2021\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Decentralized blockchain platforms have enabled the secure exchange of\\ncrypto-assets without the intermediation of trusted authorities. To this\\npurpose, these platforms rely on a peer-to-peer network of byzantine nodes,\\nwhich collaboratively maintain an append-only ledger of transactions, called\\nblockchain. Transactions represent the actions required by users, e.g. the\\ntransfer of some units of crypto-currency to another user, or the execution of\\na smart contract which distributes crypto-assets according to its internal\\nlogic. Part of the nodes of the peer-to-peer network compete to append\\ntransactions to the blockchain. To do so, they group the transactions sent by\\nusers into blocks, and update their view of the blockchain state by executing\\nthese transactions in the chosen order. Once a block of transactions is\\nappended to the blockchain, the other nodes validate it, re-executing the\\ntransactions in the same order. The serial execution of transactions does not\\ntake advantage of the multi-core architecture of modern processors, so\\ncontributing to limit the throughput. In this paper we develop a theory of\\ntransaction parallelism for blockchains, which is based on static analysis of\\ntransactions and smart contracts. We illustrate how blockchain nodes can use\\nour theory to parallelize the execution of transactions. Initial experiments on\\nEthereum show that our technique can improve the performance of nodes.\",\"PeriodicalId\":314387,\"journal\":{\"name\":\"Log. Methods Comput. Sci.\",\"volume\":\"39 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Log. Methods Comput. Sci.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.46298/lmcs-17(4:10)2021\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Log. Methods Comput. Sci.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.46298/lmcs-17(4:10)2021","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A theory of transaction parallelism in blockchains
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.