prove-yourself is a tool that extracts of some of what we built into a simple CLI and web app that lets you:
- Write a statement (a prediction, a claim, a hash of a file) and sign it with a local Ed25519 key
- Tie the signing key to your accounts (GitHub, Twitter, HN, etc.) by posting a signed statement
- Encrypt the signed statement to a future round of drand, so the decryption key doesn't exist anywhere until the time you picked, using timelock encryption
- Anchor the commitment in an Ethereum transaction and on IPFS, so there's a public record it existed by that date
- Let anyone decrypt and verify it after the reveal, without you (or any server of mine) being involved
prove-yourself runs as a CLI or in the browser via WASM. Nothing leaves your machine, although if you use the hosted playground, your private attestation will be posted to IPFS and the Ethereum Sepolia testnet through my server.
miladyincontrol•44m ago
sebmellen•34m ago
With OpenTimestamps or Proof of Existence, you can timestamp a private claim, but revealing it later remains optional. So if you were to make predictions about 20 different things, you could privately timestamp each prediction and only reveal the predictions where you were correct.
With prove-yourself, the signed claim is published as time-locked ciphertext that uses drand (https://drand.love/) to make the ciphertext automatically decryptable at a given point in the future. After the chosen drand round, anyone can decrypt and verify the claim without the cooperation of the originator.
As I alluded to earlier, you could take prove-yourself and use OpenTimestamps as an anchoring backend.