鍍金池/ 教程/ Linux/ 創(chuàng)建安全多簽名錢包及高級(jí)設(shè)置
創(chuàng)建安全多簽名錢包及高級(jí)設(shè)置
以太坊發(fā)展歷史回顧
如何使用CPU挖礦?
導(dǎo)入預(yù)售錢包,更新、備份、恢復(fù)賬號(hào)
錢包、以太幣、Gas介紹
公有鏈、聯(lián)盟鏈、私有鏈及網(wǎng)絡(luò)配置介紹
以太坊客戶端的選擇與安裝
以太坊社區(qū)、基金會(huì)、貢獻(xiàn)者介紹
以太坊賬戶管理
什么是挖礦和Ethash算法?
如何使用Homestead文檔及以太坊路線圖
如何使用GPU和礦池挖礦?
以太坊是什么?
Web 3:去中心化應(yīng)用平臺(tái)
什么是以太幣?如何獲取?
以太坊Go、Java、Python、Ruby、JS客戶端介紹
搭建測(cè)試網(wǎng)絡(luò)和私有鏈
以太坊C++客戶端的安裝與定制(一)

創(chuàng)建安全多簽名錢包及高級(jí)設(shè)置

文章出于:http://wangxiaoming.com/blog/2016/06/26/e12/

在 Mist創(chuàng)建多簽名錢包

Mist以太坊錢包有個(gè)選項(xiàng)是可以用多簽名錢包使錢包里的余額更安全。用多簽名錢包的好處是它需要多個(gè)賬號(hào)共同批準(zhǔn)才能夠從余額中提取大額資金。創(chuàng)建多簽名錢包之前,需要?jiǎng)?chuàng)建多個(gè)賬號(hào)。

在Mist創(chuàng)建賬號(hào)文件很容易。在"賬號(hào)"菜單下點(diǎn)擊"添加賬號(hào)"。選擇一個(gè)安全性高又容易記住的密碼(記住沒(méi)有密碼找回選項(xiàng)),確認(rèn),賬號(hào)創(chuàng)建就完成了。創(chuàng)建至少 2個(gè)賬號(hào)。如果你愿意,第二個(gè)賬號(hào)可以在另一臺(tái)有Mist運(yùn)行的電腦上創(chuàng)建(理論上這樣可以使多簽名更加安全)。你只需要第二個(gè)賬號(hào)的公鑰(存款地址)來(lái)創(chuàng)建多簽名錢包(復(fù)制 /粘貼,不要手動(dòng)輸入)。因?yàn)樾枰谝粋€(gè)賬號(hào)來(lái)創(chuàng)建多簽名錢包合約,所以第一個(gè)賬號(hào)必須是在你創(chuàng)建多簽名錢包的電腦上。

既然已經(jīng)創(chuàng)建了賬號(hào),保持安全并進(jìn)行備份(如果不備份,電腦系統(tǒng)崩潰,余額就會(huì)丟失)。點(diǎn)擊菜單頂端的"備份"。選擇"keystore"文件夾,反擊 /選擇"復(fù)制"(不要選擇"剪切",否則結(jié)果會(huì)很糟糕)。回到桌面,在空白區(qū)域反擊,選擇"粘貼"。你可能會(huì)想把這個(gè)"keystore"文件夾重命名為"以太坊-keystore-備份-年-月-日",這樣以后就能很快辨認(rèn)出來(lái)。這時(shí)候你就能把文件夾內(nèi)容添加到壓縮文件里(如果是在線備份,最好用另外一個(gè)安全性高又容易記住的密碼對(duì)檔案進(jìn)行密碼保護(hù) ),復(fù)制到 U盤,刻錄到CD/DVD ,或者上傳到在線存儲(chǔ)設(shè)備( Dropbox/Google Drive等)。

你現(xiàn)在應(yīng)該添加大約不到 0.02以太幣到第一個(gè)賬號(hào)里(那個(gè)用來(lái)創(chuàng)建多簽名錢包的賬號(hào))。這是創(chuàng)建多簽名錢包所需的交易費(fèi)用。另外再需要1以太幣(或者更多),因?yàn)?Mist現(xiàn)在需要這樣做來(lái)確保錢包合約交易有足夠的"gas"來(lái)正常執(zhí)行……所以對(duì)新人來(lái)說(shuō),總共需要不到 1.02以太幣。

創(chuàng)建多簽名錢包的時(shí)候,你會(huì)進(jìn)入到附屬在它上面所有賬號(hào)的完整地址。我推薦把每個(gè)地址復(fù)制 /粘貼到簡(jiǎn)單的文本編輯器上(notepad/kedit等),到Mist每個(gè)賬號(hào)的詳情頁(yè)以后,從右側(cè)按鍵欄里選擇"復(fù)制地址"選項(xiàng)。不要手動(dòng)輸入地址,或者冒著輸入錯(cuò)誤的風(fēng)險(xiǎn),你可能會(huì)把交易發(fā)送到錯(cuò)誤的地址,因此丟失余額。

