Thoughts on Decentralization
The JSEcoin system is currently fully centralized. We run a series of servers behind a load balancer.
The Bitcoin network is decentralized meaning that there is no central authority or point of access. Anyone can run a node/server and this will connect to all the other nodes in a p2p network. Control over the system resides via a voting system which is controlled by the largest mining pools.
There are advantages and disadvantages to decentralization and in an ideal world we would like to take the best parts and create a hybrid system.
The biggest benefit to a decentralized system is that users don’t have to put trust in a central authority. In theory noone should be able to shut down the Bitcoin network because there is no one person or organization to target. The distributed nature of the ownership provides a system that is controlled by the users.
Cryptocurrency investors also are particularly keen on decentralization, we have heard some people say that they simply wouldn’t invest in a system that isn’t decentralized to some degree. There are some very successful centralized cryptocurrencies however and Ripple currently has the 4th largest market cap at over $8billion USD.
The biggest disadvantage to consumers of a decentralized system is that there is no buyer protection. If you purchase something with Bitcoin and it turns out to be a scam you have no way of getting your money back. There is noone to complain to or police the system. I think most people would agree they feel much more confident making a purchase with Paypal/Visa than they do with Bitcoin. The anonymity of certain networks also makes this a hunting ground for fraudsters and scammers which can only hurt the chances of mainstream adoption by non-technical users.
Another big disadvantage is that when things go wrong they become very hard to fix. An example this week occurred when a bug was found in the parity wallet which locked $150,000,000 USD worth of ETH. Losing this kind of money without anyone able to fix the problem is a huge issue and these horror stories have become very common.
There are some other issues that we would have to overcome to move the JSEcoin network to a more decentralized model.
The first issue would be controlling fraud and misuse. The ad-tech industry has been trying to tackle publisher fraud for 20 years and it is still a huge issue. Even the largest networks like Google Adwords are riddled with ad fraud especially on their display network which publishes ads on 3rd party sites similar to how JSEcoin mines on 3rd party sites. It is not a programmatically solvable problem but an ever evolving game of cat and mouse with a constantly adapting threat which needs both automated and manual analysis. I don’t think it is possible to effectively tackle web based mining fraud in a decentralized network. If anyone disagrees we’d love to hear your ideas.
The second issue is speed of updates and development. We are still building our platform and system. Updates to the code are being pushed out daily. Decentralized networks make it very hard to push updates as we’ve seen with the various forks recently. When a decentralized network requires updating a vote takes place and the mining pools either accept or reject the update based mainly on if it suits their best interests. When a majority is reached the update goes through and all clients are required to update their code. As we’ve seen the losing party can then do a hard fork to create a duplicate competitor system. This is what happened with the Bitcoin vs Bitcoin Cash saga that happened in summer.
With all that being said I think a lot of JSEcoin stakeholders and potential investors would still like to see some level of decentralization.
There are a few possible scenarios where this might be possible.
A. We could create a hybrid system so that all mining traffic still goes through the centralized server and passes fraud controls. The mining rewards could then be pushed out to a decentralized blockchain after a set period of time. So when someone logs in they may have the last 48 hours of rewards as (pending). I don’t think this would hit too much resistance from the publishers as it’s a fairly common approach with affiliate networks and ad networks. We would have a set period of time where we could flag any fraud and block the transactions before they get transferred across to the decentralized network.
B. The second option would be to make it possible for users to export/import JSE tokens between the platform and a Ethereum (or alternative) smart contract. This would mean that a user who is concerned about the centralized nature of the system could hold the tokens/keys on a separate 3rd party decentralized network. It would also make it much easier to integrate with exchanges/wallets that use the standard Ethereum ERC20 based tokens.
I think it would be impossible for anyone to create an effective fully decentralized web based mining system but wouldn’t rule out a hybrid system for JSEcoin in the future.
If any of our users have any thoughts or ideas on this we’d love to hear from you. Contact Us