Add some comments to the standard puzzle.

This commit is contained in:
Richard Kiss
2021-02-22 12:26:53 -08:00
parent 46bd2e5d5a
commit 34f4913bf7
@@ -4,10 +4,35 @@
; glossary of parameter names:
; hidden_puzzle_info: a reveal of the original public key and hidden puzzle
; hidden_puzzle: a "hidden puzzle" that can be revealed and used as an alternate
; way to unlock the underlying funds
;
; synthetic_key_offset: a private key cryptographically generated using the hidden
; puzzle and as inputs `original_public_key`
;
; synthetic_public_key: the public key that is the sum of `original_public_key` and the
; public key corresponding to `synthetic_key_offset`
;
; original_public_key: a public key, where knowledge of the corresponding private key
; represents ownership of the file
;
; delegated_puzzle: a delegated puzzle, as in "graftroot", which should return the
; desired conditions.
;
; solution: the solution to the delegated puzzle
(mod
; A puzzle should commit to `synthetic_public_key`
;
; The solution should pass in 0 for `original_public_key` if it wants to use
; an arbitrary `delegated_puzzle` (and `solution`) signed by the
; `synthetic_public_key` (whose corresponding private key can be calculated
; if you know the private key for `original_public_key`)
;
; Or you can solve the hidden puzzle by revealing the `original_public_key`,
; the hidden puzzle in `delegated_puzzle`, and a solution to the hidden puzzle.
(synthetic_public_key original_public_key delegated_puzzle solution)
; "assert" is a macro that wraps repeated instances of "if"