分别什么是中心化、去中心化交易所?
文/Jinn
ONEROOT最近出了一系列科普视频,其中有一期讲的是去中心化交易所。这便引起了我的好奇心:难道目前市面上的交易所,都是中心化交易所?
首先来借话科普一下:
1. 什么是中心化交易所?
中心化交易所中,用户将钱存进交易所,由交易所集中保管和控制资金,当用户进行交易时,会向交易所提交交易指令,由交易所进行交易撮合,并将成交后结果告知用户,整个过程全部是在交易所内部进行。
2. 什么是去中心化交易所?
去中心化交易所中,资金由用户自己控制。当发起交易时,交易将会执行交易所的智能合约来完成交易,在这整个过程中用户一直拥有着资金的所有权。因此,在去中心化交易所中,用户始终是自己资产的拥有者和支配者。
(视频链接:https://mp.weixin.qq.com/s/6b2la-apKpSG74pOlvcdWw)
我这才了解到,目前市面上的交易所都有哪些“游戏规则”。其实,目前中心化交易所的搭建是没有区块链技术作为支撑的。也就是说,所有用户的交易都是在中心化交易所自己的服务器上完成的。而去中心化交易所,是基于智能合约(例如以太坊智能合约)建立的,具有区块链的基本特性。那么它们具体是怎么操作的?我们来分以下几个关键点作比较。
交易所种类 用户个人数据 用户账户 资产存放位置 资产交易过程(发起)
中心化交易所 用户数据库 由平台“虚拟” 资金池 用户提交申请
去中心化交易所 交易后
形成的区块 区块链
钱包地址 智能合约 用户进行私钥签名
一、 用户个人数据
在中心化交易所中,是一定会有用户库存在的。也就是,用户在注册时需要输入自己的个人信息,甚至验证身份证明,加上后期的交易等信息,都会被交易所存于用户数据库。
在去中心化交易所中,用户的个人数据其实就是交易后形成的区块,因此,在区块链世界中,这些区块是“不认人”的,每个指令都被矿工同等对待。信息可以说存在于这些区块中,也可以说就是这些区块形成的一个过程。
二、 用户账户
在中心化交易所中,用户的账户其实是交易所“虚拟”出来的(相对于区块链世界而言),也就是给每个用户上了一个编号进行区分。
在去中心化交易所中,用户的账户就是钱包地址,是由公钥通过摘要算法得出的。而公钥又需要用私钥去“开锁/配对/签名”才能发送交易指令,私钥便是我们的钱包密码。后来人们又觉得私钥太长了,因此用哈希算法将其转换成了助记词,这就是组成一个钱包的几个成分,也间接证明了钱包的安全性是如何得到保障的。
三、 资产存放位置
在中心化交易所中,用户的资产其实是充值到交易所的“资金池”里,资金池一般是由交易所自己的几个汇总地址组成的。这种资金池里的资金,是可以由对这个池子有中心化权限的人任意搬动,它和显示在交易平台上的数据没有直接关联。上面提到的账户是“虚拟”出来的,账户里的余额也是一样的道理,它显示出来的只是一个客户最后操作的结余金额,而实则那笔TOKEN可能被转去了其他的账户。这个余额也可以理解为交易所给你的承诺,下次需要操作时对方会调动自己的资金库以满足你的需求。
在去中心化交易所中,用户的资产是存放于智能合约上的数据信息。所有资产流动的去向是公开可见的,数据是可追踪查询的。资金的“搬动”是在区块链的智能合约中完成的,智能合约中操作的发起则是由用户钱包的私钥进行指令的,交易所对这个过程没有参与权。因此,去中心化交易所对资金的流动没有中心化的控制,资产的控制权限完全掌握在拥有私钥或是助记词的那个人手中,因此这两样若都丢失,你将无法启用钱包中的资产。由于没有平台为你保管,密码丢失后平台也是无法找回的。
四、 资产交易过程
在中心化交易所中,资金是如何进行交易的?用户提交申请——平台按照申请给出反馈——平台告知交易完成。是不是发现提交申请之后,后面所有的事都是“暗箱操作”?这也是因为资金池存在的原因或者说是结果。由于资金需要交易所在资金池里调动,因此用户提交申请后需要等待一段时间。在这段时间里,甚至会发生交易所资金池内实际资金不足无法,完成交易的情况,即你被通知:“交易冻结/资产冻结”。当然,一般情况下,交易所是能够顺利完成交易撮合的,然后用户的主页面将会显示成交记录。
在去中心化交易所中,交易的过程为:用户在平台上寻找交易对象——用户进行私钥签名,发起交易——智能合约进行交易撮合——双方达成交易共识,交易结束。平台在交易过程中充当的是“信息媒介”,也就是说用户拥有钱包地址,便可在平台上寻找适合自己的交易,有的平台起到一个传递非价值信息的作用,有的平台则会有自己的中继服务器参与进来,以加速交易的撮合。因此,在去中心化交易所里,资产是独立于交易所存在的。
中心化交易所和去中心化交易所都会有“汇总地址”。中心化交易所是erc20地址,地址容易变更或者同时有几个;而去中心化交易所则是智能合约地址,地址持续动态更新且基本不会变更。 因此区分两种交易所的一个区别方法就是用https://etherscan.io查询汇总地址,看它是哪种属性。