[HN Gopher] MadMax: Analyzing the Out-of-Gas World of Smart Cont...
___________________________________________________________________
MadMax: Analyzing the Out-of-Gas World of Smart Contracts (2020)
Author : Anon84
Score : 38 points
Date : 2022-02-08 14:01 UTC (9 hours ago)
(HTM) web link (cacm.acm.org)
(TXT) w3m dump (cacm.acm.org)
| woah wrote:
| TLDR: If you have an operation that gets more expensive each time
| you perform it (for example, iterating over all entries in an
| array and then adding an entry), an attacker could push it into a
| state where it is too expensive to perform at all.
| FourierEnvy wrote:
| That's only TLDR for the headline... you're missing the point
| of the post.
| dgellow wrote:
| What is the point of the post?
| bee_rider wrote:
| The researchers have already provided us with a pretty good
| "TLDR" in the form of an abstract.
| airza wrote:
| Not 100% on topic, but are there other cryptocurrencies that
| avoid ETH's very painful 'more instructions cost more money to
| run' problem? I understand that some kind of anti-abuse system is
| needed, but the current system doesn't seem great either.
| amanj41 wrote:
| Solana, Algorand, and Cardano are examples of smart contract
| blockchains whose fees are extremely low relative to the
| Ethereum gas model.
| woah wrote:
| The fees are low partially because of more efficient
| execution, but mostly because not many people use them.
| Nothing so far has fundamentally solved the problem.
| pazimzadeh wrote:
| I don't think that's what he was asking
| Entwickler wrote:
| Isn't this the whole purpose of Layer 2 solutions for
| ethereum, e.g. ZK and optimistic rollups?
| https://l2fees.info/
| whatshisface wrote:
| It costs real-world money to run the instructions, so
| fundamentally all you can do is ask for it to be cheap.
| OskarS wrote:
| Isn't the computational cost of running the smart contracts
| absolutely miniscule in comparison to actually doing the
| proof-of-work computation? Or is the proof-of-work part of
| the smart contract in some way?
|
| (geniuine question, I know very little of how Ethereum works)
| saurik wrote:
| The proof of work is unrelated to smart contracts or
| transactions in general. Even if no one were using Ethereum
| at all today, the proof of work done would be the same as
| if it were used to capacity. The proof of work merely
| protects the consensus: it is not a cost of use.
| syzygyhack wrote:
| Yes, but you also need to store and compute over a massive
| global state, and any execution is replicated across every
| full node on the network. Too cheap = DoS.
| wesleyfsmith wrote:
| Yes, you are correct that the computational of running the
| smart contracts is very small in relation to the proof of
| work.
|
| But actually, the main cost is not computation, but
| storage. Storage (any variable that is holding data inside
| the contracts) is extremely expensive because there is very
| little of it, and has to be persisted on the blockchain
| forever.
|
| In fact, view functions that don't change the state of the
| blockchain can be executed for free at any time.
| SilasX wrote:
| This: If you don't have some noteworthy transaction cost,
| the network gets flooded with spam past its other
| scalability limits.
|
| You can shrink it somewhat in absolute terms, but you
| need to throttle them somehow.
| Bayart wrote:
| Related to that, people have started using old procedural
| generation tricks to store "large" amounts of data on-
| chain. For example, as far as I understand it, Aavegotchi
| [1] stores base layer SVGs, metadata and functions to use
| these and render the actual end-product at view-time.
|
| Blockchain constraints are eerily reminiscent of the
| demoscene [2][3][4] (just using the opportunity to share
| stuff I like, don't mind it).
|
| [1]: https://github.com/aavegotchi/aavegotchi-contracts
|
| [2]: https://www.youtube.com/watch?v=bD1wWY1YD-M
|
| [3]: https://www.youtube.com/watch?v=qJegM2UgEZU
|
| [4]: https://www.youtube.com/watch?v=0w_xEUoK79o
| [deleted]
| ATsch wrote:
| There can never be, for two simple reasons:
|
| 1. Making the whole world agree on something is inherently slow
| so there is limited capacity.
|
| 2. Every decision has to be made by a computer so the only
| solution available is some variant of auctioning to the highest
| bidder. Some number must compare larger than another and the
| only number you can't lie about is wallet balance (directly or
| indirectly via resource waste for PoW).
|
| These are fundamental properties of the tech and one reason why
| these systems can never actually be usable for anything except
| a playground of a few wealthy hobbyists.
___________________________________________________________________
(page generated 2022-02-08 23:02 UTC)