The potential of smart contracts has been apparent since the launch of Ethereum. They aim to be secure, tamper-proof, and self-executing, which gives tremendous advantages in speed and cost over traditional financial contracts. For many people, smart contracts are the most revolutionary innovation to come from blockchain technology.
Smart contracts form the foundational logic that underpins decentralized applications (dApps) running autonomously on public ledgers. The use cases for these lines of code are practically limitless, ranging from defining how and when rewards are distributed in a Web3 game to the logic that guarantees the seizure of collateral if a loan is not repaid.
Smart contracts have applications in the majority of today’s biggest industries including retail, real estate, education, healthcare, and transportation industries. Just how traditional finance touches every industry, so too will decentralized finance (DeFi) and smart contracts.
But still, much of what smart contracts can do remains a pipe dream. It's been seven years since the concept was first implemented on Ethereum. And after so much time, it remains far from achieving what was/is expected. This is for one simple reason: smart contracts aren’t smart enough for mainstream adoption…yet.
The concept of smart contracts has been around for decades. They were first proposed by
However, it wasn’t until almost two decades later that smart contracts had their first actual implementation. Vitalik Buterin, the founder of Ethereum, found a better, more efficient way to use them by deploying them on a blockchain. This forms the elementary blueprint for smart contracts today.
Smart contracts, like traditional contracts, have rules and penalties regarding mutually agreed-upon terms. However, unlike the traditional contract, a smart contract consists of lines of code that exist entirely on the blockchain. Therefore, the responsibility of preparing a smart contract falls entirely on a developer rather than a lawyer.
Smart contracts use objective data to know when the terms have been met. Depending on the situation, this can be data from within their native blockchain ecosystem or outside (off-chain). The latter requires using oracles, which connect blockchains to external data sources. This connection allows smart contracts to execute based on real-world data.
To get to the next level, the DeFi ecosystem needs millions of developers working on innovative financial products and services. However, not many developers are willing to transition to Web3. In fact, there are currently less than 20,000 active developers in DeFi, which is way less than what’s needed for a global scale application of smart contracts.
So why is this the case? The current smart contract development paradigm is needlessly complex.
Solidity, Ethereum’s smart contract language, has a steep learning curve. Furthermore, developers building smart contracts have to do everything from scratch. Each developer is responsible for creating even the most basic and common functionality in their smart contracts.
So when it comes to security, developers are tasked with implementing concepts of asset management and authorization on their own, from scratch. This takes a lot of time.
Radix, a full-stack platform for Web3 developers and users, interviewed nearly 1000 developers over three years. When asked about their experience building smart contracts, most developers admitted to spending around 90% of their time on security.
Naturally, putting that much time into one feature results in chunks of code. And where there is unwieldy code, there are bound to be mistakes. This is why expensive smart contract exploits are still common in DeFi.
This is a problem that in any other field, would be solved by implementing thorough quality control processes. But the development paradigm forces the developer to build every single thing from scratch. Therefore, every smart contract recreates the laws of finance in its own unique way.
This makes it difficult for other developers checking the code to truly understand what is going on if they don’t have a detailed understanding of how the platform is supposed to operate. Therefore, small mistakes can easily slip through their radar and cause problems in the future.
The biggest barriers to smart contracts adoption can be summed up as follows;
A steep learning curve that discourages talented developers from transitioning to web3
A paradigm that forces developers to spend too much time developing security features
Unique, complex implementations that make it difficult for other developers to understand what is really supposed to happen
Therefore, the only way to get more people working on smart contracts is to improve the developer experience. According to Radix, the developer experience needs to reach a level where developers can;
Easily build dApps: Developers need an environment that lets them get to a deployed implementation as quickly as possible. It should also not heap the full responsibility of ensuring security on developers.
Leverage the work of other developers: Developers should be able to leverage on great solutions developed by other developers to existing problems. This creates reusability, rapidly accelerating the ability of developers to build more complex smart contracts.
To do this, Radix has created an asset-oriented programming environment by combining the Scrypto programming language with the Radix Engine. This, it says, significantly smoothens the learning curve for developers looking to get into Web3.
It also enables a much more robust security model than what’s available in any other DLT. Radix says that this will save the developer 90% time since they won’t have to put as much time into developing security features.
Whatever the solution, developers need an environment that allows them to make complex, featureful, and secure smart contracts with a wide range of applications. This is the only way that DeFi and smart contracts will be able to reshape finance on a global scale.