公链 Token 经济模型的可持续发展性

April 11, 2019

经济模型的主语是公链 Token,而不是公链。作为货物或货币的 Token 才有经济模型,而链本身只是实现了共识。一个公链,它既为 Token 服务(e.g. 记录账本),又被 Token 所服务着(e.g. 激励矿工)。

这篇文章就是想讲讲公链本身是如何被 Token 所服务的,而作为 Layer1 的公链有需要拥有怎样的经济模型的 Token 来为其服务,才能实现可持续发展。

公链上的 Token 对公链的作用

首先定义下什么是公链。不同的人对公链这个概念可能有不同的定义,我这里只说一下我这篇文章对公链的定义。公链的”公”体现在两个方面,一是任何人都可以加入一个公链系统,成为公链的服务提供商;二是任何人也都可以使用公链提供的服务,要么基于这些服务进行开发,要么直接消费这些服务。

这样的定义下我们可以发现,在每一个区块链系统内,都会存在着一个双边市场。市场的买方是区块链应用的开发者和使用者,而市场的卖方是支撑区块链系统,并且为区块链应用提供资源的服务提供者(矿工和全节点)。

而 Token (原生的)在这个市场内就起到了一个类似货币的作用。它充当了”公链系统资源”这个物品的价值尺度和交换媒介:矿工和节点付出资源,获得 Token;用户和开发者消耗资源,付出 Token。

“公链系统资源”可以进一步被分为计算,带宽和存储这三种资源。一般来说,这三种资源均以原生 Token 定价(如比特币);有时也会用另一种 Token 作为这些资源的价值尺度(如 EOS 中的 RAM,CPU 和 NET)。

借助 Token,买卖双方会进行直接和间接的两种交易。直接的方式,是用户在发送交易到区块链时,直接付手续费给矿工方;间接的方式是通过 Token 的增发和销毁。增发意味着对所有持币人进行收税,因为增加的 token 量会稀释他们手中的币的价值;相反销毁币意味着对所有持币人进行分红,因为减少 token 的数量会让他们手中的币更稀有,也就更值钱。

“类似货币”意味着它不是货币。货币是一种性质,它是个形容词。如果某个东西具有价格尺度 (Unit of Account),交换媒介(Medium of Exchange)和价值存储(Store of Value)这三种货币性,为了说着顺口,我们一般就可以称它为一种货币。对于公链 Token,一方面它可能并不完全具备这三种性质,另一方面它只服务于一个很小的市场,所以我个人认为它本身并不是我们传统意义上的货币。

这是公链 Token 的第一个作用,是作为买卖公链系统资源的通货,

公链的 Token 的另一个作用是维护公链系统安全性。

一般来说,公链的安全性是指它防止链上数据被篡改的能力。篡改链上数据一般需要通过攻击者自行构建一个区块,其中包含对自己有利的交易,并尝试让这个区块被全网所有节点所接受。一个经典的例子就是所谓的 51% 攻击(或者叫女巫攻击)。

我们可以通过计算这类攻击的成本和收益,来衡量一个公链系统抗衡这类攻击的能力。只有当攻击的收益大于攻击成本,且攻击成本可以被达到时,攻击才会发生,反之攻击则不会发生。再拿比特币举个例,攻击比特币的流程是:首先集结足够算力,然后构造一笔给自己无中生有许多比特币的交易,接着发起攻击,并在产生流动性危机前在市场上将这些币抛售掉。这个过程中,攻击比特币的成本是成功攻击所需要的总算力;攻击成功后获得的收益是卖币能获得的总金额。这种情况下,降低攻击收益就不是一个很好的抗攻击策略了,因为收益比较难以衡量并且不可控。这样的话就只剩下增加攻击成本这条路了。

51% 攻击是概率性攻击。拥有一半以上算力对攻击成功来说,既不是充分条件也不是必要条件。就算你的算力再小,只要坚持不懈,说不定总有一天会成功的;就算你的算力再大,还是可能永远不成功。

比特币正是通过奖励矿工 Token 的方式来吸引更多的算力,从而增加系统的攻击成本,从而提供系统的安全性。同时,比特币的价值会影响矿工的挖矿意愿,当币价越高,就会有越多的矿工来挖矿,贡献更多的哈希算力。所以,就可以得到这样的一个结论:PoW 公链的 Token 价值越高,公链的安全性越好;反之,安全性就会出现问题。

总结一下,公链的 Token 有两个作用:

  • 作为买卖公链系统资源的通货
  • 维护公链的系统安全性

上面所说的 Token 均指公链的原生 Token,智能合约平台上用户自行发行的 Token (UDT, User Defined Token)会在下一节引入。

公链经济模型的分析框架

这里提出的分析框架的意义,是在于研究怎样的公链 Token 能够更好的为公链提供服务,能为公链系统的可持续的发展提供积极的意义。

到了这里,公链又要分为两种:第一种是链上只有一种 Token,即链的原生 Token 的链;第二种是支持智能合约功能的公链,这种公链可以作为一个平台,让用户和开发者自己在上面发行 UDT。

Token 的经济价值将来源于 Token 自身的效用。

这里的效用是指除了上一节中所描述的,Token 对于公链自身的功能以外的,对外所提供的功能。比如比特币的 Token 的功能性,是作为一个点对点的支付工具,用户可以使用它作为一个通货来买卖货物。

简单来说,当用户对某个 Token 的功能的需求越高,Token 的内生价值也就越高。这里的原因可以用简单的微观经济学来解释:当一个商品的需求增大时,它的需求曲线会上移,那在供给不变的情况下(大部分货币的供给不随需求改变),价格就会升高。(我这里混淆了价格和价值,假设价值完全由其价格来衡量)

