If the possibility for Twitter to become decentralized on the EOS blockchain exists, what are the point-by-point steps it should take to become a dApp? What will happen to their existing users, how will they even login? And what will happen data they have created - Tweets, Retweets, Images etc? Can they be moved to the blockchain without user involvement?


In theory, Twitter could move all their data to EOS, using the blockchain purely as a replacement for their cloud services. They have just signed a contract with Amazon Web Services to do just this, so it is unlikely they will be moving to EOS anytime soon. However if they did, the move would be invisible to their users, who would not even realise they had moved to blockchain based dapp unless they read about it.

Crucially, twitter users would not necessarily need EOS accounts for such a dapp to work. Unless twitter wanted them to for some reason.

The questions they would need to answer is whether EOS based storage:

  • Is economically competitive compared to traditional cloud.
  • Has sufficient reliability and capacity. Something they may need to evaluate after EOS has been live for a time.
  • Data security. How to store user passwords and other sensitive data? BlockChain and IPFS mean data is available to all. All encryption will only last for a finite time until it is broken. This can be a problem even in data-centers and cloud storage providers, where access is limited to a relatively small number. Some combination of private/cloud storage, breaking data to store via EOS block producers into small encrypted chunks, may mitigate risks. Recommending users change passwords upon every upgrade to a newer encryption algorithm, even if the old one isn't broken yet, is probably also a good idea.

Edit Third section on security issues added to answer concerns of @leo-ribbero in comments.

  • 1
    If the users does not need an account, how do they login? Also, where the authentication data will be stored (like user/password)? Finally, how would they store sensitive data like emails? May 12 '18 at 10:55
  • 1
    They login in to their regular twitter account. They wouldn't need an EOS account, unless twitter decided they did. But that would be up to the app maker. Sensitive data could be encrypted, the same way it would have to be for storing on Amazon Cloud. May 12 '18 at 11:13
  • So you are saying that the auth data would be outside the blockchain or the auth data will be stored encrypted in a smart contract table? The problem with encryption in blockchain is that in the future, we will be able to read these data, because you know, encryption is always broken with hardware evolution - and blockchain is forever... May 12 '18 at 11:19
  • As I understand it, a lot of data storage in EOS is handled off the blockchain using IPFS. Only the contracts are stored on the chain. May 12 '18 at 13:19
  • Of course, even IPFS might not be secure enough for password hashes, for similar reasons. Although trusting third party cloud providers, or even private data centers, as an alternative, might be a false security, as there will still be a number of employees with access. At some point ANY form of password storage will be broken if you wait long enough. May 16 '18 at 9:51

Before an existing business built on the current paradigm of a centralized server can migrate to a decentralized backend, they are likely going to need to completely revise their business model. In the case of Twitter, the reason for the business to exist is that they are able to sell ads at a high enough margin to justify the expense of their business operations. In a decentralized model - where users have ownership of their data and some control over how it is used by advertisers - the entire reason for the business to exist shifts.

Content and accounts could theoretically migrate, but the business that manages them would need a pretty compelling reason to move.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.