Guidelines for hackathon at WCEF 2018
NuCypher is a key management system which leverages proxy re-encryption to control access over encrypted data. You can find the white paper here (although you don't have to read it all!). If you have any questions, you can ask in person at the hackathon, or go to our developer slack channel.
We use split-key proxy re-encryption scheme. The reference implementation in its most readable, self-explaining form can be found here. In brief, encryption and decryption is just ECIES, but the ciphertext (or, to be more correct, the ephemeral public key) can be transformed so that the data can be shared with more than one recepient through re-encryption.
Please checke the tutorial in order to set up the environment and play with re-encryption.
We need client libraries for the following languages: Go, Rust, C. If you wish to play with low-level cryptography in any of these languages (or even different ones if you like) - feel free to hack on this task.
Our mining nodes will be the workhorses of the network. They stake the token and, isntead of confirming transactions, they re-encrypt ciphertexts. Mining works in the follwing manner:
- Miner deposits the token (should be no less than minimum amount);
- Miner locks the tokens for a specified time T (T >= 1 month);
- Mining is happening, and the miner re-encrypts during this time;
- Miner can chose to either reinvest block rewards back into mining; or to take profits; or to start gradual spindown of the node in the time T.
We also would need to have a visual graph so that the miner can compare how much tokens he gets over time if chosing different options.
The UI should be a web UI. Could be built using any web tool (Python frameworks, nodejs frameworks, or whatever you love).