LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 交易所钱包的问与答

交易所钱包的问与答

2019-11-22 区块律动BlockBeat 来源:区块链网络

长久以来,「交易所」一直都是币圈最火的赛道之一。如同当年团购时代的万团大战,在上一轮牛市里,币圈也曾一口气涌现出了上万家的交易所,一直到今天仍然是每天都有新交易所诞生,每天也都有老的交易所倒下......


不同的交易所虽有不同的业务侧重,但都同时关注着一个至关重要的痛点——交易所钱包。从业以来,比特派钱包团队曾经接受过众多交易所的关于交易所钱包相关的问询,也都一一做了回复。

本文会将部分内容整理出来,与大家讲述设计交易所钱包方案时的常见问题,希望能对您有所帮助。

问题一:交易所钱包应该使用第三方托管服务吗?

对于这个问题,我们的答案是:


请根据自身情况,谨慎考虑是否采用托管服务。

最近这段时间,「托管」这个词在币圈很火,俨然成了一个「很有希望」的赛道,这里我们不想去讨论托管这个赛道是否有价值,只想给大家说说「为什么您应该谨慎考虑第三方托管」——这种看起来自己啥都不用干,只靠第三方 API 就能把钱包都管理起来了,这种方式真的好吗?

1、第三方托管服务并不像大家想的那样「安全」

安全需要依赖的是钱包系统机制和服务器、网络等层面的安全策略,今天在托管领域里名气最大的服务商 Bitgo,几年前也曾害得 Bitfinex 被盗了 12 万个比特币,在那次事件中,Bitgo 的服务器本身并未被攻破,而黑客攻破的是 Bitfinex 的服务器,然后调用 Bitgo 的 API 就把币轻松给转走了。打算使用第三方托管服务的交易所们不妨评估下,当你的服务器被黑之后调用托管方的 API 是否能把币盗走?

使用第三方托管服务并不额外增加安全性,因为黑客黑了你的服务器,你的币可能会丢;黑了第三方托管服务商的服务器,你的币仍然可能会丢;第三方托管服务 API 访问方式及你访问该服务的 API KEY 等内容被盗了,你的币还有可能会丢。也就是说,从本来单点安全风险,扩散成了多点安全风险,Bitfinex 的例子里就是本来 Bitfinex 大部分币放在冷钱包里保管的好好的(之前热钱包被盗一千多个比特币的时候,冷钱包里的币安然无恙),而改成 Bitgo 托管模式后,几乎一下子把所有的币都给弄丢了,这都是相同的道理。

还有就是跟安全相关的扩展的道德风险,我们仍拿 Bitfinex 和 Bitgo 那次的例子来举例,Bitfinex 的盈利能力很强,在一定程度内的被盗都有能力赔付,所以它的道德风险相对较低(前不久币安那次被盗币的例子同理),而 Bitgo 是一个盈利较弱的公司,一个没多少钱的企业替另一个很有钱的企业保管该企业的全部用户资产,并且承担相应的道德风险,这真的靠谱吗?

2、谨慎考虑托管服务的另一个原因是「效率」

当前每一家交易所都非常努力,希望能够跻身头部交易所的行列。但是在如此拥挤的赛道中(想想一万家交易所是怎么个概念,您就懂了),想成为头部就必须要有更高的效率,对交易所来说最重要的环节——「上币」就对团队的效率有极高的要求。对于新的、热门的区块链资产来说,能先上币,就能抢占先机,就能吸引大量用户来进行交易,这也是为什么大家经常能看到一些首发某交易所的币经常被其它交易所抢上的原因了。

从这个角度上讲,使用第三方托管服务的交易所,其上币效率则全部要依赖于第三方托管服务的上币效率了,之前像 Bitgo 曾经长期不支持以太坊,如果您的交易所使用了 Bitgo,那您就要做好一个交易所长期无法支持以太坊交易的准备。

