Are there any ideas that's potentially more useful than implementing sharding?

A lot of it is on ethresear.ch now. I’ll try to point out specific references below.

MMRs were first informally described here, and more formally described under the name of “asynchronous accumulators” (see here). I suggest reading these two ethresear.ch threads (here and here).

I’d say the research is now pretty transparent and most material is publicly available. Having said that, I don’t have access to that private repo so I can’t tell for sure.

For storage and I/O it’s basically just the stateless client model. There are several posts on ethresear.ch (see here).

Yeah, terminology gets invented on the fly and I understand it’s hard for an observer to keep track of it. Accumulator sharding is the idea of using multiple accumulators, and multi-tries are a specific instantiation of that. Partial stateless is the idea of maintaining partial witnesses, e.g. in the context of a 2-level state trie where the first level goes as deep as contract addresses, and the second level is for stuff contained under the contract addresses (mostly storage), which is itself maintained as a trie. Fancy accumulator schemes is terminology from Vitalik which basically means accumulator schemes with cryptographic assumptions that go beyond secure hashes (e.g. RSA-based accumulators, or pairing based accumulators). It’s euphemistic terminology for “too insecure for the core protocol” :slight_smile:

2 Likes