Podcast about smart contracts and the blockchain
In this episode of Crypto Bits, New York contributor Jeonghoon Ha joins hosts Seth DuCharme and David Shargel to discuss smart contracts, a central feature of the crypto and blockchain ecosystem.
What is a smart contract?
Smart contracts are computer programs, or transaction protocols on the blockchain, that self-execute when certain conditions are met. Most listeners probably know about the bitcoin blockchain created by Satoshi Nakamoto which basically introduced a decentralized digital payment system. That is why everyone is very excited about this technology of Vitalik Buterin, founder of Ethereum.
Buterin envisioned introducing more advanced applications such as decentralized exchange, financial derivatives on blockchain identity and reputation systems. He wanted to do it on the Bitcoin blockchain in the first place, but due to inherent limitations of the Bitcoin blockchain, he really couldn’t do it. So he went ahead and developed his own blockchain called Ethereum.
This blockchain basically allows the distributed creation, distribution and execution of smart contracts as we know them now. Today when we talk about smart contract, we are in the world of Ethereum.
How does a smart contract work? What makes a contract “smart”?
The first thing you need to do is create a contract account on the Ethereum blockchain. This is different from a crypto wallet account that most of us think of when we talk about accounts on a blockchain system. So the contract account basically says that crypto cannot be used to exchange cryptocurrency.
On the Ethereum blockchain, there will be ether, but you will need to create a separate account called the contract account. After you’ve done that, you’ll need to use a solidity to write your own computer program. It is a special type of programming language that Ethereum uses. You can hire a software engineer to help you convert certain natural language terms into computer language, or you can learn how to do it yourself and create your own smart contract if you have the time and ability to learn about solidity.
Will the creation and coding of smart contracts become easier in the coming years as smart contracts become more utilized and widespread?
Based on my conversation with some software engineers who work with smart contracts on a daily basis, it sounds like the standards that Ethereum has on its own blockchain system are very easy for software engineers. Basically, it is as simple as one of the limitations of the Ethereum blockchain, and the smart contract technology is very simple.
What are some examples of smart contracts in the real world?
An example is writing a program to run an auction as if you were going to eBay and holding an auction to buy a particular item. You will first define what kind of digital assets are being auctioned, and then write various functions to run the auction. You would have a function to allow participants to bid, and then you would have a function to say that when the highest bid comes in, that person will be the highest bidder. You also want a function that says at a certain time this auction will end. Finally, the feature that states that at the moment the auction ends, the highest bidder will be the winner. When this function is triggered, it will be the automatic execution of the smart contract.