You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define the signing API in a way where you are forced to include a signing domain and fork version etc.
Signatures should be constructed in a way where they are unique for the purpose of the work and version of the protocol. See compute_signing_root and get_domain in the phase0 beacon spec.
You essentially want to compute a "domain" (32 bytes) from a fork digest (constructed from genesis + fork info) and a type-domain (e.g. proposals and attestations have different domains to be sure they never have the same signature for two different intents). Or you can implement your own non-standard domain method. But definitely don't just create a BLS signature over data that might have a different meaning later on in the protocol. cc @lightclient
The text was updated successfully, but these errors were encountered:
metachris
changed the title
It would be much better to define the signing API in a way where you are forced to include a signing domain and fork version etc. Signatures should be constructed in a way where they are unique for the purpose of the work and version of the protocol. See compute_signing_root and get_domain in the phase0 beacon spec. You essentially want to compute a "domain" (32 bytes) from a fork digest (constructed from genesis + fork info) and a type-domain (e.g. proposals and attestations have different domains to be sure they never have the same signature for two different intents). Or you can implement your own non-standard domain method. But definitely don't just create a BLS signature over data that might have a different meaning later on in the protocol. cc @lightclient
Define the signing API in to include a signing domain and fork version etc.
May 12, 2022
metachris
changed the title
Define the signing API in to include a signing domain and fork version etc.
Define the builder signing API in to include a signing domain and fork version etc.
May 12, 2022
from @protolambda:
Define the signing API in a way where you are forced to include a signing domain and fork version etc.
Signatures should be constructed in a way where they are unique for the purpose of the work and version of the protocol. See
compute_signing_root
andget_domain
in the phase0 beacon spec.You essentially want to compute a "domain" (32 bytes) from a fork digest (constructed from genesis + fork info) and a type-domain (e.g. proposals and attestations have different domains to be sure they never have the same signature for two different intents). Or you can implement your own non-standard domain method. But definitely don't just create a BLS signature over data that might have a different meaning later on in the protocol. cc @lightclient
Originally posted by @protolambda in #28 (comment)
See also ethereum/consensus-specs#2884 for the DomainType
The text was updated successfully, but these errors were encountered: