[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

A Limitlessly Scalable Transaction System

  • Conference paper
  • First Online:
Data Privacy Management, Cryptocurrencies and Blockchain Technology (DPM 2022, CBT 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 51.99
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 64.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. ed25519 - optimized ed25519 for go (2020). https://github.com/oasisprotocol/ed25519

  2. Baudet, M., Danezis, G., Sonnino, A.: FastPay: high-performance byzantine fault tolerant settlement. arXiv preprint arXiv:2003.11506 (2020)

  3. 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

    Article  MATH  Google Scholar 

  4. Bernstein, D., Duif, N., Lange, T., Schwabe, P., Yang, B.Y.: ed25519 donna (2020). https://github.com/floodyberry/ed25519-donna

  5. Block, A.: (2018).https://blog.dash.org/secret-sharing-and-threshold-signatures-with-bls-954d1587b5f

  6. 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

    Article  MathSciNet  MATH  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Gupta, S.: A Non-Consensus Based Decentralized Financial Transaction Processing Model with Support for Efficient Auditing. Master’s thesis, Arizona State University (2016)

    Google Scholar 

  10. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(1), 124–149 (1991)

    Article  Google Scholar 

  11. Mitsunari, S.: BLS threshold signature (2020). https://github.com/herumi/bls

  12. Mitsunari, S.: BLS threshold signature for ETH with compiled static library (2020). https://github.com/herumi/bls-eth-go-binary

  13. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008)

    Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. Stathakopoulou, C., David, T., Vukolić, M.: Mir-BFT: high-throughput BFT for blockchains. arXiv preprint arXiv:1906.05552 (2019)

  16. Wood, G., et al.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Proj. Yellow Pap. 151(2014), 1–32 (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jakub Sliwinski .

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\).

Fig. 2.
figure 2

Merkle tree and Merkle signature for hash \(h_3\). (Color figure online)

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

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics