DEV Community

Discussion on: dApps / Web3 - Help me finally understand / ELI5!

 
grahamthedev profile image
GrahamTheDev • Edited

Thanks Nick!

As far as I know, everything is going the more energy efficient route opting for proof of stake instead of proof of work

Yes I am aware of the Proof of Stake part coming soon, but the energy bit (I did not explain it well) was more the "duplication issue" for dApps data storage and the issues surrounding that.

Imagine DEV - at least 15GB of article text - in one maybe 2 databases (I assume). On a dApp (assuming it catches on and scales) would you not have to store data in 100+ places and update it in 100+ places? That is 100+ lots of 15GB transferred at least once, to 100+ server locations that all require cooling and power.

Plus dApps promote the idea of more but smaller data hubs, that cannot be as energy efficient (individually, each one is less efficient that a massive data centre)?

If the transaction succeeds on the blockchain, it's permanent. Think of it like event sourcing where another event would need to correct the previous event if something were to occur, i.e. write to the blockchain again to correct the mistake.

Yeah sorry yet again, I needed to be more clear, Is there not always going to be a "cascade effect" of updates. Work is done, the blockchain is updated, but does that not need to proliferate around the world to hundreds of nodes before it is the same everywhere? Maybe this is a super technical part that requires me to understand more about the detail of blockchain before I can ask a good question on it!

The sort of scenario I thought of was accidentally uploading a local file of user data you were inspecting. You spot the mistake and immediately remove the file with an update, but could it not take time for that update to roll out everywhere making you vulnerable for hours rather than seconds?

In regards to gas prices, they're just super high on ETH right now.

Ah got it, plus I suppose with the Proof of stake the costs may drop into commerically viable realms so probably not an issue soon 👍

Thread Thread
 
nombrekeff profile image
Keff

Pointing to a URL is not the way to do it. You use something like IPFS or store it directly in the block e.g. an SVG in base64 data. I'm not positive if the base64 route is considered best practice though.

Now that you mention that, we initially did it by storing data as compressed base64, and that's the reason why 1kb data was not enough for us (as mentioned in the other comment I posted). We also used IPFS at some point but it had it's drawbacks as well, but I can't recall exactly what the problems where.

Thread Thread
 
nickytonline profile image
Nick Taylor

In regards to the storage of an NFT, @dabit3 Just dropped a really helpful thread on Twitter.

Thread Thread
 
grahamthedev profile image
GrahamTheDev

Thanks Nick, useful thread and much appreciated!

FYI I just learned that you can't click Twitter cards on mobile (iOS), thought I would let you know!

Thread Thread
 
nickytonline profile image
Nick Taylor

Glad you enjoyed the thread! For the iOS issue, mind opening an issue on GitHub? https://github.com/forem/forem/issues/new?assignees=&labels=&template=bug_report.md

Thread Thread
 
grahamthedev profile image
GrahamTheDev • Edited