Can, should and will Ethereum be used to dis intermediate centralised forums like StackExchange?
closed as too broad by user19510, Richard Horrocks, Achala Dissanayake, eth♦ Feb 20 '18 at 15:42
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
It sounds like you're wondering if you could create all of StackExchange or another forum package on Ethereum. Not entirely, (and should is more of an opinion thing), but some details like data storage can be done on it. But this poses a bigger question: what can and what can't Ethereum do?
- Store arbitrary data on the network using smart contracts, at the cost of gas.
- Validate identities of users based on their private key.
- Be decentralized in that no single node holds the data, and nobody can tamper with it or delete it.
- Act as a trustless backbone for transacting information or other units of value between users who fundamentally distrust each other.
- Store large amounts of arbitrary data without significant expense. All of the text on a forum on a per post level, the metadata, and images, would cause the storage of each transaction on the network to be very expensive in gas, at minimum.
- Serve websites, at least, not in the traditional sense. You need specialized software in order to interact with DApps. Right now, games like CryptoKitties are mixtures of traditional web technology and Ethereum technology. The website itself is stored on a standard centralized server. Most of the data is stored in smart contracts on the Ethereum blockchain. To play the game, of course, you need Metamask. Other DApps are integrated into other clients, hosted locally, or follow a similar breed. None that I'm aware of both serve content from the blockchain and store data on the blockchain exclusively. They almost always use a hybrid approach (centralized front end, decentralized back end).
- Store data instantly, or nearly instantly. Transactions require at least 10 seconds or more to confirm and be stored on the network. Compare that to traditional forums, which respond in 10s of milliseconds. Current decentralized technology isn't cut out for the levels of responsiveness that most users demand.
- Store things for free. Or anything for free, for that matter. The entire network is based on transactions, which puts a huge barrier to entry up for anyone who wants to join in on the fun. Forums like StackExchange are successful because of critical mass, and unfortunately, it's hard to get critical mass on a system that requires every action to have a cost associated with it. There have been experiments doing this, but nothing at scale that's been considered "successful." You've heard of Facebook because it's free. It's popular because it's free. Free is an important feature to have.
- Be experienced by "normal users" out of the box right now. Until Web3 technology is integrated in every browser that comes on a computer, you need to convince people to download additional software. Most people can't do this with a web browser, let alone something as complicated as Ethereum.
Can you use other decentralized technology to do this?
Yeah! Right now, IPFS is a great way to store data in a decentralized way, just as an example. The possibilities are endless, as long as you don't constrain yourself to only using Ethereum. This isn't really the scope of this StackExchange, but there are other solutions worth looking into!
What about the future?
Ethereum is basically one of the early pioneers of smart contracts. As time goes on, solutions to these problems and improvements to the overall architecture will be made. When these improvements are completed, it will be much more reasonable and easy to build large scale business web apps on blockchain and smart contract technology, just like how web developers build apps today. These are the early days, in other words.
It's kinda early today, but you never know about tomorrow.
You can build it on something like a plasma contract on a different layer. It's decentralised but that doesn't necessarily mean we need to store everything on the main ethereum chain. We just need to verify the truth on the main chain.
Yes you can. If you want to build every thing in Eth network, its very costly.
I'll recommend to look into following concepts, it makes your dApp is little cheaper.
- Decentralized database,
- Decentralized filesystem
- Whisper for P2P decentralised communication
- Eth smart contract to manage above items.