project screenshot 1
project screenshot 2
project screenshot 3

BlobFusion

Ride sharing but for blobs. Make blobspace more affordable for everyone. by combining tiny blobs that don't fill a full EIP-4844 blob into one

BlobFusion

Created At

Scaling Ethereum 2024

Winner of

Arbitrum - Qualifying Arbitrum Submissions

Prize Pool

ETHGlobal - πŸ† Scaling Ethereum Finalist

Project Description

One month ago, Dencun went live and brought us EIP-4844 and blobs.

The problem is: You always have to submit a full 128KB blob. If you have less data, then you still need to submit 128KB. This takes up unnecessary space and costs a lot of money.

Just imagine wanting to take a bus to another city – it would just be outrageous if some law forced bus companies to only accept one guest, and then let them pay for the whole bus. The whole point of them is to pool rides.

The current state of Ethereum is like that outrageous law. You have to use the full bus, even if you'd actually need less.

BlobFusion enables you to share blobs with other people by packing smaller blobs into one normal blob. This is to maximize blobspace efficiency (=good for the network) and cost (=good for the user).

How it works

  1. User sends some ETH to the Arbitrum Smart Contract
  2. The server indexes the transaction and allows users to submit blobs
  3. User sends a blob with a signature to the server and how much they are willing to pay
  4. The server saves the blob to the DB
  5. Periodically, the server tries to build a blob that satisfies all conditions (like shared cost of blob < sum of all bids, etc)

How it's Made

The backend uses Node.js/Express/Typescript in combination with Postgres and Prisma as an ORM. The blob transactions are currently posted to Sepolia, and deposits are made using Arbitrum Sepolia to save tx costs.

The server is made of the following parts:

  • REST API (accepts requests and new blobs)
  • Deposit Smart Contract and event listener (to fund user accounts)
  • Blob builder and scheduler (to periodically attempt to create new blobs and send them to the network)

The frontend is a standard Next.js/React app with Tailwind, shadcn/ui, wagmi/viem, and react-query.

background image mobile

Join the mailing list

Get the latest news and updates