HS22
Challenge Task Winner Blockchain HS 2022
The winning group is: Caspar Martens and Simon Kindhauser
Caspar and Simon built a decentralized autonomous organization (DAO), using soul-bound tokens (SBT) to vote on documents and its changes. They used Solidity with the OpenZeppelin Governor, for the backend next.js, PostgreSQL to store metadata, and to connect to the Ethereum, they used ethers.js.
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: 19.09.2022 - 23.12.2022
- Exam sessions: 16.01.2023 - 04.02.2023
- Challenge Task Presentations (OST, Rapperswil, 1.267): 14.12.2022
Blockchain (BlCh)
The lectures will be pre-recorded. The lecture videos will up uploaded during the week, before the lecture on Wednesday at 08:10. The length of the videos will be ~ 80 - 100 minutes (2 x 45 min. lectures) divided into segments. The news segment (~10 min) 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.
Nr | Date | Topics |
---|---|---|
01 | 21.09.2022 | Admin, Challenge Task, Repetition DSy (part 1) - no exercises |
02 | 28.09.2022 | Repetition DSy (part 3), Token (ERC20) and NFT (ERC721) crash course |
03 | 05.10.2022 | Architecture Overview, Repetition DSy (part 2) |
04 | 12.10.2022 | Solidity Introduction, DAO introduction, POAP, Interview with Yves Boutellier and Olivier Winkler |
05 | 19.10.2022 | Stablecoins (only remote exercises) |
06 | 26.10.2022 | Solana |
07 | 02.11.2022 | P2P and DHTs |
08 | 09.11.2022 | Algorithms for DHT/P2P Systems |
09 | 16.11.2022 | Interview with Philip Berntsen, DeFi, DEX |
10 | 23.11.2022 | HTLCs, Cross-chain Atomic Swaps, Payment Channels |
11 | 30.11.2022 | Exam preparation |
12 | 07.12.2022 | WebRTC |
13 | 14.12.2022 | Challenge Task Presentations at OST, 1.267 (7 groups) |
14 | 21.12.2022 | Q&A and Challenge Task Award Winner Announcement |
(those are preliminary topics, may be subject to change)
Online/Offline Lectures & Exercises
Due to student requests, the Blockchain (BlCh) lecture will pre-recorded. I will be present in the lecture room 1.267 from 08:10 - 11:50. If you have not watched the lectures, you can watch it in the lecture (08:10 - 09:50). During exercises (10:10 - 11:50), you can work on your blockchain project (challenge task). You do not need to be present on Wednesday, but it is highly recommended to discuss your issues and problems with the challenge task with the lecturer from 08:10 to 11:50. From 10:10 - 11:50, you can also join the exercises remotely via MS Teams.
The online lectures and PDFs can be accessed from outside the OST network (also on Youtube), the exercise and admin material only with VPN.
Lecture
Lecture 1
The admin part gives an overview over this lecture and presents the challenge task for this course (Slides: BlCh-HS22-01-Admin.pdf). The second video (news) discusses the merge on the Ethereum chain and the fall of CryptoKitties (Slides: BlCh-HS22-01-news.pdf). The third video starts with the repetition of Distributed Systems (DSy) (Slides: BlCh-HS22-01-repetition-part1.pdf). [86min]
Lecture 2
The admin part is about the topics and why part 3 is before part 2 of the repetition (Slides: BlCh-HS22-02-admin.pdf). The second video (news) mention what is happening with Do Kwon's Terra/Luna, points out that there are ways around Internet censorship for unfiltered political information, discusses slow Internet sites, talks about WebRTC architectures, and gives an update on the GitHub Tornado Cash ban (Slides: BlCh-HS22-02-news.pdf). The third video focuses on the blockchain part of the Distributed Systems (DSy) repetition (Slides: BlCh-HS22-02-repetition-part3.pdf), and continues with the fourth video on tokens, fungible and non-fungible tokens crash course (Slides: BlCh-HS22-02-ETH.pdf). [124min]
Lecture 3
The admin part updates on the lecture content (Slides: BlCh-HS22-03-admin.pdf). The second video (news) talks about password best practices, the shutdown of Google Stadia, the crypto-lendig company Voyager, an update on Terra/Luna founder Do Kwon, and how much greenhouse gas is produced by Bitcoin miners (Slides: BlCh-HS22-03-news.pdf). The third video finishes the repetition of Distributed Systems (DSy) (Slides: BlCh-HS22-03-repetition-part2.pdf). The fourth video gives an overview over the blockchain/smartcontract/web3 architecture (Slides: BlCh-HS22-03-arch.pdf). [74min]
Lecture 4
The admin part updates on the lecture content and announces the POAP that will happen on the 12.10.2022, at around 10:10. Keep your wallets ready! (Slides: BlCh-HS22-04-admin.pdf). The second video (news) talks about the current attack on the Binance Bridge, draining crypto currencies from law enforment, an update on Do Kwon, a new feature in OpenSea, how central banks can help DeFi, that Ticino wants to become a crypto city, and how to harden Kubernetes. (Slides: BlCh-HS22-04-news.pdf). The third video introduces the Solidity smart contract programming language with examples (Slides: BlCh-HS22-04-solidity.pdf). The fourth video gives an overview over decentralized autonomous organizations (DAOs) (Slides: BlCh-HS22-04-dao.pdf). The fifth video is the interview with Yves Boutellier and Olivier Winkler who are starting the Swiss DAO (no slides). [140min]
Lecture 5
The admin part updates on the lecture content (Slides: BlCh-HS22-05-admin.pdf). The second video (news) talks about Cassandra at Apple, destroying NFTs, low staking rewards, SBTs and PoAPs, and frozen USDT addresses. (Slides: BlCh-HS22-05-news.pdf). The third video introduces stablecoins (Slides: BlCh-HS22-05-stablecoins.pdf). [51min]
Lecture 6
The admin part updates on the lecture content (Slides: BlCh-HS22-06-admin.pdf). The second video (news) talks about the Mango hack, an HTTP crash course, Do Kwon, and crypto hacks in general. (Slides: BlCh-HS22-06-news.pdf). The third video introduces Solana (Slides: BlCh-HS22-06-solana.pdf). [66min]
Lecture 7
The admin part updates on the lecture content (Slides: BlCh-HS22-07-admin.pdf). The second video (news) briefly mentions the OpenSSL critical vulnerability, the new blockchain node offerings from Google, an update on the Mango market hacks, and about Bitcoin long/short selling. (Slides: BlCh-HS22-07-news.pdf). The third video introduces fully distributed systems and presents P2P and DHT mechanisms. (Slides: BlCh-HS22-07-p2p.pdf). [91min]
Lecture 8
No admin part this week. The first video (news) talks about scaling database connections, about buying land in metaverse, a TCP rant, wiring fiber, some very interesting numbers from the crypto world, and the issues with FTX and Alameda Research. (Slides: BlCh-HS22-08-news.pdf). The second video discusses algorithms suitable for DHT systems, followed by algorithms suitable for P2P systems. (Slides: BlCh-HS22-08-algo.pdf). [84min]
Lecture 9
No admin part this week. The first video (news) summarizes the FTX collapse, looks into the reserves of crypto.com, talks about performance improvements at Netflix, and briefly mentions the complexity of AWS's IAM. (Slides: BlCh-HS22-09-news.pdf). The second video is the interview with Philip Berntsen, who launched frigg.eco, a venture that tokenizes sustainable projects. The third video presents decentralized finance (DeFi). (Slides: BlCh-HS22-09-defi.pdf). [127min]
Lecture 10
No admin part this week. The first video (news) continues discussing the FTX collapse, looks into Bitcoin anonymity, and discusses a talk with the title Is web3 BS?. (Slides: BlCh-HS22-10-news.pdf). The second video is about hashed time-lock contracts (HTLCs), cross-chain atomic swaps, and payment channels. (Slides: BlCh-HS22-10-htlc.pdf). [53min]
Lecture 11
The admin part gives you information about the exam from 2019, 2020, and 2021. The second video (news) gives an update on FTX, talks more about web3, gives a brief update on the Ethereum Shanghai update, and discusses why I/O is no longer a bottleneck. (Slides: BlCh-HS22-11-news.pdf). [156min]
Lecture 12
The admin part provides details about the challenge task BlCh-HS22-12-admin.pdf. The second video (news) gives a short update on FTX and BlockFi, talkes about THORWallet and THORChain, mentions two articles about CRDTs, goes into the EU Metaverse, talks about the discontinued TradeLens, mentions an negative Bitcoin article, and briefly mentions ChatGPT (Slides: BlCh-HS22-12-news.pdf). The third video presents WebRTC. (Slides: BlCh-HS22-12-webrtc.pdf). [56min]
Lecture 13
The admin part provides details about the challenge task BlCh-HS22-13-admin.pdf. The second video (news) talks about ChatGPT and the need to sign the created content, mentions FTX, talks about an article from Vitalik Buterin about the current crypto state, and argues that CRDTs is not a silver bullet (Slides: BlCh-HS22-13-news.pdf). [14min]
Lecture 14
The challenge task presentations will be onsite in Rapperswil, at OST, room 1.267
The video in this lecture reveals the challenge task winner. It is Caspar Martens and Simon Kindhauser. Caspar and Simon built a decentralized autonomous organization (DAO), using soul-bound tokens (SBT) to vote on documents and its changes. They used Solidity with the OpenZeppelin Governor, for the backend next.js, PostgreSQL to store metadata, and to connect to the Ethereum, they used ethers.js.
Challenge Task HS 2022
This semester's challenge task (CT) is the design and implementation of an onchain voting application. 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, Solana, ...)
Requirements
All requirements below must be met in order to pass this lecture.
- A working prototype for your use-case
- Use latest stable releases of chosen libraries and frameworks
- Submission of a voting proposal, with previously known consequences and recipients (can be testnet)
- Onchain voting on proposal with at least 2 participants / identities (can be testnet)
- Successful vote needs to trigger something onchain. Can be an ERC20 or an NFT transfer (can be testnet)
- Voting status and process need to be shown in the frontend
- The solution may use existing libraries and code, but those must open software software
Deliverables: 01.11.2022, 23:59 (CET) first hand-in of your initial version of your challenge task (initial version, does not need to run). Second hand-in: 13.12.2022, 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. The code and configuration should be easy to read and/or well documented. For the presentation on the 14.12.2022, 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 5-10 min. After your presentation, you need to hand in your PDF presentation.
You are allowed to use any language, framework, and platforms. However, the supervisors are familiar with those: Java, Golang, JavaScript/TypeScript, Ethereum, Bitcoin, Linux.
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 Wednesday. 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 |
---|---|---|---|---|---|---|---|
01 | Tsigereda N. | Amanda W. | - | OS Voting App | ✓ | group1.zip | group1.pdf |
02 | Christoph S. | Lukas S. | Alexandre L. | CharityVoting | ✓ | group2.zip | group2.pdf |
03 | Adrian L. | Jason B. | Fadil S. | SmartTorrent | ✓ | group3.zip | group3.pdf |
04 | Dominik C. | Jeremy S. | - | ✓ | group4.zip | group4.pdf | |
05 | Thomas K. | Benjamin K. | Benjamin P. | NFTonation | ✓ | group5.zip | group5.pdf |
06 | Caspar M. | Simon K. | - | VoteChain | ✓ | group6.zip | group6.pdf |