跳至主要內容

金鑰對 — ETH.BUILD

使用 ETH.BUILD 教育工具示範公私鑰對。了解密碼學金鑰對如何保護以太坊帳戶並啟用交易簽署。

Date published: 2021年1月14日

奧斯汀·格里菲斯製作的教學,示範如何使用 ETH.BUILD 視覺化程式設計工具來了解公私鑰對的運作方式,涵蓋私鑰生成、公鑰推導、訊息簽署以及簽章還原。

本逐字稿是奧斯汀·格里菲斯所發布之原始影片逐字稿 (opens in a new tab)的無障礙副本。為提升可讀性,已進行了輕微的編輯。

私鑰 (0:00)

在第一部影片中,我們使用了雜湊,而雜湊在未來將會非常重要。但下一個最重要的部分是金鑰對。金鑰對中最重要的一環是私鑰。讓我們來生成一個——它基本上是一個隨機的 64 字元十六進位字串,大小與我們剛剛處理的雜湊相同。

你以它作為你的私鑰開始,然後使用橢圓曲線密碼學——你可以把它當作支線任務去維基百科上查一下——我們推導出一個公鑰。所以現在我們有了一個私鑰和一個公鑰。我們剛剛憑空生成了一個私鑰,而公鑰給了我們一個地址。這就是人們實際可以發送資金的地方。當有人說「發送到我的以太坊地址」時,指的就是這個。

如果我想在富國銀行 (Wells Fargo) 建立一個帳戶,我必須開車去銀行並提供他們一堆資訊。這會花上一些時間。但在像這樣可以發送和接收資金的密碼學系統中生成一個帳戶,我只需要生成這個私鑰。這個 64 字元的十六進位私鑰推導出了其他所有東西。

簽署與還原訊息 (1:54)

這個金鑰對有一個非常巧妙的特性值得我們探討,那就是簽署與還原訊息。基本上,你拿著你的私鑰,並用它來簽署某種訊息。讓我們輸入一段訊息——「the bear is sticky with honey」。

我們將其作為我們的訊息輸入,在啟用自動簽署的情況下,它會回傳給我們一個簽章。有點像雜湊,我們的簽章基本上是拿著訊息和我們的私鑰來簽署某個東西。我們從中得到的就是一個簽章。

我可以將這個發送到世界上——我可以公開發送給所有人——這個簽章字串連同訊息。任何人都可以透過數學來驗證,具體來說,就是驗證我是簽署它的人。

還原簽署者的地址 (3:17)

讓我展示一下它是如何運作的。我們使用一個「還原」方法。我們需要兩個輸入:訊息——「the bear is sticky with honey」——以及簽章。從中得出的是用來簽署它的地址。我們可以使用 Blockie 識別圖示視覺化地看到該帳戶簽署了該訊息。

這沒有辦法被篡改。如果有人更改了哪怕是一個字——比如把「bear」換成「badger」——一切都會改變。即使使用相同的簽章,不同的訊息也會吐出不同的地址,而不是正確的那個。

這個訊息無法被篡改。我們可以在裡面加上時間戳記——我們可以說「在這一天我預測某事會發生」,簽署它,發布簽章和訊息,然後在未來的任何時間,任何人都可以透過數學證明你在那個時間簽署了那個訊息。

金鑰對的關鍵特性 (4:58)

這就是金鑰對的關鍵特性。一個僅由 64 字元十六進位隨機字串生成的金鑰對,可以用來簽署訊息,然後該訊息可以被還原。

  • 私鑰 + 訊息 = 簽章
  • 簽章 + 訊息 = 公開地址

我們可以用我們的私鑰簽署資料,人們可以證明是我們簽署的。這將是下一步的重要環節。

這個頁面對您有幫助嗎?