如何讓以太坊DAPP用戶恢復丟失的私鑰

在以太坊上,私鑰用於訪問賬戶、簽署消息等。一旦你失去對私鑰的訪問權,你將失去對該賬戶存儲的全部資金的訪問權。這與丟失信用卡密碼有什麼不一樣?你不能要求銀行給你一個新的密碼,由於以太坊上不存在銀行。你的資金仍被記入你在區塊鏈上的地址,但你沒法提取它們。php

以太坊區塊鏈上的帳戶和dapp服務旨在去中心化,沒有人表明你保管訪問代碼。前端

將你的私鑰存儲在數據庫中的服務能夠隨時訪問你的資金,就像銀行同樣,這與以太坊社區試圖實現的目標正好相反。java

那麼,咱們如何協調以太坊的去中心化調用要求和用戶對支持服務的需求呢?node

對於去中心化的服務提供者來講,做爲金融保管人也具備很強的法律含義。咱們本身的案例:DAPACT正在低收入國家現有貸款代理的基礎上創建一個信貸服務平臺。咱們將本身定義爲一家軟件公司,一個合法註冊的爲本地貸方提供即插即用技術的平臺。python

得到用戶資金將使咱們成爲金融服務提供商而不是軟件公司,這意味着當地金融監管機構會對咱們進行審查。這最終將轉化爲要求在每一個有DAPACT的國家都有某種銀行執照和資本存款。android

在純DAPPS服務中,一旦你丟失了你的私鑰,就絕對沒有辦法從新訪問你的資金。用戶須要注意將他們的恢復密碼備份到安全的地方。最有效的辦法是把密碼寫三次,把硬拷貝放在不一樣的地方。git

某些用戶每每會丟失或根本不備份這個密碼短語。這對全部DAPPS開發人員來講都是一個重大問題,尤爲是對於DAPACT,由於咱們處理的是那些對技術瞭解很少的人羣。所以,必須爲咱們的用戶提供可恢復性解決方案。程序員

必須向用戶提供適合其理解去中心化系統的私鑰可恢復性解決方案。github

此類可恢復性解決方案應遵循如下三個標準:web

  • 外部特性:去中心化服務提供程序不能訪問私鑰。
  • 可定製:即便在私鑰丟失的狀況下,用戶也應該可以理解和配置恢復選項。
  • 安全:不該該有簡單的方法經過恢復選項劫持另外一我的的賬戶。只有真正擁有賬戶的人才能恢復賬戶。

現有解決方案

如下是以太坊社區的用戶體驗設計師正在實施、改進或探索的解決方案的概述,從最新推出的開始。

多人簽名

多人簽名錢包容許設置多個全部者n。若是須要少於n個全部者,其他全部者能夠在失去訪問權的狀況下替換全部者。然而,此解決方案須要至少3個全部者或全部者設備(交易須要2個確認)以及全部者之間的高度信任。

助記符

助記詞(又稱種子短語或密碼短語)是一系列能夠從密碼學上派生私鑰的單詞。用戶須要本身備份恢復記憶,並確保其安全,以便在丟失時從新生成私鑰。

此恢復選項是以太坊地址和錢包的標準配置。在高級DAPPS用戶中,助記法已經成爲一種很好理解的機制,可是知識較少的用戶應該有不一樣的選擇。記憶法和保存它們的地方同樣安全。寫在一張紙上,它們會暴露在火災和洪水、被盜等災害中。

生物特徵數據

該行業的一個可行解決方案是指紋、虹膜掃描或人臉識別等生物特徵數據。生物特徵數據不能像紙上的密碼同樣「丟失」。若是蘋果和三星在生物識別領域投入了這麼多資金,那它必定是一個偉大的解決方案,對吧?

這個選項的問題是,一旦一我的的生物特徵數據向公衆公開,就不再能用它來保護一個賬戶,由於你不能像改變密碼或切換賬戶那樣真正地改變你的指紋。隨着人臉識別成爲主流,甚至在Github上有一個基於OpenCV的repo協議,這種可能性變得愈來愈可信。

生物識別的另外一個缺點是,不一樣的指紋傳感器會變得至關模糊,不徹底匹配——例如,若是用戶割傷本身,那麼可能會出現問題。

社會關係恢復

用戶能夠肯定一組可以表明他們恢復對其賬戶的訪問權限的朋友(即,他們中的每一個人都擁有一個簽名,這些簽名組合在一塊兒能夠授予對該賬戶的訪問權限)。只有當全部朋友都贊成時,賬戶全部者才被替換。

這個解決方案最大的問題是,朋友組能夠一塊兒工做,從全部者那裏竊取對賬戶的訪問權,即便全部者沒有要求他們這樣作。這就是爲何理想狀況下,小組成員不該該知道小組中還有誰。

微信成功實現了某種社會恢復方案,容許密碼恢復:當用戶丟失密碼時,微信要求用戶在聯繫人列表中選擇一個大名單中的人。知道微信包含合理的銀行信息,這無疑是DAPPS的一個好線索。

標準KYC程序

與現代銀行對新客戶執行KYC程序的方式相似,用戶能夠向KYC提供商代表本身的身份,以便從新得到資金。可是,用戶須要執行一次已經設置好的過程,以便提供者知道地址背後的標識。

此解決方案已用於令牌交換操做(例如nimiq)。KYC驗證一般由第三方提供商(如IDNOW)處理,這是一項成本高昂且有點違反區塊鏈原則的工做。

癱瘓證實

這個新概念也被稱爲時間鎖恢復和最後手段恢復。若是對賬戶的訪問丟失,能夠將其進行標記。此外,標記爲「丟失」的人可能會存入押金。如今開始一個時間段,在此時間段以後,賬戶將被替換。在此期間,實際帳戶全部人能夠經過交易證實帳戶實際上沒有丟失。若是是這樣,攻擊者將丟失轉移到賬戶的存款。

隨着愈來愈多的設計師進入區塊鏈空間,人們但願有一個偉大的頭腦會想出密碼密鑰管理的殺手用戶體驗。或者誰知道呢,也許是一箇中年曆史學家提出了一些古老的騎士把戲來得到安全黃金定律。

目前,根據咱們的3個標準(外部性、可定製性、安全性),許多解決方案(或它們的組合)顯示出良好的潛力。一旦社區贊成可接受的可恢復性解決方案,就須要在整個生態系統中一致地採用通用的設計語言和標準化的最佳實踐,以便DAPPS用戶習慣於可恢復性模式。

======================================================================

分享一些比特幣、以太坊、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:

  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • ERC721以太坊通證明戰,課程以一個數字藝術品創做與分享DApp的實戰開發爲主線,深刻講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • 深刻淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深刻學習EOS區塊鏈應用開發,課程內容即涵蓋帳戶、計算資源、智能合約、動做與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深刻淺出,很是適合前端工程師深刻學習EOS區塊鏈應用開發。
  • Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操做實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
  • Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操做實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
  • tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。

匯智網原創翻譯,轉載請標明出處。這裏是如何讓DAPP用戶恢復丟失的私鑰

相關文章
相關標籤/搜索