Here you find a description and resources for the prospective project group starting in the summer term 2020.
The goal of this project is to explore software engineering in the context of distributed ledger technology (DLT) and smart contracts based on the idea of a system for university credit management.
Of course we build software in this project group, but your task is also to develop plausible use cases that benefit from being implemented using DLT. You inspect security and privacy issues in these cases and carefully observe how (and if) the software engineering process changes because of the partial implementation of system on a blockchain. Of course you also argue why the DLT-based solution here has advantages over a centralized system and keep a watchful eye on its energy consumption - the Achilles' heel of DLT.
For your university credits you usually rely on a central authority (the examination office) to keep track of all of your course enrollments and grades you receive. They are the central point of all of your inquiries and manage really well in our case. However, you have to rely on their disaster recovery plans to work in case of an unforeseen event (e.g., fire, flooding, hacking attempts). This is a single point of failure and, moreover, you are not in technical control of your own data. Wouldn't it be nice if you would control the sharing of your own data with the parties necessary and not any other?
Things get more complicated once you change instituions or enroll in a study program held by multiple universities. Then you have to jump through all sorts of hoops to get your home university to credit you for the grades you received at the other university. Even when the collaboration is decades old it is always a case by case decision. Wouldn't it be nice if you could rely on established trust relationsships and get accredited instantly?
Let's say you are in your first semester and take the first course. Of course at the end there is an exam and quite happily you pass it. The professor gives you a grade and publishes it to your university "wallet". They keep a copy of this transaction for a certain small period of time. For centralized record keeping this transaction is also sent to the university "blockchain" and retained there for a centain larger period of time. By german law this would be 10 years.
Later on in your studies you take a course where that particular course is a prerequisite. So your professor asks you to provide proof that you got your grade their. Luckily you have your token and send proof of that token. You would not need to if the professor still has the transaction in their blockchain, but for the sake of this example let's say this is a different professor now. Either way, you can provide this proof yourself and the professor can check that. They issue a new enrollment token and now you can participate in this course. Without the central administration having to work for that. Fun times!
Do not feel bound by these use cases. In this project group you can go above and beyond the provided information and develop a blockchain-based solution in the university context.
For this project, we propose an application stack consisting of the technologies below. If you are more satisfied with a different solution, we can speak about it.
As all of these technologies will be new for you this year there will be no coding assignments. Instead, I ask you for a Letter of Motivation.
Your Letter of Movitation should answer (some of) the following questions:
Avoid all kind of platitudes, flowery phrases and flattery. Deal with your topics in a reflective and factual way. Do not campaign for your beliefs.
You can write either in English or in German.
Here are a few guidelines for writing such a letter:
As any project group we follow the standard "stabile marriage" process described on the PG website. However, you can pre-register your letter by sending it to me via e-mail. It will not give you an advantage, but you will be considered as if you had submitted through the system. The advantage is that you can check it off in your to-do-list earlier.
You will also be supported by Jan-Niclas Strüwer and Johannes Düsing. Both are alumni of the Delphi Project Group 2018/2019, accomplished Scala programmers, and also well-read into blockchain technology.