Why programmers love Ethereum?


The spectacular increase in value that Ethereum has suffered causes a special interest in cryptocurrencies. In this year 2017, ETH has gone from being worth a few dollars to reaching levels of around 300 dollars per unit. Even the most cautious investor is considering investing.

But Ethereum is not just a currency to speculate like the shares of the stock market, at least we want to think some developers who are excited about what is to come.

The cryptocurrencies were not created to speculate with them, even this eagerness to make money at their expense harms its main task: to create a distributed system, where we do not need a centralized entity (see banks) to carry out operations. That responsibility falls on a distributed blockchain of thousands of nodes around the world that give us the same security or more. For now, speculation is used to finance part of the Open Source project that supports Ethereum and the ecosystem behind it.

The possibility of creating intelligent contracts linked to these transactions shows the tremendous potential of a platform that will not only revolutionize finances but also the internet.

Image Source: Google Image

Ethereum wants to make the blockchain more than a calculator

The possibility of creating smart contracts linked to transfers is the great revolution that awaits the financial sector.

Ethereum is much more than a cryptocurrency. In fact, when we refer to Ethereum we can be talking about the protocol or network of nodes that supports the system. And the best known part for non-programmers is the Ether currency, the cryptocurrency of Ethereum.

The first thing Ethereum does is to decentralize the control of transaction verification. Briefly describing how he does it, we can say that the responsibility lies in a blockchain that acts as an immense distributed database secure and maintained by a large number of nodes connected throughout the world (the miners).

The data is stored in blocks, which are linked to each other identified by a hash generated next to a timestamp. All that information is immutable, that is, nobody can modify it. And even more is replicated throughout all the nodes that form the network.

So far everything is very similar to what we find when we talk about Bitcoin. But Vitalik Buterin, inventor of Ethereum, already started designing in his white paper on Ethereum 2014 what would go a step further to be a simple calculator or a large account book.

The key component is this idea of ​​a Turing-complete blockchain. … As a data structure, it works kind of the same way that Bitcoin works, except the difference in Ethereum is, it has this built-in programming language.

Image Source: Google Image

Smart Contracts in Ethereum

Smart contracts are ideal for conducting micro-transactions guided by verifiable events on the network.

As we have mentioned, Ethereum allows developers to create small intelligent contracts in the blockchain. Such pieces of code are self-contained and define the agreements between multiple parties . We can make micropayments instantly if the conditions for which the agreement was created are met.

The great advantage is that they are immutable(they can not be modified while being in the blockchain), they do not need direct intervention but they can mediate and make the monetary transfers automatically.

Smart contracts can be used in a wide variety of scenarios. They are ideal for simple transactions, in whose parts they should be bound to a set of verifiable requirements by the network, both within the blockchain and external variables through APIs.

We can think of different existing financial products that take days to be updated to be settled as funds, derivatives, futures, purchase options, etc .., but also any microtransaction that we now perform on a daily basis.

For example, we can develop a smart contract that manages the copyright of the fund of an image bank. Each time a medium uses one of the images for some of its news, a micropayment of the stipulated ETHs will be made.

Or in another practical use create a microinsurance that assures farmers against drought by making payments associated with the data collected from rains in a period of time.

Image Source: Google Image

Solidity: The language for programming smart contracts

Ethereum combines the facets of networking, app hosting and database to store states of these contracts.

In Ethereum, smart contracts are programmed in Solidity, a language specifically created for this purpose. Let’s say it’s a hodgepodge of some conventions already used by web programmers and network applications. The syntax of the code is similar to JavaScript and C.

It allows to compile said contracts in the bytecode used by Ethereum that will be displayed in the virtual machines that represents the combination of nodes. That is, Ethereum Virtual Machine (EVM), responsible for executing that code, small 256-bit distributed computers.

These smart contracts can be programmed locally and then deployed to be spread around the entire network being hosted in a decentralized manner. In that sense, Ethereum combines the facets of networking, app hosting and database to store statements of such contracts.

Deploying applications in Ethereum is not a trivial task, since it has a certain learning curve. For this there are tools such as the browser Mist Browser that allows prototyping the scripts of smart contracts, create wallets and provides some functionality by command line to communicate with the Ethereum network.

About Solidity you can find documentation on how to start programming with him on the Ethereum project website. In addition to tinkering with some examples of smart contracts already created.

When we have these smart contracts deployed we can start to create a series of applications around them. That is the role of the distributed application , known as DApp.

The Dapps are composed of smart contracts that run on the network of Ethereum nodes (the backend). To be easily accessible, the front-end is created with HTML / CSS / Javascript and can be used through a web browser, a mobile application or an Ethereum Browser, such as Mist or the command line using Geth implemented in GO.

Image Source: Google Image

What can we build today in Ethereum?

Above we have described the potential of Ethereum and some of its tools, such as the Solidity language itself, the smart contracts or the concept of decentralized Dapps applications and the computing capacity that EMV allows us through its nodes. Now let’s review what we can do today, that is, what types of applications we are finding developers.

Most of these applications are being developed in the public chain, but nobody is prevented from creating their own private blockhchain making a fork of Ethereum, just as we have talked about the alt-coin created from Blockchain. But I am quite critical with those types of applications that beyond reinventing the wheel hinder the development of Ethereum.

Some of the applications that can be obtained are …

  • Send and receive Ether: Obvious and perhaps the first one we would think about. Anyone can get a public address from Ethereum and download the Mist wallet to operate. There are plenty of alternative wallets, included in the mobile apps in the Apple Store or Google Play.
  • Write smart contract: We can create decentralized apps supported by smart contracts that make payments and transfers between accounts. The true potential comes from how big the public network becomes and who participates there. Alternatively, private networks allow them in a reserved manner in a business environment.
  • Create applications without intermediation: That secure bets, or even transform the typical points obtained in real money games to spend without the need to trust an entity that guarantees or exchanges it.
  • Create our own Token: Although it would take us more time to explain the token concept within the Ethereum network, by simplifying the idea we can create Ethereum sub coins that have validity within our development or organization. From here, we have already seen some examples of how ICOs based on Ethereum have been created using token conversion in the form of investment.
Image Source: Google Image

The future: An Internet of value, perhaps it is Internet 3.0

Ethereum is already a great protocol that allows the creation of smart contracts, DApps or decentralized organizations. Perhaps this will lead us to a new structure of the new Internet.

Web 3 is the general term to refer to a decentralized web, such as Web 2 refers to webs hosted on servers, applications or services. Web 1 referred to the original World Wide Web, which only hosts static pages.

Web 3 is a broad vision in which Ethereum is an important part, although not unique, but where developers are identified. We are talking about three components:

  • Peer-to-peer identification and a messaging system
  • Data shared through a blockchain
  • Decentralized storage

In all this, the Enterprise Ethereum Alliance (EEA) has a lot to do with a network of academics, companies and startups that share knowledge to define the software necessary to create applications that accelerate business. Here in this image you can see some of the members, some of the traditional businesses that would see risk in it are there following closely the Ethereum platform. And of course, the creator, Vitalik Buterin, and as it is called in the Open Source environment, these types of figures, the benevolent dictator.

In the way we see Bitcoin as a way to exchange money without the intermediation of banks or traditional financial entities, Ethereum builds a decentralized network to create, for example, service exchange markeplaces such as Uber or Ebay. The trust lies in the blockchain we can deal with with a web 3.0 where we can connect to obtain the right and necessary data to create value and trust among the user-apps.

All this leads to the convergence of the network with a peer-to-peer structure and the services of the shared economy.