Bitcoin is a “peer-to-peer electronic cash system”. It is a digital currency that can be transferred without an intermediary.
Ethereum is a “smart contract platform”. Nodes can execute contracts without an intermediary. This was a significant step beyond a payment platform. Now, any contract that can be encoded in a specific format, can be verified by a community of nodes acting as a decentralized computer.
A plethora of smart contract platforms have emerged since then (and a handful of purely payment platform). While platforms like Ethereum has given rise to hundreds of decentralized applications, none of them has seen mass adoption. While the problem of these platforms being not scalable is a key reason, traditional app developers have not jumped in for a simpler reason - the barrier to build an app is significantly high. The developer needs to understand how smart contracts work, the intricacies of decentralized apps and learning a brand new programming language.
We need to move beyond smart contract platforms and build truly decentralized platforms that can host any applications. The ability to choose the language and computation requirements is important to a developer. It should also be up to the developer’s discretion and the use case of the app to define which part of the application will make use of decentralization.
To do that, we need to decouple the computation layer from the decentralized platform. The platform should be an application “integration” platform which facilitates applications, but doesn’t tie the application with the platform. This will usher the true revolution of decentralized applications through microservices, built with traditional programming languages and approaches.