Polkadot_Championship_Chall.../README.md

85 lines
4.8 KiB
Markdown
Raw Normal View History

2024-06-24 08:52:26 +00:00
# Polkadot Championship 2024 - Challenges
2023-10-13 07:59:58 +00:00
2023-10-16 08:54:18 +00:00
The [Polkadot Championship](https://polkadotchampionship.org/) is an open web3/cryptocurrency contest consisting of a qualification phase and a main event.
2022-10-25 18:58:08 +00:00
2022-11-21 15:26:59 +00:00
# Qualification
2022-10-25 18:58:08 +00:00
2024-07-09 11:43:20 +00:00
To be able to register and qualify, you must solve at least 2 challenges from the 4 provided in this repository. Please, see the Prequalification_Challenges folder for details.
2022-10-29 11:59:00 +00:00
2022-11-21 15:26:59 +00:00
### The process
2022-10-29 11:59:00 +00:00
2022-11-21 15:26:59 +00:00
Each challenge has its own subfolder in the "Prequalification_Challenges" folder, wherein it is described.
2022-10-29 11:59:00 +00:00
2023-10-17 10:47:23 +00:00
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{......}.
2022-10-29 11:59:00 +00:00
2024-07-09 11:43:20 +00:00
[Register and submit your prequalification solutions in this web form](https://www.cognitoforms.com/unconditionalpeace/polkadotchampionship2024prequalification) to ask for an invitation.
2022-10-29 11:59:00 +00:00
2022-11-21 15:26:59 +00:00
(If you've played Capture The Flag (CTF) games before, this process should be familiar to you.)
2022-10-29 11:59:00 +00:00
2022-11-22 09:26:22 +00:00
### Offline flag verification
2022-10-29 11:59:00 +00:00
2024-07-09 11:43:20 +00:00
You can verify the correctness of your solutions before submitting the form. The hash value of each pre-qualification challenge can be found in its respective folder.
2022-10-29 11:59:00 +00:00
2022-11-21 15:26:59 +00:00
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:
```
2023-10-17 10:47:23 +00:00
echo 'PC{This_Could_be_a_Flag.!}'|keccak256
0x6bf974d9d12f97a607e57cbd843770ec06a564dbb557645dbb8e9d8f48ef2cec
2022-11-21 15:26:59 +00:00
```
## List of prequalification challenges
2022-10-29 11:59:00 +00:00
2024-07-09 11:43:20 +00:00
Easy - Entry Solidity
Medium - Hidden in Rust
Medium - Entropy
Hard - Business Dev
2022-11-21 15:26:59 +00:00
2022-11-22 09:26:22 +00:00
# Main event
2022-11-21 15:26:59 +00:00
2024-08-07 12:14:21 +00:00
The main event consists of a 2-day hackathon where projects can be finalized. You can start before the main event and form teams too!
2022-11-21 15:26:59 +00:00
Your final project needs to be conceived during the main event. Mentors and workshops will help you make it happen.
2022-11-21 15:26:59 +00:00
2024-07-19 14:45:22 +00:00
[Link to Track Challenges](https://git.hsbp.org/Web3_Championship/Polkadot_Championship_Challenges/src/branch/master/Main_Challenges.md)
2022-11-21 15:26:59 +00:00
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.
2022-11-21 15:26:59 +00:00
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.
2022-11-22 09:26:22 +00:00
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.
2022-12-04 11:03:22 +00:00
### 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.
2023-10-30 07:48:11 +00:00
- Viability and sustainability
2022-12-04 11:03:22 +00:00
- 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.
2022-12-04 11:03:22 +00:00
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.
2022-11-21 15:26:59 +00:00
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.
2022-10-30 13:05:27 +00:00
## Contact
2023-11-22 05:41:39 +00:00
You can contact us anytime though our email address contact@cryptoctf.org or you can talk to __six__ through Matrix (@hexff:matrix.org).
2022-11-21 15:26:59 +00:00
2023-10-17 10:47:23 +00:00
You can find all our communication channels, media content and PR postings through [our linkfree](https://link.polkadotchampionship.org/).