Blockchain and Money MIT Course Notes
by EssJayJay
I’m going to go through Gary Gensler’s (Biden’s SEC chair nominee) MIT course “Blockchain and Money.” Ever since I heard that Biden’s pick for the SEC had previously taught a blockchain course, I’ve been interested in checking it out. I’m also curious to pick up on any hints as to Gensler’s 2018 attitude on crypto along the way…(spoiler alert: in the intro lecture he said he would put himself on the “center-minimalist” part of the minimalist-maximalist spectrum.)
I thought the lecture was fantastic, so I thought I’d share my personal notes on here as I go through the lectures. It might spark some good conversation, and I’m sure some of you are curious about the course too, but might not want to watch 25 hours of lectures.
FYI, all the source material is at the link above…lectures, slides, assigned readings, etc. The notes are just a way to share the things that stood out to me the most, and maybe save you all some time.
Session 1: Introduction
- Layers of open protocols: Ethernet, TCP/IP, HTTP, SSL/TLS (asymmetric). Is BTC the next?
- Cryptography: communications in the presence of adversaries (examples include cypher, Enigma Machine, asymmetric cryptography at the heart of blockchain)
- Early digital cash failures: DigiCash, Mondex, CyberCash, E-gold, Hashcash, Bit Gold, B-Money, Lucro. These might have failed but Nakamoto learned from them.
- Main problem: how to move value peer-to-peer without any trusted central intermediary
- Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, Halloween 2008. Note that this didn’t “invent” blockchain
- Blockchain attributes: timestamped, append-only log, consensus protocol, auditable database, secured via cryptography, hash functions for tamper resistance and integrity, digital signatures for consent
- Consensus for agreement considerations: “cost of trust,” Byzantine Generals problem (a math/game theory issue, THIS is what Nakamoto solved), permissioned vs. permissionless
- May 8, 2010: first transaction using BTC as a medium of exchange. 10,000 BTC for 2 pizzas, about $40 at the time.
- Blockchain verifiably moves data on a decentralized network
- Blockchain adds costs via consensus protocol, but also lowers other costs via decentralization
- Data moved can be values or computer code (for example, smart contracts)
- Finance is the intermediation of money and risk throughout the economy
- Types of adoption hurdles: technical, commercial, public policy
- Roles of money: medium of exchange, store of value, unit of account
- Roles of finance: moving (of money and risk), allocating, pricing
- Challenges to finance: crises, instability, fiat currency instability associated with unsound policies, centralized intermediaries (concentrated risks and economic rents), central bank legacy payment systems, clearing and settlement risks, financial inclusion (1.7 billion unbanked)
- Payment system costs: 0.5 to 1% of global GDP
- Financial sector costs: 7.5% of U.S. GDP
- Can blockchain compete for these percentages?
- Financial sector’s issues with blockchain: performance, scalability, efficiency, need to move about 100,000 payments per second, privacy and security (blockchains are public by nature), interoperability, governance (hard to update the software of a blockchain because of decentralization), commercial use cases, public policy issues
- Finance favors permissioned blockchains (known set of participants, no proof of work/mining, no need for native currency, distributed database technology, institution can control the nodes)
- Permissionless blockchain: unknown participants, security based on incentives, native currency, crypto economics
- Global equity markets: $80 trillion
- Global debt and bond markets: $250 trillion
- Global holdings of gold: $7 trillion
- Outsized public attention on blockchain/crypto based on its relative size to capital markets
- Public policy framework: guarding against illicit activity, financial stability (for countries worried about capital controls this is very real), protecting the investing public
- Volatility is the friend of Wall Street
- Crypto market cap, trading volume, volatility, and spreads are drawing Wall Street’s attention
- Coinbase’s 20 million accounts in 2018 equaled Fidelity
- Startups are taking more risks with regulators, incumbents aren’t really willing to do this
- Financial sector use cases: payment systems (cross border, large interbank, retail), central bank digital currency and private sector stable value tokens, secondary market trading (crypto exchanges and custody), venture capital (crowdfunding through ICOs), clearing/settlement/processing (securities and derivatives), trade finance/supply chain (digitizing paper-based processes), digital IDs and data reporting
- Four forces from Larry Lessig’s “Code and Other Laws of Cyberspace”: code/architecture (physical and tech constraints), market (economic forces), law (explicit mandates by government), norms (social conventions)
- Costs of trust cause a need for blockchain
- Blockchain could catalyze incumbent adoption, not necessarily just total disruption
- Money is a societal construct
- Fiat currency: invention of last few hundred years
- Financial sector challenges: resilience, costs, inclusion
- Beware of assertions masquerading as facts. Use reason
Session 2: Money, Ledgers & Bitcoin
- Money is a social consensus mechanism
- The “inherent value” debate of fiat vs. non-fiat is still ongoing, not black and white
- Fiat value shifts with adoption
- BTC adds to a long history of ledger technology
- Characteristics of money: divisibility, scarcity, adoption
- Fixing exchange rates could work well for short temporal periods, but not for decades
- Ledger: a way to record economic activity, social relationships, and financial relationships
- There is research pointing to the first methods of writing having to do with numbers and ledgers, rather than words and communication. It is fundamental to society to record economic transactions and financial relationships
- No state or federal statutes that put a monopoly on any form of currency
- Bitcoin shows that its legal to create your own form of money, but you have to comply with all the other laws…guards against illicit activity, anti-money laundering, terrorism financing, paying taxes, investor and consumer protection
- U.S. government won’t accept taxes in BTC
- Arizona legislator wanted them to be the first state to accept BTC for taxes
- Non-metal money: for example salt bars in Ethiopia…scarcity and practical uses
- Did money come from a history of barter? Or a history of ledgers and credit?
- Metal money followed by minted money
- Minted money: around 2,500 years ago, an official emblem placed on a scarce resource
- Paper money: tries to address issues around not enough gold, has ease of use, the first kinds in China were warehouse receipts
- Some of the first bankers in London were goldsmiths exchanging gold for paper
- Gensler predicted cryptocurrency lending and finance “18 to 36 months” from 2018
- Is it scalable to lend against a finite currency?
- Private bank notes: liability of that bank, the history of these is “good until its really bad”
- Ledgers: principal recordings of accounts, record economic activity (transactions) and financial relationships (debt)
- Bitcoin is a mechanism to store transactions (transaction ledger)
- Others like Ethereum store balances (balance ledger)
- Also general ledgers vs. supporting/sub-ledgers, hierarchical ledger structure is at the heart of our systems of banking and financial markets
- Also single entry (list) vs. double entry (credit/debit)
- Central banks: like a general ledger for money (Federal Reserve)
- Commercial banks: like a sub-ledger for money
- Assets – Liabilities = Capital: the heart of capitalism is double entry bookkeeping, it helped Europe come out of the Dark Ages and into a commercial renaissance
- Characteristics of good ledgers: immutable, consistent, timestamped, show counterparties to transaction, show who owes balance, accurate, give description of transaction, comprehensive…these are similar to the characteristics of good money
- Payment systems: method to amend and record changes in ledgers for money
- Deposits and negotiable orders: signature, payee (ledger to send to), amount, what it was for, account #, routing # (what ledger is this coming from)
- Fiat currency: social and economic consensus, represented by central bank liabilities and commercial bank deposits, relies on system of ledgers integrated into fractional banking system
- When paper money started it was not backed by gold. It’s a false narrative to say we were on gold standard for our first 140 years
- Governments are technically separate from their banks
- The social construct of acceptance of currency relies in part on the government saying they’ll accept it for taxes
- U.S. has about 9,000 commercial banks
- Central bank liability is a social liability as well, insure for stability of social construct of money
- Fiat: notes and coins are legal tender for all debts public and private, tender required when debt is established, unique tax treatment
- Central bank intervention is the way for two separate banks to transact
- Moving between two currencies: how do you make two closed ledger systems operable?
- The amount of cash in circulation is growing faster than the economy in most developed nations
- Credit cards: an 1887 sci-fi writer conceived of them in a book imagining the year 2000, merchant credit cards in the late 1920’s to 2000’s, charge plates and credit coins in the late 1880’s to 1960’s, Charge-It was the first bank card (from First National Bank in Brooklyn, 1946), Diners’ Club was the first general merchant card in 1949, American Express was the first plastic card in 1959, Bank of America was the first general purpose credit card in 1966 (credit boom took off from here)
- Major credit regulations didn’t come until the 1970’s in the U.S., Fair Credit Reporting Act and other big laws in the 1970’s, it took 15 to 20 years after the introduction of credit cards to come up with regulations
- Credit card processing: slide card imprinter (1950’s), Visa imprinter (1979), payment terminals (2018)
- Characteristics of money: durable, portable (lighter), divisible, uniform/fungible (Crawfurd v. Royal Bank, 1749), acceptable, stable, limited supply, hard to counterfeit
- Design of money: token (physical) vs. account based, physical vs. digital, private sector vs. central bank, widely accessible vs. wholesale (for example, central banks’ reserves are only available to the commercial banking system)
- The Money Flower: illustration from the Bank of International Settlement, shows how different types of money are classified
- Reasons for early digital cash failures: centralization, lack of adoption, couldn’t solve the double spend problem, consensus
- Digital and mobile payments: PayPal (1998), Ericsson and Telenor had first mobile app to get movies on your mobile phone (1999), Alipay (2003), M Pesa (2007, mobile minutes being used as money in Kenya, now 20 million users and regulations), Starbucks mobile app (2011), Google Wallet (2011), WeChat Pay (2013), Apple Pay (2014)
- Mobile money: where is the stored value, are they storing the value or are they just a payment services provider (using computer code to move the ledger somewhere else)
- Cryptographic hash functions: digitally notorize, Surety company was created in 1995
Session 3: Blockchain Basics & Cryptography
- BTC is first use case of blockchain technology
- Cryptographic primitive: anything that protects a communication in the presence of adversaries, protection and verification of communications and computations, AKA cryptographic algorithms, 2 main ones are hash functions and digital signatures (relates to asymmetric cryptography), another primitive is zero knowledge proofs, these all help make blockchain verifiable and immutable
- Design features of BTC: cryptography, append-only timestamped blocks, distributed consensus algorithms, networking
- Double spend: a piece of information (e.g. money) used twice
- Fiat instabilities: weak monetary policy (debasing/mass issuance of a currency), unstable fiscal policies
- Central banks often have been set up when sovereigns are debasing a currency by spending too much
- BTC was 550,000 blocks in 2018, blocks added on average every 10 minutes
- ETH adds blocks about every 7 seconds, ALGO (MIT project) is even less than 7 seconds
- The debate over databases is “who gets to change the data?”…usually centralized
- Consensus agreement: who gets to add the next block?
- BTC technical features: hash function, private/public keys (asymmetric cryptography), addresses, timestamp server, consensus/proof of work, full/lightweight nodes (how much info needs to be stored?), network, Merkle tree structure (compress data and sort through it), nonce (random number that is used once, “n once”), peer to peer, block headers, native currency (part of economic incentive system), transaction inputs and outputs
- 10,000 nodes on BTC network in 2018. Probably in 180 different countries
- Mining –> proof of work –> get BTC native currency
- Finite limit of 21 million BTC, will get there around 2040, there were about 17 million BTC in 2018
- Mining was initially 50 BTC every 10 minutes, keeps halving
- UTXO = Unspent Transaction Output
- 3 main elements: cryptography, consensus, ledger
- Most nodes and miners have entered into mining pools to improve odds
- Need electricity around 3 cents per kw/hr to be successful mining, can’t get this in most parts of the world, mining rigs go where you can get low cost electricity, 2 largest mining pools are in China and 3rd largest in Russia
- Cryptographic hash functions: digital fingerprints for data, one CPU can do a couple of terrahashes per second
- General properties of hash functions: maps input x of any size to an output of fixed size (called a “hash”), deterministic (always same hash for same x), efficiently computed
- Hashing started in 1950’s to 1960’s
- Cryptographic properties of hash functions: preimage resistant (one way, infeasible to determine x from Hash(x), not mathematically impossible though), SHA 256, collision resistant (infeasible to find x and y where Hash(x) = Hash(y), avalanche effect (change x slightly and Hash(x) changes significantly, makes it more secure), puzzle friendliness (knowing Hash(x) and part of x it is still very hard to find rest of x)
- Nakamoto felt BTC could transition to a new hash function if needed
- At some point in time, current hash functions will not be collision resistant because of quantum computing or something similar
- 1/1040 chance of being mutable
- Cryptographic hash function uses: names, references, pointers (one block to another), commitments
- BTC hash functions: headers, Merkle trees, SHA 256 (256 bits long), addresses are SHA 256 and RIPEMD160 (hash twice = more secure)
- Anatomy of a block: header, hash (previous block header), timestamp, nonce, Merkle root hash, hash (current block header), transaction list (might be 1,000 to 2,000)
- Block header: version, previous block hash, Merkle root hash (way to get all transactions), timestamp, difficulty target, nonce
- Light nodes/wallets: probably don’t download entire transactional history, but probably do have all the headers
- All of BTC info in 2018 was less than 200 gigs, headers only were about 60 MB, this is very important with data/computation-heavy ETH
- It’s harder to mine a block the more miners there are
- There is a check in the scripting function if a timestamp is off by more than a couple hours
- Difficulty adjustment happens every 2 weeks
- The BTC “puzzle” is to get a hash with a certain number of leading 0’s (started with 9 or 10, was in the 20’s in 2018, more 0’s = more difficult)
- Merkle tree: binary data tree with hashes, transactions hashed and concatenated up each level of the tree to get to a root
- One of the transactions is the payment to the miner
- Mem pool: network of all free floating transactions
- Asymmetric cryptography and digital signatures: encrypt with recipient’s public key, decrypt with recipient’s private key, opposed to symmetric cryptography where both people have the key, 1976 birth of asymmetric cryptography, two keys with some mathematical relationship
- Digital signature algorithms: generate key pair (public key (PK) and private key (sk) from random number, generated at same time), signature (creates digital signature (sig) from message (m) and private key (sk)), verification (verifies if a signature (sig) is valid for a message (m) and a public key (PK), yes/no)
- Bad random number generation can lead to some wallets being hacked, the generation needs to be secure
- BTC uses elliptic curve cryptography, private key based on random number
- Properties of digital signature algorithms: infeasible to find private key (sk) from public key (PK), all valid signatures verify, signatures infeasible to forge
- BTC’s digital signature function: elliptic curve digital signature algorithm (ECDSA)
- Wallet applications contain random number generation software, you want maximum entropy and no “clumps” in random number generation
- BTC addresses: public keys and addresses are not the same, public key is about 512 bits, can hash this to compress into shorter address (SHA 256 x2 + Base 58)
- Transaction format: input (previous transaction ID, index, signature) and output (value in satoshis (108 = 1 BTC), public key/BTC address) and lock_time
- Decentralization causes governance challenges (e.g. software updates), nodes need to collectively adopt…is this a bug or a feature?
Session 4: Blockchain Basics & Consensus
- Byzantine Generals Problem: how to coordinate when someone isn’t acting in good faith (malicious actor), or in other non-malicious faults
- Solve puzzle –> propagate to network –> validate
- Hard to solve, easy to verify (asymmetric)
- 1,600 native currencies in 2018
- Decentralized network consensus: proof of work, native currency, network
- Transaction script and UTXO: transaction inputs and outputs, unspent transaction output (UTXO) set, scripting language
- Digital signatures with and without hashes
- Private key –> elliptic curve multiplication –> public key –> double hash (SHA256 and RIPEMD160) –> public key hash –> Base58Check Encode –> BTC address
- Max security would involve constantly creating new public/private key pairs
- Byzantine Generals Problem: permissionless (no central authority) blockchains mean unknown participants
- Security based on consensus protocol and native currency, key innovation of Nakamoto
- Hashcash proof of work, Adam Back, 1997: wanted to address spam and denial of service attacks, requires computational work (a few seconds) to find a hash within predetermined range, difficulty defined by hash outputs’ number of leading zeros, efficiently verified
- Blockchain proof of work: the innovation was chained proof of work for distributed network consensus and timestamping
- SHA256(known hash of previous block + known transactions hash + known timestamp + unknown nonce) –> hash with correct number of leading zeros
- Consensus supports longest chain, only one that miners will build upon, not written into the code though
- Orphan/stale blocks: created but nobody added on them, info in them is not needed, hadn’t happened in over a year as of 2018, longest stale chain is 2 or 3 blocks
- Reward is new native currency of that blockchain
- Hard fork: social consensus continues to maintain, separate currency can arise
- Transactions in stale/orphan blocks will still be in main chain’s mempool
- BTC proof of work difficulty factor: leading zeros in hash, targets 10 minute average block generation time, adjusts every 2,016 blocks (about every 2 weeks), every blockchain can be different, was 18 leading zeros (out of 64 hexadecimal characters) in 2018, genesis block in January 2009 had 10 leading zeros (but only 8 required), currently 7 trillion times harder to find hash than it was in 2009, hash rate around 50 hexahashes per second (1,000 trillion)
- BTC mining evolution: CPUs 2009-2010 (2 to 20 million hashes/second), GPUs 2010-2013 (20-300 million hashes/second), Application Specific Integrated Circuit (ASICs) 2013-2018 (4-16 trillion hashes/second, only thing it does is create hashes), modern mining factories (thousands of ASICs, water cooling, electricity less than 3 cents/kw, arrangements with government officials), aggregate electricity use now comparable to all of Ireland or Denmark (in 2018)
- All strong monies for centuries have had something to limit the supply, is proof of work the best way though?
- Mining pools started around 2010 to smooth out revenue, mining pool operators will handle some extra “heavy lifting” and take an extra percentage accordingly, standard fees from 1-3%
- Proof of stake: alternative consensus mechanism
- Most BTC miners sell their coins
- Native currency: incentive system, peer to peer way to create new money, “monetary policies” vary widely (limits on supply), not every blockchain limits supply but vast majority do, BTC created through Coinbase Transaction in each block, originally 50 BTC per block, reward halves every 210,000 blocks
- “Inflation rate” for BTC in 2018 was 4.1%, this rate will keep halving though, supply cap around 2140
- Market based transaction fee mechanism also in Bitcoin Core
- Ethereum: 3 ETH per block in 2018 (7.4% “inflation”), proposal to decline to 2 ETH per block in November 2018, fees paid in Gas (109 Gas per ETH) for computation are credited to miners
- Gas and satoshis very similar
- BTC is a rule-based monetary policy hard-coded, should we have more human involvement in monetary policy? (like in times of war, economic peril, financial crisis)
- Cryptocurrencies or cryptoassets?
- Gensler believes you can have digital currency that does not have a central authority
- Network: full nodes (store full blockchains and able to validate all transactions), pruning nodes (prune transactions after validation and aging, 5/6 of transactions have been pruned), lightweight nodes (simplified payment verification (SPV) nodes, store blockchain headers only, wallets, rely on full nodes for verification), miners (perform proof of work and create new blocks, don’t need to be a full node, mining pool operators can perform verification), mining pool operators, wallets (store, view, send, receive transactions and create key pairs), mempool (pool of unconfirmed but validated transactions)
- Alternative consensus protocols: generally randomized or delegated selection of nodes to validate next block, may have added mechanism to confirm block validators’ work, proof of stake (stake in native currency), proof of activity (hybrid of proof of work and proof of stake), proof of burn (validation comes with burning of coins), proof of capacity (storage or space, based on hardware space), delegated selection may be based upon tiered system of nodes
- Major permissionless blockchain applications still use proof of work
- DASH: hybrid of proof of work with a tiered system of “Masternodes”
- NEO: delegated protocol of “Professional Nodes”
- Some view the limited number of mining pool operators as an Achilles heel to decentralization
Session 5: Blockchain Basics & Transactions, UTXO, & Script Code
- Transaction format: input (previous transaction ID, index, signature), output (value (in satoshis, 108 = 1 BTC), public key (BTC address)), lock_time (when the transaction happened, can make it so transaction doesn’t happen until later date)
- Coinbase transaction: generation of a freshly minted BTC, every transaction traces back to this, reward for solving proof of work
- Turing complete: allows loops inside of computer programs, BTC script language does not allow this
- Chain of transactions as well as chain of blocks
- Actual inputs disappear when transactions happen
- Inputs always have to be greater than or equal to outputs, inputs – outputs = fees
- Validation checks: has lock-time actually happened? Inputs greater than or equal to outputs? Digital signatures?
- Decentralized fees differ from centralized banks’ fixed fee schedules, fees are market based
- Miners incentivized by coinbase transaction and fees (over time will have to grow), some coins were modeled on fees, others on mining rewards
- Coinbase transaction: only input is the coinbase block reward, output may not be used as a transaction input until another 100 blocks (consensus/validation achieved), recorded as first transaction in Merkle tree, may include 100 bytes of arbitrary data (used for additional nonce, miners have fun with this), genesis block included headline from Financial Times 01/03/2009 (“brink of second bailout for banks”)
- Unspent Transaction Output (UTXO) set: BTC transaction outputs that have not been spent at a given time, speeds up transaction validation process, stored using a LevelDB database in Bitcoin Core (“chainstate”), set was about 55 million in 2018, half of these are very small (“dust”, so few satoshis that it isn’t worth the fees to try to redeem them, add up to less than 0.5% of all outstanding BTC)
- 16 versions of bitcoin as of 2018
- Around 342 million transactions to date as of 2018
- UTXO is separately in both the database and the blockchain itself, lightweight nodes usually don’t have full UTXO set
- Bitcoin script: several hundred operations, not Turing complete (no loops) but more secure, fewer attack vectors, programming code used for transactions, stack-based code, flexible set of instructions for transaction validation and signature authentication, allows for some conditionality, smart contracts much more flexible
- Most common script types in UTXO: transaction sent to hash of BTC address (“Pay-to-PubkeyHash”, 81%), transaction sent to hash of conditional script (“Pay-to-ScriptHash”, 18%), transaction subject to multiple signatures (“M of N Multisig”, 0.7%), transaction sent to BTC address (“Pay-to-Pubkey”, 0.1%)
- Scripting language allows layer 2, technology on top of BTC
- Hash functions: decades ago to facilitate database management, create a registry, also became a way to do a commitment, used all over BTC’s architecture
- Transaction time is one commercial challenge of BTC, layer 2 or lightning network helps address
- Markets…commercial realities…law…tech…will it all work?
- Don’t have to wait 10 minutes unless you want “final settlement” (no counter party risk/commercial risk), regular payment systems now have counter party risks, even after 10 minutes its not completely final though (block might not be in longest chain), longest orphaned chain was 20 or 30 blocks long (forks in 2013 and 2015)
- Hard fork: both chains continue for a long time (BTC and BCH), most forks discarded though
- Nakamoto’s genius: bringing it all together and using Back’s proof of work in a way that addressed double spend, using blockchain to form “Nakamoto consensus” was the innovation
- Not a lot of full scale applications of this technology in 2018
- Can have just hashes on a blockchain and have full data somewhere else
Session 6: Smart Contracts and dApps
- Smart contracts: set of promises, specified in digital form, including protocols, within which the parties perform on these promises (Szabo 1996), not AI, may or may not be legal “contracts”
- Bitcoin and Ethereum have same cryptographic design features
- Ethereum has more than 1 Merkle tree (BTC has 1)
- Ethereum does not have transaction script or UTXO, uses state transitions, account-based, 7 languages
- Bitcoin is transaction ledger, Ethereum is balance ledger
- Bitcoin: Nakamoto January 2009, non-Turing (script), ledger (UTXO, transaction), Merkle trees (transactions), 10 minute blocks, SHA256, mining = ASIC, hashrate = 54 exahash/second, no presale, 12.5 BTC per block in 2018, monetary policy (halves every 210,000 blocks or 4 years, set to be immutable, voluntary fees)
- Ethereum: Buterin July 2015 (was a journalist writing about BTC), Turing complete (Solidity, Serpent, LLL, Mutan), state – account based, Merkle trees (transactions, state ,storage, receipts (with nonces)), 14 second blocks, Ethash (still based on elliptic curves but different than SHA256), mining = GPU (more decentralized than ASIC), hashrate = 260 terahash per second, ICO and prerelease of 72 million ETH (2018 SEC said it was decentralized enough to not be a security, raised $18 million), 3 ETH per block, monetary policy changes by updates/proposals, needed and market-based fees, higher inflation rate
- Core developers can propose to nodes to make a change, core of Ethereum is highly concentrated around Ethereum Foundation, Consensys, active advocacy to bring down inflation rate
- Smart contract platforms in 2018: Ethereum (2015, $22 billion 2018 market value), EOS (2018, $5B in 2018, $4.2B year-long ICO, venture funding arm to encourage development on platform), NEO (2016, $1.1B, China, delegated BFT, supports wider range of code), Ethereum Classic (2016, $1.1B, DAO hard fork), LISK (2016, $360M, code in Java, uses side chains), Stratis (2017, $150M), NEO and EOS potentially faster and more scalable
- Smart contract potential use cases: digital identity, records, securities, trade finance, derivatives, financial data, mortgages, land title, supply chain, auto insurance, clinical trials, cancer research, none have taken off yet
- Multi-language: more development of apps
- Single language: fewer vulnerabilities to attack or outage
- Gensler more into multi-language, “democratizing access to capital”
- Decentralized applications (dApps): run on decentralized blockchain network, generally have native token and run as smart contract on top of a platform, can run dApps based on underlying token also, most active = gaming/gambling/exchanges/finance (still small numbers of daily users)
- Initial coin offerings: crowdfunding for investment and consumption, proceeds used to build networks, tokens usually issued prior to being functional, development is open source but largely centralized, promoters get “premined” tokens, tokens fungible and transferable, scarcity with preset “monetary policy,” profits through appreciation, $28B ICO $ raised through August 2018, 2000 to 3000 of 4500 ICOs were able to raise money, 59% fail within first 9 months, 25% to 75% are scams
- Smart contract legal issues: performance for performance understanding of “contract,” terms can be express and implied, implied by a legal system (which means they have an interest in your contract), state is 3rd party along with promisor and promisee (state cares about kinds of contract, effect of contract, terms of contract, taxation of contract)
- What is effect of digital rights management on copyright law? Code becomes part of law
- Relationship between policy that the law wants and policy of the technology
- Smart contracts can enable transactions that can hide from law
- Objective of contract law is to allocate risk, not eliminate, price risk allocation, delivery risk allocation, allocation only matters with a system to process the breach of a contract (enforcement, typically legal system, this is where technical infrastructure could really benefit developing nations with limited legal systems)
- Key value of smart contracts: substitute for failed legal systems, infrastructure of legal system, enable contracts where transaction costs otherwise too high, “no touch products”
- Transaction costs: system costs (less developed legal systems), contract costs
- Obscurity is often a value, every miniscule term doesn’t need to be defined, can be determined by judge if needed, ambiguity is a way to negotiate ex post (after the fact, using the court), should smart contracts be used when we want/need some degree of ambiguity? cost of specifying all decisions in a tree could be higher than the benefit of smart contract, don’t yet have a good way to “fake” ambiguity
- Boilerplate specifying choice of law/jurisdiction, fairly standardized, can plug in automatically
- Code can be more verifiable than interpreting contract language
- Naive to think code will operate outside of real-world legal structure
- Need to muster political will to break lawyers’ monopoly, no reason for 90% of what lawyers do to be done by them, get lawyers to focus on hard cases
- E-signature legal framework still works for smart contracts
- Lawyers have to become technically sophisticated to read code like they read legal contracts, need to be able to think creatively about it, cultural problem
Recent Comments