In-Depth Notes on Smart Contracts from UCLA

Overview of Smart Contracts
  • Definition: Smart contracts are self-executing contracts with the terms directly written into lines of code.
    • Automatically execute contractual terms through a computerized protocol.
    • Validate actions based on agreed conditions among parties.
    • Programmed for automating business processes.
    • Example Logic: If X occurs, then execute Y.
Key Functions of Smart Contracts
  • Automated functions that initiate without manual intervention:
    • Payment: Automatic transfer of funds once conditions are met.
    • Document Release: Automatically send documents under predetermined conditions.
    • Ownership Transfer: Facilitate changes in ownership rights upon contract fulfillment.
    • Self-Executing Agreements: For instance, validating a will without human oversight.
    • Tender Offers: Execute based on specific milestones being achieved.
Historical Context and Development
  • Origin: Concept coined by Nick Szabo in 1997.
    • Emphasizes that formalizing relationships through contracts can enhance security.
    • Early Example: Vending machines act as primitive smart contracts, where goods are dispensed upon receiving payment.
    • Evolved to embed complex contracts in digital assets and devices.
Advanced Applications of Smart Contracts
  • Practical Example: Digital Security System for Automobiles.
    • Smart Lien Protocol: Property rights managed digitally through contracts, e.g., preventing car theft by challenging unauthorized access.
    • Triggers specific actions based on payment compliance, enhancing lender security.
    • Contracts can be refined to enforce operational exceptions, e.g., not disabling a car in motion.
Key Technologies
  • Blockchain Technology: Facilitates distributed consensus and security for digital transactions.
  • Ethereum: Leading alternative for decentralized application development.
    • Implements smart contracts using a Turing-complete programming language (Solidity).
    • Operates on the Ethereum Virtual Machine (EVM).
Characteristics of Blockchain Smart Contracts
  • Immutable Storage: Once deployed, smart contracts cannot be altered.
  • Cryptographic Authorization: Enhances security through digital signatures.
  • Decentralized Coordination: Eliminates the need for a central authority.
  • Verifiable and Auditable: All participants can review outcomes ensuring transparency.
Protocols Supporting Smart Contracts
  • Notable Blockchain Protocols:
    • Ethereum
    • Hyperledger Fabric
    • Cardano
    • Stellar
    • Waves
    • Solana
    • Neo
Other Considerations
  • IoT Integration: Intersection of Internet of Things and smart contracts enhancing functionality.
  • Oracles: Facilitate real-world data incorporation into smart contracts.
  • Legal and Security Issues: Addressing jurisdictional concerns, auditing needs, dispute resolution, and cybersecurity risks.
Traditional Contract Elements in Smart Contracts
  • Components include:
    • Offer & Acceptance: Clear terms for engagement.
    • Consideration: Value exchange (e.g., payment).
    • Mutual Agreement: Consensus on terms by all parties.
    • Legality & Capacity: Ensuring enforceability and that parties have the authority to contract.
Example: Sale of an NFT
  • Offer & Acceptance: Condition met when Ether is transferred to mint the NFT immediately.
  • Consideration: Transaction made using Ether or relevant cryptocurrency.
  • Mutual Agreement: Contract code must be visible to all parties involved.
  • Legality & Capacity: The entire transaction is executed automatically upon payment confirmation, transferring the digital asset straightforwardly.