我們現(xiàn)在準(zhǔn)備好了創(chuàng)建多簽名錢包。在"錢包合約"下,選擇"增加錢包合約"。起個(gè)名字,選擇第一個(gè)賬號(hào)持有人,選擇"多簽名錢包合約"。你會(huì)看到出現(xiàn)這樣的文字:

"這是由 X個(gè)持有人共同控制的聯(lián)合賬號(hào)。每天最多可以發(fā)送X個(gè)以太幣。任何超過(guò)每日限額的交易都需要 X個(gè)持有人確認(rèn)。"

設(shè)置附屬在這個(gè)多簽名錢包上的持有人(賬號(hào))數(shù)量,每日提款限額(這只要求一個(gè)賬號(hào)提出這些錢款,以及允許多少持有人(賬號(hào))批準(zhǔn)超過(guò)每日限額的提款。

現(xiàn)在加入之前復(fù)制/粘貼在文本編輯器中的賬號(hào)地址,確認(rèn)所有的設(shè)置正確后,點(diǎn)擊底部的"創(chuàng)建"按鈕。然后需要輸入密碼發(fā)送交易。在"錢包合約"部分,會(huì)顯示出新的錢包,告訴你"創(chuàng)建"。

錢包創(chuàng)建完成后,就能在屏幕上看到合約地址。選擇整個(gè)地址,復(fù)制/粘貼到文本編輯器的新文件里,保存至桌面,命名為"以太坊-錢包-地址.txt"或其他名稱。

現(xiàn)在只需用備份合約文件的方式來(lái)備份"以太坊-錢包-地址.txt",接著就能用這個(gè)地址在ETH裝載新的多簽名錢包。

如果你要從備份中恢復(fù),只需要復(fù)制"以太坊 – keystore – 備份"文件夾里的文件到這個(gè)攻略第一部分里提到的"keystore"文件夾。如果是在從未安裝過(guò)Mist的機(jī)器上安裝(第一次創(chuàng)建賬號(hào)的同時(shí)就會(huì)建立文件夾),可能需要?jiǎng)?chuàng)建"keystore"文件夾。如果要恢復(fù)多簽名錢包,不要像我們創(chuàng)建之前一樣選擇"多簽名錢包合約",只選擇"導(dǎo)入錢包"就可以了。

故障排查:

  • Mist不能同步。一個(gè)有用的解決方案是將個(gè)人電腦硬件時(shí)鐘與NTP服務(wù)器同步,確保時(shí)間無(wú)誤后重啟。
  • Mist同步后啟動(dòng),但出現(xiàn)了白屏。有可能是因?yàn)槟阍诨贚inux的操作系統(tǒng)上運(yùn)行了 "xorg" 視頻驅(qū)動(dòng)器(Ubuntu, Linux Mint等),試試安裝制造商的視頻驅(qū)動(dòng)器。
  • 提示"密碼錯(cuò)誤"。在現(xiàn)在的Mist版本上,這有可能是個(gè)錯(cuò)誤的提示。重啟Mist,問(wèn)題就能解決(如果你輸入的確實(shí)是正確密碼)。

使用Eth

與使用geth的、可用的鑰匙管理相關(guān)的每個(gè)選項(xiàng)都同樣適用于eth。以下是與"賬號(hào)"有關(guān)的選項(xiàng):

> eth account list // List all keys available in wallet.
> eth account new // Create a new key and add it to the wallet.
> eth account update [<uuid>|<address> , ... ] // Decrypt and re-encrypt given keys.
> eth account import [<uuid>|<file>|<secret-hex>] // Import keys from given source and place in wallet.

以下是與"錢包"有關(guān)的選項(xiàng):

> eth wallet import <file> //Import a presale wallet.

注意:"賬號(hào)導(dǎo)入"選項(xiàng)只能用于導(dǎo)入一般的鑰匙文件。"錢包導(dǎo)入"選項(xiàng)只能用于導(dǎo)入預(yù)售錢包。

也可以從綜合控制臺(tái)進(jìn)入鑰匙管理(用內(nèi)置控制臺(tái)或者geth附件):

> web3.personal
{
listAccounts: [],
getListAccounts: function(callback),
lockAccount: function(),
newAccount: function(),
unlockAccount: function()
}

使用EthKey (不推薦使用)

