Smart Contracts Flashcards
(45 cards)
Traditional Contracts Drawbacks
Manual Processing (Drafting, signing, enforcing)
Legal Costs (Legal expertise for draft, enforce, resolve, all expensive)
Limited Transparency (One party misinterprets the contract)
Smart Contract Definition
Computerise transaction protocol that executes the terms of a contract (introduced by ethereum)
Smart contract properties
Self-executing, autonomous and enforceable through computer code
Facilitates exchange of digital value
Digital representation of legal contract, deterministically executed (set of outcomes, predetermined beforehand, all parties know exactlywhat will happen and when)
Contract execution (traditional vs smart)
Interactions between humans and objects, punishment application. Definitions interpreted in a trial
Program execution with only 1 interpretation, not reversible and autonomous
Contract definition (traditional vs smart)
Paper vs Software program
Contract audit/control (traditional vs smart)
Semi-manual data recollection vs real time immutable
Smart contract immutability
Account on the blockchain controlled by code instead of a user
Code cannot be changed by any individual/organisation in anyway
Smart contract trustless
Smart contract conditions evaluated and executed by computer code
Smart contracts vs the cloud pros
Application logic transparaency (less corruption)
Application logic and execution can’t be tampered with
No censorship in permissionless blockchains
Non-repudiation of execution as execution results stored as transactions
Smart contracts vs the cloud cons
Slower performance with transaction latency
Difficult maintenance with immutable application logic
Expensive due to fees and gas-based execution model
Smart Contract Life Cycle Phases
Development, deployment, invocation, execution
Smart contract development phase
Smart contract written in one of the available languages
Smart contract deployment phase
Written smart contract is compiled and then deployed on the blockchain as a transaction
Smart contract invocation phase
Deployed smart contract is invoked by an external actor (or another smart contract) with specific input
Smart contract execution phase
Invoked smart contract executed the chosen function returns the outputs and applies the changes in the blockchain state
Transaction
Smart contract binary
Stored in the blockchain before being invoked and then executed
Smart contract execution storage
Execution of contract stored in the blockchain
Result as well as updated state
Transaction
Decentralised Applications
Software applications which run on a decentralised p2p network which is often a blockchain
Decentralised application pros
Secure, transparent and accountable because the data and transactions stored on blockchain
More democratic and open-source development process
No single node has complete control (no single point of failure/vulnerability)
dApps examples
Augur (prediction markets)
Filecoin (filestorage network)
Brave (web browser)
dApps challenges
Scalability and performance
Regulatory uncertainty
Usability and accessibility
dApps scability and performance
Can be slower and less efficient depending on consensus algorithms and network status
Improved with sharding, sidechains and layer 2 solutions
dApps regulatory uncertainty
Not controlled by any single entity/jurisdiction. Difficult to determine how existing laws and regulations apply
New frameworks and regulations required
dApps usability and accessibility
Dependent on complex cryptographic systems requiring users to manage their own private keys and digital wallets. Difficult for non-technical users