proofcarryingdata / zupass

Zuzalu Passport
259 stars 64 forks source link

Add virtual entries to GPC #1783

Closed ax0 closed 4 weeks ago

ax0 commented 1 month ago

This PR adds virtual entry support to the GPC layer, which amounts to exposing the signer's public key as the entry $signerPublicKey.

Specifying this entry is optional and defaults to not revealing the signer's public key. I'm contemplating changing this to revealing the public key by default to ensure that users don't fall into the trap of forgetting to constrain the public key.

artwyman commented 1 month ago

I definitely think signing key should be revealed by default, and only hidden if the user explicitly says so. We could even go farther and reject a config which hides it without constraining it in some other way (such as tuples and lists) though that's harder to implement and less necessary. We should just make sure that if the developer shoots themselves in the foot, it's only because they went out of their way to aim the gun.