Smart Contract Misconceptions
Smart Contract Misconceptions
- Whenever gentleman and smart people hear the term “smart contracts”, their imaginations tend to run wild.
- A sensible contract is simply a flowery name for code that runs on a blockchain, and interact thereupon block chain’s state.
- A sensible contract may be a piece of code that’s stored on an block chain, triggered by blockchain transactions and which reads and writes data therein block chain’s data base.
- Each language has its strengths and weaknesses –you’d be crazy to create an internet site in C or compress HD video in Ruby.
- But in theory a minimum of , you’ll if you wanted to. You’d just pay an important price in terms of convenience, performance, and quite probably, you hair.
Contracting External Service
- The smart contract that replaces its behavior in response to some external event.
First user case:
- An agricultural policy pays at conditionally supported the number of rain fall during a given month.
- Because the source is out side of the block chain, there’s no guarantee that each node will receive an equivalent answer. Since the smart contracts are deployed independently by every node.
- The smart contract take rest until the predetermined time, retrieves the weather report from an external service and behaves appropriately supported the info received.
- Perhaps the source will change its response within the time between requests from different nodes, or perhaps it’ll become temporarily unavailable. Either way, consensus is broken and therefore the entire blockchain dies.
- Oracle pushes the info onto the blockchain instead of a sensible contract pulling it in.
- Instead of a sensible contract initiating the retrieval of external data, one or more trusted parties (“Oracle”) creates a transaction which embeds that data within the chain. Every node will have a uniform copy of this data, so it are often safely utilized in a sensible contract state computation.
Enforcing on-chain payments
- The idea is for the smart contract code to automatically initiate the payments at the acceptable time, avoiding manual possesses and guaranteeing that the difficulty cannot default.
- Of course, so as for this work, the funds wont to make the payments must live inside the block chain also , otherwise a sensible contract couldn’t possible guarantee their payment.
- Many just like the idea of a sensible contract which calls a bank’s API so as to transfer money.
- But if every node is independently executing the code within the chain to require out money from account. The checking account got empty instantly and who is liable for calling this API?
- A bank would proactively monitor a block chain and perform money transfers which mirror the on-chain transactions. This produce and risk to the block chain’s consensus because the chain plays a completely passive role.
- The above makes a sensible bond is either pointless for the issuer, or pointless for the investor.
What’s the problem here?
- From an investor’s perspective, the entire point of a bond is its attractive rate of return, at the value of some risk of default.
- And for the issuer, a bond’s purpose is to boost funds for a productive but somewhat risky activity, like building a replacement factory.
- There is no way for the bond issuer to form use of the funds raised, while simultaneously guaranteeing that the investor are going to be repaid. It shouldn’t come as a surprise that the connection between risk and return isn’t a drag that block chain can solve.