Lectures Publications Theses Events

HS20

Challenge Task Winner Advanced Distributed Systems & Blockchain HS 2020

alt text

The winning group is: Florian Bitterlin, Andreas Baumgartner, Pascal Schürmann

Florian, Andreas, and Pascal implemented a donation platform and used the blockchain to keep track of donations. They used Spring Boot with a PostgreSQL database and for the frontend React/Redux that connects via MetaMask to the Ethereum network. (Announcement)

The price is sponsored by Axelra, a tech venture builder that accelerates digital business models.

Important dates

Due to COVID-19, this course will be remote. The lecture will be recorded and uploaded to this page, the exercise will be via MS Teams. Please join MS Teams with the following code: iz0y31j

Advanced Distributed Systems & Blockchain (ADSB)

NrDate LecturePreliminary TopicsWho
0116.09.2020Admin, Challenge Task, Repetition VSSThomas Bocek
0223.09.2020Repetition VSSThomas Bocek
0330.09.2020WebRTCThomas Bocek
0407.10.2020P2P and DHTsThomas Bocek
0514.10.2020Ethereum and SolidityThomas Bocek
0621.10.2020Tezos and more SolidityThomas Bocek
0728.10.2020Blockchain and TezosJohn Newby and Alessandro De Carli
0804.11.2020Mining, Algorithms for Distributed SystemsNello Tolino, Thomas Bocek
0911.11.2020Bitcoin Layer 2 ScalingChristian Decker
1018.11.2020Virtualization DetailsThomas Bocek
1125.11.2020Exam PreparationThomas Bocek
1202.12.2020HTLCs, Payment Channels, Cross-chain Atomic Swaps; Challenge Task PresentationsStudents, Thomas Bocek
1309.12.2020Ethereum 2.0; Challenge Task PresentationsStudents, Thomas Bocek
1416.12.2020Fragestunde und Q-Feedback, live-lecture (no exercises) via Microsoft TeamsThomas Bocek
1506/13.01.2021Beratungswoche, live-lecture (no exercises) via Microsoft TeamsThomas Bocek

The lectures and slides are only via OST VPN accessible.

Lecture 1

Admin About me
News VSS Repetition

The admin part gives an overview over this lecture and presents the challenge task for this course (Slides: ADSB-HS20-01-Admin_v1.pdf). In the second video, I briefly present myself (Slides: ADSB-HS20-01-About-me_v1.pdf). The third video is the segment "distributed systems in the news", where I present the recent 51% attack on Ethereum Classic and an article about front-running (Slides: ADSB-HS20-01-News_v1.pdf). The fourth video starts with the VSS repetition (Slides: ADSB-HS20-01-VSS_v1.pdf). [86min]

Lecture 2

Admin News
VSS Repetition

The admin part talks about the challenge task details and further steps (Slides: ADSB-HS20-02-Admin.pdf). In the news part, I highlight a new record in the Ethereum blockchain, over 1.4 million transactions in one day (Slides: ADSB-HS20-02-News.pdf). The third part finished the VSS repetition (Slides: ADSB-HS20-02-VSS.pdf). [102min]

Lecture 3

News Admin
WebRTC

The news part mentions GitHub Codespaces, talks about the high Ethereum fees and presets a git learning game. Slides: ADSB-HS20-03-News.pdf.

The admin part is about the challenge task groups (which is already outdated, since we now have 7 groups). Slides: ADSB-HS20-03-Admin.pdf.

The third part presents WebRTC and shows with a simple demo how it could be used. Last year, a couple of students used WebRTC in their challenge task (Slides: ADSB-HS20-03-WebRTC.pdf). [96min]

Lecture 4

News Admin
WebRTC

The news part compares Docker with LXD and in a second article talks about CRDTs (conflict free replicated data type). Slides: ADSB-HS20-04-News.pdf.

The admin part is about the challenge task groups (which is again already outdated, as we may have 6 groups only). Slides: ADSB-HS20-04-Admin.pdf.

The third part presents an Introduction into fully decentralized P2P systems. This was the first lecture, but since last year, a couple of students used WebRTC in their challenge task, I decided to present WebRTC before this lecture (Slides: ADSB-HS20-04-P2P-Intro.pdf). [80min]

