新四季網

以太坊技術知識講解(科普貼以太坊)

2023-05-04 00:47:44 1

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

小編:記得關注哦

來源:以太坊愛好者

原文標題:《科普 | Eth2 Staking 指南 #4:密鑰》

撰文:Carl Beekhuizen

翻譯:阿劍

衷心感謝 Sacha Yves Saint-Leger 和 Danny Ryan 對本文的審核。

權益證明系統的核心是其籤名方案。籤名用於驗證發出操作的驗證者的身份,即確定哪個操作是由哪個驗證者發出的(不論是 「好」 的操作還是 「壞」 的操作)。

我們既可以根據一個驗證者籤過名的消息來確認 TA 遵守了協議,也可以通過展示觸犯了共識規則的消息來證明某個驗證者的惡意。

實際上,在 Eth2 系統中,驗證者的身份是根據其公鑰(public key)來確定的。每個驗證者都有兩組密鑰:籤名密鑰對和取款密鑰對。

籤名密鑰對

所謂 「籤名密鑰」,是指一個驗證者在籤名見證消息和提議區塊的時候要用到的密鑰。因為驗證者每一個時段(epoch)都要籤署至少一條消息,客戶端軟體必須託管籤名密鑰。

取款密鑰對

因為客戶端軟體總是聯網的,因此必然有籤名密鑰丟失、被盜的可能。為降低此類事件會造成的影響,驗證者可以執行的操作被分成由兩套不同的密鑰來發起。

籤名密鑰,如上所述,用於履行驗證者責任。另一方,「取款密鑰」 則用於控制驗證者的資金。

在驗證者的整個生命周期中,驗證者僅在極少數時候需要用到取款密鑰。這意味著取款密鑰可以放到冷錢包了,(離線)存儲在足夠安全的地方。

注意:驗證者資金轉帳和取款功能都要等 Phase 1 之後才會上線。

譯者註:這裡的籤名密鑰和取款密鑰,作者在原文中常用單數形態 「a signing key」 「a withdrawal key」,但在這裡我翻成 「籤名密鑰對」 和 「取款密鑰對」。因為根據我們對密碼學的理解,要保證身份同一性,少不了要用到公鑰密碼學(公私鑰對):驗證者提前使用籤名私鑰和取款私鑰對應的兩把公鑰在註冊表中註冊,然後在其生命周期中,使用其私鑰來籤名消息時,其身份才能得到確認。取款過程也是同理,也跟我們當前使用以太坊帳戶的方法並無二致。

密鑰怎麼這麼多!

如果每要質押 32 ETH,用戶就要保存和使用兩套互不關聯的密鑰,那這也太麻煩了。

在 Eth2 中,我們可以用 EIP-2333 和 EIP-2334 來解決這個問題:這兩個 EIP 提出了一套標準,描述了籤名密鑰和取款密鑰可以如何關聯起來,以及這兩組密鑰如何可以從同一個 Mnemonic (助記詞)中推導出來。

助記詞

助記詞是另一種用編碼來保護密碼的辦法,也是普通用戶存儲和備份私鑰的最簡單辦法。簡而言之,就是把

0x1e9f2afcc0737f4502e8d4238e4fe82d45077b2a549902b61d65367acecbccba

這樣的私鑰,轉化成

sausage solution loud isolate focus glide frame door clown million shuffle impulse

這樣的可讀單詞,然後記下或者寫下來,這樣就更容易保存、更不容易出錯了。

從一把密鑰推導出其它密鑰

在使用錢包時,您可能會遇到形如 m/44'/60'/0'/0/0這樣看起來像路徑的東西。這個路徑是用來描述密鑰之間的關係的。

根據 EIP 2333,用一把密鑰(也即一組助記詞)中推導出其它密鑰所形成的體系就像一棵樹一樣,而被推導出來的密鑰是根據樹的 「種子」(即最初那個密鑰)和樹的路徑來決定的。

我們使用種子計算出樹根,根據樹根和樹分支來推導密鑰、一層一層地建構出整棵密鑰樹。因此,可以認為,整棵密鑰樹都完全是根據樹的分支與樹根之間的關係來決定的。(譯者註:根據這個描述也可以看出,整棵密鑰樹是無限大的,因為可以無限推導下去。在使用時只需記好哪些分支上的那些密鑰是用過的、有資金的就好。)

在使用過程中,這種推導密鑰的方法讓我們可以找出我們要用的任意密鑰:只需從樹根開始、按分支計算中間密鑰,最終算出我們要用的那個密鑰(葉子)即可。

一個有趣的結果就是,我們可以從單個隨機數(比如一組助記詞)開始,推導出無限多的密鑰。用在 Eth2 中,一組助記詞就可以產生出驗證者需要的任意多的密鑰。舉個例子,如果你需要用一組助記詞產生出 3 個取款私鑰,那麼可以像這樣推導:

每個分支都用 「/」 來標記,所以 「m/2」 表示的是從主密鑰推導出的第 2 分支。

EIP 2334 指出,驗證者的籤名密鑰可以使用取款私鑰的第 0 個子分支。在實踐中這意味著,只要遵循這個標準,只要你知道取款私鑰,你就可以計算出相應的用於籤名的私鑰。計算過程也如上例所示:

這裡我們是為了儘可能簡化才舉這樣的例子的,實際上的路徑會更長一點(比如 EIP 2334 就要求使用 m/12381/3600/i/0和m/12381/3600/i/0/0這樣長的路徑用於推導取款私鑰和籤名私鑰)。不過,邏輯還是完全一樣的。

謹記:如果你知道自己的助記詞,就可以推導出取款私鑰,然後再推導出籤名私鑰。

存儲密鑰

驗證者客戶端使用 Keystore 文件來交換密鑰。

Keystore 是一種文件格式,包含了用戶用口令(password)加密後的私鑰,因此可以安全地存儲以及在計算機之間安全地傳播(只要口令沒有存在同一臺計算機上就好)。

如果你已經準備好要開始驗證了,你可以把 Keystore 導入客戶端(當然,你還需要輸入口令,好讓客戶端能導出私鑰)。

成為驗證者

成為驗證者的第一步是生成密鑰。請保證在安全的環境中使用安全的軟體來生成私鑰,生成後請寫下來。

因為 Phase 0 階段沒有取款功能也轉不了帳,你不需要用 Keystore 來存儲取款私鑰,保證你的助記詞是安全的就夠了。

如果你的驗證者客戶端需要你的籤名私鑰,那麼在你輸入私鑰之後你可以得到相應的一個 Keystore 文件(加密的口令也是你自己輸入的)。你跑多少個驗證者,就會拿到多少個 Keystore。

為了註冊成為驗證者,你需要給每個驗證者準備 32 ETH 的保證金,加上你的保證金數據(包含著你的驗證者公鑰),發送給 Eth1 鏈上的保證金合約。

保證金數據會被記錄在保證金合約中。Eth2 的節點可以觀察到這個合約,因此可以獲得其中的保證金數據。你的保證金數據被 Eth2 連結受以後,你就正式成為驗證者了。

最簡單的方法

我們一直在開發一個友好的界面來幫助驗證者完成註冊過程。我們接下來的更新會介紹 Eth2 Lauchpad 以及如何使用它。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了