Pharos Store: The Future of Blockchain Storage
Last updated
Last updated
To address the limitations posed by state bloat, Pharos Store was developed as the first blockchain-native, verifiable storage solution, offering high-performance read/write capabilities and efficient merklization. Compared to traditional blockchain storage solutions, Pharos Store achieves up to 15.8× throughput and 80.3% storage cost savings [1].
In the article Why We Need a Blockchain-Native Store, we discuss the three main challenges facing blockchain storage today: Long I/O Paths, Hash-Based Addressing, and State Bloat. Pharos Store tackles these issues through several key design innovations:
Pharos Store integrates the Authenticated Data Structure (ADS) directly into the storage engine, eliminating the boundary between ADS and backend storage to enable fine-grained I/O optimization. This is achieved through three core components:
DMM-Tree (Delta-encoded Multi-version Merkle Tree): A built-in multi-version Merkle tree that supports dictionary trees, B-trees, and other tree structures.
LSVPS (Log-Structured Versioned Page Store): Provides a page index abstraction between memory and secondary storage for the DMM-Tree.
VDLS (Versioned Data Logging Stream): Stores user metadata in an append-only manner.
By integrating ADS with the storage engine, Pharos Store eliminates the Long I/O Path problem that plagues traditional two-layer architectures (e.g., Merkle Tree + KVDB), becoming the first Blockchain Native ADS Store.
Pharos Store replaces hash-based addressing with version-based addressing, which eliminates the need for file compaction by ordering data according to version numbers.
Both logically and physically, each leaf node in a DMM-Trie records the block number corresponding to its child nodes, unlike hash-based addressing methods (e.g., MPT, IAVL, ZKTrie). DMM-Trie uses V (the most recent version) + NodeIndex to locate internal nodes and leaf nodes in sequence. Each node and page in the DMM-Trie retains V and the V of its children.
To mitigate the impact of State Bloat, Pharos Store adopts the following techniques:
Internal Compactions to reduce node path length.
Persistent storage at the subtree level, where pages are used as the minimal persistence unit written to storage.
Delta Encoding: Persists tree nodes using delta encoding, storing only modified data to reduce I/O and space amplification.
By employing these techniques, Pharos Store reduces ADS storage space and bandwidth consumption to less than 20% of traditional models.
As the first blockchain-native ADS storage solution, Pharos Store is compatible with MPT, JMT, and ZKTrie, significantly improving single-node performance, especially in large-scale data environments and complex contract scenarios. More detailed information will be released soon, and we welcome more teams and projects to join us!