Proof-of-Stake

eth2.0-deposit-cli生成的keystore的文件名格式是什麼意思?

  • March 6, 2022

當我eth2.0 存放客戶端時,它會生成具有特殊格式文件名的密鑰庫文件。例如:

密鑰庫-m_12381_3600_1_0_0-1646556486.json

這種文件名格式究竟是什麼意思?

正如您在程式碼中看到的,文件保存行是:

 filefolder = os.path.join(folder, 'keystore-%s-%i.json' % (keystore.path.replace('/', '_'), time.time()))
 keystore.save(filefolder)

所以 :

keystore-m_12381_3600_1_0_0-1646556486.json

生成path/12381/3600/1/0/0時間戳為1646556486,它似乎符合EIP-2335,因此符合EIP-2334

從 EIP-2334 中,您可以看到您的路徑用於遍歷通過派生助記詞生成的密鑰樹,它定義為:

/purpose/coin type/set of validator keys/use/{any additional path information}

purpose 設置為 12381 以標識用於生成驗證器密鑰的 BLS12-381 曲線。

其餘的,由於它特定於驗證器密鑰,您可以參考同一個 EIP 中的這些解釋:

Eth2 特定參數 幣種 乙太坊 2 中 BLS12-381 密鑰使用的幣種是 3600。

驗證人密鑰 每個 Eth2 驗證人都有兩個密鑰,一個用於提款和轉賬(稱為提款密鑰),另一個用於履行其作為驗證人的職責(以下稱為簽名密鑰)。

取款密鑰的路徑是 m/12381/3600/i/0,其中 i 表示第 i 組驗證者密鑰。

簽名密鑰的路徑是 m/12381/3600/i/0/0,其中 i 表示第 i 組驗證器密鑰。另一種表述方式是,簽名密鑰是該驗證者的關聯提款密鑰的第 0 個孩子。

最後,1646556486只是一個 unix 時間戳,這意味著該密鑰是在 2022 年 3 月 6 日星期日 08:48:06(格林威治標準時間)生成的。

引用自:https://ethereum.stackexchange.com/questions/123192