Blob or chunk: which one is cypherpunk? Infinitely scalable data for smart contracts

Devcon 8 · 4 Nov 2026 · 7:39

Swarm founder Viktor Tron contrasts blobs with chunks. Blobs are 128K, attached to type 3 transactions, writable only by external accounts, unreadable from Solidity and expiring after a period, so they offer publication rather than storage. The talk argues availability cannot be proven but can be attributed: a second holder in an independent bonded cold storage network signs commitments, so withholding can be challenged and slashed. Contracts can then use such data with a validity proof, a canonical serialization like BSON and EIP-3668 (CCIP) reads.

Speakers

Topics

From Devcon 8, hosted by Ethereum Foundation.

Transcript

[music] [music] >> debate. So, is it the blob or is it the chunk? Which is more Cypherpunk? After all, uh I want to we not talk about Cypherpunk really, but I've got 5 minutes to convince you that uh um that uh these may these um that only only one of these is kind of storage and uh maybe maybe one can actually bring a bring a uh This way So, basically, I'm I'm I'm trying to bring you bring a you two two takeaway messages.

One is that availability cannot be proven, only attributed, and must be and can be manufactured as a side effect of separating quote and quote storage subsystems. And in fact, the wanted second holder nothing uh we we we gain nothing from withholding. It's going to go against withholding attack. Second one is Yeah, it's way better. Okay, so and and and and takeaway message two is that once data is attributable, a contract uh really needs just a validity proof to be to to use the data and and this kind of data is anyway is kind of infinitely scalable, which is for a small you only need two worker proofs and signature.

Okay, so what are blobs? The blobs are like uh 128K. They need keys keys as you commitment and attached to a type type type three transaction. Uh only only external uh uh so only one the um accounts can write one and the contracts the solidity cannot read it. So, usually the blobs are used as as kind of storage for so for for the data for state state diff and then it's kind of state data for for L2 rollups, but actually but actually uh uh can can can use any other thing, yeah.

And so the the the pros are that this consensus scale, which means it's kind of a broadcast to to each and every node, but uh but and it's also consensus great. The so the availability is guaranteed as as part of the validity of blocks. It's not storage, so the storage layer still need if you want to use it later then then they will then expire after a period. So, um So, the So, the right column. So, why um why don't we use this a storage network and why just why don't we just slash whoever doesn't serve? Of course of course non-availability leaves no evidence so

so we can't really slash because there's there's no evidence for slashing. But if you make nodes commit regularly to a recent storage proof, then missing commitments are attributable. And you didn't so hold it, then uh then uh and then and you sample is sample served up by they're challenged, and but they withhold the rest so they can actually pay the price for withholding. Um So, of course of course the DAS the data availability sampling doesn't really help this, but but it's it's it definitely helps to make the to make the non-availability very very unlikely at the time of publication at least.

Okay. So, um So, in what what what do we do in Swarm? In in ultimately we want to kind of reduce the local replication to to one, which means that the single neighborhoods that hold chunks usually will be just will be will be a single node. And therefore, every chunk gets two if if you have two holders, which means that the second holder just is is from a different kind of cold storage network. Then uh then and no and the hot availability to the hot hot storage network only depends on the on the is bound by the redistribution game. Basically, the cold storage

part is when the chunk is bound by the by by a bond. And uh and it's it's it's it's definitely an important that it's it's that that that copy the cold copy is is stored in the secondary address. Secondary address is basically just a hash of the first and the primary address. >> [snorts] >> Okay, so the two networks are independent and each runs its own balanced neighborhood registry and nodes are assigned and the addresses are derived, so nobody picks their own guarantor. And the cold storage commit by signing the root of a set indexed by expiry time and say and they they so all the over chunks they have seen. Committed chunk becomes a required member of the primary

reserve. And the cold storage nodes uh serve basically but also serve the the the chunks but just for the bandit's incentives and they are otherwise liable liable on chain basically based on these bonds. So uh so what happens is basically that's that's so that's makes it that availability attribute. So every chunk sits on the root and the whole after after all the holders sign an inclusion path basically names the the which are the bonded parties and non-production can be challenged and then of course contradicts what they committed to and therefore the contradiction is slashable. And uh so on on on this whole on this whole availability you can you can base

basically an infinitely scalable uh network because because infinitely scalable data because the all you need is basically a set set of data and basically where you can prove a the inclusion of a of any kind of record and and you have a an an index where you can prove that the particular attribution of a of some sort of attribute is a is a is a particular value and that value can be of course used as a as a as a variable assignment in any part in the smart contract. So, you need for that is basically a uh what you need for that is a canonical serialization of values. So, that's for

example BSON. Uh and BSON. And uh you need a you need some kind of data structure that's that's easy to update for example in Swarm. That's that's that's basically port. If you want an example, suppose it's the port approximately 100,000. And and also uh so, basically you have to you you make you may use a CCIP as the kind of EIP 3668 to to do validation on on on on basically externally externally provided data.

And that's how that's how you use a basically infinitely scalable data data on in smart contracts and you can refer to that. And uh and uh that's all. So, basically you you see the conclusion of this this on the on this slide where you can you can compare compare the two. And well, questions? Good questions? >> Thank you very much, Victor. Really appreciate you explaining the difference between the blobs and the and the chunks for us. These are very cool part of the Ethereum protocol and the wider blockchain. Unfortunately, we've run out of time for questions. So, we're going to be moving on to the next speaker, but thank you very much, Victor. Appreciate that.

>> [music]