Marker
The Audio Version is Available Here:
Note: This chapter does not include a narrated voiceover, as it primarily consists of code, which may not provide meaningful value to the audience in an audio format.

Chapter 6:

Misconceptions

Smart Contracts are Dumb

Many people believe that smart contracts are “intelligent,” but in reality, they are simply sets of rules that execute based on predefined conditions. They don’t think, reason, or adapt like human minds do. Instead, they only perform specific tasks when triggered by the conditions embedded in their code. While they can automate processes and enforce rules without human intervention, it’s crucial to understand that the term “smart” is more about the autonomy and automation they provide, not intelligence.

Example: Simple Smart Contract in Solidity

This is a basic smart contract in Solidity, the most common language for Ethereum-based smart contracts. The contract below allows users to deposit and withdraw ether, and ensures that only the owner can withdraw funds.

pragma solidity ^0.8.0;

contract SimpleBank {
    address public owner;
    mapping(address => uint256) public balances;

    // Constructor to set the owner
    constructor() {
        owner = msg.sender;
    }

    // Function to deposit ether into the contract
    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    // Function to withdraw ether, only for the owner
    function withdraw(uint256 amount) public {
        require(msg.sender == owner, "Only the owner can withdraw");
        require(balances[owner] >= amount, "Insufficient balance");

        balances[owner] -= amount;
        payable(owner).transfer(amount);
    }

    // Function to check the balance of the contract
    function checkBalance() public view returns (uint256) {
        return balances[msg.sender];
    }
}

Explanation:

  1. Owner Set During Deployment: The owner variable is set when the contract is deployed, and only this account can withdraw funds from the contract.

  2. Deposit Function: The deposit() function allows anyone to send ether to the contract. The contract then tracks the sender’s balance.

  3. Withdraw Function: The withdraw() function checks that only the owner can withdraw funds, and ensures that the owner has enough balance in the contract.

  4. Balance Check: The checkBalance() function allows users to check their individual balance.

Don’t Be Afraid of New Concepts, Focus on the Value

New technologies can often feel intimidating. However, it’s essential not to shy away from them out of fear but to focus on the value they offer. Blockchain, for instance, is a transformative concept, but its true power lies in its ability to create trust, transparency, and efficiency in areas that traditionally lacked these qualities. Understanding the potential applications and real-world value of new concepts will help overcome fears and enable you to harness the technology effectively.

Capital is Not Value by Itself

While capital is essential for starting and sustaining projects, it does not equal value. The value of a project or business lies in the problem it solves, the innovation it brings, and the impact it has on users or society. Capital can facilitate growth and expansion, but without a genuine value proposition, it’s just money spent without purpose. Value-driven businesses focus on creating solutions that improve lives, and capital merely serves as a tool to realize that vision.

DEX is Not Blockchain

A common misconception is that decentralized exchanges (DEX) are synonymous with blockchain. In reality, DEX is one application or use case of blockchain technology. Blockchain provides the underlying infrastructure for decentralization and transparency, while DEX is a platform built on that infrastructure to facilitate peer-to-peer trading of digital assets. It’s important to differentiate between the core technology (blockchain) and the various applications that leverage it, such as DEX, DeFi, NFTs, and more.

Next: 7. The Blockchain Concepts