Lecture 5

News Admin
Ethereum and Solidity

The news part talks about an interview with the DNS creator and mentions DoH and DoT. DoH and DoT debates are still ongoing: opinion1, opinion2. Furthermore, Chrome enables HTTP/3 support. Slides: ADSB-HS20-05-News.pdf.

The admin part briefly shows the groups with its topics. Slides: ADSB-HS20-05-Admin.pdf.

The third part goes into details with Ethereum and Solidity. Some students mentioned that they have started to look into this in their challenge task, so I focused in this lecture on Solidity contracts and I will continue next week with more Ethereum topics, such as random numbers or dividend payments (Slides: ADSB-HS20-05-Blockchain-ETH.pdf). [96min]

Lecture 6

News Admin
Ethereum and Solidity Tezos

The news part reminds you to use multi stage builds with docker and talks about TCP latency. Slides: ADSB-HS20-06-News.pdf.

The admin part briefly mentions the Q-Feedback that will be coming on the 30.11.2020. Slides: ADSB-HS20-06-Admin.pdf.

The third part goes even more into details with Solidity. This lecture discusses dividend payments, since one group is implementing dividend payments. (Slides: ADSB-HS20-06-ETH-Smart-Contracts.pdf). The fourth part introduces Tezos, for those groups that have not decided on a blockchain yet and want to be environment friendly. (Slides: ADSB-HS20-06-Tezos.pdf). [98min]

Lecture 7

News Tezos with John Newby
Blockchain and Tezos with Alessandro De Carli

The news part discusses various topics, Kubernetes Ingress controllers, TCP issue, a local CDN, HTTP/3, AWS with their 100 million IPv4 addresses, Ethereum surpassing Bitcoin, Swisscom with 1Gbit/s in the train, and finally something about timezones.

The second part are interviews with Alessandro De Carli from papers.ch and John Newby from Tz Connect. During the interview we mentioned some sites, here are the links: Dapp explorer, Developer portal, Kraken stakes more than Binance, Connect dApps with Wallets, Beacon Proposal, AirGap, and Minimising transaction costs. [97min]

Lecture 8

News Admin
Algorithms used in Distributed Systems Mining with Nello Tolino

The news part discusses various topics, such as Kafka optimizations and the birthday of the Bitcoin whitepaper. It also provides links to the MIT distributed systems lectures. (Slides: ADSB-HS20-08-News.pdf).

The admin part is a reminder for the deadline on the 04.11.2020 23:59. Please send me your link to your repo before that. (Slides: ADSB-HS20-08-Admin.pdf).

The third part details some algorithms that are often used in distributed systems, such as Bloom filters, Merkle trees. It also introduces algorithms that can be used on top of a key/value storage systems. (Slides: ADSB-HS20-08-P2P-Algo.pdf).

The fourth part is the interview with Nello Tolino, who mines cryptocurrencies (besides working @OST). [118min]

Lecture 9

News Admin
Bitcoin Layer 2 with Christian Decker

