At EthCC yesterday, Vitalik joked “should we cancel sharding?”
There were no takers.
I raise my hand virtually and make the case for why Ethereum should cancel danksharding.
The danksharding dream is to enable rollups to achieve global scale while being fully secured by Ethereum. We can do it, yes, but no one asked - should we?
Ethereum has higher standards for data sharding, which requires a significantly more complex solution of combining KZG commitments with PBS & crList in a novel P2P layer than alternative data layers like DataLayr, Celestia, zkPorter or Polygon Avail. This will a) take much longer and b) adds significant complexity to a protocol we have been simplifying (indeed, danksharding is the latest simplification, but what if we go one further?).
EIP-4844, aka protodanksharding, is a much simpler implementation that’s making serious progress. Although not officially announced for Shanghai just yet, it’s being targeted for the upgrade after The Merge.
Assuming the minimum gas price is 7 wei, ala EIP-1559, EIP-4844 resets gas fees paid to Ethereum for one transaction to $0.0000000000003 (and that’s with ETH price at $3,000). Note: because execution is a significantly more scarce resource than data, the actual fee you’d pay at the rollup will be more like $0.001 or something, and even higher if congested with high-value transactions (we have seen Arbitrum One fees for an AMM swap extend to as high as $4 recently. Sure, Nitro will increase capacity by 10x, but even that’ll get saturated eventually, and 100x sooner than protodanksharding, more in the next paragraph.) Once again, your daily reminder that data is a significantly more abundant resource than execution and will accrue a small fraction of the value. Side-note: I’d also argue that protodanksharding actually ends up with greater aggregate fees than danksharding, due to the accidental supply control, so those who only care about pumping your ETH bags need not be concerned. But even this will be very negligible compared to the value accrued to ETH as a settlement layer and as money across rollups, sidechains and alt-L1s alike.
With advanced data compression techniques being gradually implemented on rollups, we’d need to roughly 1,000x activity on rollups, or 500x activity on Ethereum mainnet, or 100x the entire blockchain industry today, to saturate protodanksharding. There’s tremendous room for growth without needing danksharding. (Addendum: Syscoin is building a protodanksharding-like solution and estimate a similar magnitude of data being “good enough”.)
Now, with such negligible fees, we could see a hundred rollups blossom, and eventually it’ll be saturated with tons of low value spammy transactions. But do we really need the high security of Ethereum for these?
I think it’s quite possible that protodanksharding/4844 provides enough bandwidth to secure all high-value transactions that really need full Ethereum security.
For the low-value transactions, we have new solutions blossoming with honest-minority security assumptions. Arbitrum AnyTrust is an excellent such solution, a significant step forward over sidechains or alt-L1s. Validiums also enable usecases with honest-minority DA layers. The perfect solution, though, is combining the two - an AnyTrust validium, so to speak. Such a construction would have very minimal trade-offs versus a fully secured rollup. You only need one (or two) honest party (which is a similar trade-off to a rollup anyway) and the validium temporarily switches over to a rollup if there’s dissent. Crucially, there’s no viable attack vector for this construction as far as I can see - the validators have nothing to gain, it’ll simply fall back to a zk rollup and their attacks would be thwarted.
I will point out that these honest-minority DA layers can certainly be permissionless. A simple design would be top N elected validators. Also, there are even more interesting designs like Adamantium - which could also be made permissionless.
The end result is with a validium settling to a permissionless honest-minority data layer, you have security that while clearly inferior than a full Ethereum rollup, are also significantly superior than an alt-L1, sidechain, or even a validium settling to an honest-majority data layer (like Avail or Celestia) in varying magnitudes. Finally, with volitions, users get the choice, at a per-user or per-transaction level. This is without even considering those using the wide ocean of alternate data solutions, such as Metis.
Protodanksharding increases system requirements by approximately 8 Mbps and 200 GB hard drive (note: can be hard drive, not SSD, as it’s sequential data). In a world where 5G and gigabit fibre are proliferating, and 30 TB hard drives are imminent, this is a pretty modest increase, particularly relative to the 1 TB SSD required - which is the most expensive bottleneck to Ethereum nodes currently. Of course, statelessness will change this dynamic, and danksharding light clients will be awesome - but they are not urgent requirements. Meanwhile, bandwidth will continue increase 5x faster than compute, and hard drives & optical tapes represent very cheap solutions to historical storage, so EIP-4844 can continue expanding and accommodating more transactions on rollups for the usecases that really need full Ethereum security. Speaking of how cheap historical storage is, external data layers can easily scale up to millions of TPS today when paired with validium-like constructions.
Validity proofs can be quite large. If we have, say, 1,000 zk rollups settling a batch every single slot, they can add up and saturate big parts of protodanksharding. But with recursive proofs, they don’t need to settle every single slot. You effectively have a hybrid - sovereign rollups every second, settled rollups every minute or whatever. This is perfectly fine, and at all times come with only an honest-minority trust assumption assuming a decentralized setup.
One route is to not cancel danksharding outright, but just implement it much later. I think Ethereum researchers should continue developing danksharding, as they are the only team building a no-compromise DA layer. We will see alternate DA layers implement it (indeed, DataLayr is based on danksharding, with some compromises) - let them battle-test it for many years. Eventually, danksharding becomes simple and battle-tested enough - maybe in 2028 or something - we can gradually start bringing some sampling nodes online, and complete the transition over multiple years.
Finally, sincerely, I don’t actually have any strong opinion. I’m just an amateur hobbyist with zero experience or credentials in building blockchain systems - for me this is a side hobby among 20 other hobbies, no more and no less. All I wanted to do here was provide some food for thought. Except that data will be negligibly cheap and data availability sampled layers (basically offering a product with unlimited supply, but limited demand) will accrue negligible value in the current paradigm - that’s the only thing I’m confident about.
2022-07-22 12:58:32 · 来源于 twitter.com
2022-07-22 12:50:29 · 来源于 twitter.com
2022-07-22 12:50:01 · 来源于 twitter.com
2022-07-22 12:58:32 · 来源于 twitter.com
昨日 Vitalik Buterin 在 EthCC 开玩笑地问大家「以太坊是不是不再需要分片了」,Polynya 举双手赞同。他认为在 Proto-Danksharding/4844 后,存储费用就可以降低到忽略不计了,如果还要降低,用 Arbitrum AnyTrust 或类似的也就足够了。
2022-07-22 12:50:29 · 来源于 twitter.com
简单概括他的论据,并提出一些个人看法。首先,Polynya 认为 Proto-Danksharding 已经足够满足扩容需求,而不需要引入复杂的 Danksharding(尽管它比原分片方案已经简化了许多)。为了适应「大区块」,Danksharding 引入的数据可用性抽样主要是为了降低节点的负担,从而接连引出了纠删码和 KZG 承诺两项技术。但也许节点负担并不大呢?Polynya 提到引入 Proto-Danksharding 仅仅额外增加 8 Mbps 和 200 GB 的节点要求,这是可以接受的。因为客观环境下的存储和带宽能力都在提高(如存储成本的逐渐降低和千兆光纤的发展)。其次,或者是像 Arbitrum Nova 那样,直接把数据可用性交给 Validium,至少两名委员会诚实时系统就可以工作,这会要求诚实假设并削弱安全性,但对比侧链和 Alt-L1 方案来说还是好了不少。当委员会无法完成工作时再把数据可用性放回到 L1。数据可用性放到链下,成本会显著降低。
2022-07-22 12:50:01 · 来源于 twitter.com
当然说到底,这些设计都是利弊权衡,没有绝对的好与坏。如 Aribitrum One 提供链上数据可用性,Arbitrum Nova 提供链下数据可用性——本质上还是安全、速度和成本的权衡。提供两种选项是很合理的,给用户做选择题的可能性:关注安全性的话可以选择 One;对成本敏感、大量链上活动的应用可以选择 Nova。我个人依旧觉得,在权衡方面没有必要把所有事情做到极致:比如 0.01 美元和 0.001 美元的交易费,虽然差了 10 倍,但用户感知并非天差地别。当然很多事情需要从中期看、长期看,或者像 Vitalik 那样想到数十年之后。所以我们需要更多的思维碰撞。Proto-Danksharing 可以实施得更加快。Danksharding 中还包含 PBS 和 crList,这篇文章中主要讲的是数据可用性方面的思考。Danksharding 基本仍然处在 idea 阶段,我们也乐意看到更多的讨论,谨慎地论证以太坊的定位,客观地综合评判潜在风险和影响。