When we hear about Distributed Ledger Technology (DLT) most of us think of Bitcoin. But a potentially more useful (albeit less popular) DLT solution is Decentralized Application (DApp). The following article is a high-level overview of the subject and is based on the lecture our colleague gave on the subject at the
Oradea IT Bridge
From Web 2.0 to 3.0
Web 2.0 is the internet of the current age. It relies on content distribution, social interaction and engagement, and information exchange. Think of Facebook and Twitter as a very good example. A small part of the content is being generated by these platforms and instead, users are doing all the work. While this is a very usual activity, these social networks generate revenue from the back of its users. It is still true that almost all services can be freely used, but at what underlying cost? Users don’t really have control over their data, and this is a growing concern .
In Web 2.0 behemoths like Google, Facebook, Amazon control most of the internet’s data and there is no room for competition, thus they have the most computing power, they can hire the best talent. Furthermore, users don’t control their own data.
A blockchain, (originally block chain), is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data .
Check out this video for an animated explanation.
Decentralized applications run on a P2P network of computers rather than a single computer. They have existed since the advent of P2P networks. They are a type of software program designed to exist on the Internet in a way that is not controlled by any single entity.
Most of us have already used a certain type of DApps.
The following app names might ring a bell: BitTorrent, Popcorn Time, BitMessage, Tor, etc .
The advantages of these types of applications include:
- Transparency (in some cases)
- Real-time tracking
- Security (in some instances even more than necessary)
- No single point of failure
- Reduced cost (will discuss this later on)
- Trusted transaction
- No third party involvement
Steemit is a platform where you can write blog posts and comments and get rewarded for it for the number of upvotes they receive. It’s powered by the Steem blockchain which is free, fast and scalable.
CryptoKitties is built around the concept of collectible items. As its name infers, it’s all about kittens. Players can buy and breed kitties from which new kitties with new traits can emerge. The digitized cats are stored on the Ethereum blockchain as ERC-721 non-fungible tokens . Transactions from this game are flooding the Ethereum blockchain .
Arcade City and Chasyr are two competitors to Uber and Lyft. Both run on the Ethereum blockchain and their main focus being decentralizing the ride-sharing ecosystem. These two DApps mirror the best of what a DAO could be. Their purpose is to get rid of the middle man, in this case, Uber and Lyft, and bring all the power to the actual people that run the services, the drivers. Part of the envisioned benefits would be lower fees for everyone.
Should you consider building your App as a DApp?
Before you can answer this question you might want to do thorough research on the matter[2, 3, 5]. The following set of questions can enlight you in this regard.
- Do you believe in the idea?
- What problem does it solve?
- How does it solve it?
- Does it reduce the complexity as a whole?
- Do you need an ICO [4, 6]?
- Who are the main beneficiaries of the end product?
- Can it be run by itself?
If you have a positive answer to the above questions, then you might consider trying it out.
A successful DApp will give users more control and more recognition for their contribution.
Scalability  is one of the big issues of blockchain today. One characteristic that is extremely important is Speed. If we look at Bitcoin and Ethereum, they perform very poorly in terms of transactions per second(TPS) compared to ~1,7k TPS of Visa . Bitcoin and Ethereum run at about 3-4 TPS and respectively 7-8 TPS . The blockchain space is currently working hard towards increasing these numbers, with Lightning network coming to Bitcoin and Raiden network to Ethereum.
There are other blockchains that got built with Speed and Fees in mind, like IOTA and EOS.
IOTA , which is actually a blockDAG, uses a protocol called Tangle  which does not have a built in maximum throughput, requires no transaction fees as there are no miners in the network. The principle behind it being, the more users the faster it goes. IOTA is still centralized, which they say it would go away.
EOS implemented one of the most popular alternatives to Proof of Work(PoW), that being Proof of Stake(PoS). It actually uses a slightly modified version called Delegated Proof of Stake(dPoS). It can handle around 4k TPS  but comes with a centralization trade-off, where key shareholders have more power than the rest of the community.
Another point worth mentioning in terms of threats is human error  when it comes to coding and testing. Despite being a few decades old,
blockchain technology is still in its infancy and thus new concepts come with new challenges and new implementations with new bugs.
One of the most famous of them all is the DAO Exploit  where $150M in Ether was stolen by attackers because of a bug in the code.
The most known limits/threats: Scalability in terms of low speed and high storage, high fees, high centralization of miners(mining pools), the cost of computing power, vulnerability to quantum attacks.
In lieu of a conclusion
After decades of academic research and proposed solutions in the space of ecash , the creation took place on August 18th, 2008 when the bitcoin.org domain name was registered. Later that year, on October 31, Satoshi Nakamoto published the title Bitcoin: A Peer-to-Peer Electronic Cash System to a cryptography mailing list.
While we can argue that there is still much confusion around the technology, nevertheless it is continuously progressing. I like to think of the current state of DLTs as of the internet in the early ‘90s.
It remains to be seen weather DLT solutions will be implemented at a large scale, but it sure raised questions regarding privacy and generated new problems that will be solved with peer to peer connection and cryptography. I hope that these solutions will also be of use in other domains.
Try out things regardless of the immediate failiures, as the solution will present itself on the go.
A famous thought experiment was previously proposed, where the system is always in all possible states and only once you measure it(actually look at it) you know for sure which one it is .
So go out there, try stuff out, break it and learn from it.