Blockchain and Social Media Account Pair
Disclaimer: This is a summary of patterns we have observed during our research and should not be considered any form of technical or investment advice. Also, the given “known examples” do not imply they are the best implementations of the said pattern or any superior to any other implementation of the pattern not listed.
Summary
Establish a bidirectional binding between social media profile and blockchain-based identity.
Context
Social media profiles can be considered as one of the most important assets that are critical to achieving exposure and reputation on the Internet. The trustworthiness of a social media profile can be enhanced by verifying the account against an identity issued by a reputed authority. Alternatively, blockchain provides a decentralised infrastructure for self-sovereign identity, where entities are in control over their own identities. For example, blockchains like Hyperledger Indy are particularly designed for decentralized identity management. Therefore, alternatively, a party can link his/her social media profile to an identity registered on blockchain to improve the trustworthiness of both the social media profile and blockchain-based identity.
Problem
How to bind a social media profile with the corresponding blockchain-based identity?
Forces:
- Authoritative source – A 1-to-1 mapping is required between a social media account and its blockchain-based identity.
- Security – The mapping needs to be stored securely without the risk of tampering.
- Verified accounts – Social media applications typically verify accounts via traditional identity. For example, a phone number is a common form of validation because telecommunication provides issues only after validating one’s formal identity.
Solution
First, use the identifier registry pattern to deploy a smart contract to keep track of (blockchain identifier, social media identifier, owner) tuples on the blockchain. Second, a party can create a transaction including his/her social media identifier and then sign it with his/her private key. Finally, once the transaction is executed, it adds (social media identifier, blockchain identifier) pair to the identity registry. The pattern can be extended to bind a blockchain identity to a specific social media post by including its URL.
The blockchain identifier stored on the registry is typically derived from the public key that corresponds to the private key used to sign the transaction. Therefore, signing the social media identifier with the private key creates a claim that the given social media account controls the blockchain-based identity. However, the reverse is not necessarily true. For example, one can sign a transaction including any social media identifier or post that is publically known. A simple solution is to ensure that the identifier registry records a social media identity only once. However, this is susceptible to front running where another party may record a social media identity on the registry to claim its ownership before the actual owner.
A better solution is to first get the social media identity owner to post a social media message with his/her blockchain identifier. The ability to make a post confirms that the party controls (i.e., have access) to the respective social media account. Second, the party can create and sign a transaction including his/her social media identifier and URL of the post. Once the transaction is executed, the identity registry can request an oracle to validate this post by giving its URL. Once the oracle confirms the post, the (social media identifier, blockchain identifier) pair can be added to the registry. Therefore, a 2-way link is established connecting the blockchain identity with the social media profile. This 2-way binding ensures that that the social media profile and blockchain-based identity have a 1-to-1 mapping. If the social media identifier is bound to a traditional identity, this pattern could help deduce the blockchain identifier also maps to the traditional identifier.
Benefits
- Authoritative source – The trustworthiness of social media account and blockchain-based identity can both be improved by binding them together.
- Secure storage – Blockchain provides an immutable data store through distributed ledger technology that can only be updated by the respective owner.
Drawbacks
- Trustworthiness – The trustworthiness of social media account relies on the verification process used to validate the identity issued by a reputed authority. Whereas the trustworthiness of blockchain-based identity depends on the trustworthiness of trusted participants.
Related patterns
- Identifier registry pattern maintains the mapping of an entity’s on-chain identity and social media.
- Oracle pattern can be used to validate the ownership of the social media profile.
Known uses
- Onename was a registrar for Blockstack which is a decentralised naming and storage system. With Onename, a user can register a blockchain ID and create a corresponding profile on Blockstack, and completely has control of his/her blockchain ID and profile. Users can link their Blockstack profiles with existing online social media accounts (Twitter, Facebook, Github, etc), and also embed their blockchain ID on their social media posts.
- Keybase is a key directory that maps social media identities to encryption keys including Bitcoin, Zcash, Stellar, and QRL wallet addresses in a publicly auditable manner.