HS21
Challenge Task Winner Blockchain HS 2021
The winning group is: Reto Ehrensperger and Christian Rutzer
Reto Ehrensperger and Christian Rutzer implemented QuoteNFT, a platform to trade NFT quotes. The trading happens on a smart contract and is fully decentralized. Their project uses Vue.js for the frontend, node and express with TypeScript for the backend, and MetaMask to connect to Ethereum. Their QuoteNFT platform uses Traefik as a reverse proxy and docker-compose to orchestrate the services.
The price is sponsored by Axelra, a tech venture builder that accelerates digital business models (Linkedin announcement).
Important dates: (always check https://unterricht.rj.ost.ch)
- Lecture dates: 20.09.2021 - 23.12.2021
- Q&A week: 10.01.2022 - 14.01.2022
- Exam sessions: 17.01.2022 - 12.02.2022
- Deadline Challenge Task: 16.12.2021, 23:59 (CET) - Please fill in the following doodle for your challenge task presentation slot
Blockchain (BlCh)
(Formerly known as Advanced Distributed Systems & Blockchain - ADSB)
Nr | Date | Topics |
---|---|---|
01 | 24.09.2021 | Admin, Challenge Task, Repetition DS1 (part 1) - no exercises |
02 | 01.10.2021 | NFT Introduction, Repetition DS1 (part 2) |
03 | 08.10.2021 | Ethereum and Solidity, Repetition DS1 (part 3) |
04 | 15.10.2021 | NFT Details |
05 | 22.10.2021 | P2P and DHTs |
06 | 29.10.2021 | DeFi Introduction |
07 | 05.11.2021 | DeFi DEX, Interview with Marcel Harmann |
08 | 12.11.2021 | Algorithms for Distributed Systems 1, DeFi NFT Markets |
09 | 19.11.2021 | HTLCs, Cross-chain Atomic Swaps, and Algorithms for Distributed Systems 2 |
10 | 26.11.2021 | WebRTC, Layer 2 Solutions |
11 | 03.12.2021 | Security Considerations, Layer 2 Use Cases, Interview with Christian Killer and Guilherme Sperb Machado |
12 | 10.12.2021 | Exam preparation, NFT Markets, and Smart Contract Testing |
13 | 17.12.2021 | Live: Q&A (from 08:10 – 08:55), Challenge Task Presentations |
14 | 24.12.2021 | Challenge Task Award Winner Announcement - Online, no lectures |
(those are preliminary topics, may be subject to change)
Online Lectures & Exercises
Due to COVID, the Blockchain (BlCh) lecture will be online. The lecture videos will up uploaded during the week before the lecture on Fridays at 08:10. The length of the videos will be ~ 80 - 100 minutes (2 x 45min. lectures) divided into segments. The news segment (~10min) will cover news around the topics blockchain and distributed systems and are not part of the exam. It should serve as on overview of current topics in this field.
For the exercises, I will be available online on Friday from 10:10 - 16:50 on MS Teams. Team code: pq6c050. Please contact me if you have any questions regarding the challenge task or also just to say Hi :) During exercises, you can work on your challenge task.
The online lectures and PDFs can be accessed from outside (also on Youtube), the exercise and admin material only with VPN.
Lecture Content
Lecture 1
The admin part gives an overview over this lecture and presents the challenge task for this course (Slides: BlCh-HS21-01-Admin.pdf). The second video (news) discusses crypto company regulations in the US, and the DNS alternative HNS (Handshake) and ENS with IPFS (Slides: BlCh-HS21-01-News.pdf). The third video starts with the repetition of DS1 (Slides: BlCh-HS21-01-DS1-part1.pdf). [82min]
Lecture 2
The admin part is about the challenge task and the groups (Slides: BlCh-HS21-02-Admin.pdf). The second video (news) discusses blockchain and energy efficiency, NFTs, and China's ban of crypto currencies (Slides: BlCh-HS21-02-News.pdf). The third video introduces NFTs on a high level, to provide an overview over potential use cases for the challenge task (Slides: BlCh-HS21-02-NFT.pdf). The fourth video continues with the repetition of DS1 (Slides: BlCh-HS21-02-DS1-part2.pdf). [88min]
Lecture 3
The admin part is about the challenge task and the groups (Slides: BlCh-HS21-03-Admin.pdf). The news video discusses many topics, such as lost or stolen coins (Slides: BlCh-HS21-03-News.pdf). The third video finishes with the repetition of DS1 (Slides: BlCh-HS21-03-DS1-part3.pdf). The fourth video shows Solidity with examples (Slides: BlCh-HS21-03-ETH.pdf. [126min]
Lecture 4
The admin part is about the challenge task and the groups (Slides: BlCh-HS21-04-Admin.pdf). The news video discusses the mining shift to the US as well as the attacks on OVH and Azure. (Slides: BlCh-HS21-04-News.pdf). The third video shows NFT examples with Solidity (Slides: BlCh-HS21-04-NFT.pdf, nft.sol, erc20.sol). [72min]
Lecture 5
The admin part is about the lecture content (Slides: BlCh-HS21-05-Admin.pdf). The news video discusses the BTC all-time high and Stripe hiring a crypto team. (Slides: BlCh-HS21-05-News.pdf). The third video introduces fully distributed systems and DHTs (Slides: BlCh-HS21-05-P2P.pdf). [94min]
Lecture 6
The admin part is about the lecture dates and the new SG I rules (Slides: BlCh-HS21-06-Admin.pdf). The news video discusses the Internet outage in Sudan and the Cream Finance Flash Loan Hack. (Slides: BlCh-HS21-06-News.pdf). The third video introduces decentralized finance (DeFi) (Slides: BlCh-HS21-06-DeFi.pdf). [73min]
Lecture 7
The admin part is about the challenge task hand-in on the 04.11.2021, 23:59 (CET) (Slides: BlCh-HS21-07-Admin.pdf). The news video discusses best practices for NTP server, hacking DeFi, and NFTs (Slides: BlCh-HS21-07-News.pdf). The third video is the interview with Marcel Harmann from DeFi Suisse who talks about THORWallet (disclaimer: I'm also involved in this project). The fourth video looks into DeFi mechanisms, such as swaps and liquidity providing on a decentralized exchange (DEX) (Slides: BlCh-HS21-07-DeFi.pdf). [113min]
Lecture 8
The admin part is about the challenge task and the lecture topics (Slides: BlCh-HS21-08-Admin.pdf). The news video is about Bitcoin Taproot and the current crypto market all time high (Slides: BlCh-HS21-08-News.pdf). The third video answers how a decentralized NFT market place can be implemented (Slides: BlCh-HS21-08-NFT2.pdf, market.sol). The fourth video introduces Bloom filters and Merkle trees/proofs BlCh-HS21-08-Algo.pdf). [81min]
Lecture 9
The news video is about Bitcoin Taproot and the current crypto market dip (Slides: BlCh-HS21-09-News.pdf). The second video introduces two mechanisms that can be used in systems with consistent hashing (Slides: BlCh-HS21-09-P2P-2.pdf). The third video dives into Hashed Time Lock Contracts (HTLC) and Atomic Swaps that can be used to do fully decentralized cross-chain crypto currency swaps BlCh-HS21-09-HTLC.pdf). [84min]
Lecture 10
The admin part is about the lecture topics (Slides: BlCh-HS21-1-Admin.pdf). The news video is about load balancing, crypto regulations, and THORWallet (Slides: BlCh-HS21-10-News.pdf). The third video is about payment channels and scaling solutions (Slides: BlCh-HS21-10-Payment-Channels.pdf). The forth video dives into WebRTC BlCh-HS21-10-WebRTC.pdf). [127min]
Lecture 11
The admin part is about the challenge task hand-in on the 16.12.2021, 23:59 (CET) and the q-feedback (Slides: BlCh-HS21-11-Admin.pdf). The news video is about the swiss crypto stamp, an article about proof-of-stake vs. proof-of-work, and more NFTs (Slides: BlCh-HS21-11-News.pdf). The third video is about use cases for payment channels (Slides: BlCh-HS21-11-Micro-Payments2.pdf). The forth video is about security considerations BlCh-HS21-11-Security.pdf). The fifth video is the interview with Christian Killer, a blockchain researcher, while the sixth video is the interview with Guilhereme Sperb Machado, the founder of AxLabs. [77min]
Lecture 12
The admin part is about the exam preparation (Slides: BlCh-HS21-12-Admin-Exam-Prep.pdf, ADSB_Exam_2020-HS_v2.pdf). The news video is about DNS bug hunting, TOR attacks, Linux namespaces, and the Swiss crypto stamp (Slides: BlCh-HS21-12-News.pdf). The NFT market lecture show a security issue with the contracts showed in lecture 8 and how to fix it (Slides: BlCh-HS21-12-NFT-Markets.pdf, market2-1.sol). The Swap lecture is about impermanent loss and how smart contracts can be tested (Slides: BlCh-HS21-12-Swaps.pdf. [89min]
Lecture 13
The admin part is about the challange task presentations. Please fill in the following doodle at what time you will present your challenge task results. (Slides: BlCh-HS21-13-Admin.pdf. The news video is about NFT markets, Web3, HTTP/3, and THORWallet (Slides: BlCh-HS21-13-News.pdf) [20min]
Lecture 14
The news video is about an article of the biggest letdowns in crypto, my personal highlight in crypto: THORWallet (no investment advice, I'm involved in this project), and the Blockchain HS21 Challenge Task Winners (Slides: BlCh-HS21-14-News.pdf) [13min]
Challenge Task HS 2021
This semester's challenge task (CT) is the design and implementation of an application including NFTs. Ideally, the application is a decentralized application (DApp).
- Find use-case or idea for your app
- Your app must include a simple frontend (e.g., HTML, Vue, React, Svelte)
- Your app must include a public blockchain (e.g., Ethereum)
- Your app must include storage if the data does not fit into a blockchain (typically only a hash should be stored)
- Can have a centralized backend for storage
- Can include decentralized storage such as IPFS or use P2P protocols (e.g., WebRTC)
Requirements
All requirements below must be met in order to pass this course.
- A working prototype for your use-case
- Use latest stable releases of chosen libraries and frameworks
- An NFT stored on a public blockchain (can be testnet)
- Transfer of an NFT triggered directly or indirectly via the frontend/backend (can be testnet)
- The solution may use existing libraries and code, but those must open software software
Deliverables: 04.11.2021, 23:59 (CET) first hand-in of your initial version of the frontend/backend/NFT (initial version, does not need to run). Second hand-in: 16.12.2021, 23:59 (CET) - well documented infrastructure (Readme.md or can be slides) and the source code (github/gitlab or similar) via invite or email to thomas.bocek-at-ost.ch (alternatively, use: thomas.ost-at-bocek.ch). The code and configuration should be easy to read and/or well documented. For the presentation on the 17.12.2021, you should show the architecture, components, and design decisions in 10-15 min, a demo in 5-10 min, and the Q&A will be 20min via MS Teams. After your presentation, you need to handin your PDF presentation.
You are allowed to use any language, framework, and platforms. However, the supervisors are familiar with those: Java, Golang, JavaScript, Linux, Ethereum.
Groups
There will be groups of 2-3 for the challenge task. During the challenge task, the group shall meet every week during exercise hours to work on the task and discuss the next steps. The groups shall utilize their homework times to work on the CT, besides the exercise time slots assigned on Friday. You do not have be present at the exercises. The groups shall determine and set-up an internal project plan and shall distribute the workload so that each group member gets a fair load of work. Group results will be only accessible via VPN.
Nr | Name 1 | Name 2 | Name 3 | Project | Milestone 1 | Source | Slides | Video |
---|---|---|---|---|---|---|---|---|
1 | Julia F. | David K. | - | NFT Tweets | ✓ | group1.zip | group1.pdf | group1.mp4 |
2 | Zvonimir S. | Simon C. | - | NFT Market | ✓ | group2.zip | group2.pdf | group2.mp4 |
3 | Michel M. | Benny V. | Moritz S. | NFT Reddit | ✓ | group3.zip | group3.pdf | group3.mp4 |
4 | Samuel L. | Tim W. | Rolf O. | NFT Creater | ✓ | group4.zip | group4.pdf | group4.mp4 |
5 | Andy P. | Pascal K. | - | Image Auction NFT | ✓ | group5.zip | group5.pdf | group5.mp4 |
6 | Ruwen F. | Igor C. | - | NFT Lottery | ✓ | group6.zip | group6.pdf | group6.mp4 |
7 | Severin G. | Marco M. | Severin A. | GPS-NFT | ✓ | group7.zip | group7.pdf | group7.mp4 |
8 | Simon H. | Marius Z. | Janis W. | NFTrophy | ✓ | group8.zip | group8.pdf | group8.mp4 |
9 | Christian R. | Reto E. | - | QuoteNFT | ✓ | group9.zip | group9.pdf | group9.mp4 |
10 | Philipp E. | Joel S. | - | Beer Stamp NFT | ✓ | group10.zip | group10.pdf | group10.mp4 |
11 | Linard V. | Robin F. | - | NearShare (with additional req.) | ✓ | group11.zip | group11.pdf | group11.mp4 |