# Polkadot Championship 2023 - Challenges The [Polkadot Championship](https://polkadotchampionship.org/) is an open web3/cryptocurrency contest consisting of a qualification phase and a main event. Two new challenges will be coming next week! # 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 __PC{...}__, like PC{#\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 PC{......}. [Submit your solutions in this web form](https://www.cognitoforms.com/UnconditionalPeace/PolkadotChampionshipPrequalification) 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: ``` Entry solidity - 0x2a2b9543f5867d51151a817d282fbb3abf0e763484f23867ca238f680802e9ab Hidden in rust - 0x16933d9797b98f43d30b30fd198c53b1ba3372f6a5d6a11faf08fa6d06e8b208 Business plan - 0xd870fd076f038801fbb60ce4e4d63b5cc06867b8bb917b06c5f13237e93a02aa (you get this after manual confirmation) Entropy - 0x513b0aa1dcded5f38352d6b9ef729bb0ae4069489e0c2603dce4b91a3f1433d0 Gandalf - 0xdbd5381511b2b9b20ee59bcefcb7f76650030d20e99886fa03b3c3f5cef47d37 ``` 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 'PC{This_Could_be_a_Flag.!}'|keccak256 0x6bf974d9d12f97a607e57cbd843770ec06a564dbb557645dbb8e9d8f48ef2cec ``` ## List of prequalification challenges Easy - Entry solidity - This is a challenge anyone with basic web3 knowledge can solve. Easy-Medium - Hidden in rust - It takes a little extra to sovle it. Medium - Entropy - It takes a little extra to sovle it. Medium - Gandalf - You need to code a simple blockchain without networking. Hard - Web3 business plan - Creation of a legit web3 business plan can be tough. # Main event The main event consists of a 3-day hackathon where projects can be finalized. First day is the day for education, second day is about DEADLINE MODE ON, then the third day is about the presentation of the projects. You can already get started with team formation and working on the main challenges! Your final project needs to be conceived during the main event. Mentors and workshops will help you make it happen. [Link to Main Challenge Details](https://git.hsbp.org/Web3_Championship/Polkadot_Championship_Challenges/src/branch/master/Main_Challenges.md) Playing teams will need to choose one challenge as their main one. Additionally, they need to choose one from the other tracks and create a proposal for solving them. You can already see good examples from last year's hackathon. Overall, two things need to be delivered by the teams on morning of the 3rd day: the main challenge solution, a proposal document for the second challenge. The teams need to initialize a git project latest on the 2nd day of the hackathon, on https://git.hsbp.org/ or https://github.com/ (which is shamefully owned by Microsoft) and commit all their development there. Commits after the end of the 24 hours DEADLINE MODE ON 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. - Viability and 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 challenge proposal - Did the team present a realistic idea for the other track? - 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 for this 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. 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@cryptoctf.org 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://link.polkadotchampionship.org/).