自託管和私鑰背後的密碼學


本文重點介紹中心化交易所如何保存用戶資產,以及私鑰和公鑰如何共同保護錢包中的資產。我們希望再次提醒大家永遠牢記整個去中心化運動所基於的精神:不要相信人,相信(加密的)數學。

你好世界

過去幾週,新聞周期一直以FTX 交易所、FTX 美國交易所和Alameda Research 的崩盤為主。 Sam Bankman-Fried (SBF)根據美國破產法第11 章規定申請破產並辭去首席執行官一職。本申請中包含的完整公司名單可以直接從破產申請中找到。

要了解最新消息,你可以閱讀以下新聞報導:

隨著傳染蔓延,FTX 危機進入新階段— The Defiant 失敗的加密貨幣公司FTX 至少損失了10 億美元的客戶資金——路透社SBF 在逃? — 牛奶之路

據報導,隨著這些主要加密貨幣金融機構的倒閉,用戶也無法使用他們的資金。根據多個消息來源,FTX 、FTX US、BlockFi以及Alameda Research 和FTX 投資的其他平台的提款已被停用。

現在,FTX已在美國申請第11章破產保護。第11 章破產要求公司進行重組,以便繼續運營並隨著時間的推移償還債權人。雖然這給用戶帶來了一線希望,他們可能能夠取回(部分)他們的資金,但這個過程可能需要幾個月到幾年的時間。如果重組計劃不成功,公司可以進入第7 章破產程序,他們的資產將被清算。

中心化交易所與去中心化的野心

中心化交易所(CEX) 的挑戰在於它們的運營不透明。雖然區塊鍊網絡增加了一定程度的透明度,但CEX 將鏈下金融世界與鏈上區塊鏈世界聯繫起來:這意味著很大一部分操作,特別是鏈下部分,對用戶仍然不透明。用戶相信CEX 是誠信經營的,並且有足夠的措施來保護客戶資金並保護自己免於破產。

比特幣成立的目的是:

“基於密碼證明而非信任的電子支付系統”——中本聰(2008),比特幣:一種點對點電子現金系統(Bitoin 白皮書)

這也是整個去中心化運動所基於的精神:不要相信人,相信(加密的)數學。

CEX 可以通過多種方式處理私鑰/公鑰及其內部分類帳。一般來說,當你在CEX 上創建賬戶時,CEX 會為你希望使用的每個網絡創建一個公私密鑰對(和地址)。在非對稱密碼學中,私鑰(也稱為秘密密鑰)允許用戶花費令牌或簽署消息。它本質上是一個密碼,提供對地址內所有資金的主訪問權限。如果此私鑰洩露,則該地址上的所有令牌都會受到損害。公鑰充當公眾可見的地址,其他人可以使用它來驗證私鑰持有者是否確實簽署了消息(例如交易)。

讓我們稍作繞道,從更高層次上看一下私鑰和公鑰是如何創建的以及它們是如何工作的。這將幫助你更好地理解保密私鑰的重要性。

注意:對私鑰和公鑰的密碼基礎不感興趣的讀者可以跳過整個非對稱密碼學部分,直接進入私鑰和託管部分

非對稱密碼學

一般來說,首先使用偽隨機方法生成私鑰。一種流行的方法是使用種子短語——來自指定單詞列表的隨機單詞的集合——將其轉換為數字,然後使用特定算法進行哈希處理以創建私鑰(有關更多詳細信息,請參見BIP0039)。然後使用私鑰生成公鑰和地址。在區塊鍊網絡中,公鑰和地址充當不洩露用戶身份的假名用戶名。下圖顯示瞭如何使用種子短語在以太坊中生成地址:

自託管和私鑰背後的密碼學-1 使用助記詞創建地址的過程

非對稱密碼學中的私鑰/公鑰對也稱為單向密碼學。這意味著使用私鑰很容易生成公鑰,但是使用公鑰生成私鑰在計算上極其困難(達到任何實際目的基本上不可能的程度)。這是由於所使用的加密貨幣算法的數學特性。

以過於簡單的方式說明這些數學性質:任意選擇兩個數字(例如,5 和16)並將它們相乘(5*16 = 80)。選擇的兩個數字(5 和16)類似於私鑰,結果(80)類似於公鑰。如果攻擊者想要找出與公鑰相關的私鑰是什麼,他們將不得不暴力破解產生公鑰的每個組合(8*10 = 80; 5*16 = 80; 4*20 = 80; 2*40 =80; 1*80 = 80), 直到他們找到最初選擇的組合。如果任意選擇的數字足夠大並且使用正確的算法,則暴力破解所有組合可能需要300 萬億年. 這是單向密碼學背後的概念:如果你知道輸入,就很容易獲得輸出。如果你只有輸出,猜測正確的輸入是非常困難的。

