作为web3世界的核心枢纽,交易所托管着大量加密资产,它的钱包管理也关系到大量用户的资产安全。本文作者从产品设计的视角,分享了交易所钱包管理系统的组成、业务流程,一起来看一下吧。交易所作为web3世界
作为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协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
原创文章,作者:币圈吴彦祖,如若转载,请注明出处:https://www.kaixuan.pro/news/437746/