Abstract
This paper explores a modular design architecture aimed at helping blockchains (and other SMR implementation) to scale to a very large number of processes. This comes in contrast to existing monolithic architectures that interleave transaction dissemination, ordering, and execution in a single functionality. To achieve this we first split the monolith to multiple layers which can use existing distributed computing primitives. The exact specifications of the data dissemination part are formally defined by the Proof of Availability & Retrieval (PoA &R) abstraction. Solutions to the PoA &R problem contain two related sub-protocols: one that “pushes” information into the network and another that “pulls” this information. Regarding the latter, there is a dearth of research literature which is rectified in this paper. We present a family of pulling sub-protocols and rigorously analyze them. Extensive simulations support the theoretical claims of efficiency and robustness in case of a very large number of players. Finally, actual implementation and deployment on a small number of machines (roughly the size of several industrial systems) demonstrates the viability of the architecture’s paradigm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Notice that, unlike for AVID, the node does not need to reliably broadcast \(\pi \). The AB layer takes care of that.
- 2.
We note that the cryptographic primitives for vector commitment might be heavy in local computations and could slow down a system. In comparison, simpler commitment primitives such as Merkle trees [33] can prove a better match as long as n is not “too large”. However, they incur a \(\varTheta (\lambda \log n)\) bit complexity per commitment in comparison to the constant (\(\lambda \)) complexity of the vector commitment primitive.
References
Abadi, D.J., Faleiro, J.M.: An overview of deterministic database systems. Commun. ACM 61(9), 78–88 (2018)
Abraham, I., Jovanovic, P., Maller, M., Meiklejohn, S., Stern, G., Tomescu, A.: Reaching consensus for asynchronous distributed key generation. In: Proceedings of the 2021 ACM Symposium on Principles of Distributed Computing, pp. 363–373 (2021)
Abraham, I., Malkhi, D., Spiegelman, A.: Asymptotically optimal validated asynchronous byzantine agreement. In: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, pp. 337–346 (2019)
Antonopoulos, A.M., Wood, G.: Mastering Ethereum: Building Smart Contracts and Dapps. O’reilly Media, Sebastopol (2018)
Biely, M., Milosevic, Z., Santos, N., Schiper, A.: S-paxos: Offloading the leader for high throughput state machine replication. In: 2012 IEEE 31st Symposium on Reliable Distributed Systems, pp. 111–120. IEEE (2012)
Blahut, R.E.: Theory and Practice of Error Control Codes, vol. 126. Addison-Wesley Reading, Boston (1983)
Buchman, E.: Tendermint: byzantine fault tolerance in the age of blockchains. Ph.D. thesis, University of Guelph (2016)
Cachin, C., Kursawe, K., Petzold, F., Shoup, V.: Secure and efficient asynchronous broadcast protocols. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 524–541. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44647-8_31
Cachin, C., Kursawe, K., Shoup, V.: Random oracles in constantinople: practical asynchronous byzantine agreement using cryptography. J. Cryptol. 18(3), 219–246 (2005)
Cachin, C., Tessaro, S.: Asynchronous verifiable information dispersal. In: 24th IEEE Symposium on Reliable Distributed Systems (SRDS 2005), pp. 191–201. IEEE (2005)
Canetti, R., Rabin, T.: Fast asynchronous byzantine agreement with optimal resilience. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, pp. 42–51 (1993)
Castro, M., Liskov, B., et al.: Practical byzantine fault tolerance. In: OSDI, vol. 99, pp. 173–186 (1999)
Catalano, D., Fiore, D.: Vector commitments and their applications. In: Kurosawa, K., Hanaoka, G. (eds.) PKC 2013. LNCS, vol. 7778, pp. 55–72. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36362-7_5
Chen, Y., et al.: Forerunner: constraint-based speculative transaction execution for Ethereum. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, pp. 570–587 (2021)
Cohen, S., Goren, G., Kokoris-Kogias, L., Sonnino, A., Spiegelman, A.: Proof of availability & retrieval in a modular blockchain architecture. Cryptology ePrint Archive (2022)
Cowling, J., Liskov, B.: Granola: low-overhead distributed transaction coordination. In: USENIX Annual Technical Conference (2012)
Danezis, G., Kokoris-Kogias, L., Sonnino, A., Spiegelman, A.: Narwhal and tusk: a DAG-based mempool and efficient BFT consensus. In: Proceedings of the Seventeenth European Conference on Computer Systems, pp. 34–50 (2022)
Das, S., Xiang, Z., Ren, L.: Asynchronous data dissemination and its applications. In: Conference on Computer and Communications Security (2021)
Das, S., Xiang, Z., Ren, L.: Balanced quadratic reliable broadcast and improved asynchronous verifiable information dispersal. Cryptology ePrint Archive (2022)
Demers, A., et al.: Epidemic algorithms for replicated database maintenance. In: Symposium on Principles of Distributed Computing (1987)
Faleiro, J.M., Abadi, D.J., Hellerstein, J.M.: High performance transactions via early write visibility. Proc. VLDB Endowment 10(5) (2017)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM (JACM) 32(2), 374–382 (1985)
Gelashvili, R., Kokoris-Kogias, L., Sonnino, A., Spiegelman, A., Xiang, Z.: Jolteon and ditto: network-adaptive efficient consensus with asynchronous fallback. In: Financial Cryptography and Data Security (2022)
Guerraoui, R., Kuznetsov, P., Monti, M., Pavlovic, M., Seredinschi, D.A.: Scalable byzantine reliable broadcast. In: Symposium on Distributed Computing (2019)
Günther, C.U., Das, S., Kokoris-Kogias, L.: Practical asynchronous proactive secret sharing and key refresh. Cryptology ePrint Archive (2022)
Haas, A., et al.: Bringing the web up to speed with webassembly. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 185–200 (2017)
Karp, R., Schindelhauer, C., Shenker, S., Vocking, B.: Randomized rumor spreading. In: Proceedings 41st Annual Symposium on Foundations of Computer Science, pp. 565–574. IEEE (2000)
Keidar, I., Kokoris-Kogias, E., Naor, O., Spiegelman, A.: All you need is DAG. In: Symposium on Principles of Distributed Computing (2021)
Kokoris Kogias, E., Jovanovic, P., Gailly, N., Khoffi, I., Gasser, L., Ford, B.: Enhancing bitcoin security and performance with strong consistency via collective signing. In: USENIX Association (2016)
Kokoris Kogias, E., Malkhi, D., Spiegelman, A.: Asynchronous distributed key generation for computationally-secure randomness, consensus, and threshold signatures. In: Conference on Computer and Communications Security (2020)
Libert, B., Joye, M., Yung, M.: Born and raised distributively: fully distributed non-interactive adaptively-secure threshold signatures with short shares. In: Theoretical Computer Science (2016)
Lu, Y., Lu, Z., Tang, Q., Wang, G.: Dumbo-mvba: Optimal multi-valued validated asynchronous byzantine agreement, revisited. In: Symopsium on Principles of Distributed Computing (2020)
Merkle, R.C.: Secrecy, Authentication, and Public Key Systems. Stanford University, Stanford (1979)
Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system. Decentralized Business Review, p. 21260 (2008)
Nazirkhanova, K., Neu, J., Tse, D.: Information dispersal with provable retrievability for rollups. arXiv preprint arXiv:2111.12323 (2021)
Qin, D., Brown, A.D., Goel, A.: Caracal: contention management with deterministic concurrency control. In: Symposium on Operating Systems Principles (2021)
Spiegelman, A., Giridharan, N., Sonnino, A., Kokoris-Kogias, L.: Bullshark: Dag BFT protocols made practical. In: Computer and Communications Security (2022)
Stefo, C., Xiang, Z., Kokoris-Kogias, L.: Executing and proving over dirty ledgers. Cryptology ePrint Archive (2022)
Vyzovitis, D., Napora, Y., McCormick, D., Dias, D., Psaras, Y.: Gossipsub: attack-resilient message propagation in the filecoin and eth2.0 networks. ArXiv preprint (2020)
Yin, M., Malkhi, D., Reiter, M.K., Gueta, G.G., Abraham, I.: HotStuff: BFT consensus with linearity and responsiveness. In: Symposium on Principles of Distributed Computing (2019)
Acknowledgements
This work is partially supported by Meta. Eleftherios Kokoris-Kogias is partially supported by Austrian Science Fund (FWF) grant No: F8512-N. Shir Cohen is supported by the Adams Fellowship Program of the Israel Academy of Sciences and Humanities.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 International Financial Cryptography Association
About this paper
Cite this paper
Cohen, S., Goren, G., Kokoris-Kogias, L., Sonnino, A., Spiegelman, A. (2024). Proof of Availability and Retrieval in a Modular Blockchain Architecture. In: Baldimtsi, F., Cachin, C. (eds) Financial Cryptography and Data Security. FC 2023. Lecture Notes in Computer Science, vol 13951. Springer, Cham. https://doi.org/10.1007/978-3-031-47751-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-47751-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-47750-8
Online ISBN: 978-3-031-47751-5
eBook Packages: Computer ScienceComputer Science (R0)