The Impact of Blockchain Technology Part 2: Ethereum Blockchain Technology and Smart Contracts
This is post 2 of 3 in the series “The Impact of Blockchain Technology Series”
- The Impact of Blockchain Technology Part 1: What Is It?
- The Impact of Blockchain Technology Part 2: Ethereum Blockchain Technology and Smart Contracts
- The Impact of Blockchain Technology Part 3: Smart Contracts Developer Tutorial with React
It’s clear that blockchain applications have a promising future for information technology. Mario Merino introduced blockchain fundamentals in our previous post. In this post, Sr. Developer Pablo Orozco explores the impact of Ethereum blockchain technology and Smart Contracts.
First Things First
Bitcoin is a distributed, decentralized, peer-to-peer, electronic cash system and the first strong example of a digital asset. It uses the Blockchain technology to live and flow across thousands of international participants, networks, devices and storage technologies across the world.
Bitcoin isn’t actually a coin, it’s a new form of money that lives solely on the Internet. It is a very powerful thing that:
- Is both a currency and a payment network.
- Can instantly be transferred. With a push of a button, we can receive payments or pay anyone, anywhere in the world.
It’s power goes beyond the dollar because the dollar is a currency, not a payment network. On the other hand, PayPal and Visa are payment networks, but they are not currencies. Now I’ve got your attention!
What is this world-changing Blockchain Technology?
Blockchain is a globally shared transactional database, a Distributed Ledger Technology, that allows diverse entities to maintain consensus, agree upon contracts and make transactions between parties that do not know or trust each other. It is called a Blockchain because it is composed of many groups of transactions called “blocks” which are executed and distributed among participating nodes. These blocks form a linear sequence in time and that is where the word “Blockchain” derives from. Basically, each block is cryptographically linked to the one preceding it in a very secure – and, if you choose, private and anonymous way.
Please read Bitcoin: A Peer-to-Peer Electronic Cash System.
Now we are ready to talk about Ethereum
Ethereum, a decentralized platform for running smart contracts, was founded by Vitalik Buterin. To understand Ethereum we need to understand Buterin’s philosophy first. According to Buterin, “The internet has brought us the first great wave of unprecedented global freedom… Now, either join us or we will continue the revolution without you.”
Ethereum is popular not just because it has a substantial amount of crowdfunded money, or is one of the largest crypto assets in the crypto markets and exchanges. Ethereum is popular because as it happens with Bitcoin. Ethereum was born from the valid skepticism of centralized control. Buterin noticed that Bitcoin’s protocol and Blockchain design is what made Bitcoin secure, decentralized and awfully powerful.
Ethereum builds on Bitcoin’s central appeal with the goal of achieving things beyond money. It is something very powerful that goes beyond monetary transactions.
Ethereum Blockchain technology
With Ethereum Blockchain technology, the entities involved in an agreement or transaction can make use of Smart Contracts to encapsulate all the transaction rules and processes that will govern their agreement or transaction. Once the agreement or transaction is successfully executed, the Smart Contract can automatically perform actions and trigger compliance checks according to the rules that the Smart Contract itself has encoded and defined.
Ethereum goes beyond money
The backbone of Ethereum is to allow anyone anywhere to think and encode safe Smart Contracts (agreements or transactions). Smart Contracts are decentralized applications with their own arbitrary rules for ownership, transaction formats, and state transition functions. This is exactly what Buterin envisioned with Ethereum – a distributed computing platform featuring Smart Contract functionality with strong cryptographic security in mind.
It is important to mention that Ethereum Smart Contracts are initiated by paying a fee in Ether (Ethereum’s own native cryptocurrency). This digital concept is equivalent to putting our money into a vending machine:
“Within a limited amount of potential loss (the amount in the till should be less than the cost of breaching the mechanism), the machine takes in coins and via a simple mechanism, which makes a freshman computer science problem in design with finite automata, dispense change and product according to the displayed price. The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor. The lockbox and other security mechanisms protect the stored coins and contents from attackers, sufficiently to allow profitable deployment of vending machines in a wide variety of areas.” – Nick Szabo.
Please read Ethereum Fees and The alternative protocol for building decentralized applications for more information.
Decentralized Apps for almost all known industries in the world
Ethereum is mainly used as a development platform for building Decentralized Apps (DApps) on top of its decentralized and secure technology. It is a platform where we can run experiments by ourselves – where anyone, anywhere can execute and verify Smart Contracts Code for anything that can be agreed upon.
The range of possible Decentralized Applications that can be developed and pushed live in the Blockchain is very broad and extends to almost all known industries in the world. Thus, corporations, governments, and banks have a huge interest in investing in the Blockchain Technology. Keep in mind that there are limitations: “The reality is, even though we think machines can render contracts effectively, there are lots of situations where they cannot.” – Wharton Professor Kevin Werbach. For more information, you can read The Ricardian Contract, check out the State of the DApps website or read the Block Geeks DApps guide.
Solidity Smart Contracts Language
Solidity is a contract-oriented, high-level language for expressing, executing, verifying and notifying securely decentralized – and distributed – agreements and transactions.
Please read Introduction to Smart Contracts for more.
Engage your customers and partners globally
Sometimes paper contracts can take several weeks or months to be agreed upon. You might even have to travel from one part of the world to another just to be accepted or rejected. That’s why Smart Contracts are a powerful, viable solution to automate agreements and transactions. The aim of the Blockchain technology is to automate the exchange of value-making agreements or transactions and make them smooth, efficient and secure for all parties involved.
Another powerful feature of Smart Contracts is that they can be configured to be executed in the future or when a very specific event occurs. Furthermore, what is executed in a Smart Contract can easily be stored in the Blockchain for anyone to check, verify, track or trace, while still remaining mostly anonymous – if you are careful enough.
Now anyone, anywhere is able to use the underlying Blockchain technology to launch their own Decentralized App Experiments for varied purposes:
- Track medical data.
- Trace food chain supplies.
- Execute complex financial transactions.
- Create a digital identity for ourselves, for physical things and for digital documents.
There is a wide range of use cases for these applications from democratic-transparent voting systems and decentralized record keeping services to anonymous online gambling, you name it.
Please read Further applications.
How can we start coding our own Smart Contracts for Ethereum?
Please read Building for the Blockchain and A Modest Proposal for Ethereum Programming
Stay Tuned
Gorilla Labs will be programming a neat decentralized application in the Ethereum Blockchain for running a fundraising campaign as our “next big innovation.” Please stay tuned for more content about Smart Contracts because we will be including the complete, open source code in a new blog article related to the Solidity Language in combination with Truffle and the useful Zeppelin Framework.