Skip to content

txlib endorse - #229

Open
robknight wants to merge 2 commits into
mainfrom
txlib-endorse
Open

txlib endorse#229
robknight wants to merge 2 commits into
mainfrom
txlib-endorse

Conversation

@robknight

Copy link
Copy Markdown
Collaborator

Adds an extra "endorse" statement to spends in transactions. This ensures that every spend/nullification has a statement from the object owner (someone who knows the full object state), attesting to this and to the transaction context (which includes the transaction hash chain). For single-user transactions this is trivial, and has a small overhead of one extra custom statement per nullification. However, this unlocks joint transactions, in which any event - insert, mutate, or delete - can be endorsed by an object owner, with that endorsement handed to someone else who submits the transaction. This means that an endorsement requires the owner's participation, and the owner can ensure that the transaction being committed to really is the transaction described to them.


Stack created with GitHub Stacks CLIGive Feedback 💬

Move object helpers, state-header types, replay construction, test support, and transaction tests out of lib.rs. Re-export the public API so callers remain unchanged.
Require every spent object's nullifier to be accompanied by an EndorseSpend proof over {state_header, tx_final}, preventing reuse across transactions or grounding states.

Allow TxBuilder to consume states supplied through proven openings and endorsements, and add Rekey paths that split proof work between key holders.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant