AZIP-10: Add message-signing and fallback public keys#37
AZIP-10: Add message-signing and fallback public keys#37iAmMichaelConnor wants to merge 4 commits into
Conversation
Co-authored-by: Michael Connor <mike@aztec-labs.com>
| ## Impacted Stakeholders | ||
|
|
||
| ### App Developers | ||
| Noir contract authors who consume `get_public_keys(account)` will see two extra fields on the returned `PublicKeys` struct (`mspk_m_hash` and `fbpk_m_hash`). This breaking oracle change can therefore only be shipped as part of a new Aztec rollup version so as not to break existing private functions on the current rollup version. Before deploying apps on the new version, smart contract devs should recompile their contracts using the latest Aztec tooling. |
There was a problem hiding this comment.
Eh the actual reason for a breaking change is the address derivation, not so much the oracle change.
|
|
||
| ## Motivation | ||
|
|
||
| Aztec accounts currently commit to four master public keys — `npk`, `ivpk`, `ovpk`, `tpk` — none of which are appropriate for two use-cases that the protocol does not yet serve: |
There was a problem hiding this comment.
Claude tells me the code uses "npk".
|
|
||
| Wallets MAY stamp the default hashes into a new account's `PublicKeys` or MAY implement their own deterministic derivation. In either case the resulting hashes participate in address derivation. | ||
|
|
||
| ### Oracle Interface |
There was a problem hiding this comment.
Oracles are not part of the protocol are they?
There was a problem hiding this comment.
Yep - a requirement is that any execution environment should be able to execute any private smart contract (generated by any private smart contract framework). Clearly, that's hypothetical at the moment because there's one execution environment and one framework, but one day that won't be the case (especially if people explore more tees or efficient proof outsourcing ideas), so technically oracle changes are protocol changes which need to be documented and scrutinised.
Rewrites AZIP-10 to specify adding two new master public keys (
mspk,fbpk) to the address preimage, aligned with aztec-packages #23510.Supersedes #22.
cc @IlyasRidhuan @ciaranightingale @nventuro @just-mitch