Navigation auf uzh.ch

Suche

Department of Informatics - Communication Systems Group

Challenge Task 2024

Intro

This semester’s Challenge Task (CT) is to design and implement a decentralized application (dAPP), deployed on the blockchain. The choice of use case to be implemented depends on the group’s choice. The groups should inform the teaching assistants on the topic (refer to the →deadlines) and discuss the feasibility of the proposal before starting designing and prototyping the application. Please check past CTs to have an idea about application outcomes (e.g., links).

Requirements

The following requirements must be satisfied for the group to obtain the exam bonus. The necessary information on requirements, useful links and tools, and impact on the grade are detailed in the next sections.

  1. Domain, Problem, and Requirements
    • Select the use case for the application, for example:
      • Food or agriculture supply chain
      • Land title management
      • Intellectual property rights management
      • Decentralized finance
      • Voting
    • Discuss why the chosen use case is important.
    • Outline at least three problems of the chosen use case that can be addressed using blockchain.
    • Outline at least three functional requirements for the chosen use case.
  2. dApp Architecture Design
    • Discuss the suitability of using blockchain to address the identified problems (e.g., requirements for data immutability or neural data exchange platform, data transparency, scalability considerations).
    • Design a high-level software architecture to fulfillfulfil identified functional requirements. Consider the blockchain selection (e.g., public or private), the role of the blockchain in the system, on-chain and off-chain components.
  3. dApp Development
    • Revise the architecture design based on the feedback on the midterm report
    • Develop a dApp based on architecture design and include the following:
      • Interactions with blockchain.
      • At least two smart contracts.
      • Off-chain computational component.
      • Off-chain data storage (e.g., cloud, IPFS).
      • Oracle (if applicable)
      • Graphical User Interface (GUI) (optional).
    • Write a final report documenting the smart contracts, its operations, and the source code.
    • Present your architecture design and demo dApp at the final presentation.
  4. dApp Deployment
    • Ensure that the dApp and its smart contracts can be deployed in the Ethereum testnet.
      • You can use just one node (e.g., Ganache, Parity, Geth client) with multiple addresses.

 

Deadlines and Evaluation

Each group can achieve an exam bonus of 10% by (i) handing in solutions to all exercises with proper quality and (ii) complying with the requirements on the CT outlined above. To do so, the following deadlines should be respected:

  1. Attend the introductory presentation on the CT: 22.02.2024 (optional, onsite)
  2. Participate in the exercise session to form the CT groups: 29.02.2024 (mandatory¹, onsite).
  3. Hand in the proposal: 10.03.2024 (mandatory¹, online - see → Submissions).
  4. Midterm report: 25.04.2024 (optional, online)
    Should include the following sections:
    • Selected domain and why it is important
    • At least three problems of the chosen domain
    • At least three functional requirements
    • Suitability of using blockchain
    • Software architecture
  5. Final report: 22.05.2024 (mandatory¹, online)
    Extend the midterm report with the following sections:
    • Implementation details
    • Design trade-offs and limitations
    • Link to the source code
  6. Final presentation: 23.05.2024 (onsite, mandatory¹)
    • Each group will have 15 minutes to present the architecture design and demo the application, showing that it meets the defined requirements.
    • The presentation should include slides, covering:
      • Selected domain and identified problems
      • Functional requirements
      • Suitability of blockchain
      • Software architecture
      • Demo
    • The group will be evaluated by the assistants during the presentation, with the following criteria taken into account:
      • Architecture design and implementation
      • Teamwork
      • Presentation
      • Demonstration of the solution
    • The winning group will receive the “BCOLN Challenge Champion 2024” award - the winners will be announced in the week after the final presentation.

¹ mandatory to pass the CT

 

Submissions

Hand-in the exercise solutions via OLAT, CT proposal, and all CT-related matters by email to vonderassen@ifi.uzh.ch and schumm@ifi.uzh.ch

Libraries and Tools

Make use of the existing libraries and tools developed for building dApps, such as: 

Organization

The groups should be balanced in experience and workload. Every group should have at least one development expert. During the CT, the group is recommended to meet every week during exercise hours to work on the task and discuss the next steps.

Besides the exercise time slots assigned on Thursdays, the groups should utilize their homework time to work on the CT. The groups should determine and set up an internal project plan with the milestones, responsibilities, and timings. The groups should distribute the workload so that each group member gets a fair load of work. Do not miss the opportunity to discuss details with the teaching assistants, as he/she might give you useful directions.

# Group Name Participants Proposal Presentation day Final Report
1 Apollo Yukta Koralla
Qi Guo
TBD  
2 Zeus Nicola Crimi
Cyrill Meier
TBD  
3 Hera Xiaotong Yang
Zhongjian Yu
TBD  
4 Nike Alberto Masera
Szczepan Dominik Gurgul
Roham Zendehdel Nobari
TBD  
5 Hades Leiheng Qin
Zhengxun Yin
Aaron Arauz
TBD  
6 Nemesis Faizan Nehal Siddiqui
Xiong Li
   
7 Athena        
8 Poseidon        
9 Demeter        
10 Tyche        
11 Artemis        
12