Drawbacks in interoperability of Ethereum-based smart contracts

RealTract Network
RealTract Network
Published in
10 min readOct 7, 2019

--

Ethereum is one of the 2 dominant cryptocurrencies in the current digital currency market with total market capitalization of more than 18 billion US dollars. Through advanced programming languages such as Turing-Complete and Solidity, everyone is participating in the creation of smart contracts on a daily basis. There is currently a large number of applications operating on the main net, ranging from Token systems to digital wallets, risk insurance contracts, lottery, etc. Smart contract is a revolutionary design, allowing the execution of any form of transaction without the need for the presence of a third party. This innovation is a very useful additive application to the Blockchain protocol.

However, the question is still under consideration about whether this version of Ethereum’s smart contract ran on its platform is the perfect version yet. Cyber attack on smart contract has occurred more than once in the past, resulting in billion dollars of loss for users and supporting platforms. Ethereum-based Smart Contract has yet to solve the puzzle of Blockchain technology — practical applications in the business world.

Limitations of Smart Contract Platforms

Smart contract platforms — Ethereum, Tezos, NEO, Stellar, Cardano — certainly have their benefits. First and foremost, they make adopting blockchain technology simple. Anyone can write a smart contract, pay the “gas” fees, and submit it to the network. The blockchain industry grew at an unprecedented rate all throughout 2017, and much of this growth is owed to the advent of smart contract platforms.

However, these smart contract platforms are fundamentally limited in their design. While anyone can adopt blockchain technology via a smart contract, the defects of the underlying architecture makes operating that smart contract financially unviable. Let’s dig deeper into the limitations of smart contract platforms.

Shared Networks and an Inability to Scale

Smart contract platforms are just one blockchain with a single, shared network. That puts a strict limit on the number of transactions that the network can process in any given second. To again take Ethereum as an example, the Ethereum blockchain can only process 15 transactions per second, or 900 transactions per minute.

That might sound like more than enough transactions for a functional network, but it is not. Complicated applications, like Facebook or Uber, individually need to perform hundreds or even thousands of processes per second to function. Complex blockchain-based apps would cost tens of thousands of dollars per hour to run, rendering all but the most basic of applications prohibitively expensive for any profit-driven organization.

Making matters worse, there are currently over 217,000 ERC-20 contracts running on the Ethereum blockchain. For better or worse, “over 60% of contracts have never been interacted with.” But, even if we assume that only 40% of the 217,000 existing ERC-20 contracts are real projects, the network can’t even process 1 transaction per hour for every active project.

Of course, any real project needs far more than 1 transaction per hour to be useful. This leads to competition among third-party projects to fill the limited number of transaction slots available.

The Ethereum developer community is currently working on Layer 2 scalability solutions like Plasma to address this issue. However, these efforts are in an early beta stage, technologically overcomplicated, and completely untested in real-world applications.

Moreover, Plasma is an aftermarket solution that is both extraordinarily complex and potentially insecure. It’s likely that a Plasma is several years away from being production-ready for main net integration.

Insecure Smart Contracts

Yet another consequence of decentralization is a lack of security auditing of the smart contracts run on a platform. The platforms allow anyone to run any smart contract they please, as long as they pay the necessary gas fees.

This means developers may run smart contracts with bugs and serious security vulnerabilities. To get an understanding of how serious the issue if, see this list of known bugs and vulnerabilities from Consensys.

As most smart contracts on the first generation of blockchain platforms are balance-based, a bug in a smart contract leaves all addresses associated with that contract exposed. If hackers find a vulnerability and are able to exploit it, they can drain the funds from every single address that ever transacted with the flawed smart contract.

For ordinary investors and end users, auditing a smart contract is well beyond their technical capability. This asymmetry of information leads to uninformed investment, which may result in insecure smart contracts allowing hackers to make off with tens of millions of dollars. This unfortunate situation has occurred on more than one occasion.

A representative of various forms of cyber attack on Smart Contracts up to present: https://consensys.github.io/smart-contract-best-practices/known_attacks/

The Oracle Problem

In the blockchain space, the term “oracle” refers to a small group of nodes with the power to put off-chain data onto a specific blockchain. The off-chain data might be the current exchange rate between two currencies, for example. This would allow smart contracts to use function calls to receive real-time price data from the oracle.

Of course, this presents a paradox: while blockchain technology is meant to be completely decentralized and trustless, the use of oracles is, by its very nature, centralized and trusted. The oracle is a small group of nodes that are trusted with the special power of putting important data onto the blockchain. This method of importing data to a blockchain is neither trustless or decentralized. The oracle nodes are a single source of truth and therefore susceptible to attack, compromise, manipulation, and collusion.

This is what’s known as the oracle problem. While it is extremely useful to have verified off-chain data on a blockchain and thus accessible to smart contracts and applications, getting off-chain data onto a blockchain in trustless way is tricky. This remains an open problem and has not yet been overcome by smart contract platforms.

Proprietary Vendor Lock-In

Finally, every project that builds on a first-generation smart contract platform is stuck there. This is what’s known as proprietary vendor lock-in. While most smart contract platforms are open source projects, they operate their platforms like a typical proprietary, closed platform corporation. Projects are not allowed to migrate away.

If a project doesn’t like the ecosystem in which they’ve built, they’re forced to abandon all of their work, leave the platform, and start anew in a different environment. This prevents startups from fully committing to a particular platform. There is no investment protection and entrepreneurs don’t want to be locked in. The blockchain industry is still young and smart contract platforms may become obsolete a few years down the road.

Lastly, the development team of a smart contract platform makes decisions independent of the needs of any specific third-party projects. Third-party projects have no say in platform-wide code or policy changes. As a result, development decisions may disrupt the functionality of a specific smart contract or dApp. If a project becomes unsuited for the platform, they are locked-in regardless, with no path for migration or success.