Ethkey是C++實(shí)現(xiàn)的CLI工具,可以讓你和以太坊錢包互動(dòng)。你可以用它羅列、檢查、創(chuàng)建、刪除和修改鑰匙,以及檢查、創(chuàng)建和簽署交易。我們假定你還沒(méi)有運(yùn)行過(guò)客戶端,比如eth或者Aleth系列的任何客戶端。如果你運(yùn)行過(guò),可以略過(guò)這一章節(jié)。要?jiǎng)?chuàng)建錢包,用creatwallet指令運(yùn)行ethkey:

> ethkey createwallet

請(qǐng)輸入管理員密碼來(lái)保護(hù)keystore(設(shè)一個(gè)安全性高的?。簳?huì)問(wèn)你要一個(gè)"管理員"密碼。這能保護(hù)你的隱私,并且它會(huì)默認(rèn)為你任何鑰匙的密碼。你需要再次輸入同一文本來(lái)進(jìn)行確認(rèn)。

注意:使用安全性高的、隨機(jī)生成的密碼。

我們可以通過(guò)使用列表指令簡(jiǎn)單地列出錢包內(nèi)的鑰匙:

> ethkey list
No keys found.

我們還沒(méi)創(chuàng)建任何鑰匙,它也是這樣告訴我們的!我們來(lái)創(chuàng)建一個(gè)吧。 要?jiǎng)?chuàng)建鑰匙,我們需要用new指令,需要通過(guò)一個(gè)名字——這也是我們要給錢包里賬號(hào)的名字。我們稱之為"測(cè)試":

> ethkey new test

輸入密碼來(lái)保護(hù)這個(gè)賬號(hào)(或者用管理員密碼就不用輸入了)。這會(huì)促使你輸入密碼來(lái)保護(hù)這個(gè)鑰匙。如果你只點(diǎn)擊回車,就會(huì)使用默認(rèn)的"管理員"密碼。這意味著,當(dāng)你想用賬號(hào)的時(shí)候,不必輸入鑰匙密碼(因?yàn)樗涀×斯芾韱T密碼)。總體來(lái)說(shuō),你應(yīng)該試著為每個(gè)鑰匙設(shè)置一個(gè)不同的密碼,因?yàn)檫@樣能防止一個(gè)密碼被盜用而導(dǎo)致其他賬號(hào)也被入侵。然而為了方便你可能會(huì)決定讓低安全性的賬號(hào)使用同一個(gè)密碼。

在這里,我們用一個(gè)極富想象力的密碼123(永遠(yuǎn)不要用這么簡(jiǎn)單的密碼,除非是暫時(shí)的測(cè)試賬號(hào))。輸入密碼后,它就會(huì)讓你再次輸入確認(rèn)。再次輸入123。由于你設(shè)置了它的密碼,它會(huì)讓你提供一個(gè)密碼提示,每次進(jìn)入的時(shí)候都會(huì)顯示密碼提示。提示會(huì)儲(chǔ)存在錢包里,由管理員密碼保護(hù)。我們來(lái)輸入糟糕的密碼提示321倒序。

> ethkey new test
Enter a passphrase with which to secure this account (or nothing to use the master passphrase):
Please confirm the passphrase by entering it again:
Enter a hint to help you remember this passphrase: 321 backwards
Created key 055dde03-47ff-dded-8950-0fe39b1fa101
Name: test
Password hint: 321 backwards
ICAP: XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ
Raw hex: 0092e965928626f8880629cec353d3fd7ca5974f

所有正常(或者說(shuō)直接)的 ICAP地址都以XE開(kāi)頭,這樣就很容易辨認(rèn)。請(qǐng)注意這個(gè)鑰匙在創(chuàng)建的鑰匙后有另外一個(gè)標(biāo)識(shí)符,被稱為UUID。這是個(gè)特有的鑰匙標(biāo)識(shí)符,和賬號(hào)本身毫無(wú)關(guān)系。知道了它對(duì)攻擊者發(fā)現(xiàn)你在網(wǎng)上的身份毫無(wú)幫助。它剛好也是鑰匙的文件名,你可以在~/.web3/keys (Mac或Linux)或者$HOME/AppData/Web3/keys (Windows)中發(fā)現(xiàn)。讓我們通過(guò)列出錢包里的鑰匙來(lái)確認(rèn)它在正常運(yùn)行:

> ethkey list
055dde03-47ff-dded-8950-0fe39b1fa101 0092e965... XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ test

它每行會(huì)報(bào)告一個(gè)鑰匙(這里總共只有一個(gè)鑰匙)。在這個(gè)例子里,鑰匙被儲(chǔ)存在055dde文件,有個(gè)以XE472EVK 開(kāi)頭的ICAP地址。這不容易記住,所以有個(gè)專有名稱會(huì)很有幫助,還是叫test吧。