Skip to content

AlignNetwork/blobster

Repository files navigation

blobster

Telegram Chat

Docs

Intro tweet thread: Tweet

Blobster is a blazing fast and cheap long term Ethereum Blob storage solution.

Currently, the system can be used locally with the Reth development settings and comes with a Consensus Layer client to send simulated blobs to the node. We will move to using Holesky once the node is done syncing (soon!).

Why?

The motivation behind creating a network to offer longer term storage solutions to blob storage is to build support and tooling to support the underexplored world of blobs and to test out Danksharding techniques in a real world setting. We think by taking advantage of the KZG commitment nature of blobs, we can streamline a SNARK proving system for storage nodes. Also taking advantage of erasure encoding and some mixing techniques, we believe we can achieve lower storage requirements than replication while still maintaining significant economic security. These ideas are a WIP and may change or be proven incorrect, however we think we have enough of a base to field outside opinions.

How?

We run an Reth Node w/ an ExEx that detects blobs, queries the consensus layer, erasure encodes the blobs and stores them in a series of storage nodes erasure encoding for cheap and efficient long term storage of blobs.

Curious about blobs? Check this guide by Ethereum and the EIP-4844 website.

Quick Start

blobster-.2.mp4

Docs

  1. Clone the Repo

git clone https://github.com/align_network/blobster

  1. Run Reth and the ExEx

cargo run --bin exex --release -- node --dev

  1. Run the Mock Consensus Layer

Ensure you have libsql installed sudo apt-get install libsqlite3-dev

cargo run --bin mock-cl --release

  1. Send 10 Random data blobs

cargo run --bin update_blocks --release

Storage Nodes

Storage Nodes are currently setup to have a max of 3

  1. Run a Storage node

cargo run --release --bin storage-node -- --node-id=1 --storage-dir=storage/node1

Roadmap

Currently the system can be run locally, and we are working to supporting bringing the system live on Holesky after we complete the following steps.

High level goals:

  • MVP local
  • Finish syncing holesky (WIP)
  • Implement Retrieval of blobs #3
  • Create a SNARK proving system for storage nodes to prove they are storing data & accompanying Merkle Proof state root tracking #4
  • Host network to open up storage node solutions #5
  • Implement a Storage Node Register #6