Navigation auf uzh.ch
This semester's Challenge Task (CT) is to implement a Decentralized Application (DApp) deployed on the blockchain and the security assessment of code developed by another group. Thus, in the first stage, groups must design and develop a lottery application. In the second stage, the lottery application must be secured against possible threat vectors (investigated by students). Considering the limited time frame and wide range of threat vectors, students must select a suitable design to secure their app against selected threats. In the third stage, the source code will be exchanged, and groups will perform a security analysis in the dApp and smart contract delivered by another group.
Portability is a key characteristic that must be ensured in all stages of the CT, meaning that the lottery application should be easily deployed and operated on different machines. As such, groups should note that compromises within their design choices might be made to ensure the portability of their lottery application. For example, any additional security service that impairs its straightforward deployment and operation should be avoided. For example, adding a two-factor authentication that requires the use of external tokens or sending SMS.
One can check past CTs (e.g., Challenge Task 2017, Challenge Task 2018, and Challenge Task 2019) to understand examples of applications. Even though the groups are free to choose the design of their application to be implemented as a DApp, all groups must ensure that all requirements are met and follow the defined deadlines. The necessary information to fully accomplish the CT, assumptions, libraries, tools and impact on the grade are detailed in the next sections.
Each CT group is free to decide on the design of the DApp, for example, how the communication with the on the use-case and how to interact with the system. As mentioned, portability should be maintained at all stages to ensure that all groups can exchange source codes and run the security analysis. However, for each CT group, the following key requirements need to be met:
Further suggestions include:
The following facts may be assumed:
Note: Further assumptions, which are not restricting these assumptions above, can be made according to each group's approach.
The items below represent supporting libraries, tools, or references that are recommended to be taken into consideration.
The list below depicts the planning for the FS 2023 Challenge Task. Deadlines are categorized as recommended (groups may adhere or not) and strict (all groups must adhere).
A lottery application is well-known, and there are various repositories where students can begin their work. Using current apps for adjusting which security mechanisms should be applied is therefore advised. Note that applications with already-implemented security features should not be used (the TA should check them). The objective isto apply the obtained knowledge regarding the design of safe on-chain apps and analyze the code of other groups at the final stage.
During the challenge task each group will be able to ask questions and get support from their supervisors:
The groups that not discussed or sent their topics to the teaching assistants are encouraged to contact them as soon as possible.
# | Group Name | Participants | Presentation day | Midterm Report | Source Code Exchanged | Final Report |
---|---|---|---|---|---|---|
1 | Apollo |
Wesley Müri |
25.05 | ✅ | ✅ | ✅ |
2 | Zeus |
Alain Küng |
25.05 | ✅ | ✅ | ✅ |
3 | Hera |
Tiantian Luo |
25.05 | ✅ | ✅ | ✅ |
4 | Nike |
Yixuan Zhou |
25.05 | ✅ | ✅ | ✅ |
5 | Hades |
Junyong Cao |
25.05 | ✅ | ✅ | ✅ |
Challenge Task (CT) presentations and demonstrations will take place on Thursday 25.05.2023 from 14:00 to 15:45 hours. On these dates, the groups will present and demonstrate their results. Presentations and demos will take place in room BIN-2.A.10.
Please make sure that you are available to attend the presentation date (i.e., that you do not have exams, presentations, courses from other modules on that date).
The CT grade will impact in the final written exam grade in the following manner:
|
|
Fulfilment of the Requirements
Requirement / Group |
Apollo | Zeus | Hera | Nike | Iris | Hades | Nemesis | Athena | Poseidon | Demeter | Tyche | Artmeis |
---|---|---|---|---|---|---|---|---|---|---|---|---|
RQ 1 |
||||||||||||
RQ 2 | ||||||||||||
RQ 3 | ||||||||||||
RQ 4 |
✅ = Fulfilled ❎ = Not Fulfilled
🏆 Winner CSG-award: TBA 🏆
Please find the report and source code of each group for download at https://gitlab.ifi.uzh.ch/scheid/bcoln/tree/master/FS20. Source code is licensed under open source license. In case of questions, please contact the respective supervisor.