Prequalification challenge

master
six 2023-10-30 11:48:11 +04:00
parent 9d09790fe7
commit ae2e29634a
2 changed files with 34 additions and 10 deletions

View File

@ -0,0 +1,28 @@
## Implement Gandalf's blockchain
You need to reveal Gandalf's 8 words and create a chain of blocks with them: https://gandalf.lakera.ai/
Task is the create a local blockchain (no consensus/networking needed here):
- Beat Gandalf AI game, find all the 8 words. Put them in order. Each one of them will be the data in your block.
- Use | as delimiter between the words and the hash. Between the word and the hash, there is a - sign.
- How this looks like: GENESIS|WORD1-HASH|WORD2-HASH|WORD3-HASH
- Use SHA512 for the hashing algo. Start with the word and the delimiter and the first word: "GENESIS|WORD1-"
- Make sure to calculate the dash sign into the next hash. It is part of the block data. You only add the hash from the previous block, not all data!
- Everything is UPPERCASE.
If you are doing it correctly, you will have the following block hashes, starting from 0, Genesis:
0. 8288b35979d4e5dd5eee89a711ea5f41b04a17e7473a874c2b551844b57c0c24545cdbe7abf8e68dcd8da18a04ca8a1cc5798065ddb4fb32443136a589b3439d
1. 3ee14c107bd6b3e050fac7b0a2ff42a474b10c789830d03f22cdf242a773905a88ac98ebcafdd2e8c0134c3fe285bb58f52f68a1d873290cf2430bb0b22429a7
2. 058e7624f1d69625f1ecc4cdf41921fc7ffd31a38de10c9dab543986d68f47363974d2ea25832e6eacc5425afd685c11852fdd66793e7547dc9773cffb0431e8
3. 2990022ea32e47959b83bb7faf36e430c046533da075ca6aabad7269891195480d86d9b76ac29b22268ef1ef419c147291b8ac9fea0f1b737dfce360be384764
4. ff0dd5196c836fb663b87aa0e8b647e0862646673f8b6eca3a38866e02290e02d95c94df83cd4be1ac3900f9e69d00c1d9ab5a30a5e4f6102a97d25eeab8ecf1
5. 921be30124a505711224fb6de0955bd7e4c3b518aa4d5f65b6242c73fc1d4d978a8251c7d83f775aa14c00d01a5225085291c5df373a3bc18945b854d12e868f
6. This is secret! You need to insert the correct word plus the hash in order to count the final hash for the 7th block, which will be the flag.
Now that you solved Gandalf's game and wrote a local blockchain (without networking) it is time for the flag. Create the hash of block number 7 with the following data and hash it: "ICANHAZCHAIN-{PREVIOUS BLOCK}". The hash of this final block will be your flag.
The flag is the 7th block's sha512sum inserted into the PC{...} format. Pro tip: if you have issues with hash results, check with hexdump.
_Keccak256: 0xdbd5381511b2b9b20ee59bcefcb7f76650030d20e99886fa03b3c3f5cef47d37_
_Challenge author: six_

View File

@ -27,7 +27,7 @@ Entry solidity - 0x2a2b9543f5867d51151a817d282fbb3abf0e763484f23867ca238f680802e
Hidden in rust - 0x16933d9797b98f43d30b30fd198c53b1ba3372f6a5d6a11faf08fa6d06e8b208
Business plan - 0xd870fd076f038801fbb60ce4e4d63b5cc06867b8bb917b06c5f13237e93a02aa (you get this after manual confirmation)
Entropy - 0x513b0aa1dcded5f38352d6b9ef729bb0ae4069489e0c2603dce4b91a3f1433d0
One more challenge is coming!
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:
@ -44,21 +44,17 @@ 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.
Two more hard challenges are coming soon!
### 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.
The main event's challenges will be disclosed on 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.
@ -83,7 +79,7 @@ Outline:
#### Track J - Only for judges and mentors!
### Choosing challenges and deliveries
### Choosing challenges and deliveries at the final round
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.
@ -106,7 +102,7 @@ Judges will score each team's project based on the following criteria:
- 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
- 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