Prysm: Support EIP-2335: BLS12-381 Keystore

Created on 28 May 2020  Â·  7Comments  Â·  Source: prysmaticlabs/prysm

🚀 Feature Request

Description

It would be nice if all Eth2 clients use the same keystore format ✨
EIP-2335 defines a common BLS12-381 keystore format.

Describe the solution you'd like

It seems there are some field name differences between the current Prysm keystore and the EIP, e.g., publickey and pubkey, id and uuid.

Enhancement Help Wanted

Most helpful comment

Read it, yes. There is no way to create EIP-2335 format keystores in prysm itself; people generally use ethdo to create such accounts.

All 7 comments

Prysm's wallet keymanager is EIP-2335 compliant.

@mcdee
Thanks for the reply! I found that the wallet generated by ethdo is EIP-2335 format, but the keystore file that created by ./prysm.sh validator accounts create command seems a bit different? I got validatorprivatekey960081f09ef8 json file:

{
   "publickey":"960081f09ef8e6c32565bc8ac04353c09b628836776f7b9bad53c31ca1471b68cc9dd7a4c8a68b10900954d2835cc21b",
   "crypto":{
      "cipher":"aes-128-ctr",
      "ciphertext":"f8c0f315bf8bd8870faf471136d466370295b0c99134b6112825444e40403723",
      "cipherparams":{
         "iv":"64e93eb0c95c2730b076845e5197d1f1"
      },
      "kdf":"scrypt",
      "kdfparams":{
         "dklen":32,
         "n":262144,
         "p":1,
         "r":8,
         "salt":"01e44a5c0e243b87db0d76bbfe5e859e5405d50d438c3d2ec130f7a632ff3073"
      },
      "mac":"7718f2df70ce5fe52470e4f26c0f3866b861e459d9a7609e427b3fa2c77246b2"
   },
   "id":"b63e8726-3b55-4e09-8aab-76e1da172eef"
}

Yeah, prysm has multiple ways of accessing keys. The one you showed above is in the Ethereum 1 keystore v3 format (the keystore keymanager).

@mcdee
Is that correct to say Prysm can read EIP-2335 keystore file as well, and also we can output EIP-2335 format keystore during account creation with some flags?

Read it, yes. There is no way to create EIP-2335 format keystores in prysm itself; people generally use ethdo to create such accounts.

@rauljordan Why was this closed ?

Closing this in favor of the validator account revamp issue #6220.

Please follow #6220 for updates on EIP-2335 implementation in Prysm as the default storage format.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

olwee picture olwee  Â·  3Comments

paulhauner picture paulhauner  Â·  4Comments

prestonvanloon picture prestonvanloon  Â·  4Comments

terencechain picture terencechain  Â·  4Comments

rauljordan picture rauljordan  Â·  5Comments