Understanding the Fundamentals of Blockchains
Blockchains are decentralized digital trust platforms that have revolutionized various industries. Bitcoin, the original blockchain, introduced the concept of cryptocurrencies as a secure medium of exchange and store of value. The evolution of trust and the platform economy have further reshaped the way we interact and transact in the digital age. As blockchain technology evolves, promising advancements offer higher transaction throughput and scalability, bridging gaps in various sectors by enhancing security and efficiency.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Principles of Blockchains Principles of Blockchains Course Course: 598PV, Spring 2021 Instructor Instructor: Pramod Viswanath University of Illinois at Urbana-Champaign
What are Blockchains? What are Blockchains? Blockchains are decentralized digital trust platforms Blockchains are decentralized digital trust platforms
Evolution of Trust Evolution of Trust Human success is based on flexible cooperation in large numbers. This requires trust
Platform Economy Platform Economy 2021 Top US companies by market cap 2011 Top US companies by market cap 1. Apple $2340 B 1. Exxon $417 B 2. Micorosft $1708 B 2. Apple $321 B 3. Amazon $1652 B 3. Chevron $215 B 4. Alphabet $1286 B 4. Microsoft $213 B 5. Tesla $802 B 5. IBM $207 B 6. Facebook $782 B 6. Walmart $204 B
Bitcoin is the original blockchain Bitcoin is the original blockchain BITCOIN IS A CRYPTOCURRENCY LAUNCHED IN JANUARY 2009 VERY SECURE: SAFETY AND LIVENESS
Bitcoin Bitcoin Cryptocurrency medium of exchange and store of value Born during the 2008 Financial Crisis Anonymous inventor pseudonym: Satoshi Nakamoto
Bitcoin is Bitcoin is THE bubble THE bubble of all time of all time
Bitcoin performance Bitcoin performance 1. Security 50% adversary 2. Transaction throughput 7 tx/s 3. Confirmation Latency hours 4. Energy consumption medium size country 5. Compute specialized mining hardware 6. Storage everyone stores everything 7. Communication everyone tx/rx everything
The Promise The Promise The Promise The Promise Big Gap Big Gap 1M Trades / Sec Exchanges 100K Tx / Sec IoT 10K Tx / Sec 10K Tweet / Sec Social Networks 1000 Tx / Sec Payments Gaming assets Prediction Market Dfinity: 1000 Tx / Sec Algorand: 1000 Tx / Sec 1000 Tx / Sec Ethereum: 20 Tx / Sec Core Blockchain Infrastructure Throughput
This Course This Course 3 Modules Course Philosophy Bitcoin Bitcoin Full Stack Design Full Stack Design Scaling Bitcoin Scaling Bitcoin Implementation Heavy Implementation Heavy Beyond Bitcoin Beyond Bitcoin
Bitcoin Bitcoin 7 Lectures Full stack design of Bitcoin description and analysis. Bitcoin client implementation project to be completed by week 8.
Beyond Bitcoin Beyond Bitcoin Scaling Bitcoin Scaling Bitcoin Beyond Bitcoin Beyond Bitcoin Throughput Latency Accountability Finality Energy Security against 51% mining attacks Compute Storage Communication
Bitcoin: Outline Bitcoin: Outline Lecture 2: Basics of cryptography Hash functions, Digital signatures, Merkle trees. Public key cryptography. Lecture 3: Nakamoto Consensus. The longest chain proof of work protocol. Mining.
Bitcoin: Outline Bitcoin: Outline Lecture 4: Peer to peer networks, gossip algorithms. Lecture 5: UTXO state management. Putting it all together: full stack of Bitcoin
Bitcoin: Outline Bitcoin: Outline Lecture 6: Probabilistic security of Nakamoto consensus. Lecture 7: Incentives in Bitcoin. Selfish mining.
Scaling Bitcoin: Outline Scaling Bitcoin: Outline Throughput and latency Throughput and latency: new consensus algorithms that can potentially work at physical limits Storage and Compute Storage and Compute: Sharding Communication Communication: ensuring data communication, coded block representations. Energy Energy: replace proof of work by proof of stake. Design of incentive mechanism designs for proof of stake.
Beyond Bitcoin: Outline Beyond Bitcoin: Outline Accountability and Finality Accountability and Finality: BFT consensus algorithms that can provide accountability and deterministic confirmation Hotstuff Hotstuff: LibraBFT Streamlet Streamlet: textbook BFT consensus Privacy Privacy: zeroknowledge cryptography, Zcash architecture. Network privacy.
Logistics: grading Logistics: grading Rust Programming Basics Rust Programming Basics: 5% team of 1 Project 1 (Bitcoin client) Project 1 (Bitcoin client): 40% team of 2 Project Project 2 (Beyond Bitcoin) 2 (Beyond Bitcoin): 40% team of 4 Lecture notes, summary slides and video Lecture notes, summary slides and video: 15% team of 1
Logistics: course content Logistics: course content Website for the course Website for the course: https://courses.grainger.illinois.edu/ece598pv/sp2021/ Assignments and Projects on Gitlab Assignments and Projects on Gitlab: https://gitlab.engr.illinois.edu/ece598pv/ece598pv-sp2021 Communication Communication: Instruction from staff via email Students can post on Piazza and gitlab
Logistics: programming language Logistics: programming language Rust Rust
What is Rust? What is Rust? Rust is a compiled language just like C/C++. Rust code is compiled to executable binary. Rust program is highly reliable. Rust s type system and ownership model guarantee memory-safety and thread-safety. Programmers eliminate many classes of bugs at compile-time, where the compiler message is highly useful to eliminate bugs and make the program more reliable. www.rust-lang.org
Miner User Interface NOT ALLOWED Add new transactions Get transactions Memory Pool Transaction 1 Transaction 2 ... Rust compiler doesn t allow more than one owner (Miner & UI) of an object (Memory Pool).
Miner User Interface Add new transactions Get transactions Thread Thread- -safe lock safe lock Pass compiling and safe Memory Pool Transaction 1 ... If an object is wrapped by a thread-safe lock, Rust compiler allows more than one owner (Miner & UI).
Besides its reliability, Rust also provides Besides its reliability, Rust also provides good ... good ... efficiency as C/C++, network support as Go and Python, functional-style programming as Scala, community support as many other popular lanuages.
Why is Rust chosen for blockchains? Why is Rust chosen for blockchains? High reliability makes blockchains reliable and secure. Good efficiency makes blockchains scalable. Network support makes communication easy-to-code. Influential projects are using Rust: