Abstract
We present Accept, a simple, asynchronous transaction system that achieves perfect horizontal scaling.
Usual blockchain-based transaction systems come with a fundamental throughput limitation as they require that all (potentially unrelated) transactions must be totally ordered. Such solutions thus require serious compromises or are outright unsuitable for large-scale applications, such as global retail payments.
Accept provides efficient horizontal scaling without any limitation. To that end, Accept satisfies a relaxed form of consensus and does not establish an ordering of unrelated transactions. Furthermore, Accept achieves instant finality and does not depend on a source of randomness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
ed25519 - optimized ed25519 for go (2020). https://github.com/oasisprotocol/ed25519
Baudet, M., Danezis, G., Sonnino, A.: FastPay: high-performance byzantine fault tolerant settlement. arXiv preprint arXiv:2003.11506 (2020)
Bernstein, D., Duif, N., Lange, T., Schwabe, P., Yang, B.Y.: High-speed high-security signatures. J. Cryptographic Eng. 2, 77–89 (2012). https://doi.org/10.1007/s13389-012-0027-1
Bernstein, D., Duif, N., Lange, T., Schwabe, P., Yang, B.Y.: ed25519 donna (2020). https://github.com/floodyberry/ed25519-donna
Block, A.: (2018).https://blog.dash.org/secret-sharing-and-threshold-signatures-with-bls-954d1587b5f
Boneh, D., Lynn, B., Shacham, H.: Short signatures from the Weil pairing. J. Cryptol. 17(4), 297–319 (2004). https://doi.org/10.1007/s00145-004-0314-9
Delgado-Segura, S., Pérez-Solà, C., Navarro-Arribas, G., Herrera-Joancomartí, J.: Analysis of the bitcoin UTXO set. In: Zohar, A., et al. (eds.) FC 2018. LNCS, vol. 10958, pp. 78–91. Springer, Heidelberg (2019). https://doi.org/10.1007/978-3-662-58820-8_6
Guerraoui, R., Kuznetsov, P., Monti, M., Pavlovič, M., Seredinschi, D.A.: The consensus number of a cryptocurrency. In: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing - PODC (2019)
Gupta, S.: A Non-Consensus Based Decentralized Financial Transaction Processing Model with Support for Efficient Auditing. Master’s thesis, Arizona State University (2016)
Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(1), 124–149 (1991)
Mitsunari, S.: BLS threshold signature (2020). https://github.com/herumi/bls
Mitsunari, S.: BLS threshold signature for ETH with compiled static library (2020). https://github.com/herumi/bls-eth-go-binary
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008)
Sliwinski, J., Wattenhofer, R.: Asynchronous proof-of-stake. In: Johnen, C., Schiller, E.M., Schmid, S. (eds.) SSS 2021. LNCS, vol. 13046, pp. 194–208. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-91081-5_13
Stathakopoulou, C., David, T., Vukolić, M.: Mir-BFT: high-throughput BFT for blockchains. arXiv preprint arXiv:1906.05552 (2019)
Wood, G., et al.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Proj. Yellow Pap. 151(2014), 1–32 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Concepts
A Concepts
This section will clarify the concepts of Merkle signatures and hash maps. Merkle signatures are used in Sect. 3.4 to improve the efficiency of validators. A custom hash map is developed to improve the performance of the UTXO store, as described in Sect. 4.2.
1.1 A.1 Merkle Signatures
A signature scheme based on Merkle trees is used to optimize the performance of validators when creating and verifying signatures.
Signing. A validator \(S_i\) collects n hashes to sign where \(n=2^k, k \in \mathbb {N}\). The hashes are combined into a Merkle tree. The validator \(S_i\) signs the Merkle root m using EdDSA, denoted as \(m_{S_i}\). For each hash \(h_i, i \in \{1,..,n\}\), the validator calculates the Merkle path and outputs \(path_{h_i}\). \(path_{h_i}\) consists of the hashes and side (left or right) of the nodes from \(h_i\) to the Merkle root (in blue). The resulting signature for \(h_i\) by \(S_i\) is the tuple \((path_{h_i}, m_{S_i})\). An example can be seen in Fig. 2.
Signing n hashes using Merkle signatures is more efficient than signing n hashes separately: the cost of an EdDSA signing operation \(c_s\) is much higher than the cost of a hash operation \(c_h\). The cost of signing n hashes with Merkle signatures is \(2n\cdot c_h + c_v\) whereas the cost of signing n hashes separately (without Merkle signatures) is \(n \cdot c_v\).
Verifying. First, the Merkle root \(m'\) is reconstructed from the path \(path_{h_i}\). If \(path_{h_i}\) is a valid path, \(m'\) matches m. Finally, \(m_{S_i}\) is verified using EdDSA.
Verifying n hashes using Merkle signatures is also more efficient than verifying n hashes separately because the cost of an EdDSA verification operation is high, even higher than an EdDSA signing operation (and thus also higher than the cost of a hashing operation). The Merkle root can be reconstructed with a cost of \(\log _2(n) \cdot c_h\) where \(c_h\) is the cost of hashing. The Merkle root m only has to be verified for the first encountered Merkle signature, after that, the result of the verification can be cached, making this signature perform very well.
1.2 A.2 Hash Maps
Hash maps are used to efficiently calculate set membership in the context of spent UTXO identifiers. Elements \(e \in E\) (in our case \(id_i\)) are hashed into the hash range \(H = \{0,...,l\}\) and used as an index to an array of linked lists. A linked list at index \(i \in \{0, ..., l\}\) contains all items e where \(\textrm{hash}(e) = i\). The linked list is then traversed.
Hashing and indexing are implemented as a lock-free operation; traversing and modifying a linked list are protected by a mutex. If l is large enough, the probability of hash collisions is small, minimizing lock contention and the length of the linked list.
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Mathys, M., Schmid, R., Sliwinski, J., Wattenhofer, R. (2023). A Limitlessly Scalable Transaction System. In: Garcia-Alfaro, J., Navarro-Arribas, G., Dragoni, N. (eds) Data Privacy Management, Cryptocurrencies and Blockchain Technology. DPM CBT 2022 2022. Lecture Notes in Computer Science, vol 13619. Springer, Cham. https://doi.org/10.1007/978-3-031-25734-6_18
Download citation
DOI: https://doi.org/10.1007/978-3-031-25734-6_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-25733-9
Online ISBN: 978-3-031-25734-6
eBook Packages: Computer ScienceComputer Science (R0)