It appears that eth2 will use the BLS curve for at least some keys instead of secp256k1 which is used for eth1. And in eth2 there are both validator keys and account keys.

My question is what curve is used for each function in eth2? Are validator keys only BLS, and secp256k1 is still an option for account keys, or are they all generated on the BLS curve for eth2?

1 Answer 1


You are right with eth2 comes the use of BLS signature on the beacon chain.

in eth2 there are both validator keys and account keys

Yes sort of, as you can see a in the specs the pubkey of a validator is a BLS pubkey:

class Validator(Container):
    pubkey: BLSPubkey
    withdrawal_credentials: Bytes32  # Commitment to pubkey for withdrawals

And the wtihdrawal_credential is the ECDSA pubkey (with the secp256k1 elliptic curve).

The way it works is that only validator will use BLS pubkey for all the communication on the beacon chain (signing attestations, randao reveal, etc.) and on the execution chain all transaction and messages will continue to use ECDSA keys.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.