The news part discusses a PoS article (which I don't always agree with) from Vitalik Buterin. (Slides: ADSB-HS20-09-News.pdf).

The admin part explains what a group needs to do when they want to hand in. (Slides: ADSB-HS20-09-Admin.pdf).

The third part is the interview with Christian Decker, who works on making Bitcoins scalable. [86min]

Lecture 10

News Admin
Virtualization Details

The news part discusses various outages (Infura, Youtube, Jira) and why you don't need a blockchain solution for your next project. (Slides: ADSB-HS20-10-News.pdf).

The admin part is a reminder for the hand-in of the challenge task on the 02.12.2020 23:59. (Slides: ADSB-HS20-10-Admin.pdf).

The third part is goes into virtualization details, and shows OverlayFS, Cgroups, and network namespaces. (Slides: ADSB-HS20-10-Virtualization.pdf). [81min]

Lecture 11

News Exam Preparation

The news part discusses WireGuard vs OpenVPN, docker vs. podman, the issue with TLS and internal addresses, and points to a $20m heist of a DeFi project. (Slides: ADSB-HS20-11-News.pdf).

The exam preparation discusses the exam from HS 2019. (Slides: ADSB-HS20-11-Exam.pdf). [95min]

Lecture 12

News Admin Group 4
HTLC, Payment Channels, and Cross-chain Atomic Swaps Group 6

The news part mentions a Bitcoin article from Digitec and presents an article about the state of TCP congestion control. (Slides: ADSB-HS20-12-News.pdf).

The admin part is a reminder for the hand-in of the challenge task on the 02.12.2020 23:59. Send me for the hand-in, your presentation slides and the source code in a zip file via email. Please also fill out the Q-Feedback (Slides: ADSB-HS20-12-Admin.pdf).

The third part is goes into the details of HTLCs, payment channels, and cross-chain atomic swaps. (Slides: ADSB-HS20-12-Payment-Channels.pdf).

The fourth and fifth parts are the CT group presentations. [110min]

Lecture 13

News Admin Group 3
Ethereum 2.0 Group 2

The news part talks about partitioned browser caching, a live database migration, about vulnerable docker images, and PKCE. (Slides: ADSB-HS20-13-News.pdf).

The admin part is a reminder to fill out the Q-Feedback (Slides: ADSB-HS20-13-Admin.pdf).

The third part gives on overview over Ethereum 2.0. (Slides: ADSB-HS20-13-ETH2.pdf).

The fourth and fifth parts are the CT group presentations. [96min]

Lecture 14

News Group 1
Group 5

The news part is a reminder that distributed systems may fail. (Slides: ADSB-HS20-14-News.pdf).

The fourth and fifth parts are the CT group presentations. [54min]

The feedback lecture will be live, using MS Teams. Please join MS Teams with the following code: iz0y31j on the 16.12.2020 at 10:10 - 11:50. (Slides: ADSB-HS20-14-Admin.pdf

Challenge Task HS 2020

This semester's challenge task (CT) is the design and implementation of a decentralized financial application.

The system consists of two parts:

  1. The financial application needs to support business processes that deal with money
  2. The financial application use-case needs to include crypto currencies

Requirements

All requirements below must be met in order to pass the challenge task.

  1. Full decentralization and P2P mechanisms for the financial product (e.g., WebRTC, TomP2P, libp2p) or use scalable mechanisms ready to be deployed on the cloud
  2. Graphical (GUI/Web-based) frontend (can be simple)
  3. Public blockchain based (e.g., Bitcoin/Ethereum)

Further requirements are:

If one requirement is missing, you cannot write the exam.

Libraries and Tools

The items below represent supporting libraries, tools, or references that could to be taken into consideration.

Organization

Milestones

There will be one milestone during the CT. The milestone shall include an initial setup of your application, preferably including basic functionality.

Please send your source code to your supervisors until 04.11.2020 23:59. Make sure that your submission includes setup instructions. If the supervisors are not able to run your application using the instructions given, you will be given a second chance to submit your source code a week later in order to still pass the attestation. If you fail the second chance, you won't be able to attend the examination.

Presentation and Evaluation

Challenge task submission deadline is 02.12.2020 23:59 and presentations and demonstrations will take place on 02.12.2020 and 09.12.2020. On these dates, the groups will present and demonstrate their results, which will be evaluated by a jury. Presentations and demos on dates will be announced.

Note: The participation of the CT is mandatory for the permission to attend the exam. There will be no grade and you can only pass or fail the CT. However, keep in mind that participation will greatly reduce the effort you have to spend studying for the exam.

Groups

NrNamesProjectMilestoneCT AbgabeCT passedFiles
01Yannick V., Robin E.Kudos Tokengroup1.pdf, group1.zip, group1.mp4
02Marc S., Yves B., Fabian G.Sharesgroup2.pdf, group2.zip, group2.mp4
03Daniel S., Marco C.Imagesgroup3.pdf, group3.zip, group3.mp4
04Raphael J., Gino C., Sven H.Emailgroup4.pdf, group4.zip, group4.mp4
05Benjamin P., Yanick R., Etienne B.Donationgroup5.pdf, group5.zip, group5.mp4
06Florian B., Pascal S., Andreas B.Donationgroup6.pdf, group6.zip, group6.mp4