所以某种程度上一个 Token 就是一个产品。它所实现的功能完成度越好,越能满足用户的需求,这个 Token 就越有意义。有意思的是我正在写这个文章的这个时间点是北京时间4月2日上午,BTC 刚刚迎来一波暴涨,然后现在正在往回跌。推特上很多人对此非常兴奋,觉得这是利好。但看了我的分析,我希望你能理解,这种幅度的价格震荡对于 BTC 作为一个支付工具来说是多么大的一个利空。这只会让更少的用户愿意来使用 BTC,它的价值也会因此受损。

对于上述的第一种公链,即只有原生 Token 的公链,分析起来会相对简单。当用户群体对某个公链的 Token 给他们所提供的功能有足够的需求时,这个 Token 本身就会拥有足够强的流动性,能够很好的在公链系统内充当通货;同时,Token 的价值也会更高,所以公链的安全性也会更好。这个公链也就更有可能持续的发展下去。相反如果用户对这个 Token 没有需求,那它作为交换媒介的功能也就会更弱,公链的安全性也会受到影响,

对于第二种,能够支持 UDT 的公链来说,由于有 UDT 的存在,情况会相对复杂,下面具体解释说明这其中需要解决的两个关键问题。

公地悲剧问题

经济学里有一个经典的故事叫做公地悲剧( The Tragedy of Common)。公共草地上,有一群牧羊人。每一个牧羊人都想要多获利一些,所以某个牧羊人就带了大量的羊来放牧,虽然他知道过度放牧,草地可能会承受不住。但他依然获利了,而后所有的牧羊人都跟进,所以草地牧草耗竭,悲剧因而发生了。

这个问题对于智能合约公链来说同样存在:公链就像是”草地”,而”羊”就是公链上发行的 UDT,UDT 的发行者和使用者们,就是故事中的”牧羊人”。

在公链上发行和使用 UDT 时,都会占用公链的资源,每一个用户都想更多的占有这些资源来满足自己的需求。即使他们知道这会带来不好的影响,但为了自身利益依然会继续占有这些资源,最终导致公链的运行成本大幅增加,导致去中心化特性枯竭。

这里更准确的说,“草地”应该特指公链上的存储资源。由于现在的大多数公链平台,都会对计算和带宽资源通过交易手续费进行收费,所以这部分的资源实际上不算是”公地”,而是市场内部的商品。但是存储资源却很少有公链考虑。另外,与计算和带宽不同的是,存储资源的消耗是与时间维度相关的。随着存储时间饿的增长,即使占用的存储空间不变,消耗的”存储资源总量”是不断增长的。就好比租一个房子,租的时间越长,需要付的费就越多。

所以公链系统中存储资源的公地悲剧问题,是在分析智能合约公链经济模型时需要考虑的一个关键问题。

在以太坊上,计算和带宽资源会由用户通过手续费来支付,但是存储资源的费用是没有被恰当的计算的。手续费只需要复一次,而存储资源的占用是永久的。

公地悲剧既然是在经济学的研究中提出的问题,答案自然也可以在经济学研究中找到。解决方案简单来说,就是将公地进行市场内部化,让公地这个公共资源明码标价,成为市场内的一部分。让它像计算和带宽资源一样,谁要想用,就付 Token 出来。

以太坊社区最近就在考虑处理以太坊的公地悲剧问题。社区提出了 EIP103,准备在 Serenity 阶段实施 Storage Rent 机制。即对占用状态存储的用户按占用时长收取租金。这个方案的提出代表着社区已经开始关注到了这个问题,这意味任何一个新的公链系统,都需要在自己的系统设计中对这个问题作出回应。

价值捕获问题

上面在分析第一种类似比特币的公链系统时提到了,只要这种公链的 Token 对外的功能性方面有着良好的产品设计,能够切实满足用户需求,吸引用户使用,那这个公链的安全性就可以得到保障,因此也可以持续的发展下去。

对于支持智能合约的公链平台来说,UDT 的存在意味着会有各种有才华的开发者们在平台上开发出具有不同功能的 UDT 产品,这些产品同样会吸引用户使用。

但这里的问题是,对于原生 token 的需求可以转换成公链的安全性,而对于 UDT 的需求是否能转换成安全性呢?比如现在以太坊上有海量的 ERC20 代币(以下简称 UDT),这些代币的对应的需求基本上就是交易,就是炒。理论上在交易这些代币的时候是需要用以太币来支付手续费的,这样对于炒这些 UDT 的需求就会转化成对原生代币以太币的需求,以太坊系统的安全性也会得到保障。但实际上,这些代币的交易都发生在链下的交易所里面,只有在提币,充币或者 OTC 的时候才会产生链上的交易。在这样的情况下,其实只有一部分的 UDT 代币需求会转化成对以太币的需求。如果随着该 UDT 的价值增高,而对应的转化到以太坊的需求的比例没有对应增长的话,那可能会出现该资产的价值超过以太币的价值的时候。这时候的以太坊就已经没有办法以足够的安全性来保管这个资产了。

这个需求转化的过程也可以叫价值捕获,智能合约平台的原生代币能否成功捕获 UDT 的价值,就成了一个影响平台稳定性的关键因素。

总结一下

  • 公链是双边市场
  • 支持发行 UDT 的公链相比于只有一种原生代币的公链将面临更多的挑战
  • 公链代币的经济模型机制设计需要通过外部性内在化,确保消除公链市场中的外部性
  • 智能合约平台的原生代币需要捕获其上面发行的 UDT 的价值