Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.74k stars 445 forks source link

Blockchain Engineering - class of 2024 #7691

Open synctext opened 7 months ago

synctext commented 7 months ago

Master course - Blockchain Engineering CS4160 (TU Delft)

All organisational matters in one place! Brightspace: enrolment and announcements.

Class schedule

On-campus lectures location: DELFT CAMPUS - Drebbelweg-Instruction Room 4 (35.1.170)

Week Description
3.1 course outline slides and presentation of available projects and formation of teams (each 5 students)
(14Feb) 8:45 - 9:45 : present all available projects
  9:45 - 10:30 : self-organise and form teams of 5 students. Professors available for questions
3.2 Networking foundations for chains (Bulat)
IPv8 simulator
3.3 Introduction to blockchains, Bitcoin, ledger technology, and DAO (slides) by (Can: TU Delft & IOTA Foundation)
  short 10 minute introduction to Superapp (Rowdy)
3.4 Consensus models and algorithms (Jeremie)
3.5 General lessons from 14 years of ledger science experience. Additional detailed reading: IPv8 documentation, the tutorial and Trustchain.
3.6 Who is in Charge: Centralised and decentralised infrastructures (Dr. Leonard, Authority Financial Markets (AFM)) (final class lecture)

Best in-depth scientific overview of "Blockchain Engineering": "Understanding blockchain: definitions, architecture, design, and system comparison"

On-chain democracy

Draft 2024 project: "Blockchain democracy and self-governance". The "Blockchain Engineering" master course experiment we will determine how easy {or hard} it is to create democracy. Anybody using a smartphone can contribute to the deliberation, democratic decision making, and self-governance of the ecosystem. The basic building blocks are "enhancement description", "code specification", "code proposal", "code modification", and "code upgrade".

The above idea is divided into 3 projects you can select for this course:

idea of auto-signatures when talking to somebody (randevouz). Registry of responsive voters. Best to have 2+ teams work on 1 topic. Easy to compare results. Less choice (3 sub-projects) versus broad choice (5 sub-projects).

Learning goals of this course.

Student is able to:

Grading

The following grading scheme is used. It prepares you for the more complex master thesis grading scheme.

Please circle what is applicable ≤5 (fail) 6 (sufficient) 7 (satisfactory) 8 (good) 9 (very good) 10 (excellent)
Quality of work (50%) No running code. Live demo failed. No test code. Work done is not functional. Minimal running code. No test code. Work done has minimal significance. Work done has some significance. Work has some contribution to the state-of-the-art in ledger science. Work has contributed to the state-of-the-art in ledger science. Work has contributed significantly to the state-of-the-art in ledger science
Quality processes (20%) No unit testing and no stability Minimal unit testing and minimal stability Decent code coverage, stability, and quality assurance Good testing with unit,module, and integration testing. Great test code is the majority of produced code. Excellent test code with excellent quality assurance
Planning (20%) No weekly progress reporting. No compiling code in Week 2. Failing mid-term evaluation. No effective group communication and cooperation minimal progress reporting, compiling code, and group communication. Sufficient progress reporting, compiling code, and group communication. Good progress reporting, compiling code, and group communication.
Documentation (10%) no documentation Minimal documentation Understandable documentation in required format Good documentation for target audience Very good documentation Excellent documentation with in-depth technical and scientific coverage

Starting point for your code

HOMEWORK: get this to compile in Week 2.

under-tone commented 5 months ago

Project "health-1"

The European Commission is currently investigating how health data can be used to personalize medicine and improve healthcare innovations. A tremendous amount of medical data is generated. However, because of strict regulations and lack of standardization, many data owners are hesitant to share this data. The European Health Data Space is proposed as a standard for

  1. giving people direct control of their personal data, and
  2. enable health data to be used for research and other purposes.

For this project, you are tasked with creating a blockchain system that enables the 2nd goal. The network, consisting of regulators, medical data providers and research institutions, uses a permissioned blockchain to track queries and their responses. Regulators are tasked with maintaining the blockchain, but do not actively participate in the network otherwise. Medical data providers and research institutions should be able to exchange data and provide proof of these transactions to the blockchain.

During the course, you and your teammates create a blockchain data exchange system based on Hyperledger Fabric. Pair this with a public key infrastructure system for signing and verification of signatures. To realize the data exchange and provide the proof of the transactions, you develop a modular interface/API. Regulators have an interface to add blockchain participants and set permissions. Authenticated researchers have a web interface to see statistical analysis of the data available on the blockchain (i.e., the data is stored on the blockchain). For example, the number of (medical) devices in a certain area, the average age of people using such devices based on a parameter, the access information and so on. The blockchain system should be extendable, for example, such that new data types can be added easily.

This project is supervised by professor Z. Erkin and directly related to ongoing research within the SDSI group. This project will be supported by personnel from the SDSI group, and can be taken by a maximum of two groups.