[Social X] Architecture of A Decentralised System for Social Payment and Services
Dear fellow Reddheads:
It’s been a month since the successful launch of PoSV, which marked the end of stage one of Reddcoin project. There were three main goals for stage one:
fair distribution of Reddcoin to common users (tipping), miners (mining) and investors (IPCO).
an innovative algorithm to secure the network and encourage ownership, participation and decentralisation (PoSV).
to build out a team of super talented and trustworthy developers.
The three goals have all been achieved so it’s time for us to enter stage two: the buildout of services to make Reddcoin actually useful.This is what Social X is meant for. I’m still polishing the whitepaper to make it live up to my own self-imposed high standard, but I think the time is right for me to unveil it in broad strokes. There are three main problems Social X aims to solve.
Social X: why are wallets so difficult to use?
To achieve wide adoption of Reddcoin (or any cryptocurrency) by the non-tech-savvy general public, wallets must solve the following issues:
blockchain size
Ever increasing blockchain size discourages users from running full-blown wallets. It takes too much time and efforts to install or repair. A common user tends to find the process frustrating or even impenetrable and is forced to either give up adoption or rely on 3rd-party service providers (e.g. exchanges, wallets using ReddAPI) to take full control of her fund. Blockchain size grows everyday and grows faster with wider adoption.
backup
Current wallets generate private keys randomly. As a user engages in staking or normal transactions, she has to back up wallet.dat file periodically to make sure all newly generated private keys are backed up. If wallet.dat file is corrupted or lost, there is no way to recover lost fund.
portability
Again, due to the fact that private keys are randomly generated, it’s impossible for a user to share the same wallet.dat file across multiple devices (e.g. desktop, iOS, Android) and multiple platforms (e.g. Windows, Linux, Mac). Different copies of wallet.dat will get out-of-sync. A user has to manage each wallet independently, which leads to significant operational burden and risk.
cold storage
It would be extremely valuable for a service provider, such as an exchange or e-commerce site, to be able to generate unique public keys to receive fund while putting the corresponding private keys in cold storage. The impact on security is significant.
Social X: why is it so hard for me to tip someone?
One essential feature of Bitcoin is pseudo-anonymity. To pay someone, you need to get hold of her impenetrable public hash key, somehow. And the hash key, i.e. the wallet address, may not be valid a moment later because the owner might have lost the corresponding private key. Ironically, this awkwardness, even backwardness, is not perceived as a disadvantage by almost all the cryptocurrencies. In fact, on the contrary, the single biggest, hottest, most wanted feature is full decentralised anonymity, which has seen the rise and fall of many cryptocurrencies and their copycats. While all the other cryptocurrencies compete with each other on this front, Reddcoin, aiming to the social currency of the digital age, moves in the opposite direction. Social lives are not possible without social identities.
Social X: why can’t I use a service without giving up control?
The vast majority of 3rd-party service providers which hold fund on a user’s behalf has exclusive full control of her private keys. If a service is indeed worthy, a user has no choice but to trust the 3rd party with security and integrity. It’s ironic, to say the least, that cryptocurrencies which are created to remove exactly this need for blind trust in middlemen end up in a much worse position than fiat currencies due to the fact that many cryptocurrency companies are unregulated and incompetent. Then the question is: is there a way to create an ecosystem where anyone can write and provide valuable social applications in a fully decentralised fashion?
Social X: Architecture for a Decentralised System for Social Payment and Services
Social X has many components which are already being actively developed. Below I give a brief description of some of them.
In the future, there will be two types of official Reddcoin wallets. QT wallet and reddcoind are full wallets required to run a full node. A second type of wallets, called thin wallets or SPV wallets will use the technology of Electrum modified and enhanced to support PoSV and staking. These wallets include mobile wallets on iOS, Android, next-generation Social Wallet on desktop and wallets inside browsers (Chrome/Firefox/Safari). I’ve already finished writing and started testing the reference implementation of Reddcoin Electrum server and client. Each client only needs to download 25M of data vs the current full blockchain at 660M. This is how we solve the blockchain size problem.
All our official wallets, whether full or thin, will be deterministic. All private keys are generated deterministically from a long passphrase. This passphrase is all you need to remember and backup and with it you can fully recover your wallet and funds anytime anywhere. You will also be able to support multiple wallets on multiple platforms and devices and they will all be in sync. This is how we solve the portability problem.
All our official wallets, whether full or thin, will be hierarchical. They will allow users to generate public keys on demand while keeping private keys in cold storage. This is how we solve the cold storage problem.
I’m writing code (~30% finished) for sth we call Reddcoin Social ID (Redd-ID):
It’s a new service provided at the blockchain level.
It allow users to associate a username with one private key.
The user can choose to bundle extra information such as email, address and avatar.
The information is public and embedded in the blockchain. As a result, any user can send Reddcoin to another by simply specifying the recipient’s Redd-ID.
Redd-ID registration costs Reddcoins. The costs vary depending on many factors such as the length of the username. For example, we expect popular names like tom to cost at least 7 figure.
Redd-ID registration is verified in PoSV blocks. Therefore all active Reddcoin stakers will be the provider of Redd-ID service.
Redd-ID registration fee goes to the Reddhead who successfully mints the PoSV block that verifies and confirms the registration. In a sense, it will feel like a lottery. And this is why this service doesn’t make sense for any PoW coin where each block is pool-mined.
Redd-IDs can be transferred to new addresses and by default auto-expire annually and can be renewed.
Small Reddcoin holders, as long as they keep staking, may double, triple or 10x their existing holdings just by receiving registration fees.
Businesses and organisations can register usernames for purposes like receiving donation.
There will be several services available to provide more ways for Redd-ID to be used on Internet. I don’t want to disclose all our cards here. Please wait for my whitepaper and see what we have for you as surprises. Meanwhile, do share with us how you imagine Redd-ID can be used.
Different components of Social X will allow decentralised tipping across all social networks. In our next-generation social tipping platform, there will be no tipbots! When you tip someone on Reddit, Twitter, Twitch, Youtube or Facebook, the tipping goes straight from local wallet, whether on your mobile or desktop to the recipient.
There will be APIs to allow 3rd parties to write and offer decentralised social applications.
Social X: where are we now?
I’m finishing the whitepaper in coming weeks (while writing a lot of code). The whitepaper will contains much more information than this post.
Reddcoin Electrum wallets for iOS and Android are being actively developed.
Reddcoin full wallets (QT/reddcoind) are already hierarchical deterministic in the development branch and are being internally tested.
The Social Tipping Platform is being actively developed.
I need volunteers to host and test Reddcoin Electrum server and clients. I’ll make a separate post next week.
Epilogue
Below I’ll only answer questions selectively. Much more details will be available in the whitepaper and there is no reason to jump the gun and repeat it here. Stage one took us 6 months. We expect stage two to take 6 months also. It may be the most exciting period in the history of Reddcoin project.