為數字資產交易設計安全的錢包架構

買賣虛擬貨幣
作為一名加密貨幣愛好者和區塊鏈行業建設者的一員,我將盡我最大的努力來更好地構建加密貨幣生態系統。在這篇文章中,我將分享我的經驗,如何為數字資產交易設計一個安全的加密貨幣錢包。希望對建立基於區塊鏈和加密貨幣經濟的業務基礎有所幫助。數字資產管理是至關重要的,尤其是對於那些建立在區塊鏈基礎上的機構。一個典型的使用案例是加密貨幣交易所或場外交易平臺(OTC),使成千上萬的交易者在不受時間和空間限制的情況下提取或剝離他們的數字資產,銀行級別的安全性和高可用架構是這類創業公司要獲取的基本要求。熱錢包,暖錢包和冷錢包關於錢包的常識不會在文章中介紹,但是我們應該學習三種錢包之間的交易業務系統。· 熱錢包:僅用於從系統傳送交易,應保留足夠但不太多的資金來服務取款。它應該有嚴格的政策限制硬幣的數量,也就是說,小額取款應該儘可能自動化,但大額提款應該在提款前得到行政部門的批准。· 暖錢包:用於所有存款到系統,請求一個地址傳送資金到新使用者加入時。客戶充值到暖錢包的資金應自動或定時提取到冷錢包。
· 冷錢包:用於系統大部分資金的儲存,我想至少是7/10,用於暖錢包的充值。冷錢包也被稱為離線錢包,因為它打算在不連線任何網路的裝置上執行。因此,在討論加密貨幣錢包系統體系結構的設計思想時,需要考慮安全儲存私鑰、智慧風險控制取款系統和存款鏈確認三個關鍵問題。如果我們必須優先考慮這些安全因素的發展,這些金鑰的重要性逐步減少,因為最重要的是私鑰儲存。基於實際用例的體系結構持有自己的私鑰是採用加密貨幣的主要原因。傳統的金融方式,尤其是跨境匯款,使得貨幣的轉移十分繁瑣。在使用數字資產錢包時,個人或機構之間的業務邏輯存在許多差異。如何設計數字資產錢包取決於您儲存的私鑰的位置。主要有三種模式:在手機中儲存私鑰、區塊鏈全節點或安全的網路程式環境。1. 分散式移動應用錢包持有金鑰並簽署原始交易。當手機app建立錢包時,pubkic key註冊到網路程式(主要是webservices)。網路程式與p2p網路互動,從區塊鏈臺賬中獲取資訊(維護UTXO,查詢以太坊賬戶餘額, nonce值,交易歷史等),並廣播新的交易。這些鏈能夠錢包滿足大多數人使用。
2. 帶錢包的區塊鏈節點提供全方位服務,直接在網路環境中建立和簽署原始交易。與全服務節點的系統整合透過JSON-RPC與區塊鏈全服務節點互動來管理錢包。錢包私鑰與區塊鏈分類賬一起儲存,同時暴露在不太安全的開放網路環境中。有許多駭客入侵案件引起的json - rpc連線。我認為使用區塊鏈節點實現的原始錢包是不好的做法。有人建議比特幣核心應該將節點和錢包從功能中分離出來3. 為了提高安全性,可以透過在更安全的環境中執行的一個單獨的錢包程式生成私鑰,我們稱之為簽名程式。全服務的另一部分是網路程式,它構造原始交易和廣播簽名交易。整個過程是,網路程式建立未簽名的交易,並以成功的方式將未簽名的交易轉移到簽名程式(然後簽名程式將簽名後的交易返回給網路程式,最後由網路程式將簽名的交易廣播到對等網路。簽名程式和網路程式錢包全方位服務包括四個部分。· 首先是錢包管理,私鑰由wallet-core(簽名程式)程式生成,並由levelDB儲存· 第二是外部端點,取款流程和錢包生成,wallet-gateway(網路程式)構建原始交易,為業務系統提供外部端點,使用wallet-core和wallet-gateway元件之間的gRPC協議傳輸資料。
· 第三個是ledger-monitor程式,它訂閱最佳塊事件並推送到MQ(RabbitMQ)。

· 最後一個是ledger-consumer,它與兩個MQ消費者相結合,一個是為我們的系統錢包維護UTXO區塊鏈,另一個是處理消費者(使用者通知)的存款。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;