CSE 610 Distributed Consensus, Decentralized Ledgers, and Blockchains
This semester I am teaching a small research course on Distributed Consensus, Decentralized Ledgers, and Blockchains.
But, just because of some stupid/hyped-up claims and some first-generation inefficient implementations, it is unacceptable to make fun of and ridicule the entire blockchains field. (Yes, it is definitely a field, when a Turing Award winner and a strong candidate for Turing Award publishes papers on the topic.) A researcher should not use a broad brush to paint. Truth is multidimensional.
Even when parts of a field is impractical right now, that doesn't justify putting the entire field down. P2P was impractical. It lost to the centralized model. But the best ideas from those work found their way to traditional datacenter computing. The distributed hash table idea got adopted for distributed key-value stores. Bittorrent saw some use in datacenter application-layer networking.
In this two minute video Bertram Gilfoyle makes this point very well. Here is the entire set of slides he used in the presentation, they are hilarious. I will show these to my class tomorrow.
The course covers the fundamental concepts for the design and analysis of such distributed consensus algorithms including: Paxos, PBFT, Tendermint, HotStuff, Nakamoto consensus algorithms. It also discusses formal verification of smartcontracts using TLA+ specification language and model checker. Finally, it reviews state-of-the-art blockchain systems and applications.
1. Distributed consensus: consensus problem, synchronous and asynchronous setups, Paxos, Ben-Or, Texel, PBFT
2. Blockchain protocols: blockchain basics, Nakamoto, Tendermint, HotStuff, QSC, Avalanche
3. Blockchain systems: Bitcoin, Ethereum, Libra, Hyperledger, DFinity, ConcordBFT
4. Smartcontracts: Smartcontract basics, creating safe smartcontracts, formal specification of smartcontracts, crosschain deals and adversarial commerce
5. Applications: Internet of value, blockchaindb, multiparty collaboration
The class will have one midterm, several assignments, and one project. The project qualifies as MS project. Two students can form a team and choose a project that involves (1) TLA+ modeling and Paxi implementation of a blockchain protocol or (2) TLA+ modeling and deployment of a smartcontract on a blockchain platform.
There is no required textbook for the course, however ample reading material (i.e., research papers) will be assigned. A suitable reference book that covers the blockchain basics is https://bitcoinbook.cs.princeton.edu (free preprint at https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf)
Blockchains! You?
One should be able to call bullshit when one sees bullshit. In this blog, I did that several times for certain claims about blockchains technology.But, just because of some stupid/hyped-up claims and some first-generation inefficient implementations, it is unacceptable to make fun of and ridicule the entire blockchains field. (Yes, it is definitely a field, when a Turing Award winner and a strong candidate for Turing Award publishes papers on the topic.) A researcher should not use a broad brush to paint. Truth is multidimensional.
Even when parts of a field is impractical right now, that doesn't justify putting the entire field down. P2P was impractical. It lost to the centralized model. But the best ideas from those work found their way to traditional datacenter computing. The distributed hash table idea got adopted for distributed key-value stores. Bittorrent saw some use in datacenter application-layer networking.
Course content
My blockchains course starts with classical distributed consensus problem definition and algorithms, and then considers the decentralized consensus problem in permissioned/permissionless setting with Byzantine participants.The course covers the fundamental concepts for the design and analysis of such distributed consensus algorithms including: Paxos, PBFT, Tendermint, HotStuff, Nakamoto consensus algorithms. It also discusses formal verification of smartcontracts using TLA+ specification language and model checker. Finally, it reviews state-of-the-art blockchain systems and applications.
1. Distributed consensus: consensus problem, synchronous and asynchronous setups, Paxos, Ben-Or, Texel, PBFT
2. Blockchain protocols: blockchain basics, Nakamoto, Tendermint, HotStuff, QSC, Avalanche
3. Blockchain systems: Bitcoin, Ethereum, Libra, Hyperledger, DFinity, ConcordBFT
4. Smartcontracts: Smartcontract basics, creating safe smartcontracts, formal specification of smartcontracts, crosschain deals and adversarial commerce
5. Applications: Internet of value, blockchaindb, multiparty collaboration
The class will have one midterm, several assignments, and one project. The project qualifies as MS project. Two students can form a team and choose a project that involves (1) TLA+ modeling and Paxi implementation of a blockchain protocol or (2) TLA+ modeling and deployment of a smartcontract on a blockchain platform.
There is no required textbook for the course, however ample reading material (i.e., research papers) will be assigned. A suitable reference book that covers the blockchain basics is https://bitcoinbook.cs.princeton.edu (free preprint at https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf)
Comments