Building Unstoppable Applications on Ethereum
For many people Ethereum is just another cryptocurrency like Bitcoin. In reality, Ethereum is much more than another cryptocurrency. It is often called a world computer and there is truth in this. In essence, Ethereum is a decentralized computing engine but with a very specific goal. Ethereum allows businesses and organizations to create decentralized, trustless applications. It should not come as a surprise that Ethereum is not a simple system and initially it may intimidate you. However, in this post we will demystify it.
Main source of confusion about Ethereum stems from the fact that Ethereum has it's own cryptocurrency and at the same time it allows creation of so called Ethereum tokens! These tokens is what makes Ethereum so special. The combination of Ethereum tokens with the Ethereum computing engine is what makes it possible to create a wide range of applications on top of Ethereum. Ethereum itself is application-agnostic. In other words, we can create any application on top of it requiring trustless environment.
We mentioned above that as a computing system Ethereum has a very special goal. For example, Ethereum is not suitable for computing-intensive operations like 3D rendering or video encoding/decoding. Why? Because every operation in Ethereum has associated costs and because Ethereum runs on many different computers distributed around the globe, as a fast computing engine it is extremely inefficient. Where this architecture shines, though, is robustness and reliability.
Like Bitcoin, Ethereum also uses blockchain. Blockchain has been getting so much hype that its probably the most popular word right now. However, blockchain is nothing but a kind of a database with some unique features. The most important feature is that blockchain is immutable. Immutable means that once something is written in blockchain, it's technically impossible to change that. Let's bring a quick example.
Imagine a database where real estate transactions are recorded. For example, when you buy a house from John Doe, that transaction is stored in the database. Then by looking up this information, you can prove that the house belongs to you. For this example let's assume that there is no other proof of ownership except this database. If a hacker or a malicious user changes the record in this database you cannot prove ownership and you lose your property. Now if the register of real estate had used a blockchain-based system, such a case would be impossible. Now it should be clear why organizations still keep paper documents. In case the database is compromised, the paper documents can prove the ownership. What if the paper storage catches a fire? To accommodate for this case, paper documents are copied and archived. As you can imagine this is associated with huge expenses. That's one of the reasons why governments are so inefficient. By adopting blockchain, organizations can dramatically decrease maintenance costs while achieving even better security.
Now you should be getting a feeling in what cases blockchain is a good fit. It does not fit every case but for certain cases blockchain is a life-saver.
One thing that should be noted is that blockchain is inherently public. In other words, every detail in blockchain is publicly visible. While there are blockchains that maintain encryption, the original blockchain suggested in the whitepaper by Satoshi Nakamoto does not address encrypted storage. This should not be confused with public blockchain. A blockchain that is used by Bitcoin for example is public. But even if you setup a private blockchain, data in it will be public within the users of the blockchain.
Main difference between Bitcoin and Ethereum is that Bitcoin's blockchain supports very simple computing. In essence, Bitcoin's blockchain is capable of supporting Bitcoin transfers only. It cannot register any other actions. On the contrary, in Ethereum we can create any type of smart contract. Let's see what a smart contract is.
Under the hood smart contract is a computer program. It contains certain commands that the Ethereum computing engine called Ethereum Virtual Machine (EVM for short) can carry out. Theoretically, EVM can do any computing because it is so called Turing-complete. But as we mentioned above this is only theoretically. Practically, EVM is not suitable for heavy computations because of associated costs and inefficiencies.
Conceptually, a smart contract models an agreement between two or more parties. While these parties can be individually anonymous, the contract itself is public. In other words, both parties can verify that the contract does what it claims to do. This is exactly the magic source that makes smart contracts so powerful. The parties involved do not need an intermediary or a third trustworthy party to conduct business. The parties simply trust that the EVM will execute the smart contract exactly as the smart contract logic is programmed. However, prior to committing to a smart contract, you must be sure that the smart contract does exactly what it claims to be doing. One way to ensure this, is to have a reputably third party audit the smart contract. Smart contracts need a certain trigger to get activated. A triggering event can an expiration date or certain price threshold for example.
As mentioned above, every computing operation in Ethereum costs money. The cost of operation is determined in a unit called "gas". Gas itself is bought by Ether, Ethereum's cryptocurrency. It's very important that you have clear understanding of these concepts, so let's recap them quickly.
Ethereum - is the whole system, a collection of computers running Ethereum software all around the globe.
Ether - is the cryptocurrency of the Ethereum system.
Gas - is bought with Ether and is used to pay for computing operations.
Smart Contract - is a program containing computing commands and having some trigger. Without smart contracts Ethereum is nothing more than another Bitcoin.
Finally, let's summarize some of the most popular use cases for Ethereum.
- Crowdfund to pre-sell a product - your company can do this via a so called ICO.
- An auction of a limited number of items - logic is enforced by the smart contracts.
- A crowdsale to sell virtual shares in a blockchain organization.
- A tradeable token with a fixed supply.
- A central bank that can issue money.
- A virtual organization where members vote on issues.
- A transparent association based on shareholder voting.
Interested in adopting Ethereum for your organization? Get in touch with us to discuss this in detail.