No Dumb Questions: Episode 2

Smart Contracts

As part of my work with Lido Nation at the Ngong Road Blockchain Lab in Nairobi, Kenya, I get to interact with true newcomers who are encountering blockchain for the first time. At Lido Nation, we want to be a resource where anyone can learn about blockchain and find a way to participate. But it’s so easy for us OGs to forget what it’s really like to be a newcomer! Working with brand new talent at the lab helps keep me honest.

This article series is drawn from the real questions we have collected from newcomers at the lab. I think there’s something for us all to learn as we consider these questions and answers with fresh eyes!

How do smart contracts work?

A smart contract is really just a piece of software. The software defines certain conditions, and when they are met, it performs an outcome. An easy example is just a purchase transaction. When exchanging money for goods, in the absence of a smart contract, one party or the other has to exercise some trust. Either the buyer has to fork over the money and trust that the seller will deliver the goods, or (less commonly) the seller has to hand over the item, trusting the buyer to complete payment.

Have you ever bought something online, only to have the seller vanish into thin air? If your credit card has buyer protection on it, you might recover your money, but what if not?

Another example could be a crowdfunding campaign: someone with a big idea says, “If I can raise $50,000, I can produce my great invention!” Let’s say you want in, so you chip in $100, but they only ever raise $10,000 – not nearly enough to produce their idea. What happens to your money?

If they are trustworthy, they will send it back.

If the whole arrangement was in a smart contract, trust doesn’t matter.

The conditions of the smart contract would only release the funds to the inventor when they reached $50K by a given deadline; if not, your funds are automatically returned to you.

Are smart contracts legally binding?

This is a great question, and an understandable one. A CONTRACT is usually defined as a LEGAL document, so the name “smart contract” seems to suggest a legal element. But in fact, a smart contract is NOT legally binding in terms of human governmental bodies – at least at this moment in history. (This might be one reason that some people think smart contracts need a new name)

But human government isn’t the only kind of “law”…. What about the law of gravity? Gravity isn’t legally enforceable – yet, the apple still falls from the tree. Smart contracts are binding in a similar way. If the software is written correctly, it will be executed correctly, and cannot be circumvented.

Let’s think about this question of contract enforcement a little more:

Traditional Contracts

  • Legal enforcement: If a traditional contract is broken, it can only be enforced through legal action. No natural law compels someone to honor a contract, but the threat of legal fines or jail time might provide sufficient motivation.
  • Subject to interpretation: The terms of traditional contracts can be subject to interpretation, leading to disputes over what constitutes a breach or how the terms should be applied.

Smart Contracts

  • Automatic Execution: Smart contracts are self-executing. Remember, it’s just a piece of software! Once the conditions in the code are met, the contract is executed (e.g., transferring money or assets). There’s no need for courts or legal action.
  • Immutable: The contract executes exactly as programmed, leaving no room for interpretation or disputes once it is deployed. This is both an advantage and a limitation, as it cannot adapt to unforeseen circumstances.

Can smart contracts be accessible to external parties?

Heheh, yep. To a degree, everything on a public permissionless blockchain is visible to anyone who wishes to look. This can be both a feature and a bug.

Traditional contracts are typically private agreements between the parties involved. There is nothing that compels the parties to reveal the contract to anyone, unless they need to bring it to court. This too can be a feature and a bug. In many cases, both parties might prefer to conduct business behind closed doors. In other cases, big companies with clever lawyers might rope people into distasteful, yet legal, contracts. They might get away with it for a long time since it’s written on private papers; there is no public accountability. On public blockchains, smart contracts are transparent and visible to everyone. Anyone can inspect the contract code and the transactions associated with it. This can build trust, especially in decentralized ecosystems, but also raises privacy concerns. On Cardano, it is possible to have a private smart contract between two or more entities using Cardano’s Hydra technology. When you use hydra, all the intermittent steps happen on a temporary - potentially private - blockchain. When all parties agree to settle and close the Hydra connections, only the final result or token balances are transferred back to Cardano’s public permissionless blockchain.

What advantages do smart contracts have over traditional contracts?

Cost

Drafting, negotiating, and enforcing traditional contracts often involves significant legal fees. Smart contracts are just bits of software that are highly reusable. Enforcement is essentially free.

Time

Creating a traditional contract takes time, and if enforcement is needed it will suck hours or weeks from your life. Smart contracts take much less time to implement, and execution and enforcement are automatic.

Reach

Traditional contracts are subject to the terms of local jurisdictions. Enforcing an international contract is incredibly complex. Smart contracts are just software, and they don’t care what country the computers are in.

Is there a downside to smart contracts?

For sure! We already touched on the privacy issue. Another issue to call attention to would be adaptability. Traditional contracts are subject to interpretation and judicial wisdom, which CAN be a good thing. If unforeseen circumstances cast a contract in a whole new light, some time spent with a mediator or judge can make sure that the enforcement is still fair. Smart contracts are pretty “Black and white” – in a world that tends to have a bit of gray in it. Another kind of “unforeseen circumstance” could be if the smart contract code was written badly, or has a mistake. Smart contracts are immutable, and once they are enacted you can’t say “Just kidding!” and roll it back. This is one reason that we actually like the transparency and lack of privacy with smart contracts: the fact that anyone can inspect the code means that bad contracts are less likely to get used.

Are there blockchain platforms that do not have the smart contract function?

Yes. Every blockchain is based on a software program. To be a blockchain, it must include a function for creating immutable blocks across a network, and it must have a consensus mechanism. Beyond that, the details can vary quite a lot.

A blockchain that is built for a specific purpose that does not include smart contracts, won’t have them. Cardano didn’t have smart contracts at launch; it was added with a “software upgrade” at the Alonzo Hard Fork in 2021. Bitcoin is the most well-known blockchain that does not include smart contracts. Others you may know are Ripple, Monero, and Dogecoin. Each of these has a particular purpose or origin story, which does not include smart contracts. The first blockchain to use smart contracts was Ethereum, in 2015, and others have followed suit, including Cardano, Solana, and Polkadot.

Get more articles like this in your inbox

Was the article useful?

Or leave comment
Commenter avatar
This is a pending comment that is awaiting approval

nice articles

avatar
You can use Markdown
Commenter avatar
This is a pending comment that is awaiting approval

I love lido

avatar
You can use Markdown
avatar
You can use Markdown
close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00