Abstract
A dominant part in blockchain networks is reaching an agreement on block transactions and their impact on the network state. We follow a common scenario where a node is selected to propose a block and its implied state updates. The proposal is then validated by other nodes that examine the block impact on the state. Typically, all validators execute the complete block and provide an indication based on comparing the results of their execution to the updated state in the proposal. With the increase in the number of participants in blockchain networks, we suggest a time-efficient block validation through splitting it into multiple disjoint tasks. This can be challenging due to possible dependencies between the block transactions. We describe the additional information the leader has to provide to enable that. Moreover, we describe a unique proof for the block partition computed by the leader such that when validated in part by the different committees guarantees the correctness of the execution by the leader. We compare the approach to traditional solutions based on real data of the Ethereum blockchain.
Similar content being viewed by others
Notes
Note that increasing the block rate should be done carefully to avoid security issues. In particular, high block propagation time implies additional constraints on the rate. We see such aspects as beyond the scope of the paper.
As detailed, we assume each committee is associated with a pair of public and private keys that refer to the committee as a whole. Namely, the members of each committee should be known during the key generation, making the committee composition inflexible. Removing the assumption of static committees can be done by performing periodic key generation for threshold signatures.
Storing the state in a Merkle tree enables maintaining a hash fingerprint (the value of the Merkle root of the state tree) for the entire state which can be efficiently updated when applying write operations for the block. Using a Merkle tree for the state also enables supplying efficient proofs of state values to network participants that are not executors.
We thank an anonymous reviewer for their suggestion.
References
Polkadot (2016 )Vision for a heterogeneous multi-chain framework
Buchman Tendermint E (2016) Byzantine fault tolerance in the age of blockchains. Master’s Thesis at University of Guelph, Ontario
Abraham I, Gueta G, Malkhi D (2018) Hot-stuff the linear, optimal-resilience one-message BFT devil. arXiv:1803.05069
Kiayias A, Russell A, David B, Oliynykov R (2017) Ouroboros: a provably secure proof-of-stake blockchain protocol. Annual International Cryptology Conference on Advances in Cryptology (CRYPTO)
Allombert V, Bourgoin M, Tesson J (2019) Introduction to the Tezos Blockchain. International Conference on High Performance Computing & Simulation (HPCS)
Luu L, Teutsch J, Kulkarni R, Saxena P (2015) Demystifying incentives in the consensus computer conference on computer and communications security (CCS)
Plasma (2017) Scalable autonomous smart contracts
Sprites and State Channels (2017) Payment networks that go faster than lightning
Androulaki E, et al. (2018) Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Eurosys
Bleumer G (2011) Threshold signature. In: Encyclopedia of cryptography and security, 2nd edn., pp 1294–1296
Desmedt Y (2011) Threshold cryptography. Encyclopedia of Cryptography and Security, pp 1288–1293
Dickerson TD, Gazzillo P, Herlihy M, Koskinen E (2018) Adding concurrency to smart contracts. Bullet EATCS:124
Durov N (2017) Telegram open network
Dwork C, Naor M (1992) Pricing via processing or combatting junk mail. In: Springer CRYPTO
Gilad Y, Hemo R, Micali S, Vlachos G, Zeldovich N (2017) Algorand: Scaling byzantine agreements for cryptocurrencies In: ACM Symposium on operating systems principles (SOSP)
Herlihy M, Moss JEB (1993) Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. 21(2):289–300
Kokoris-Kogias E, Jovanovic P, Gasser L, Gailly N, Syta E, Ford B (2018) : A secure, scale-out, decentralized ledger via sharding. 2018 IEEE Symposium on Security and Privacy (SP)
Merkle RC (1987) A digital signature based on a conventional encryption function. In: CRYPTO
Pease MC, Shostak RE, Lamport L (1980) Reaching agreement in the presence of faults. J ACM 27(2):228–234
Mizrahi A, Rottenstreich O (2020) State sharding with space-aware representations. In: IEEE ICBC
Pagh R, Rodler FF (2001) Cuckoo hashing. In: European symposium on algorithms (ESA)
Luo L, Guo D, Rottenstreich O, Ma RTB, Luo X, Ren B (2019) The consistent cuckoo filter. In: IEEE Infocom
Shoup V (2000) Practical threshold signatures. In: EUROCRYPT
Wood G (2014) Ethereum: a secure decentralised generalised transaction ledger
Nehaï Z, Bobot F (2019) Deductive proof of industrial smart contracts using Why3. In: Formal Methods Workshops
Zamani M, Movahedi M, Raykova M (2018) Rapidchain: scaling blockchain via full sharding. In: ACM Conference on computer and communications security (SIGSAC)
Aggarwal A, Guo Y (2018) A simple reduction from state machine replication to binary agreement in partially synchronous or Asynchronous Networks. IACR Cryptol. ePrint Arch.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Leshkowitz, M., Benattasse, O., Wertheim, O. et al. Scalable blockchain execution via parallel block validation. Ann. Telecommun. 77, 61–76 (2022). https://doi.org/10.1007/s12243-021-00857-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12243-021-00857-9