選單

以太坊2.0金鑰

以太坊2.0金鑰

本文轉載自:ETH中文網公眾號

以太坊2.0金鑰

以太坊2。0金鑰概述

總述

以太坊1。0和2。0的金鑰是基於相同的思路並使用橢圓曲線密碼學創造出來的。但是,以太坊2。0的功能性有所增強,在創造金鑰時需要不同的引數,並使用

BLS

(Boneh-Lynn-Shacham) 簽名方案。

以太坊2.0金鑰有哪些?

在以太坊1。0,使用者訪問他們的資金只需要

一個私鑰

,而在以太坊2。0中則需要兩個不同的金鑰——

驗證者私鑰

提款私鑰

驗證者金鑰

如下圖所示,驗證者金鑰由兩個元素組成:

驗證者

驗證者

由於驗證者私鑰需要隨時對ETH2進行鏈上簽名,比如區塊提議和證明。因此這些金鑰必須儲存在熱錢包裡。

這種靈活性使得驗證者簽名金鑰可以快速地在裝置間進行遷移。但是,如果金鑰丟失了或被盜了,盜竊者可以透過以下兩種方式

作惡

透過以下的做法使驗證者被罰沒:

o 作為區塊提議者時,對同一個時隙 (slot) 的兩個不同信標區塊進行簽名投票

o 作為區塊證明人時,對另外一個區塊進行環繞證明投票

o 作為區塊證明人時,對同一個目標檢查點進行兩次不同的證明投票

強行主動退出,阻止驗證者質押,並給提款金鑰所有者提供ETH餘額的訪問許可權。

驗證者公鑰

包含在存款資料裡,作用是使得ETH2能夠識別驗證者身份。

以太坊2.0金鑰

提款金鑰

如果在階段1和階段2能夠實現ETH轉移的話,那麼轉移驗證者的餘額則需要用到提款金鑰。如同驗證者金鑰,提款金鑰也由兩部分組成:

提款

提款

丟失了這個金鑰意味著無法訪問驗證者餘額。但是,驗證者仍然可以對證明投票和區塊進行簽名,因為這些操作只需要驗證者的私鑰,只是如果金鑰丟失了的話驗證者這樣做基本沒法取得獎勵。

要提款的話,驗證者狀態必須是“

已退出

”。

以太坊2.0金鑰

單個ETH1錢包中有多個驗證者存款的情況

每個驗證者都有他們自己

唯一的存款資料

,而信標鏈透過存款資料來識別驗證者。

一個

驗證者有

四個

金鑰。

:我要如何重新將存款存進驗證者餘額裡?(例如有效餘額已被清空)

:傳送另一筆大於等於1 ETH的交易到存款合約,以驗證者的特定存款資料作為交易輸入。在第一筆存款交易後,這個唯一的存款資料會儲存在區塊鏈上,並可以在多個瀏覽器上查詢到。

:存款合約要花費大概360,000 gas,但鑑於退款操作需要一定成本,建議將交易費定在400,000到500,000 gas之間。

以太坊2.0金鑰

ETH2.0驗證者的助記詞

在過去的幾年裡,我們已習慣於12到24個單詞的助記詞系統。我們為什麼要倒退回本地儲存金鑰呢?這方式顯然更復雜、更不安全。

在BLS密碼庫的審計完成之前,目前已知的硬體錢包將不支援ETH2。0金鑰的生成。EIP-2333和EIP-2334提供瞭解決方案,但仍有待實現。基於這些認知,我們可以預見在階段0啟動的時候,助記詞系統是不可用的。

它是怎麼運作的?

助記詞和路徑都是為大家所熟知的功能了,使用者在訪問他們的硬體錢包時也經常會碰到。

“舊的ETH1。0”的路徑結構和示例:

m/44‘/60’/0‘/0

m / purpose’ / coin_type‘ / account’ / change / address_index

同樣的邏輯也適用於ETH2。0金鑰,只是有一些不同的引數。會有一個“

父金鑰

”(助記詞)使得使用者可以將盡可能多的驗證者連結到一個提款金鑰裡。如此一來,使用者可以透過助記詞

匯出所有的金鑰

下圖對此做出了簡要概述:

以太坊2.0金鑰

Cr: Nishant Das 負責事實核查