The Upside-Down Economics of Smart Contract Platforms

In addition to the technical limitations of smart contract platforms, there are several major flaws in their economic models that prevents the mass adoption of blockchain technology.

A Fundraising Free-For-All

In the spirit of decentralization, there is no screening or vetting process for startups that wish to launch an ERC-20 tokens contract and hold an ICO. It’s an easy process and literally anyone can do it without providing any kind of personal information.

As mentioned earlier, this was an improvement because it made adopting blockchain technology easier than ever before. However, it also opened the doors to underqualified developers and outright scammers. With no barrier to entry and no KYC requirements, the ICO space became rife with projects that had no value to offer the blockchain space.

Some of these projects were led by inexperienced developers who, either accidentally or intentionally, oversold their ideas and potential. Other projects were led by outright con artists who knowingly lied to investors for personal financial gain.

Whether inept or malicious, many of the ICOs launched on smart contract platforms throughout 2016 and 2017 have already shut down. After raising tens or hundreds of millions of dollars, project team members would often pay themselves outrageously high salaries until the ICO funds dried up, then simply close the project down and disappear.

Since the ICOs of 2016 and 2017 all classified their fundraises as the sale of “utility tokens,” as opposed to the sale of securities or “security tokens,” investors had no legal recourse if their funds were stolen by scammers. The holders of utility tokens have no rights, legal protection, or ownership of the project that created the tokens.

This sharp increase in failures and scams soured the reputation of the blockchain space.Without the technical knowledge to differentiate between scams and legitimate technology-focused startups, many outside observers came to distrust all digital assets, including Bitcoin and Ethereum itself. This is a huge barrier to adoption of blockchain.

An Unsustainable Business Environment

Almost all smart contract platforms require a “gas” fee for every process the network performs. These gas fees must be paid in the coin native to the platform (rather than the token of the smart contract submitting code to the network).

This model is wonderful for investors of the platform’s coin but devastating for startups trying to run a smart contract on the platform’s virtual machine. If the price of the platform’s coin increases by 20% in fiat value, so does the cost of running a contract on that platform. This is true if we assume that gas fees remain constant. However, gas fees don’t remain constant.

On the contrary, gas fees are variable. In times of severe congestion, when many processes are being submitted to the network at the same time, gas prices often increase in addition to increases in the price of the platform’s coin relative to fiat currencies.

For example, gas fees may increase from 1/20 to 1/10 of a platform’s coin per transaction. In other words, gas prices may double. If the price of the platform’s coin also jumps by, say, 20%, then the price of executing a single process actually increases by 140% [from 0.05*(coin price) to 0.1*1.2(coin price)].

For startups that want to run complex applications through a smart contract, this is catastrophic. If the network becomes congested, an application can become impractically expensive and the whole project’s business model can get destroyed in the blink of an eye. Inconsistent network activity means unpredictable gas prices, which ultimately makes it impossible to estimate operating costs for any dApp project.

A select few smart contract platforms, notably EOS, do not use gas, but this does not mean there are no hidden costs. EOS developers must rent resources (storage space, network bandwidth, and computational power) to run contracts. It is a bit more friendly towards end-users, as they don’t have to pay gas to interact with a contract (a game, for example), but it does not solve the underlying issue. Ethereum is reportedly considering adopting a rental fee-based model similar to that of EOS.

Unstable Price Pressure

When a new project holds an ICO on a smart contract platform, they must raise funds in the platform’s native coin. Of course, this creates demand for that coin, driving up the price. This is advantageous for investors but limits the fundraising options of the startup.

However, as noted earlier, sharp increases in price of the platform’s coin make it equally more expensive to process transactions on the platform’s network. Again, this might be good for the investors of that coin but it undermines the value of the platform itself by making the network too congested and expensive for any projects to actually use it.

In addition, because all projects raise their working capital in the platform’s coin, any decline in price can cause a massive sell off, generating lots of downward price pressure. As projects seek to protect their operating budgets, many startups may liquidate their holdings at the same time, creating a downward spiral of coin price. We witnessed this phenomenon on a number of smart contract platforms throughout 2018, with liquidation of ETH hitting an all-time high in December.

A Broken Economic Model

In economic parlance, an “economy of scale” is an increase in efficiency as a certain firm or industry grows. For example, it may cost a factory $60,000 for a single prototype of a new automobile, even if it’s just an ordinary economy vehicle. That’s because the machinery must be specially fitted to manufacture the car, which is a lengthy and costly process.

If the same factory were to produce, say, 10,000 units of the same vehicle, the price might come to $30,000 per car. That’s because, once the machines are all properly set, it becomes far easier to produce more of the same model.

We can take this a step further. Imagine the factory will produce 500,000 units of the same vehicle. Now, the price per unit may come all the way down to, say, $10,000. This is because the factory may start to get a price break on bulk orders of the materials and components needed to manufacture the car itself. This is an example of an economy of scale.

The problem with smart contract platforms is that they are the negative inverse of an economy of scale: the more projects that choose to build on a particular platform, the more expensive and time-consuming it becomes. Efficiency should increase as more people build on a platform. Unfortunately, the opposite is true — costs shoot up and performance plummets as more processes are submitted to the network.

The ideal scenario for a startup is to be the only project running a smart contract on the platform’s network. This would provide optimal performance, as well as minimal costs and transaction processing times. This is basic economics turned on its head.

RealTract Offers A Superior Solution For Blockchain and Smart Contracts Adoption

Stay tuned for the next part of this article on the innovative and outstanding improvements of RETchain and Smart Contract 2.0 of RealTract Network.

--

--