Part 1聊一聊去中心化交易所之Bancor

本篇是Bancor协议拆解的第一部分。

2017年6月,3小时内Bancor众筹到1.53亿美金。

大家亲切地称之为一条价值1.5亿美金的公式。

而当我们去真的看白皮书的时候,会发现,公式不止一个,如果只看到站在台前的那条公式,会有一堆问题无法解释。

但是,从传播学角度来看,”一条价值1.5亿美金的公式“ vs. ”n条总价值1.5亿美金的公式“,显然前者更具有想象力。

依旧先把自己摘得干干净净:本文完全基于Bancor的白皮书以及官网资料,且无任何利益相关。

这一次上海站的Bitrun黑客松比赛,很多朋友用了Bancor协议来开发去中心化交易所哦,看来大家对这个协议的认可度还蛮高的呢。

本期白皮书拆解,将全景式展开Bancor协议到底是个什么东西。了解本公号的朋友知道,去中心化交易所,有三个很有趣的实现方式:

  • 0x Project

  • Bancor

  • Kyber Network

本公号频繁跳票,去中心化交易所也只完成了Kyber Network这一个白皮书的拆解,加上今天这篇,就完成2/3了~

关于Bancor协议的文章很多,深入阅读了Bancor协议白皮书的人也不少,但是对于我自己而言,读到的文章对我来说都不是很清晰,包括上来就说Bancor用到了智能Token,就让我一脸懵。回到白皮书本身,它的缓缓展开,恰恰是非常精准且易于理解的,本篇拆解,力图从Bancor的筋脉出发,抓住我自己最关心的问题,相信我,我能理解的,大家一定可以理解~我能看懂的逻辑,大家一定也能看懂,但唯一的问题是,篇幅不会很短。

当前版本的我还做不到1000字内,讲明白一篇白皮书 ~ 希望伴随着本公号的成长,以及大家阅历的提升,到后面可能会越写越短,或许能做到500字讲明白一篇白皮书 ~


前言

互联网时代,是一个人人可以自由产出内容的时代。只要行走在法律界限以内,无论是更新微博,还是去知乎答题,也或者是去各种视频平台发布自己的生活状态,表达自己的创意,都是在为互联网生态产出内容。一方面创作者可以表达自我,有可能通过广告等方式赚取到一定的报酬,另一方面,看客能够从繁荣的信息生态中汲取到自己想要的精神食粮。

我们比较能够接受的一种世界的运行模式是:生产,消费带来的经济繁荣。作为拿来主义,不加解释的套用一个观点“交易产生财富”,而我们交易的是什么,一定是价值,价值本身需要一定的体现,区块链为我们带来了价值的点对点交换网络,而流动在区块链之上的价值体现,则是各种各样的代币。

现在我们进入了一个人人可以发行数字资产的时代。但是我们不由得会问,人人发了代币有什么用呢?

代币有什么用?

粗略列一些:

  • 是使用服务的凭证

  • 作为众筹项目的贡献证明

  • 去中心化应用的奖励

  • 现实资产的所有权凭证

  • 在局部范围内作为货币使用

  • ….

尽管代币的形式多样,用途也各有不同,但是从抽象意义上说,所有的代币都代表着某种经济价值。比如,你可以为别人提供咨询服务,而你自己发了代币,别人就可以直接支付代币来购买你的服务。再比如,我们为了现实世界的实物更好的交割,流转,我们把所有权放到了区块链上,代币表示你对某种实物的所有权等等。

代币的用途这里只抛砖引玉而已,当人人以自己的信用,技能,资产作为锚定发行了自己的代币之后,这些代币如何流转?这就是Bancor想要解决的一个问题。从功能上说,Bancor协议是实现去中心化交易所的一种方式,而从愿景上说,Bancor解决的是未来代币世界的流动性问题。

这也无怪乎官方将自己定位为:去中心化流动性网络

Bancor协议是用什么实现的?

首先,我们可以明确的是,Bancor是基于智能合约来实现的,它并不用重新再造一条公链,目前是在以太坊平台上进行。但是这个思想是通用的,比如BM就拿去改造了一下,使得EOSRAM变成可交易的代币了。

智能合约的含义我们已经不陌生了,而什么是一个良好的智能合约呢?

一个定义良好的智能合约是什么呢?

在Bancor白皮书里,它给出了一个有趣的定义:智能合约就是一个可信的,不会腐败的,完全自动执行的中间人。这样的特性,使得智能合约非常适合用于处理一些可以流程化的敏感任务,比如管理代币的发行和治理

基于智能合约,Bancor到底为我们带来了什么呢?

价值互联网 && 流动性

这篇白皮书给价值互联网的诞生下了一个定义:来自世界各地的人们,对代币的交易产生了全球化的价值互联网。而当前在买卖代币的人,主要是交易者们。这些人要么专业投资者,要么是投机者—渴望从波动的交易中赚取财富的人们。他们彼此之间进行交易,直接通过钱包,或者间接通过中心化的交易所完成交易需求。

甚至,更早期,大家是通过淘宝来买卖比特币的呢。

而交易,必然需要买卖双方形成双向一致性。所谓双向一致性就是指交易需求的双向一致性,简单说就是两个人在同一时间,恰好有可以相互交换的东西。比如,我想要你的比特币,你想要我的以太坊,我们就能达成BTC↔ETH的交易。

人人拥有代币时代的到来,买卖双方想要在市场随时能够找到自己相对的买方和卖方是不容易的,比如我买的是比较冷门的、买卖流通量小的币种,挂一个买单,可能几天都不能成交,因为没人卖,供给和需求并没有达到一定的高度,导致流动性低到不能支撑足够的买卖。

