{ "id": "2207.05869", "version": "v1", "published": "2022-07-12T22:21:27.000Z", "updated": "2022-07-12T22:21:27.000Z", "title": "Achieving Almost All Blockchain Functionalities with Polylogarithmic Storage", "authors": [ "Parikshit Hegde", "Robert Streit", "Yanni Georghiades", "Chaya Ganesh", "Sriram Vishwanath" ], "categories": [ "cs.CR" ], "abstract": "In current blockchain systems, full nodes that perform all of the available functionalities need to store the entire blockchain. In addition to the blockchain, full nodes also store a blockchain-summary, called the \\emph{state}, which is used to efficiently verify transactions. With the size of popular blockchains and their states growing rapidly, full nodes require massive storage resources in order to keep up with the scaling. This leads to a tug-of-war between scaling and decentralization since fewer entities can afford expensive resources. We present \\emph{hybrid nodes} for proof-of-work (PoW) cryptocurrencies which can validate transactions, validate blocks, validate states, mine, select the main chain, bootstrap new hybrid nodes, and verify payment proofs. With the use of a protocol called \\emph{trimming}, hybrid nodes only retain polylogarithmic number of blocks in the chain length in order to represent the proof-of-work of the blockchain. Hybrid nodes are also optimized for the storage of the state with the use of \\emph{stateless blockchain} protocols. The lowered storage requirements should enable more entities to join as hybrid nodes and improve the decentralization of the system. We define novel theoretical security models for hybrid nodes and show that they are provably secure. We also show that the storage requirement of hybrid nodes is near-optimal with respect to our security definitions.", "revisions": [ { "version": "v1", "updated": "2022-07-12T22:21:27.000Z" } ], "analyses": { "keywords": [ "hybrid nodes", "polylogarithmic storage", "blockchain functionalities", "full nodes", "storage requirement" ], "note": { "typesetting": "TeX", "pages": 0, "language": "en", "license": "arXiv", "status": "editable" } } }