# [WIP] Polkadot Championship 2023 - Challenges This document is a work in progress, being updated for 2023! The [Polkadot Championship](https://polkadotchampionship.org/) is an open web3/cryptocurrency contest consisting of a qualification phase and a main event. # Qualification To qualify, you must solve at least 3 challenges from the 5 provided in this repository. ### The process Each challenge has its own subfolder in the "Prequalification_Challenges" folder, wherein it is described. The format of a solution is an ASCII string of the form __PMC{...}__, like PMC{#\This_Could_be_Flagz/#}. A correct solution is also called a flag. What you are looking for in each challenge is to generate the string between PMC{......}. [Submit your solutions in this web form](https://www.cognitoforms.com/UnconditionalPeace/PolkadotMetaverseChampionshipPrequalification) to ask for an invitation. (If you've played Capture The Flag (CTF) games before, this process should be familiar to you.) ### Offline flag verification You can verify the correctness of your solutions before submitting the form. The flags have the following respective Keccak-256 hash values: ``` js/wss - TBA solidity - TBA gear - TBA rust - TBA crypto - TBA ``` To calculate the Keccak-256 hash of a string, you can, for example, install `keccak256-cli` using `cargo`, and then use the `keccak256` command like so: ``` echo 'PMC{This_Could_be_a_Flag.!}'|keccak256 0x6104a5489b671452684fee77579df24e6f2441d1f8a832c7366cf2cfc5194935 ``` ## List of prequalification challenges __TBA challenge__: TBA ### Design for fame By the way, you can compound your solutions with an optional 3D design of your own, in the web form. We'll add each such design to the Hall of Fame, where all the successfully qualified players get listed. # Main event The main event consists of a 3-day hackathon where projects can be conceptualized and implemented, and also of more challenge-solving in parallel. At first, teams should be formed by qualified players. The main event's challenges will be disclosed on /TBA, probably 2023-12-04 at 10:00:00 CET/. The teams will need to solve at least one from each challenge track, in 24 hours. Note: You can already prepare libraries and some code before the hackathon, but the final project needs to be conceived during the main event. ### Challenges for the main event The details of the main challenges will be shared on /TBA, probably 2023 December 5th 10:00 CET/. The teams formed before will need to solve at least one from each track, in 24 hours: one of them should be the team's main delivery and the two other are in proposal form. You can already prepare libraries and some code before the hackathon, but the final ideation and project needs to come out during the main event. Outline: #### Track 1 - Decentralized organizations and governance Challenge 1 - TBA Challenge 2 - TBA #### Track 2 - Privacy and Security Challenge 1 - TBA Challenge 2 - TBA #### Track 3 - AI in Web3 Challenge 1 - TBA Challenge 2 - TBA #### Track 4 - "Give me a problem and I solve it" Challenges - TBA #### Track J - Only for judges and mentors! This track is an optional one for the judges and mentors. They are in their position for a good reason, so will they show-off their 1337 coding skills? What would they do in 24 hours while the players are competing? ... We will see :) ### Choosing challenges and deliveries Playing teams will need to choose one challenge as their main one. Additionally, they need to choose at least one from the other tracks and create a proposal for improving the projects. Overall, three things need to be delivered by the teams: the main challenge solution, a proposal for the second challenge, and a proposal for the third challenge. The teams need to initialize a git project on https://git.hsbp.org/ or https://github.com/ when the 24 hours start and commit all their development there. Commits after the finish of the end of the 24 hours won't be accepted. ### Judging criteria Judges will score each team's project based on the following criteria: - Idea, ecosystem fit - Is it a realistic project and would it be useful for the ecosystem? - Logic flow and topology - Is the logic flow of the program well thought out? - If this is a proof of concept, did the team think about making the flow better? - Note: drawing a high-level logic topology is not a must, but good to have - Presented demo and code - Did the demo work? - How well-written is the code? - Note: the code does not need to be long, but working and should be written during the hackathon. - Libs/StackOverflow/etc parts are fine, but there needs to be original code. - Sustainability - If the presented project would get funding, would it be sustainable in the long run? - Would anyone keep this project running, would it be interesting enough for the community/users? - Practicality - When it comes to using the project, would it be practical or burdensome? - Note: the proof of concept doesn't need to be like that, but knowing that future improvements would make the project practical is important. - Security Model - How is the project protected against threats and abuse? - Second and Third challenge proposal - Did the team present a realistic idea for the two other tracks? - Note: don't spend more than an hour as a team on this, but make sure to do it. 5/5 is the maximum score per proposal. Each criterion has a maximum score of 10 and the judges will decide individually how many scores they vote for the teams. The maximum score a team can get for their main project is 70. After the scores are finalized, they will be presented in the Hall of Fame smart contract. ## Support and feedback for the prequalification We don't help with solving the challenges, but if something is unclear or you think you've found a bug, we are always open to hear from you. ## Contact You can contact us anytime though our email address contact@metaversechampionship.gg or you can talk to __six__ through Matrix (@hexff:matrix.org). You can find all our communication channels, media content and PR postings through [our linkfree](https://linkfree.metaversechampionship.gg/).