優秀的區塊鏈錢包具備哪些職責?
區塊鏈的誕生,不僅僅是通過代碼和智能合約來將生產組織進一步扁平化,從而達到優化中間過程、精簡中介的作用,更是產生了一個新的經濟模式,創建了一種新的生產關系,這種理念上的變革遠遠大于技術本身帶來的影響,它最讓人著迷的地方莫過于利用人性的特點,建立的一套自治的經濟激勵機制,并誕生了一個新型的價值載體cryptocurrency。Cryptocurrency顯然不同于傳統的貨幣,它是通過一定的加密算法計算出來的數字貨幣,也就是說電子化會是它的本質屬性,這樣它的存儲問題就會是一個熱門的研究領域,具體來講就是我們常說的區塊鏈錢包。
交易管理
交易管理可以被認為是應用和簽名解決方案之間的實際接口。這是一些操作的請求被解析成可以被私鑰簽名的格式的步驟。它包括與應用的通信以及與私鑰管理的通信。在這兩者之間,需要簽署的數據應該被解析,并以一種用戶可以理解他們正在簽署的內容和原因的方式顯示給用戶。此外,這些簽名請求的歷史和狀態應該被記錄下來并提供給用戶。
私鑰管理
你可能認為這是錢包唯一的真正責任是保證你的私鑰安全。事實上這往往是錢包建設者最不具備的能力。密碼學和安全專 家應該負責開發行業標準的解決方案,并實施私鑰存儲的最佳實踐。這應該是他們的全部業務,然而相反,我們看到現在的錢包在安全性方面做的不錯--但當涉及到密碼學時,這并不夠好。
如果將私鑰存儲的責任從錢包中移除,可能會導致更多種類的安全解決方案,這些解決方案依賴于不同的假設并提供不同的功能。目前已經有很多超越傳統軟件存儲的私鑰解決方案:像Ledger中的硬件安全模塊,或者其他加密技術,比如Torus使用的shamir秘密共享,像ZenGo使用的閾值方案,多方計算,或者新穎的零知識技術。
錢包設計
私鑰一般太難記憶了,使用也不方便,所以從錢包設計的角度,就為簡化操作同時不丟失安全性,就出現了助記詞的方法。一般情況下,助記詞由一些單詞組成,只要你記住這些單詞,按照順序在錢包中輸入,也能打開錢包。
種子生成密鑰
用戶最好的體驗仍然會是密碼方式,所以錢包還提供了keystore讓用戶導出保存,這個Keystore也是私鑰經過加密過后的一個文件,需要你自己設置的密碼才能打開文件。這樣的好處是就算keystore文件被盜,只要你額外設置的密碼夠長夠隨機,那么短時間內私鑰也不會泄露,有充足的時間轉移地址里面的加密貨幣到其他地址。Keystore會存儲在使用的設備里,這樣每次登陸只用輸入相應密碼即可。
總結
區塊鏈錢包實現的技術原理用一句話表示就是:錢包助記詞生成了種子,種子生成了私鑰,私鑰推導出公鑰,公鑰節選部分成了錢包地址。同時錢包提供了keystore,它也是私鑰加密后的文件,可以配合正常的密碼使用,便捷了用戶的錢包使用。