Go-Ethereum

如何儲存使用者私鑰和詳細資訊

  • July 18, 2017

我正在創建一個 android DApp,並在使用者創建帳戶時使用 go-ethereum 為使用者創建錢包。這會將私鑰儲存在他們的設備上。我還想將他們的所有詳細資訊保存在其他東西上,以便將他們的姓名、電子郵件、密鑰和雜湊密碼保存在一起。我將如何去做這樣他們都是安全的?是否像將它們儲存在數據庫中一樣簡單?我什至必須這樣做嗎?有沒有更好的辦法?

謝謝!

如果您將密鑰和密碼儲存在使用者設備以外的任何地方,那麼您又回到了原點,應該在這裡停下來,回到使用傳統的 Web 服務和使用 Stripe 或類似工具的支付集成。

一種安全的方法是實現一個硬體錢包,例如this onethis one。Geth 可以連接它們,它們還帶有 API,您的自定義應用程序可以使用這些 API 來請求硬體設備簽署 tx。這是最終安全的方式和最佳實踐。

現在,我從您的問題中了解到您擔心可用性和便利性(例如“失去鑰匙”的情況)。通常很難在安全性和便利性之間找到一個黃金中間點,而且沒有一種解決方案可以滿足所有需求。你管理數百萬?然後你想毫無例外地通過硬體錢包。你只是控制幾分錢還是一個有趣的遊戲?那麼您可能會使用應用內或移動錢包。你真的首先需要一個區塊鏈,還是一個集中的遺留解決方案,因為你不需要保證人們可以與你的 dapp 互動而不管你的存在?

如果你需要一些相當安全的東西,並且想要通過硬體錢包,但又要優雅地處理失去的密鑰場景,你可以設置一個智能合約,提供例如(安全!)信任網路。例如,一旦我 5 個信任的朋友中有 3 個確認這個新賬戶 X 確實是我,而我的舊賬戶 Y 確實失去了,那麼他們可以將所有資產的所有權從 Y 轉移到 X。這伴隨著時間鎖定和一些緊急情況關閉開關開始成為智能合約真正有趣的一面,請參見此處的討論。

引用自:https://ethereum.stackexchange.com/questions/21467