Live data from Hacker News

Attacking an Ethereum L2 with Unbridled Optimism

saurik.com

81–90 of 156 posts

Re: Attacking an Ethereum L2 with Unbridled Optimism

#81

Earlier quoted context omitted.

For those interested in data supporting diversity comment (~82% geth) - https://www.ethernodes.org/ Re: GP comment - From a "trust" perspective, there is a distinct difference to call out between the integrity of data on the platform, and the trustworthiness of the platform itself (i.e., the ability for centralized control of all data) In an instance where an L2 is compromised, the potential impact is limited to the…

What kinds of transactions do not demand absolute integrity, but still make sense to use a blockchain for? (I don't know much about these sorts of things, I'm actually asking for examples)

This turned out to be longer than I intended. Apologies.

I view Ethereum as a value network, connecting disparate sets of transactional use cases around a set of core services (like Address, asset records, and transaction functions)

To believe that blockchain makes sense for assets which do not require absolute integrity, you'd need to first accept that there are valuable use cases which having an asset management & transaction layer (L1) serves.

If we establish that there are valuable use cases that attract asset management to L1, at a certain point network effects begin to take hold, and the system becomes "top of wallet".

There are parallels in how you manage traditional finances today - Even if you have multiple bank accounts and digital wallets for USD (e.g., a Chase account, Cash App, Venmo, etc.) you're likely to mentally consider one of those your "primary" account. The important one. The main difference in the value network of Ethereum is that the primary account can aggregate the assets that are managed/transacted through L2 solutions. The L2 solutions leverage the core "identity/asset mgmt layer" of L1, but serve use cases that don't justify the cost of development/operation/transaction on the main layer.

To connect this analogy to the original question, let's imagine that your Bank Account offered direct integration with each of the other accounts you manage - Capturing every asset you held, including the 124 gold you still have on your World of Warcraft account from a decade ago. If the 124 gold were to somehow disappear due to a bug/hack/other integrity issue, your bank account would reflect that. But the important stuff would be there.

TL;DR - If commerce generally moves to blockchain systems at significant scale, there will be an acceptable level of failure on L2 systems to support the convenience of aggregating up asset mgmt alongside the important stuff.

Re: Attacking an Ethereum L2 with Unbridled Optimism

#82

Earlier quoted context omitted.

It's L2, but you can have different types of L2s. With lightning network, you're opening and closing channels with a counterparty using on-chain transactions, so each channel can be tied back to an on-chain transaction. Before someone points out that it would require tons of on-chain transactions to onboard everyone onto it, you can batch thousands of channel open/closes into a single transaction with new protocol up…

That's not even the most fundamental issue with LN though, it's not a fully thought out system. As LN node count increases the routing complexity increases exponentially, which is the classic problem of routing issues on large graphs that literally every networked system has. The internet solves this with some degree of human intervention to tip the scales to particular routes, which is something that the LN inherent…

> the routing complexity increases exponentially, which is the classic problem of routing issues on large graphs that literally every networked system has

I assume you are using “exponentially” in its informal meaning of “somewhat quickly” ? At least I am not aware of any routing issues that scale exponentially with the size of the graph.

To the contrary, if you can pick the graph structure then routing is not very difficult at all.

Re: Attacking an Ethereum L2 with Unbridled Optimism

#83
post #78
post #61

Hey! Optimism's head of engineering here! We're super greatful to saurik for writing up such a great analysis of what he found. If you want to hear some of our key takeaways as the maintainers of the network, you can check out our disclosure post here [1]. If you're wondering WTF Optimism is... we are building an optimistic rollup on top of ethereum. The basic idea is to de-couple blockchain computation from data ava…

I have a question: why did you make transaction data from before the Nov 11 upgrade unavailable? How hard would this have been? It's just serving the same immutable transactions that were there before, right? People were expecting these to be available for planning and tax reporting. Even finding out about them after the fact was difficult because the cause of missing transactions wasn't made public on the user-facin…

The Nov 11 upgrade radically changed how Optimism's backend worked. Transactions after 11/11 are executed in a VM that's much closer to the EVM than before. It's still possible to run nodes that access these pre-11/11 transactions, but because of the way Etherscan and geth are designed, it's unfortunately not as simple as just serving the same data again.

Etherscan CSV exports are the best solution we had that didn't require significant modifications to Etherscan's backend. You should be able to use the CSV feature to export all of your relevant pre-11/11 transaction data (transactions and ERC20/ERC721 transfers).

