The Fundamentals of Blockchains

 
Principles of Blockchains
 
Course
: 598PV, Spring 2021
 
Instructor
: Pramod Viswanath
 
University of Illinois at Urbana-Champaign
 
What are Blockchains?
 
 
Blockchains are decentralized digital trust platforms
 
 
Evolution of Trust
Human success is based on flexible cooperation in large numbers. This requires trust
 
 
Platform Economy
 
 
2021
Top US companies by market cap
 
 
1.
Apple
 
  
$2340 B
 
2.
Micorosft
  
$1708 B
 
3.
Amazon
  
$1652 B
 
4.
Alphabet
  
$1286 B
 
5.
Tesla 
  
$802 B
 
6.
Facebook
  
 
$782 B
 
2011
Top US companies by market cap
 
 
1.
Exxon  
  
$417 B
 
2.
Apple
  
$321 B
 
3.
Chevron
  
$215 B
 
4.
Microsoft
  
$213 B
 
5.
IBM 
  
$207 B
 
6.
Walmart
 
  
 
$204 B
 
Bitcoin is the original blockchain
 
 
Bitcoin
 
 
 
Cryptocurrency
 
medium of exchange and store of value
 
 
Born during the 2008 Financial Crisis
 
 
Anonymous inventor
 
pseudonym: Satoshi Nakamoto
 
 
Bitcoin is
THE bubble
of all time
 
 
1. Security 
   
 
50% adversary
 
 
2. Transaction throughput 
 
– 7 tx/s
 
3. Confirmation Latency 
 
– hours
 
Bitcoin performance
 
4. Energy consumption
 
– medium size country
 
5. Compute
   
– specialized mining hardware
 
6. Storage 
   
– everyone stores everything
 
7. Communication 
  
– everyone tx/rx everything
The Promise
Core Blockchain Infrastructure
Payments
Exchanges
Social
Networks
Prediction
Market
Gaming
assets
IoT
10K Tx / Sec
1M Trades / Sec
10K Tweet / Sec
1000 Tx / Sec
1000 Tx / Sec
100K Tx / Sec
 
Ethereum:  20 Tx / Sec
Throughput
 
Dfinity:  1000 Tx / Sec
 
Algorand:  1000 Tx / Sec
 
The Promise
 Big Gap
This Course
 
 
3 Modules
Bitcoin
Scaling Bitcoin
Beyond Bitcoin
 
Course Philosophy
Full Stack Design
Implementation Heavy
 
Bitcoin
 
 
 
7 Lectures
 
 
 
Full stack design of Bitcoin
 
 description and analysis.
 
 
 
Bitcoin client implementation project
 
to be completed by week 8.
 
Beyond Bitcoin
 
 
 
Scaling Bitcoin
 
Throughput
Latency
 
Energy
 
Compute
 
Storage
 
Communication
 
 
Beyond Bitcoin
 
Accountability
 
Finality
 
Security against
51% mining
attacks
 
 
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
 
 
 
Lecture 4: Peer to peer networks, gossip algorithms.
 
 
 
Lecture 5:  UTXO state management. Putting it all
together: full stack of Bitcoin
 
Bitcoin: Outline
 
 
 
Lecture 6: Probabilistic security of Nakamoto
consensus.
 
 
 
Lecture 7: Incentives in Bitcoin. Selfish mining.
 
Scaling Bitcoin: Outline
 
 
 
 
Throughput and latency
: new consensus algorithms
that can potentially work at physical limits
 
Storage and Compute
: Sharding
 
Communication
: ensuring data communication, coded
block representations.
 
Energy
:  replace proof of work by proof of stake.
Design of incentive mechanism designs for proof of
stake.
 
 
 
Beyond Bitcoin: Outline
 
 
 
 
Accountability and Finality
: BFT consensus algorithms that can provide
accountability and deterministic confirmation
 
Hotstuff
: LibraBFT
 
Streamlet
: textbook BFT consensus
 
Privacy
:  zeroknowledge cryptography, Zcash architecture. Network privacy.
 
 
 
Logistics: grading
 
 
 
Rust Programming Basics
: 5%
 
team of 1
 
Project 1 (Bitcoin client)
: 40%
 
team of 2
 
Project
 2 (Beyond Bitcoin)
: 40%
 
team of 4
 
Lecture notes, summary slides and video
: 15%
 
team of 1
 
Logistics: course content
 
 
 
Website for the course
: https://courses.grainger.illinois.edu/ece598pv/sp2021/
 
 
Assignments and Projects on Gitlab
:
https://gitlab.engr.illinois.edu/ece598pv/ece598pv-sp202
1
 
 
Communication
: Instruction from staff via email
  
  Students can post on Piazza and gitlab
 
 
Logistics: programming language
 
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
Add new
transactions
Get transactions
Rust compiler doesn’t allow more than one owner (Miner & UI) of an object
(Memory Pool).
NOT ALLOWED
Miner
User Interface
Add new
transactions
Get transactions
If an object is wrapped by a thread-safe lock, Rust compiler allows more than
one owner (Miner & UI).
Pass compiling
and safe
 
Besides its reliability, Rust also provides
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?
 
High reliability makes blockchains reliable and secure.
Good efficiency makes blockchains scalable.
Network support makes communication easy-to-code.
Influential 
projects are using Rust:
Slide Note
Embed
Share

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.

  • Blockchains
  • Bitcoin
  • Cryptocurrency
  • Trust
  • Platform Economy

Uploaded on Jul 15, 2024 | 0 Views


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.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

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.

E N D

Presentation Transcript


  1. Principles of Blockchains Principles of Blockchains Course Course: 598PV, Spring 2021 Instructor Instructor: Pramod Viswanath University of Illinois at Urbana-Champaign

  2. What are Blockchains? What are Blockchains? Blockchains are decentralized digital trust platforms Blockchains are decentralized digital trust platforms

  3. Evolution of Trust Evolution of Trust Human success is based on flexible cooperation in large numbers. This requires trust

  4. 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

  5. Bitcoin is the original blockchain Bitcoin is the original blockchain BITCOIN IS A CRYPTOCURRENCY LAUNCHED IN JANUARY 2009 VERY SECURE: SAFETY AND LIVENESS

  6. Bitcoin Bitcoin Cryptocurrency medium of exchange and store of value Born during the 2008 Financial Crisis Anonymous inventor pseudonym: Satoshi Nakamoto

  7. Bitcoin is Bitcoin is THE bubble THE bubble of all time of all time

  8. 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

  9. 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

  10. 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

  11. Bitcoin Bitcoin 7 Lectures Full stack design of Bitcoin description and analysis. Bitcoin client implementation project to be completed by week 8.

  12. 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

  13. 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.

  14. 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

  15. Bitcoin: Outline Bitcoin: Outline Lecture 6: Probabilistic security of Nakamoto consensus. Lecture 7: Incentives in Bitcoin. Selfish mining.

  16. 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.

  17. 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.

  18. 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

  19. 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

  20. Logistics: programming language Logistics: programming language Rust Rust

  21. 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

  22. 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).

  23. 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).

  24. 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.

  25. 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:

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#