Maximizing Blobspaces efficiency
The μBlob platform enables anyone to submit μBlobs to a public auction in order to fill DA Blobs. The goal is to propose a new innovative infrastructure to maximize blobspace efficiency and enable a thousand rollup future and democratize DA access for NFT, and gaming projects!
- Project wants to use Ethereum blob as a DA, and requires only 10kb of data
- Project sends ETH to μBlob smart contract to gain credit points (0xdfBA2a12477B8AE3Ad99C98B7D902EA63C09D247 on holesky)
- Project creates a μBlob by submitting data, signature of the data with the credited wallet and a wei_per_gas_fee
- An auction based on the wei_per_gas_fee is in progress until the platform can create a Blob and submit it on Ethereum DA
- Once blob is submitted, anyone can check the composition of the submitted blob (which μBlobs, in which order are in the Blob). All the senders of the successful μBlobs credits are reduced by μBlob_size * wei_per_gas_fee. If sender does not have enough credit, its μBlob was not included in the Blob. If Blob submission fails, the Blob tx is updated until it is included by the Ethereum network.
Project contract, apis and frontend are deployed on Holesky testnet on https://ublob.net.
A Blob is made of a list of μBlobs put one after the other with the following format: header + μBlob data
where:
- header is
size + signature
where size is uint32 (4 bytes) and signature (65 bytes) μBlob data
is the content of the μBlob
μBlob is made of several components:
- Golang backend made of 2 services
- exposing a REST API to handle μBlobs CRUD operations
- managing the μBlobs auction
- crafting the Blob by merging μBlobs
- managing the Blobs submissions, or submission updates if necessary
- indexing the crediting operations made to the credit contract for accounting
- A react ts frontend available at https://ublob.net:
- displays the current auction state, with live animations to render bidding updates and creations
- displays the list of submitted blobs and their completion
- displays the blobs data
- displays the blobs' μBlobs with easy to use widgets
-
An orchestrator service, creating many random μBlobs to simulate activity on testnet
-
A credit Solidity smart contract, that emits Crediting event when receiving ETH and forwards the ETH value to the project address.
- Support multiple DA engine (Ethereum mainnet, Celestia, Avail etc.) and propose μBlob creators to select their DA target(s). Each DA would have its own independent μBlob auction.
- Decentralize the project by creating a network of validators performing the auctions in a permissionless manner (with shared mempool of μBlob and consensus on auction and verification of blob submissions)
- Allow crediting in ERC20.
- Deploy to mainnet.