交易所上币如何与区块链进行对接?

在加密货币发展的历史上,有一个最知名的交易所Mt.Gox,这个交易所被中国人亲切称为“门头沟交易所”。门头沟交易所的创始人是一位叫做杰德的密码朋克。他曾今开发了鼎鼎大名的p2p下载软件“电驴”,不过没有过多久他就把门头沟交易所转手给一个法国的胖子,俗称“法胖”。门头沟交易所最终因为黑客原因倒闭了。“法胖”也在日本被判刑入狱,没有几年后就瘦了很多斤,出来后变成一个超级帅哥。不过,这不是今天谈论的重点。

树哥今天聊一聊交易所是如何与区块链进行对接?

门头沟交易所也罢,还是我们现在熟知的火币、币安、Ok等交易所都是中心化交易所。

虽然区块链是去中心化的,不过当前主流交易所却都是中心化的交易所。这些中心化的交易所有什么特点呢?其中最核心的特点是:

凡是转移到交易所中的代币都是在交易所的钱包之中,用户账户中的代币其实只是数字。

这点如何理解呢?

和银行一样,你银行户头上的钱其实只是银行给你记的账而已,只要你没有提现出来,这些钱就不真正属于你自己,本质上属于银行。

中心化交易所与此完全相同,你在交易所中开的各种账户,都只是交易所给你做的记账而已,而真正的钱都是存储在交易所的钱包当中。这就是为什么有的时候交易所的老板出现意外都会导致整个交易所内所有的币都被锁死在钱包当中,再也拿不出来了。

可能你又有疑问了:

我在交易所上接收转来的币,会生成一个新的地址给我,这个地址确实是区块链的地址啊。

理解的非常正确,那个地址确实是区块链的地址,只不过这个地址不属于你,因为地址的私钥不掌握在你的手里,而是掌握在交易所的手中。当你从这个地址提现的时候,交易所再通过他自己的账户体系确认,容许你提币的时候,再使用这个地址的私钥签名来把这笔账转移出去。

如果上面树哥所说的话你都能理解的话,就可以很容易理解交易所是如何和区块链进行对接了。

从上面的案例我们看到:

实现交易所和区块链对接的关键部件就是钱包节点。

也就是说,只要在交易所上部署一个区块链的钱包节点,就可以完成我们上述的种种功能。

例如:交易所上的A用户申请了一个地址A,交易所上的B用户申请了一个地址B,用户A向用户B进行转账,实际上就是地址A向地址B转账,利用地址A对应的私钥A签名即可。事实上,虽然用户A和用户B都能看到地址A或地址B显示在自己的账户下,不过地址A和地址B其实都是交易所上部署的钱包节点产生出来的,并且由这个钱包节点来管理私钥A和私钥B。所以整个过程就是交易所上的钱包节点的地址A向钱包节点的地址B转账,相当于交易所的左兜掏到右兜而已。如下图所示:

image.png

还有一种情况,是用户从交易所提代币转移到自己的钱包或者其他的交易所平台,这样的操作就叫做提现。

例如交易所上的A用户发起提现申请,如果提现得到交易所许可的话,交易的钱包节点就可以对地址A进行签名,将代币转移到用户需要转移的地址。

钱包节点内地址转移代币或者向外转移代币本质上来说都是一样的,因为钱包节点管理的是私钥,而不是代币本身。

树哥的这句话有两层含义:

代币记录在区块链之上,而钱包不存储代币,只用来管理私钥。

钱包需要实时发挥签名的作用,所以需要联网,所以可以称为“联网钱包”。

联网钱包也往往可以称之为“热钱包”,可以简单理解为使用频次高,钱包都得发热,哈哈。

一般情况下,在交易所上部署一个热钱包节点就已经足够实现所有的功能,无论是本平台内的转账或者用户对外提现。

不过,有的时候为了保障安全可能会部署多个热钱包节点,这样可以分担一些账户,也可以增加一些保护。

如果交易所比较大,代币沉淀比较多的话,还会建议在热钱包节点之外再部署冷钱包节点。

所谓冷钱包节点就是不联网的钱包,冷钱包的使用频度不高。可以简单理解为热钱包是活期存款,冷钱包是定期存款。其实冷钱包和热钱包的本质区别就在于:

冷钱包因为不联网,所以冷钱包要比热钱包安全程度高一些。

这一点相对好理解,因为冷钱包不联网,所以私钥不被频繁使用,钱包被黑客攻击的可能性也会大大降低。

在交易所中,热钱包节点和冷钱包节点一般是这样搭配使用:

热钱包节点管理的代币需要满足交易所的日常提现需求。

当交易所的日常库存不足以满足提现需求时,就把冷钱包的代币转移出来一部分来补充到热钱包节点中。

可能您又会问:既然冷钱包不联网,那又如何转移里面的代币呢?

这个问题非常好!让不联网的冷钱包管理的代币转移出去会复杂一些。

简单来讲,有如下的过程:

由冷钱包的程序生成离线签名。

然后把这个离线签名的字符串转化为二维码(或者其他形式)。

交易所可以通过二维码扫描器扫描私钥签名文档,再由热钱包发起转账申请。

最后一条非常重要,冷钱包管理的代币,可以由热钱包发起转账申请,这其实就是再一次验证了:钱包只管理私钥,真正的记账信息都在区块链上,不管谁拿来私钥签名,区块链都可以接受转账。

这篇文章到这里,一个交易所上币所需要与区块链对接工作中最核心的部署就是这么多。简单一句话讲:在交易所上部署热钱包节点或者热钱包节点+冷钱包节点。

如果,这个代币是在以太坊上或者EOS上等公链发行的代币的话,那么整个对接流程就更加简单了。因为以太坊或者EOS上的热钱包节点已经部署到了交易所上了,其上发行的代币就已经都可以直接支持,而不需要另行部署钱包节点了。

作者介绍:树哥,树哥区块链创始人、立志用最通俗的语言让小白透彻了解区块链技术。著作:《区块链从小白到精通》,创建区块链从小白到精通体系,开发:新生大学《树哥解读以太坊》、千聊《树哥教你智能合约开发》等课程。公众号\头条号\新浪博客\百度百家:树哥区块链。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190501A02VPB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券