The decentralization dilemma
One of the main reasons for Bitcoin’s origination is the eradication of financial institutions from payment methods, which, incidentally, is a paraphrase of how the [whitepaper](https://bitcoin.org/bitcoin.pdf) begins, setting the tone for the ensuing revolution. Bitcoin has delivered on that promise and then some. However, centralization has proved to be a hard habit to shake off, since buying or selling cryptocurrencies still largely requires people to lean on financial institutions in the form of exchanges. That is not to say that there aren’t ways to circumvent that via atomic swaps and the burgeoning decentralized exchanges that promise no third-party interference. And yet, these solutions are either not ready for consumption or they’re too cumbersome for the average person to use.
I recently came across an interesting and aptly named blog that succinctly summarizes this problem dubbed by the author as the [Decentralization Dilemma](https://www.molus.org/blog/decentralization-dilemma/), which hinges on two core concepts: beginner difficulty and eventual centralization.
These problems are not just confined to cryptocurrencies but also plague every blockchain project that promises the user control of their funds, identities, data, etc.
Not quite decentralized
Decentralized applications are definitely in demand if you look at the number of successful crowd sale figures that could easily surpass the GDP of a small nation. Unfortunately, the heavy influx of money in ICOs is not in any way indicative of the adoption of the technology in question. Rather, it is a testament to their investment potential that leads investors to speculate and buy into solutions that would be nothing more for them than quick cash. And even though the name may suggest otherwise, a lot of the DApps still rely heavily on the good old client-server architecture and are not completely decentralized. Nonetheless, since they’re running on top of a smart contract platform, they are called DApps.
In defense of developers, it is hard to think in unconventional terms where loops can prove to be costly and talking to servers is a definite challenge. Writing smart contracts is nothing similar to writing conventional web or mobile applications, and learning specialized languages has nothing to do with it. It’s about the design choices that a developer has to make in order to develop a truly decentralized application, where every line of code incurs a fee on the platform.
One of the major obstacles in the quest for decentralization is application data storage. You could, ostensibly, cram all that data on the blockchain, but aside from bloating the blockchain and the impracticality of having to pay for every write operation, there are other considerations to take into account, like the privacy and security of said data. With the GDPR compliance requirement that every tech company has recently been scrambling to cover, there is also the policy of “right to erasure” that makes putting data on chain impossible. There are a couple of options that developers resort to in this case: to either store the evidence (hash) of data on the blockchain and store the actual data elsewhere, or to use decentralized options like IPFS or BigchainDB, that have a myriad of issues – security being the most critical one – due to their lack of maturity.
Another thing that eludes developers is human-centric design. It’s easy to theorize but much harder to actually engineer a user-friendly decentralized solution that is invariably going to be complex under the hood. Design is essential to help the user navigate through the application and to actually entice them enough for retention. It is the reason people prefer using Coinbase and the like over bisq and other decentralized solutions that don’t make it easy for the users to exchange assets. It is the reason setting up a Dropbox account sounds like a better idea against hosting your data on IPFS. The DApp developers need to be more design conscious if they want to create a usable application.
The decentralization manifesto
At Block360, we are strong proponents of decentralization and are striving to follow a human-friendly approach to our designs. We want mass adoption of cryptocurrencies and blockchain-based technologies – not simply as investments but as replacements to centralized solutions. And, to that end, we’re trying to make it easy for everyone – regardless of their technical expertise – to use such applications with intuitive user experiences.