對於對這些密碼學概念背後的數學感興趣的讀者,我建議你閱讀有關RSA和ElGamal加密貨幣算法以及數字簽名算法(DSA)的更多信息——注意:涉及數學

一旦生成了私鑰/公鑰對和地址,用戶就可以使用它們與區塊鍊和智能合約進行交互。一般來說,私鑰/公鑰對用於兩個主要目的:

與另一方共享秘密(加密貨幣)消息簽署消息以驗證特定私鑰確實發送了消息

讓我們看一下消息傳遞和簽名如何使用私鑰/公鑰對。

與另一方共享秘密(加密貨幣)消息

假設兩個用戶Alice 和Bob 希望在第三方不知道他們的消息內容的情況下相互通信。如果他們每個人都有私鑰/公鑰對,他們可以通過使用接收者的公鑰加密貨幣消息來進行通信,而接收者可以使用自己的私鑰解密消息。第三方只能看到彼此共享的加密貨幣消息(也稱為密文)。

自託管和私鑰背後的密碼學-2

這在兩個用戶無法提前會面以共享可用於加密貨幣/解密的加密貨幣密鑰的情況下非常有用。

簽署消息以驗證特定私鑰確實發送了消息

讓我們再次假設兩個用戶Alice 和Bob。 Alice 想給Bob 發消息,但Bob 需要確定收到的消息確實來自Alice。這是通過數字簽名實現的。愛麗絲用她的私鑰對消息進行簽名,並將消息和簽名發送給鮑勃。使用簽名驗證算法和Alice 的公鑰、消息和她的簽名作為輸入,Bob 可以驗證消息確實來自Alice。

自託管和私鑰背後的密碼學-3 使用非對稱加密貨幣和數字簽名算法(DSA) 驗證消息的來源

Alice 發送的消息也可以是發送到ERC20 智能合約的命令,告訴智能合約將代幣從她的地址轉移到另一個地址,或者可以以其他方式與智能合約交互。有了命令和簽名,智能合約就會知道執行交易,因為簽名向智能合約證明發起交易的用戶是私鑰的所有者。

私鑰和保管

私鑰允許一個用戶向另一個用戶發送加密貨幣消息,並允許用戶簽署消息,這些消息在區塊鏈上用於向網絡授權某些命令。後者至關重要,因為這意味著私鑰可用於授權帳戶上的任何操作,包括轉移資金或與智能合約交互。

這就是為什麼存儲私鑰和/或幫助生成私鑰的種子短語至關重要的原因。如上所述,CEX 持有用戶的私鑰,當用戶登錄CEX 時,他們使用與其CEX 賬戶關聯的地址的私鑰來執行交易。在整個過程中,CEX 的用戶無法訪問私鑰——他們很可能永遠也不會。

CEX 充當用戶資金的保管人,或者更具體地說,是提供訪問其資金的用戶私鑰。託管人是“持有客戶證券以妥善保管以防止其被盜或丟失的金融機構” 。這就產生了一句話:

不是你的鑰匙,也不是你的硬幣。

這也是很多人使用自託管錢包的原因。 CEX 負責保護你的私鑰安全,而通過自我保管,用戶有責任保護他們的密鑰安全。與傳統金融的類比是,當你將現金放在口袋里或放在家裡的床底下時,你就是現金的保管人。當你將現金存入你的銀行賬戶時,銀行就是你存款的保管人。

自託管和私鑰背後的密碼學-4 比較Web3 託管解決方案與TradFi 託管解決方案

當你的託管人破產或被黑時會發生什麼?

我想提醒讀者:這不是財務建議,我們敦促投資者自行盡職調查並諮詢他們的財務顧問。

雖然法律法規因國家和司法管轄區而異,但在美國,聯邦存款保險公司(FDIC)和國家信用合作社股份保險公司(NCUSI)分別為存入銀行或信用合作社的傳統儲蓄賬戶提供最高250,000 美元的保險. 在FDIC 發布的情況說明書中,他們澄清說,FDIC 不為非銀行實體(如加密貨幣公司)發行的資產提供保險。這意味著在履行保管職責時,用戶必須比銀行更信任CEX,因為沒有法律規定的保險可以保護用戶免受機構失靈的影響。如果CEX 發生故障,用戶可能會丟失他們保存在CEX 中的所有代幣。因為用戶無法訪問他們的私鑰,所以一旦提款停止,他們就無法從CEX 中取出任何資金。 FTX US 的提款已停止,但Voyager和Celsius等其他託管人過去也已停止提款。

自我託管和錢包

在設置你自己的私鑰並自行保管你的資產時,確保沒有人可以訪問你的私鑰或你的助記詞是你的責任。不同的錢包會採取不同的安全防範措施來確保私鑰不被洩露,但一般來說,硬件錢包通常被認為是最安全的。硬件錢包是“冷錢包”,這意味著它們沒有連接到互聯網。 Ledger和Trezor是生產硬件錢包的公司的例子。