像那些过去一段时间里比较热门的公链:Algorand、Cosmos、Nervos、Cocos 等,如果托管服务商不支持,您的交易所难道就不准备支持了吗?
即便是你遇到了一个打了鸡血不断支持新公链的托管服务商,您所想新上线的公链未必是托管服务商当前想优先支持的公链,双方仍有很大的可能性会在优先级排期方面有很多分歧,所以,从效率的角度上讲,您的交易所应该慎重考虑第三方托管服务。

3、交易所在选择托管服务时还需要考虑「成本」

第三方托管服务通常是按量来收取服务费用的,无论是存量还是流量,对于一个新交易所来说,初期自身量较少,看起来托管成本会比自己搭建钱包服务要低一些。但说实话,您开的交易所的初衷是希望自己一直没量吗?
哪怕是当前的非头部交易所,都应该设计好自己的钱包方案来管理币,因为只有好的成本方案才会让你走更远。

总之,第三方托管服务其实并不一定适合交易所的钱包模型,托管服务可能更适合其它场景,但对于交易所来说,无论是从安全、效率、还是成本,交易所钱包都应谨慎考虑是否要采用第三方托管服务。即便是您最终真决定了要使用第三方托管服务,请记住,您仍然应该只用其作为交易所热钱包的可选方案,冷钱包仍应单独管理,这很重要。

问题二:交易所的热钱包系统应该如何设计?

这是我们经常被问到的问题,并且我们自己也曾经在这一块有过很多种不同种类的方案(比如说当年的比太钱包企业版,以及后来的 chaincloud.com 区块链云服务),我们自己还曾为比特派开发过钱包内交易所系统和派银行安全充提模块。通过这么多年的实践,最终在这个问题上我现在能给出的答案很简单:请使用各个公链的官方全节点钱包来搭建交易所的热钱包系统!

比如说,比特币就用 bitcoin-core,以太坊就用 geth/parity,别琢磨了,这是成本最低、效率最高的解决方案,没有之一!

首先,各个公链无论是主网上线还是后续升级,最早能用的一定是官方的全节点钱包,因为所有的改动都是在这里做的,全节点能跑了,公链才有意义。从这个角度上讲,您如果想第一时间最快的支持一个新公链,官方全节点其实是您热钱包的首选方案。

其次,今天的公链全节点通常都能提供比较完善的 RPC 调用支持,也就是说您的交易所网站充值提现模块可以通过调用全节点 RPC 来完成地址生成、余额查询、交易监控等操作,总体来讲开发成本较低。

由于各公链的官方全节点钱包是热钱包,所以切记只能将其用于满足交易所日常充提的热钱包模块,其中的大额部分要定期的汇总到冷钱包里以确保安全。
另外,热钱包系统也应做好相应的主机安全加固和网络安全加固,并做好攻防保护,以确保钱包系统的安全。热钱包里的币也应该做到能不丢尽量不要丢。

如果您的交易所像几大交易所一样「研发资源溢出」,那也没必要自行研发热钱包框架,因为这个活儿干下去是个无底洞,即便是像比特派这样拥有全球顶尖的钱包研发团队,在公链支持上也要投入巨大的精力,自行开发钱包系统不是说做就能做的。如果非要做,建议将精力投入到主要币种(如 BTC、ETH、USDT 等)的热钱包系统开发,其它的公链建议在交易所热钱包这块还是使用官方全节点钱包,因为对于交易所来说,能第一时间支持新链太重要了。

问题三:交易所的冷钱包方案应该如何规划?

交易所的热钱包可以用各个公链的全节点钱包,那么交易所应该如何安全的冷存储大额的区块链资产呢?

答案其实也很简单,那就是「请使用安全、可靠的硬件冷钱包来存储大额资产」。这里要特别说明一下,即便是您的交易所真采用了第三方托管服务,您仍然应该把大额资产定期的转到自己掌握的硬件冷钱包中,因为「安全」,同时也因为「您也需要评估第三方托管服务的道德风险」。