While we did our best to communicate this months in advance on our twitter, blog, discord, and documentation, it's hard to reach everyone and we totally agree that this is not ideal. At the time, we had to prioritize progress, but we've since made a firm commitment to not to update the chain in this way going forward. So, this shouldn't be something people will need to worry about in the future.

Re: Attacking an Ethereum L2 with Unbridled Optimism

#85
post #61

Hey! Optimism's head of engineering here! We're super greatful to saurik for writing up such a great analysis of what he found. If you want to hear some of our key takeaways as the maintainers of the network, you can check out our disclosure post here [1]. If you're wondering WTF Optimism is... we are building an optimistic rollup on top of ethereum. The basic idea is to de-couple blockchain computation from data ava…

Hello, I've been wondering what the hardware requirements for running Optimism's infrastructure are relative to just running a Mainnet node. If Optimism can process more transactions than the main chain, does that mean state growth is also much higher? How is Optimism thinking about this problem as it moves to decentralize the sequencer in the future?

This is a fantastic question for pretty much every scaling solution out there — as the initial engineering work on rollups finish, many of the fundamental scaling problems re-emerge on L2. Right now, our system's hardware requirements are very similar to L1 mainnet, but the state is growing.

There are two solutions in the future: statelessness, and block-producer/verifier asymmetry. Statelessness (and related concepts like state expiry) has been under active research in Ethereum for years, and we've recently started our own contributions with a new stateless Ethereum client [1]

The other part of the solution is to leverage asymmetries between the hardware requirements of block producers and verifiers. TLDR: this lets you have high HW requirements for sequencers, but still secure the network with laptops. Vitalik recently wrote about this; you can read that here [2]

[1] https://twitter.com/ben_chain/status/1488275978983915523?s=2... [2] https://vitalik.ca/general/2021/12/06/endgame.html

Re: Attacking an Ethereum L2 with Unbridled Optimism

#86
post #83
post #78

Earlier quoted context omitted.

I have a question: why did you make transaction data from before the Nov 11 upgrade unavailable? How hard would this have been? It's just serving the same immutable transactions that were there before, right? People were expecting these to be available for planning and tax reporting. Even finding out about them after the fact was difficult because the cause of missing transactions wasn't made public on the user-facin…

The Nov 11 upgrade radically changed how Optimism's backend worked. Transactions after 11/11 are executed in a VM that's much closer to the EVM than before. It's still possible to run nodes that access these pre-11/11 transactions, but because of the way Etherscan and geth are designed, it's unfortunately not as simple as just serving the same data again. Etherscan CSV exports are the best solution we had that didn't…

>While we did our best to communicate this months in advance on our twitter, blog, discord, and documentation, it's hard to reach everyone and we totally agree that this is not ideal

That doesn't look like your best. Here's the blog you refer to[1]:

https://optimismpbc.medium.com/

Imagine I came to it around the time of the switchover. Which of those headlines looks like it's alerting me that my transaction history will be gone?

Here's the Optimistic ethereum site:

https://www.optimism.io/

Where is/was the blaring warning about missing transaction data?

Here's the Twitter page[1]:

https://twitter.com/optimismPBC

The only pinned tweet is a cute meme about the whitelist change, nothing to head off frustrated users wondering where transaction history went. (I don't know how to link a historical post in context but I can assure it was not evident on the Twitter feed why I was missing transaction history, and there are no such warnings before.)

The only reason I even got on the Optimism Discord is because none of these places had any information! And then, even when I went to the Discord, and go to #announcements, and look at what was being announced in the runup and release, the loss of transactions still isn't mentioned! [2]

Maintainers talk about the upgrade, to be sure, but not this implication of it.

So no, I don't know how can justify the claim that you made a serious effort to alert users.

[1] Linked from the community tab of https://www.optimism.io/

[2] https://discord.com/channels/667044843901681675/754090866435...

Re: Attacking an Ethereum L2 with Unbridled Optimism

#87
post #68

Earlier quoted context omitted.

Yeah I'm an opponent and I feel the same. The talking points have been exhausted half a decade ago. On top of that as cryptocurrencies get more and more mainstream we have to deal with less sophisticated people who make it very hard to have a decent discussion in the first place, because you basically have to start by taking 20 minutes to explain to them what the basics even are. NFTs are really pushing this situatio…

I'll try to engage without pulling us into familiar debates. I have found, in a year of intensive use and research around the Ethereum ecosystem, here are a few things I like that wouldn't really work without an underlying immutable distributed ledger: 1) Creating limited editions of generative art. 2) "Forever" art like on-chain pixel and ASCII art. 3) Frankenstein-like adaptations of traditional fintech constructs…