也就是说,人人拥有代币的时代到来了,但是人人拥有的代币都像一滩死水一样,流动不起来,那这样的价值互联网真的是一点价值都没有啊!

结论来到了这里:代币的流动性极为关键。

流动性

一个代币具有很好的流动性是指在不剧烈影响代币价格的情况下,总是能够轻易的买、卖代币。主流代币有很强的流动性,这个不用我们太操心,比特币,以太坊等等主流币,每天的成交量是足够买卖双方达成各自的需求的。但是对于非主流的币种,比如你我各自发行的代币,根本流动不起来哦。

传统机构如何解决流动性问题呢?

大的金融机构提供买卖需求,赚取差价。在区块链世界不能引入这种中间商,与去中心化精神相违背,也会导致金融权力的集中。

既然不能像传统金融机构一样解决问题,我们就的想新的办法解决这个问题,在此之前,我们先来看看代币世界的长尾现象,这个是我们可能忽略了的。

长尾现象

当前10%的代币占据95%的市值,以及99%的交易量,看起来币圈的90%的代币根本没有存在感。而在其他互联网生态里,长尾的内容聚合起来其实占有很大的比重,比如亚马逊的长尾图书可以占到30%-40%的份额。毕竟区块链世界还处于早期发展阶段,导致当前畸形的长尾现象是因为存在着障碍,这个障碍自然就是流动性不足。

而当障碍扫除之后,长尾才能起来。比如Youtube使得用户上传视频变得简单了,博客平台使得用户更容易发布自己的内容了,各种看起来小众的需求得到了满足,聚合起来,也是非常重要的生态力量。

当非主流币种更容易交换了,更具有流动性了,币圈的长尾现象才是更加健康的。

问题还是回到这个点上:Bancor协议如何解决的代币流动性问题,这也是第一部分要拆解的重点。

智能代币:Bancor协议的核心

按照我对Bancor协议的核心思想的理解,对于普通用户而言,基于Bancor协议进行发币,发出来的代币统一有个名称叫作:智能代币(SmartToken)。这个中英文名称在后文会持续混用,所以先看清楚。

还有另外一个关键词也先说清楚,配合智能代币工作的模块叫作连接器(Connector)

SmartToken,是基于ERC20代币标准的, 用在以太坊上的代币,只是多加了一些额外的逻辑,这些逻辑可以使得用户能够随时买入卖出这些代币,并且智能代币的价格是由程序自动计算出来。

也就是说,发行的SmartToken,自带了流动性,确保了它随时可以与其他已经有了价格的代币进行兑换。

这是如何实现的呢?

按照下面的图示,每个SmartToken都需要配置一个或多个连接器模块,这个连接器里有其他代币的余额。举例子,Bancor项目发了自己的代币,BNT,BNT只有一个连接器,连接的是ETH。

用户可以往SmartToken合约里发送任意连接的代币,从而自动购买SmartToken,同时在连接器里增加连接代币的余额。我在描述连接代币时,偶尔也会用锚定代币这个词,二者的含义在本文没有太大区别,需要注意的是,这里锚定或者连接可以不止一种代币。

在BNT这个SmartToken的案例里,只能通过发送ETH才能得到BNT,同时在连接器里增加ETH的余额。

更场景化一些的描述是,任何时候,你想买一点某种SmartToken,只需要往它的合约里存一点它锚定的代币,你就能马上得到这种SmartToken,具体汇率是基于程序计算出来的,也就是那个价值1.5亿美金的公式。

所以,如果你往BNT的合约里打了一点ETH,合约发行新的BNT给你,导致流通的BNT增多(供应变大),BNT连接器的ETH余额也增多。

反之,你想卖掉一定的BNT换回ETH,导致流通的BNT减少(供应变小),同时BNT连接器的ETH余额也变少。

post image

注:Connectors:保存有其他代币

这里的SmartToken就是我们要发行的代币,Connector里会部署一个计算器,用于计算SmartToken和连接的Token之间的价格换算关系。

在图上的模块里,流动性是如何产生的呢?其实是Connectors的余额用于为SmartToken和连接的代币提供流动性,而价格是按照算法计算出来的。

这里的Token A、 B、 C,可以是ETH,也可以是其他已经有价值的ERC-20代币,再次啰嗦一遍,SmartToken是基于Bancor协议发行的新的代币。所有的SmartToken也都是ERC-20标准的代币,这样的话就可以通过Connector连接到已有的以太坊的价值世界。

如何为SmartToken定价?

简洁地说就是:根据供需关系实时来定

Bancor公式是维持一个固定的比率来定价,这个比率就是锚定的代币的余额与SmartToken的价值比例。

SmartToken的供应是动态调整的:

  • 有人购买SmartToken时,发行新的SmartToken,供应增加

  • 有人卖SmartToken时,回收流通的SmartToken,供应减少

只要任意一个Connector里的余额增加了,就会增加SmartToken的代币数量。

而当前SmartToken可以用任意的ERC20代币作为Connetor的余额,这样的话,在以太坊内的生态都可以接入Bancor,等到跨链技术成熟了,锚定其他链的资产也是可行的。

从效果上看,Bancor是采用的完全自动化的、分布式的做市商,且是在链上操作,公开透明,接受所有人的监管,不依赖人工。

代币网络

SmartToken可以实时与自己连接的代币进行兑换,这个没有问题。SmartToken还可以和自己连接的代币再连接的其他代币进行兑换,也是可行的,如此形成了一个代币网络。如下图:

post image

通过XYZ币作为锚定的两种SmartToken,ABC币和New币之间也可以无缝衔接起来,直接进行兑换。

按照这个逻辑再进一步扩展,就形成了一个网,且网络上的两种代币之间的兑换比例全是算法自动计算得出。

只想了解Bancor的基本运作到这里即可。