关于硬件冷钱包的选择呢,我们曾专门写过一篇文章《正确选择硬件钱包的几个要点》(https://www.jinse.com/bitcoin/306181.html)来讨论过这个事情,原则嘛,不外乎「开源」、「不断迭代」、「有屏幕」、「架构安全合理」、「有良好的安全历史和口碑」这几点。

在这几个关键点上,Trezor、Ledger 和我们团队开发的 BITHD.com 比特护盾、刀锋硬件钱包都能很好的满足需求,而有很多在上一轮牛市里新出来的硬件钱包团队往往在「开源」这两个字上就已经不能满足要求了,在这一点上,小白可能还会胡乱选择,而作为交易所来说,选错了是很不应该也很不专业的。

相比起 Trezor、Ledger 来说,BITHD 在产品功能和体验上有着很大的优势,在币种支持和多重签名等功能上也要领先的多,因此,交易所们可以优先选择比特护盾或刀锋作为自己的冷钱包方案。

另外,对于那些 BITHD、Trezor、Ledger 都没有支持的公链,交易所又该如何进行冷存储呢?即便我们已经很努力的让 BITHD 尽可能多的支持公链了,但仍然很难做到每一条公链都支持,这种情况下,您该怎么办呢?

这里我们建议您对那些当前没有硬件钱包支持的公链,使用专用的电脑来存储大额资产,并且平时在不用的时候关机,以确保安全。虽然这种方案不够完美,毕竟这是您当前能选择的还算是比较合理的模式。

当您需要对私钥、助记词进行备份时,建议使用钢铁助记词板——冰甲,用来抵抗水灾、火灾等不确定因素,这会比单纯用纸做备份拥有更高的安全等级。

问题四:交易所的冷钱包管理如何避免单个人的资产管理风险

单点故障(单个人的资产管理风险)是交易所必须要考虑的点,在这一点上,我们其实强烈建议交易所用正确的方案使用多重签名功能,具体原则如下:

1、在使用多重签名功能之前,您首先应该使用的是开源冷钱包(开源硬件钱包),也就是说,大额资产存储设备最重要的是「代码开源」,其次是足够「冷」,最后才是「多签」;

2、根据内部的资产管理方案,合理设计多签模型,比如:2/3、3/5 等都是很好的多签模式;

3、不要低估单点故障(单人风险);

4、不要低估单个人的道德风险,在我们六年的钱包研发历史中,所遇到的「内鬼」盗币、熟人盗币并不少,远比大家想象中的要多;

在硬件冷钱包的多重签名功能方面,BITHD 当前是具备绝对的领先优势的,我们不仅支持 BTC、ETH、EOS 等币种的多重签名,还支持 USDT(包括 ERC20、Omni 两种格式)的多重签名功能,最近还新增支持了 ERC20 全 Token 的多重签名功能,而对于大部分交易所来说,除了比特、以太、USDT 这几大币种以外,ERC20 全 Token 基本上已经能涵盖 90% 的热门交易品种了,也就是说,如果您的交易所使用了 BITHD 多重签名来管理大额资产,基本上大部分币种和 Token 都能纳入到相关的管理框架了,这么说您就该明白这里面的意义到底有多大了吧?

总结


对于一个交易所来说,首先您应该谨慎选择是否要使用第三方托管服务,我们建议您使用各个公链的全节点来搭建交易所的热钱包系统,因为采用这种方案能让您在交易所的竞争中占据公链支持的先机(比别人更快的上币),并且成本更低,更不依赖于第三方的安全性和稳定性。

另外,您还应采用像 BITHD、Trezor、Ledger 这样的开源的、安全可靠的硬件冷钱包来作为交易所的冷钱包管理方案,并且,还应合理使用多重签名冷钱包来多人共管大额资产,避免单点故障和单人风险(包括道德风险)。


—-

编译者/作者:区块律动BlockBeat

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...