3 ms·
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-
by OskarS 5y ago
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)
- deleted 5y ago[deleted]
- syzygyhack 5y agoYes, 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.
- saurik 5y agoThe 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.
- gowld 5y agoconsensus on the distant past isn't very interesting. The proof of work is like a data center, or by sharing a whole cow's meat -- it costs almost all or nothing, not linear in usage, but the cost is borne by some method of division across the contents.
- wesleyfsmith 5y agoYes, 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 5y agoThis: 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 5y agoRelated 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 https://github.com/aavegotchi/aavegotchi-contracts [2]: https://www.youtube.com/watch?v=bD1wWY1YD-M https://www.youtube.com/watch?v=bD1wWY1YD-M [3]: https://www.youtube.com/watch?v=qJegM2UgEZU https://www.youtube.com/watch?v=qJegM2UgEZU [4]: https://www.youtube.com/watch?v=0w_xEUoK79o https://www.youtube.com/watch?v=0w_xEUoK79o