>1) Creating limited editions of generative art.

I personally think that it's not really an interesting feature. Creating scarcity out of something that ought not to be scarce is just a way to infiltrate capitalism in every aspect of our lives. Hacker culture historically went completely against that (phreaking, breaking DRM etc...) but I concede that it's more of a philosophical/political argument than a technical one. I still find it utterly depressing.

I would also argue that there's usually a significant difference between ownership of a token on the blockchain and what the local IP laws says. IP law is messy and sometimes subjective, putting things on a blockchain can make things messier rather than simpler.

>2) "Forever" art like on-chain pixel and ASCII art.

So that one is interesting, but I would argue that it's only true if you consider that the blockchain is "forever". In order for that to be true it means that you have to believe that your blockchain of choice will be considered significant enough by a number of people across... well eternity really. This could be true for the "big" ones like Bitcoin and Ethereum, although I'd say the scene is way too young to be sure of that. It's as good a bet as any I suppose.

But here's the thing. We already have "forever" digital "art": the source code of the Linux kernel. There are countless copies of it across the globe, and it'll remain archived for the foreseeable future.

My point here is that if something is significant enough it won't be difficult to convince a bunch of people across time and space to archive it. People do that for old videogames, music albums, usenet posts etc... And unlike the blockchain you can actually curate it, you don't have to archive the neighbor's sandwich picture collection. I'd argue that this curation power is a feature, and the fact that the blockchain just stores everything forever is a bug. It actually means that the bigger the blockchain grows, the less likely it is that people will want to store personal backups of it.

So I don't think the blockchain does anything novel here, and I don't think it does it better. Forcing arbitrary people to store arbitrary data forever regardless of value or interest is just wasteful.

>3) Frankenstein-like adaptations of traditional fintech constructs into a decentralized implementation, such as AMMs.

I think the oracle problem is really going to make "DeFi" a tough sell. There is, in fact, a lot of trust in our financial system, and being able to use a central authority (the justice system) to settle issues makes things a whole lot simpler and efficient.

In general I firmly believe that trust is usually a good thing that makes systems more efficient and this obstination of cryptopeople to get rid of it is more based on political ideology than pragmatism. Trust, but verify. But trust.

Re: Attacking an Ethereum L2 with Unbridled Optimism

#88
Can someone explain this to me?

He states that Optimism doesn’t have a native gas token and native currency, and eth balances are implemented using ERC20 tokens with OVM instead of the native balance mechanism

However the exploit is using selfdestruct to transfer and create the remaining balance to the target address, effectively creating new tokens out of thin air.

> This means that, when a contract self-destructs, its balance is BOTH given to the beneficiary AND ALSO KEPT. If the contract had 10 ETH, 10 ETH are CREATED from thin bits and handed to the beneficiary.

But I thought from this explanation that contracts don’t have a balance because ETH is stored in an ERC20 contract, and is set to 0. How can the contract have balance (10 ETH) to transfer on selfdestruct when optimism doesn’t have a native balance?

Re: Attacking an Ethereum L2 with Unbridled Optimism

#90
post #86
post #83

Earlier quoted context omitted.

The Nov 11 upgrade radically changed how Optimism's backend worked. Transactions after 11/11 are executed in a VM that's much closer to the EVM than before. It's still possible to run nodes that access these pre-11/11 transactions, but because of the way Etherscan and geth are designed, it's unfortunately not as simple as just serving the same data again. Etherscan CSV exports are the best solution we had that didn't…

>While we did our best to communicate this months in advance on our twitter, blog, discord, and documentation, it's hard to reach everyone and we totally agree that this is not ideal That doesn't look like your best. Here's the blog you refer to[1]: https://optimismpbc.medium.com/ Imagine I came to it around the time of the switchover. Which of those headlines looks like it's alerting me that my transaction history w…

You're right that we could have been better communicators about this. We prioritized our concerns with applications that could break during the upgrade, and we biased our public communications towards developers as a result.

For example, you're right that a notification on our homepage, in addition to our docs, would have been a good reminder to users. We'll work on getting a blog post and better documentation up that explains exactly how to access data from before 11/11. We really appreciate the candid feedback here.

We're a very fast growing startup tackling a herculean task, so we're bound to make mistakes and this is one of them — I hope you can understand. We want to be much better communicators going forward.

Post reply on HN