農林漁牧網

您現在的位置是:首頁 > 畜牧業

乾貨分享:交易所錢包管理系統設計

2022-09-13由 人人都是產品經理 發表于 畜牧業

喬約翰遜絕殺多少次

作為web3世界的核心樞紐,交易所託管著大量加密資產,它的錢包管理也關係到大量使用者的資產安全。本文作者從產品設計的視角,分享了交易所錢包管理系統的組成、業務流程,一起來看一下吧。

乾貨分享:交易所錢包管理系統設計

交易所作為web3世界的核心樞紐,託管著大量加密資產,其錢包管理關係到大量使用者的資產安全,因此很有必要對其錢包管理系統研究學習一番。這裡我整理了一篇個人從產品設計者視角的學習筆記,希望能夠幫助到大家學習。

01 交易所錢包系統組成

交易所錢包系統設計主要需要考慮到安全性和便捷性。為了兼顧兩者,交易所大部分資產用冷錢包管理,以保證資產安全;而少部分資產使用熱錢包管理,以方便使用者提現資產。

不多說,先放圖:

乾貨分享:交易所錢包管理系統設計

1. 熱錢包系統

熱錢包系統由使用者充值錢包、歸集錢包、提現錢包、手續費錢包等組成。

1)使用者充值錢包

使用者需要向交易所進行代幣充值,需要為每一名使用者分配一個地址,用於充值代幣,其私鑰儲存在服務端以供後續資金歸集時簽名。

2)歸集錢包

資產分散在各使用者充值錢包中不方便管理,因此當充值錢包達到一定規模時需要進行資金歸集,將資金統一歸集至歸集錢包。

大量資金統一管理在一個錢包中是存在比較大的安全風險,所以需要對歸集錢包中的資產進行分配並轉移。

3)提現錢包

為了方便使用者提現和資金安全,一般會將20%資金轉移到一個提現錢包(也可能是幾個錢包),這個錢包專門用於客戶提幣使用。

手續費錢包:歸集資金、轉移資金、使用者提現這幾個操作均需要交易費,當其他錢包ETH不足抵扣交易費時,由該錢包轉入一定的ETH作為交易費。

2. 冷錢包系統

冷錢包系統一般包含系統冷錢包和BOSS錢包組成。

系統冷錢包:一般會將20%~30%的資金會轉移至系統冷錢包,當提現錢包資金不夠時才會在系統冷錢包進行劃轉。

BOSS錢包:一般50%以上資金會轉移至boss錢包,由公司一個或多個老闆控制。

02 錢包系統業務流程

交易所錢包系統和主要涉及業務流程:

註冊—:生成充值地址

使用者充值處理

資金歸集

資金分配轉移

提現轉賬

不多說,先放圖:

乾貨分享:交易所錢包管理系統設計

1. 註冊—:生產充值地址

當用戶註冊賬戶,需要對應建立一個錢包,為使用者分配一個單獨的充值地址,私鑰由儲存在服務端以用於資金歸集。

乾貨分享:交易所錢包管理系統設計

2. 使用者充值處理

我們需要持續監聽充值錢包代幣入賬及區塊確認數,一般12個區塊確認後才認定為入賬成功。入賬成功後,需要判斷平臺是否支援該代幣,若支援則增加賬戶對應代幣的餘額,至此完成使用者充值處理。

乾貨分享:交易所錢包管理系統設計

3. 資金歸集

使用者充值完成後,我們需要判斷使用者充值錢包該代幣資產價值,一般當其價值達到1000U,我們需要將錢包中資金歸集到歸集錢包。

歸集前需要判斷預估gas是否過高(超過100 gas),若過高則等待降下來,再進行歸集。

另外,需要判斷錢包是否有足夠ETH以抵扣交易費,若不足則需從手續費錢包轉入0。01ETH再進行歸集。

乾貨分享:交易所錢包管理系統設計

4. 資金分配轉移

歸集錢包為熱錢包,當大量資產都在一個熱錢包是存在極大風險的,因此我們將資產轉移。

乾貨分享:交易所錢包管理系統設計

1)篩選統計

在進行劃轉和分配之前,我們需要對歸集錢包中資產進行篩選統計,篩選出平臺支援且有餘額的代幣,然後統計篩出代幣的餘額。

2)資金分配

我們將80%的資產轉移至冷錢包地址,20%繼續轉移至提現熱錢包中。這樣設計兼顧安全性和便捷性,冷錢包控制相對來說保證了安全性;而大部分玩家都是把大部分資金存放在交易所中,熱錢包20%流動資金是足夠支撐使用者的提幣需求,因此也一定保證了便捷性。

3)資金劃轉

我們一般為固定週期進行分配轉移,一般設計為一週劃轉一次,具體週期和時間可以根據業務和公司情況而定。我們根據代幣型別採用不同劃轉方式,ETH直接根據分配資金轉賬,ERC-20代幣使用合約批次打包轉賬(節省交易費)。

5. 提現轉賬

使用者發起提現後,由於Nonce機制存在,並不直接將交易傳送至網路,而使用本地佇列排隊,接收到上一條成功確認記錄後,再獲取最新Nonce,進行下一條轉賬傳送。

傳送前,判斷餘額是否充足,若不足則需申請從系統錢包手動轉入足夠的代幣後再進行轉賬。

乾貨分享:交易所錢包管理系統設計

03 私鑰管理方案

1. 多籤

提示:以太坊本身不支援多籤,需要使用智慧合約實現,合約本身又存在安全風險,因此交易所的以太坊私鑰一般採用該方案儲存。

普通使用者可以將私鑰/助記詞儲存在軟體、紙上或者透過大腦記憶儲存。但對於擁有鉅額資產的交易所而言,普通使用者的私鑰管理方式根本無法適用,否則將存在單點儲存的風險。

為了避免一個私鑰的丟失導致地址的資金丟失,達到風險分散的目的,一般會採用多重簽名技術。所謂多重簽名技術,就是把一個錢包地址的控制權交給多個金鑰,這些金鑰儲存在不同的地點,並分別生成簽名。舉個簡單的例子:

2-3多重簽名,表示3個人擁有簽名權,而兩個人簽名就可以支配這個賬戶裡的資金;

1-2多重簽名,表示2個人可以簽名,兩個人擁有私鑰,誰都可以來支配這筆資金。

在熱錢包方面,一般採用2-3多重簽名,需要三個私鑰持有人中的兩個分別進行授權,才能完成簽名。 在冷錢包方面,一般採用的是2-2多重簽名,即每個私鑰的使用需要兩個人雙重授權才能進行提幣,以保證冷錢包安全。

2. 備份

在採用多重簽名的同時,為了進一步降低私鑰丟失或損壞的風險,還對私鑰進行了備份處理:

對於熱錢包,備份私鑰儲存辦公室附近的銀行保險櫃。

對於冷錢包,一般備份兩份,一份存在辦公室附近的銀行保險櫃,一份存在異地某一家銀行的保險櫃;同時,異地銀行保險櫃必須由兩個不同的人掌握,掌握銀行保險櫃的兩個人不得乘坐同一輛交通工具。

參考:

https://cointelegraphcn。com/news/how-do-exchanges-manage-digital-wallets

https://www。jianshu。com/p/3a238354678e

https://www。jianshu。com/p/3a238354678e

本文由 @nobodyjack 原創釋出於人人都是產品經理,未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供資訊儲存空間服務。