另一方面,我們有基於軟件的錢包,通常被稱為“熱錢包”,因為它們隨時可以在可訪問的計算機上立即使用。最受歡迎的可能是Metamask。 Metamask 是一個兼容EVM 的自託管錢包,這意味著它支持基於EVM 的網絡,包括以太坊、基於以太坊的Layer2s 和幣安智能鏈。

自託管和私鑰背後的密碼學-5 冷錢包與熱錢包的簡要比較

自託管錢包的一個關鍵點是:私鑰存儲在你的個人設備上。某處沒有存儲備份。如果用戶無法訪問他們的私鑰和/或種子短語,他們將永久失去對其資金的訪問權限。

在開始自我監管之旅之前要了解什麼

以下是用戶決定自行保管資產時需要了解的重要事項的非詳盡列表:

用戶對自己的私鑰負責:私鑰丟失意味著資產永久丟失用戶將必須為其資產所在的每個網絡創建帳戶(私鑰/公鑰對和關聯地址) 用戶將不得不明白,交易資產將變得更加複雜,因為需要橋接才能訪問其他網絡用戶必須明白,流動性不會像大多數CEX 那樣中心化

CEX 很好地消除了整個Web3 和區塊鏈世​​界的複雜性。通過自我託管,用戶需要了解他們的資產,而不是CEX 上的蠟燭圖和價格變動。用戶需要了解自己的資產在哪個網絡上,自己的錢包支持哪些網絡,哪些資產可以被哪些錢包接收。

將代幣從CEX 發送到自託管錢包時需要注意什麼

從CEX 提幣到自託管錢包時,用戶需要:

了解他們的代幣屬於哪些網絡(例如比特幣網絡、以太坊網絡、Polkadot 網絡) 了解資產類型(例如,比特幣、基於以太坊的ERC20 資產、基於Polkadot 的PSP22 資產) 找到支持該網絡和資產的錢包(參見比特幣網絡錢包查找器、以太坊錢包查找器、Polkadot Wiki 錢包頁面)

現代硬件錢包通常允許用戶為廣泛的網絡和資產類型創建賬戶。例如,你可以在單個Ledger 硬件錢包設備上為基於以太坊的資產、比特幣和其他網絡創建一個帳戶。

對於熱錢包,情況通常有些不同:雖然基於以太坊的熱錢包可以持有以太坊資產,例如ERC20 代幣,但基於以太坊的錢包本身不能接受來自其他網絡的代幣。這是因為不同的網絡使用不同的數學來創建私鑰/公鑰對,這使得它們彼此不兼容——一個網絡將完全無法理解來自另一個網絡的輸入。來自比特幣網絡的比特幣、來自Polkadot 網絡的DOT 代幣和來自Arweave 網絡的AR 代幣都與基於以太坊的錢包(例如Metamask)不兼容。相反,要從CEX 提取比特幣,用戶需要一個比特幣錢包,要提取DOT 代幣,用戶需要一個基於Polkadot 的錢包,要提取AR 代幣,他們需要一個Arweave 錢包。

在CEX 的取款屏幕中,它通常會告知他們正在使用的資產類型和網絡。注意到這一點至關重要,因為一些項目在多個網絡上發行代幣,而不同的交易所可能集成了不同的網絡以允許交易代幣。例如,Crust Network代幣CRU作為Crust Network 原生代幣named(Crust Network 是它自己的Layer1 網絡),作為基於以太坊的ERC-20 代幣call 以及基於Elrond的ESDT 代幣存在. 如果CEX 集成了Crust Network 原生代幣,用戶只能將代幣提取到兼容Crust 的錢包中。不可能將Crust Network 原生CRU 代幣提取到Metamask 錢包並接收基於ERC20 的CRU 代幣。

自託管和私鑰背後的密碼學-6 幣安上的代幣提取接口。資料來源:幣安學院

雖然通常建議先將小面額的代幣發送到你的地址,以確保資產正確發送並在發送大量代幣之前可以收到,但我們敦促用戶始終對收件人地址進行雙重和三次檢查。一些基於UTXO 的區塊鏈上的錢包,如比特幣和卡爾達諾,會在收到新資金時生成一個新地址,以保護用戶隱私。雖然舊地址應該仍然有效,但如果錢包對公認標准進行自定義增強,則可能會發生資產損失。

自我監護,是還是不是?

最終,用戶需要自己決定自我託管是否適合他們。自我託管意味著深入參與Web3 生態系統並了解它們的工作方式以充分利用它們。這是一個全新的複雜程度,有些人可能不願意學習。就我個人而言,我覺得這很有趣,而且我相信自我託管的好處——對自己的資產擁有完全的控制權和責任——比學習曲線更重要,因為最終“不是你的鑰匙,不是你的代幣”。

Total
0
Shares
Related Posts