nimbus-eth2/docs/nbc_audit_2020/validator_core/block_attestation_signing.md

3.0 KiB

title code_owner round category repositories
Block/attestation signing Mamy André-Ratsimbazafy (mratsim) Audit round 2 Validator Core Audit nim-beacon-chain

Description

Verify that cryptographic primitives (Miracl and BLST) are properly used at a high-level. We assume that they are correctly implemented in the backend. Note, for this phase 2 we are concerned about the proper usage internal to nim-beacon-chain. Phase 3 will be about the end-user API (keystores and secret management).

Specs:

For information, evaluation of backends: https://notes.status.im/nim-bls-curve-backends

(phase 3) ETH2 has 2 kinds of keys

  • a signing key which is used by validators to sign attestations or blocks. The signing key is needed on a permanent basis by the validator client (audit phase 3). Leaking this key puts the owner at risk of slashing (double-voting)
  • a withdrawal key which is used by validators to retrieve their stake (~32 ETH). The withdrawal key should be generated offline and stored offline. Doc: https://blog.ethereum.org/2020/05/21/keys/

Links

Links to the repositories and more information