# Cryptocourse

Complex full-fledged University-grade course for Computer Science classes focused on in-depth understanding of Bitcoin, Ethereum, Cryptocurrencies and Blockchain technology lectured at [Faculty of Informatics and Information Technologies](https://www.fiit.stuba.sk/en.html?page_id=749) at [Slovak University of Technology](https://www.stuba.sk/english.html?page_id=132) by [David Stancel, MSc.](https://www.stanceldavid.sk/) of [CoinStory](https://coinstory.tech/) and Kristian Kostal,Phd.

The creation of this course has been supported by Ernst\&Young - Thank you!

Feel free to use anything for whatever purpose as long as you attribute credits appopriately. Everyone is also welcomed to send comments, inquires and proposals of topics, and resources to include into the course at **<david@coinstory.tech>**.

Updated slides will be linked here throughout 2021.

**Inspired by Courses**:

1.Introduction to Digital Currencies at [University of Nicosia](https://www.unic.ac.cy/blockchain/free-mooc/) as well as the whole [MSc. Program](https://www.unic.ac.cy/blockchain/msc-digital-currency/?utm_source=David-Stancel)

2.Bitcoin and Cryptocurrency Technologies at [Princeton University](https://www.coursera.org/learn/cryptocurrency?ranMID=40328\&ranEAID=SAyYsTvLiGQ\&ranSiteID=SAyYsTvLiGQ-VUnkGHNKKM9E1PFOPH7Y4Q\&siteID=SAyYsTvLiGQ-VUnkGHNKKM9E1PFOPH7Y4Q\&utm_content=10\&utm_medium=partners\&utm_source=linkshare\&utm_campaign=SAyYsTvLiGQ)

**Based on Books**:

1. A. Antonopoulos - [Mastering Bitcoin available for free on Github](https://github.com/bitcoinbook/bitcoinbook/blob/develop/book.asciidoc) or at [Amazon](https://www.amazon.com/gp/product/1491954388/ref=as_li_tl?ie=UTF8\&camp=1789\&creative=9325\&creativeASIN=1491954388\&linkCode=as2\&tag=coinstory-20\&linkId=203183cf135990d15df26c6e7c632d77)
2. A. Antonopoulos - [Mastering Ethereum (available for free on Github)](https://github.com/ethereumbook/ethereumbook), or at [Amazon](https://www.amazon.com/gp/product/1491971940/ref=as_li_tl?ie=UTF8\&camp=1789\&creative=9325\&creativeASIN=1491971940\&linkCode=as2\&tag=coinstory-20\&linkId=92f8fc507ab3f05a0600437bb85baeb0)
3. A. Narayanan, J. Bonneau, E. Felten, A. Miller, S. Goldfeder - [Bitcoin and Cryptocurrency Technologies (available for free)](https://pdfstop.com/bitcoin-and-cryptocurrency-technologies-pdf/) or at [Amazon](https://www.amazon.com/gp/product/0691171696/ref=as_li_tl?ie=UTF8\&camp=1789\&creative=9325\&creativeASIN=0691171696\&linkCode=as2\&tag=coinstory-20\&linkId=e806e9aed420cdb23ccaf70ae9964ffc)
4. P. Kravchenko - [Blockchain and Decentralized Systems](https://www.amazon.com/gp/product/6177634273/ref=as_li_tl?ie=UTF8\&camp=1789\&creative=9325\&creativeASIN=6177634273\&linkCode=as2\&tag=coinstory-20\&linkId=85de87f6acf15d97bda1f829cbcf3374)
5. SerHack & Monero Community - [Mastering Monero (available for free)](https://masteringmonero.com/free-download.html) or at [Amazon](https://www.amazon.com/gp/product/1731079966/ref=as_li_tl?ie=UTF8\&camp=1789\&creative=9325\&creativeASIN=1731079966\&linkCode=as2\&tag=coinstory-20\&linkId=c8ed51f729c6d4273dec9c25d1ae0435)
6. Darren Lau, Daryl Lau, T. Sze Jin, K. Kho, E. Azmi, TM Lee, B. Ong -- [How to DeFi](https://landing.coingecko.com/how-to-defi/) (available for free)
7. Kurt M. Alonso, Sarang Noether, Koe - [Zero to Monero](https://web.getmonero.org/library/Zero-to-Monero-2-0-0.pdf) (available for free)

Further Recommedned Reading:

1. A. Antonopoulos, O. Osuntokun, R- Pickhardt - [Mastering Lightning Network (available for free on Github)](https://github.com/lnbook/lnbook)
2. J. Song - [Programming Bitcoin (avaialble fore free on Github)](https://github.com/jimmysong/programmingbitcoin) or at [Amazon](https://www.amazon.com/gp/product/1492031496/ref=as_li_ss_tl?pf_rd_p=c2463b52-1139-4aba-9ac9-26d103f6c586\&pf_rd_r=KHGVVFT2B2GQ4W442FH0\&linkCode=sl1\&tag=jimmysong-20\&linkId=890eda96380a7e39e5e3195e6991ec25\&language=en_US)
3. D. Boneh, V.Shoup - [Applied Cryptography (available for free)](https://crypto.stanford.edu/~dabo/cryptobook/BonehShoup_0_5.pdf)

## 1. Introduction to Digital Currencies and Blockchain

* History and emergence of digital currencies - Digicash, Bitgold, B-money,Hashcash, RPOW, E-gold ..&#x20;
* Fundamental technology stack
* Emergence of Bitcoin
* Main principles and definitions

### Reading & Resources:

A. Back - [Hashcash](http://www.hashcash.org/papers/hashcash.pdf)

N. Szabo - [Bitgold](https://nakamotoinstitute.org/bit-gold/)

W. Dai - [B-money](http://www.hashcash.org/papers/hashcash.pdf)

S. Nakamoto - [Bitcoin Whitepaper](https://nakamotoinstitute.org/bitcoin/)

H. Finney - [RPOW](https://nakamotoinstitute.org/rpow/)

Lamport, Shostak, Peace - [The Byzantine General Problem](https://nakamotoinstitute.org/static/docs/the-byzantine-generals-problem.pdf)

**Optional**:

Diffie, Hellman - [New Directions in Cryptogprahy](https://ee.stanford.edu/~hellman/publications/24.pdf)

D. Chaum - [Blind Signatures for Untraceable Payment](https://taler.net/papers/chaum-blind-signatures.pdf)

S. Haber, S. Stornetta - [How to Timestamp a Digital Document](https://www.anf.es/pdf/Haber_Stornetta.pdf)

D. Chaum - [Dinning Cryptographers Problem](https://sites.cs.ucsb.edu/~ravenben/classes/595n-s07/papers/dcnet-jcrypt88.pdf)

**Live Examples**:

* <http://www.datnos.com/bc-demos/public-private-keys/keys.html>
* <https://gugger.guru/blockchain-demo/#!/blockchain>
* [https://blockchaindemo.io](https://blockchaindemo.io/)

### [Slides](https://slides.com/stancel/uni1)

## 2. Bitcoin Protocol

* Bitcoin protocol specifications
* Transactions - UTXO model, data structures
* Proof-of-Work Consensus Mechanism
* Bitcoin Script

### Reading & Resources:

[Mastering Bitcoin](https://github.com/bitcoinbook/bitcoinbook) - Chapters 2 and 6

[Script on Bitcoin Wiki](https://en.bitcoin.it/wiki/Script)

[Learning Bitcoin tools](https://learnmeabitcoin.com/)

[Script Playground](https://www.crmarsh.com/script-playground/)

[Bitcoin Script Guide by Blockgeeks](https://blockgeeks.com/guides/best-bitcoin-script-guide/)

[Bitcoin Script for Dummies](https://github.com/siminchen/bitcoinIDE)

[Installing Bitcoin Core](https://en.bitcoin.it/wiki/Help:Installing_Bitcoin_Core)

[Bitcoin Developer Guide](https://bitcoin.org/en/developer-guide#transactions)

[Miniscript Playground](https://magicalbitcoin.org/repl/playground/)

[Bitcoin Resources by Jameson Lopp](https://www.lopp.net/bitcoin-information.html)

[3D Blockchain Explorer Symphony by IOHK](https://symphony.iohk.io/)

### [Slides](https://slides.com/stancel/uni2)

## 3. Consensus Algorithms

* Mining & Consensus Mechanisms,&#x20;
* Bitcoin Core
* [Nodes](https://medium.com/@gloriazhao/map-of-the-bitcoin-network-c6f2619a76f3)

**Reading & Resources:**

[Mastering Bitcoin](https://github.com/bitcoinbook/bitcoinbook) - Chapters 3 and 10

### [Slides](https://slides.com/stancel/uni3)

## 4. Ethereum Protocol and Smart Contracts

* Ethereum protocol specifications
* Smart contracts (ERC standards)
* Alternative smart contract platforms  &#x20;
* [UTXO vs Account Based Model](https://medium.com/@jcliff/intro-to-blockchain-utxo-vs-account-based-89b9a01cd4f5)

### Reading & Resources:

[Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) - Chapters 5,6,7 and 12

### Optional:

[Resources on Etheruem.org](https://ethereum.org/learn/)

[Ethereum 2.0. Overview by ChainSafe](https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-d46d8ac914ce)

[Polkadot WP](https://polkadot.network/PolkaDotPaper.pdf)

[Learning ETH resources](https://ethereum.org/learn/)

[All writings of Vitalik Buterin at one place](https://waitwho.is/vitalikbuterin/essays)

### [Slides](https://slides.com/stancel/uni4)

## 5. Coding Solidity

* Syntax, Tools
* Programming decentralized applicatins

### Reading & Resources:

Building Ethereum Dapps - Roberto Infante - Chapters 4,5,6, and 8

[Solidity Documentation](https://solidity.readthedocs.io/en/v0.6.4/introduction-to-smart-contracts.html)

[Comparison ERC20 vs ERC223 vs ERC777](https://www.cointelligence.com/content/comparison-erc20-erc223-new-ethereum-erc777-token-standard/)

[Solidity and Vyper Cheatsheet](https://reference.auditless.com/cheatsheet/)

[CryptoZombies - learning Solidity ](https://cryptozombies.io/)

### Slides: TBD

## 6. Alternative Cryptocurrencies

* Introduction to Altcoins
* Basic Differences
* Comparison of selected altcoins in terms of technology - Monero, Zcash, Decred, Pivx ...&#x20;
* Smart Contract Platforms: Cardano, Cosmos, Avalanche, Polkadot, Near
* Tokenisation as a phenomenom

### Reading & Resources:

Mastering Blockchain - Imran Bashir - Chapter 15

### Optional:

[Mastering Monero](https://masteringmonero.com/free-download.html) - Chapter 3

[Zero to Monero](https://web.getmonero.org/library/Zero-to-Monero-2-0-0.pdf)

[Decred Documentation](https://docs.decred.org/research/overview/)

[Zcash WP](https://whitepaperdatabase.com/zcash-zec-whitepaper/)

### [Slides](https://slides.com/stancel/uni6)

## 7. Blockchain Scaling and layer two technologies

* Bitcoin and Ethereum scaling techniques
* Lightning Network - main principles, and overview of implementations
* Plasma, State Channels - main principles, and overview of implementations

### Reading & Resources:

Beginners Guide to Lightning Network: <https://academy.binance.com/en/articles/what-is-lightning-network>

[Mastering Lightning Network](https://github.com/lnbook/lnbook)

[History of Lightning Network by Bitcoin Magazine](https://bitcoinmagazine.com/articles/history-lightning-brainstorm-beta)

[Lightning Network Web](https://lightning.network/)

[Making Sense of Ethereum Layer 2 (Medium)](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4)

[The State of Optimistic Rollups (Medium)](https://medium.com/molochdao/the-state-of-optimistic-rollup-8ade537a2d0f)

[Learning Plasma Web](https://www.learnplasma.org/en/learn/mvp.html)

FYI

[Running LN on Raspberry Pi - Guide](https://medium.com/@stadicus/noobs-guide-to-%EF%B8%8F-lightning%EF%B8%8F-on-a-raspberry-pi-f0ab7525586e)

### Slides: TBD

## 8. Security & Privacy Considerations of Cryptocurrencies

* Types of Wallets, Seeds and archiving
* Cryptocurrency Exchanges and Tools
* Attack vectors - 51% attack, Selfish Mining, Time Jacking, Eclipse attack, Flood attack, Sybil attacks ...
* Anonymity and privacy techniques

### Reading & Resources:

[Hypotehtical Cryptocurrency Attacks](https://blockgeeks.com/guides/hypothetical-attacks-on-cryptocurrencies/)

[Application of Zeroknowledge proofs in Blockchain (Medium)](https://medium.com/ppio/application-zero-knowledge-c0710a2a1dac)

[Staying Anonymous on Ethereum - Tornado Cash)](https://medium.com/@tornado.cash/how-to-stay-anonymous-with-tornado-cash-and-similar-solutions-efdecdbd7d37)

[Breaking MimbleWimble Privacy Model](https://medium.com/dragonfly-research/breaking-mimblewimble-privacy-model-84bcd67bfe52)

[Zeroknowledge-proofs - Intro, comparisons](https://github.com/thecryptofruit/education/blob/master/zk-proofs-rollups.md)

[Zeroknowledge Starter Pack by Eth Research](https://ethresear.ch/t/zero-knowledge-proofs-starter-pack/4519)

[How to Run BTC node over TOR - Guide](https://medium.com/coinmonks/how-to-run-a-bitcoin-full-node-over-tor-on-an-ubuntu-linux-virtual-machine-bdd7e9415a70)

[How to Create BTC adress](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses)

[Base58 encoding](https://en.bitcoin.it/wiki/Base58Check_encoding)

[Seed](https://en.bitcoin.it/wiki/Seed_phrase)

[Deterministic Wallet](https://en.bitcoin.it/wiki/Deterministic_wallet)

[BIP 0032](https://en.bitcoin.it/wiki/BIP_0032)

[Bitcoin Trezor Wiki](https://wiki.trezor.io/)

### [Slides](https://slides.com/stancel/uni8)

## 9. Blockchain in Enterprise

* Blockchain Consortia - overview adn technologies
* Ethereum Enterprise Alliance, Hyperledger, Qorum
* EY - Nightfall, Baseline

### Reading & Resources:

[Enterprise Blockchain Protocols Overview](https://kaleido.io/a-technical-analysis-of-ethereum-vs-fabric-vs-corda/)

[Enterprise Blockchain Resources by ConsenSys](https://consensys.net/enterprise-ethereum/lockdown-library/)

[EY's Nightfall Protocol](https://medium.com/coinmonks/overview-of-ey-nightfall-f9e9ce21cf65)

[Baseline Protocol by EY, Microsoft & ConsenSys](https://github.com/ethereum-oasis/baseline)

[IBM Blockchain Platform](https://marketplace.visualstudio.com/items?itemName=IBMBlockchain.ibm-blockchain-platform)

[Enterprise Ethereum Alliance](https://entethalliance.org/resources/)

[Hyperledger General Resources](https://www.hyperledger.org/resources)

[Hyperledger Presentations](https://wiki.hyperledger.org/display/events/Presentations+for+Meetups)

### [Slides](https://slides.com/stancel/uni9)

## 10. Alternative sue-cases for Blockchain

* Overview of different blockchain usecases and applicaitons
* Public sector usecases, Supply Chain, Finance, Timestamping
* NOnf-ungible tokens
* DeFi - MakerDAO & DAI, Decentralized Exchanges, Lending, Derivatives, Insurance, Aggregators

### Reading & Resources:

[How to DeFi Book](https://landing.coingecko.com/how-to-defi/) chapters 6 and 7

[The NFT Bible](https://opensea.io/blog/guides/non-fungible-tokens/)

### [Slides](https://slides.com/stancel/uni10)

## 11. Interoperability in Blockchain

* Cosmos, Polkadot
* Homogenous vs. heterogenous
* different categorization of blockchain interoperability

### Reading & Resources:

[Blockchian Interoperability: Past, Present, and Future Trends](https://arxiv.org/abs/2005.14282)

### Slides: TBD

## 12. Economic and Legal Considerations of Cryptocurrencies and Blockchain Technology

* Legal Challenges of Smart Contracts & Dapps & DAOs
* Legal and Economic Aspects of Cryptocurrencies  - KYC, AML, MiCA
* ICOs, STOs, IEOs, Airdrops, CBDCs

### Reading & Resources:

University of Cambridge - [2nd Global Cryptocurrency Benchmarking Study](https://www.jbs.cam.ac.uk/faculty-research/centres/alternative-finance/publications/2nd-global-cryptoasset-benchmark-study/)

[NFTs from Legal Perspective](https://medium.com/the-capital/non-fungible-tokens-from-a-legal-perspective-51de03ea0b06)

### [Slides](https://slides.com/stancel/uni10)

## 13. Decentralized Finance (DeFi) - BONUS

* Introduciton to DeFi&#x20;
* MakerDAO & DAI
* Decentralized Exchanges, Lending, Derivatives, Insurance, Fund Management, Lottery
* Uniswap, Compound, Synthetix, Opyn, TokenSets, PoolTogether

### Reading & Resources:

[How to DeFi Book](https://landing.coingecko.com/how-to-defi/)

[Flash Loan Attacks on bZx Explained](https://www.palkeo.com/en/projets/ethereum/bzx.html)

[DAI Derivatives - github](https://github.com/jordanlyall/dai-universe) [Amazing Primer on Virtual Economy](https://atelier.net/virtual-economy/)

### Slides: TBD
