Ethereum & Solidity

Ethereum’s main achievement so far seems to center around popularizing smart contracts. Smart contracts consist of rules governing an agreement which cannot be modified once deployed on the blockchain.

Since a smart contract is no more than a software program executed on another user’s computer, it must be configured in such a way that the programmer cannot exploit that user’s computer (or network). In order to resolve this dilemma, Ethereum created its own native programming language — Solidity. Although the language is Turing-complete (that is, any program can be written within it), Solidity requires a steep learning curve. Moreover, the development community for this language still remains in its infancy.

The Ethereum development community remains vocal in stating that Solidity’s learning curve remains its biggest obstacle. If true, it may well prevent smart contracts from going mainstream anytime soon. While similar in appearance to JavaScript, Solidity requires the developer to think about a problem with a different mindset. Not surprisingly, most developers prefer sticking to what they already know

Aside from these Ethereum-related disadvantages, Solidity must also cope with several well-known blockchain problems in general — slow speed and no native identity. However, blockchain technology is rapidly evolving and several different approaches to resolve these issues are being tried out.

NEO’s Emergence

An emerging competitor to Ethereum is NEO. Nicknamed the Chinese Ethereum, NEO is a blockchain platform designed to facilitate DApps development (such as smart contracts). Unlike Ethereum. NEO does not rely on a Proof of Work consensus mechanism. Rather it uses a delegated Byzantine Fault Tolerance (dBFT). Thus, it can scale up quite nicely.

At present, NEO appears to have many advantages over ETH. For instance, NEO promises to offer support for dot Net and Java followed shortly afterward by Python and Go. While this would be a tremendous improvement over Ethereum, it’s not quite code-agnostic. In addition, developers must become acquainted with the NEO Virtual Machine architecture in order to fully execute their smart contracts (as opposed to JavaVM).

Nonetheless, NEO remains an impressive jump forward for smart contracts. What weaknesses exist for the platform? Several online commentators note that NEO will need to “build a global developer community especially to reduce the China government involvement risks”. Another comments that “If you are scared of regulatory risk, DON’T invest in NEO at all. NEO will not be able to, in my opinion, do what it is trying to achieve outside of China since it requires a gigantic regulatory hurdle to be met.” (Reddit).

For now, Ethereum has first-mover advantage in the smart contracts space. As one commentator notes, the “majority of blockchain operates on Ethereum, for developing tokens or paying gas charges for token wallet transfers. Ether has created a monopoly, new ICO’s are launching every day and majority of them use Ether for token development (ERC-20 Tokens)” (Quora).

Alternatives

Unlike Neo and Ethereum, the Tezos blockchain employs a functional programming language for the smart contracts. Unfortunately, most developers are alien to functional programming and find the learning curve even steeper than Ethereum’s Solidity.

Qtum is another blockchain that allows developers to write Ethereum-like smart contracts, albeit with Bitcoin’s UTXO format. In bitcoin, there’s no concept of an account and balance. Rather than track every account’s balance, only unspent transactions are tracked (the transactions that were sent to your wallet that remain unspent). The sum of those transactions makes up your balance. It is very efficient and lightweight to maintain these records as compared to accounts on an Ethereum-based model. Qtum thus allows for very lightweight smart contracts.

XTRABYTES™

With its code-agnostic DICOM API, the XTRABYTES blockchain will allow developers to deploy smart contracts written in any popular programing language. The DICOM API will also allow developers to access XTRABYTES’ core features and data by calling specific API functions within the smart contract itself. This means developers wishing to code smart contracts no longer need to learn a new programming language. Instead, they will be able to use a language they already know and are familiar with. For developers, that’s a game changer. Once the DICOM is live, expect it to help further promote blockchain technology within the wider development industry.

It’s interesting to see how different blockchains are adopting various programming paradigms for their blockchains. Some are targeted toward consumers and some toward large enterprises, with XTRABYTES appearing to be among the latter. While the XCITE platform aims to be a one-stop cryptocurrency solution for the average consumer, the DICOM API is clearly geared towards promoting enterprise adoption. It will enable companies to use their existing in-house development teams to deploy custom-made Dapps (in the language they already know).

Ultimately, its the development community that will determine the value a code-agnostic platform offers. That and a waning desire to learn a new programming language simply to develop an application for the blockchain. As new and increasingly popular programming languages emerge (like Google’s Go), code-agnostic APIs may soon become the norm rather than an exception.

Source for Tezos/QTUM observations:

https://www.linkedin.com/pulse/new-age-dapps-here-its-based-ethereum-mohit-mamoria