2009年1月,比特币诞生。2011年年中,还未到两年,第一个基于比特币的衍生货币——域名币就出现了。2013年,另类币出现爆炸式增长,迄今为止已有数百个(见图10.1)。由于没有明确的统计标准,我们无法给出确切的数字。举个例子,如果有人宣布创造了一种另类币,可能也公开了源代码,但无人挖矿也无人使用,这种货币是否需要纳入统计范围?此外,有些另类币,在其诞生初期是有人使用的,但后来很快就无人问津了,这类货币是否也需要纳入统计范围?
而且,我们也不清楚如何区分另类币和传统数字加密货币。早在比特币出现之前,就有多种数字加密货币的方案和系统,这些货币并不能称作另类币。许多另类币借用了比特币的概念,它们通常是直接复制其基础代码或是使用部分代码。有些只对比特币做了极小的改动,例如只改变一些系统参数值,保留比特币开发者后续所做的所有变更。截至目前,所有已知的另类币都是从一个新的创世区块开始,都有自己独特的交易历史,而不是从比特币历史交易记录中的某个区块进行分叉,进而演化出自己体系的。为了研究和学习,我们并不需要另类币的精确的定义,而是把将所有在比特币之后诞生的加密货币笼统地称为另类币。
图10.1 每月创造的另类币量
注:仅指通过创世区块创建的另类币。
我们将简要提一下非另类币系统,如瑞波公司(Ripple)和恒星公司(Stellar),它们属于第2章中所介绍的传统分布式共识协议。这类系统为了达成共识,模型中每个节点都有自己的标记并且需要知道其他节点的标记。当然,比特币建立共识的模型与此截然不同。在瑞波公司和恒星公司中,共识协议支持支付清算网络并且在每个体系中有其自己的货币。尽管这些特性和另类币类似,但在本书中并未将它们作为另类币考虑。
发行另类币的原因
每种另类币都有自己的故事。一种另类币之所以存在,就是因为它有别于其他另类币的特点。最简单的情况下,一种另类币只是修改比特币内置的参数,比如修改区块的平均时间间隔、区块大小限制、创造回报的计划和货币的通货膨胀率等。
当然也有更复杂的技术上的差异,这种情况更有趣。例如,可以对脚本语言进行扩充以增加交易种类和安全属性,可以采用与比特币完全不同的挖矿方式以及共识算法(consensus algorithm)。
有时,为了支持一个主题或者社区,通常是需要给社区中的成员赋予一个特定的角色或权限,就会有一种比特币被创造出来。本章将在最后的部分研究此类相关案例。
如何创造一个另类币
我们首先考虑一下另类币在创建过程中及创建后所涉及的内容。正如前文提到的,创造一个另类币就是建立一个全新的参照体系,最常见就是通过复制修改现存的成熟另类币或者比特币本身。最容易的部分就是加一些技术特色或者修改一些参数使之更好用。曾经有一个网站coingen.io,只收取一些费用,就会自动产生一个另类币。你只需要自己设定各种参数,比如区块产生的平均时间、需要的工作量证明算法、另类币的名字以及3个字母的货币代码和标志。完成设置后,只要轻轻点击鼠标,就能下载一份根据你的需要修改的比特币源代码,你就拥有了自己的另类币,接下来你就可以和别人马上开始运用这个另类币了。另类币最困难的部分在于如何让别人逐步接受并使用你的另类币。通过复制并修改源代码,你可以对外发布新的另类币,在刚诞生时,没有人会使用这个货币,由于没有人想拥有这个货币,因此它毫无价值,又由于没有挖矿的人,它也不安全。本书第7章,我们介绍过比特币系统的利益相关者:开发者、矿工、投资者、商家、客户和支付服务商。最终,为了让你的另类币形成规模,你需要吸引这些参与人加入这个货币的生态圈中。
另类币的这些相关群体都是非常重要的,而且它们相互关联,这与创建并推广一个平台非常类似。比如,创建一个智能手机操作系统,就需要用户、设备制造商、手机软件开发者和其他重要的利益相关者共同参与,同时每个角色都需要群体中的其他人的参与。
在另类币中,吸引矿工对另类币来说特别重要,因为如果没有足够的哈希算力做支持,双重支付和复制修改代码就很可能会发生,另类币的安全性就无从谈起。事实上,这种货币可能会彻底崩溃,本章10.4节中将会讨论“另类币夭折”(altcoin infanticide)。没有一个简单的方法可以吸引大家接受并逐步推广使用另类币,但是通常来说,当矿工感觉到货币回报值得他们付出时,他们就会加入。为了吸引矿工,很多另类币都给早期矿工比较丰厚的回报。比特币显然是最早采用这种策略的,后来很多另类币采用了更加激进的激励措施来吸引早期矿工。
而最困难的工作,是让一个社区的人相信这个另类币有价值。正如我们在第7章讨论过的,即便对比特币来说,我们也不是特别清楚这个过程是如何自举的。这依赖仙子效应,从而实现自我增强,让人们相信它有价值的过程是如何实现的。这就回到我们一开始提到的,另类币需要有一个好的故事,才能让人相信这个新的另类币将来会有价值,或者是相信其他人会认为这个有价值。如果一个社区对获取另类币感兴趣,矿工就会参与进来。[1]只要价值被认可,其他重要的元素就会显现,比如在交易所交易以及从开发区块链的工具,到游说团体开发的各种辅助设施和服务。
拉高出货骗术(pump-and-dump scams)
当一种另类币的创始人成功地促成一个活跃的货币社区和一个真正在运作的交易市场时,他们就会变得非常富有。几乎可以肯定的是,他们拥有很多这类货币。这种货币可能来源于,在系统运行最初,哈希算力还不是很高的时候所挖的货币,或者是类似接下来要讨论的,在还未挖矿之前获得的预先分配的货币。一旦另类币的交换价值提高了,创始人就可以选择卖掉他们的货币。
一夜致富的可能性,极大地吸引了有雄心的创业者和风险投资基金,毫不意外地也吸引了骗子。事实上,我们很难区分骗子和创业者。骗子可能会使用各种方法,来夸大一种另类币的潜在和未来收益。他们可能会炒作它的技术优点,伪造底层支持的假象,在市场上推高另类币价格等。
事实上,甚至连非创始人都可以设计这样的骗局。他们可以先买入大量还未出名的另类币,然后说服大众相信该货币还有未实现的增值潜力(也就是“拉高”)。如果成功地拉高了货币的价格,他们就可以通过卖出获利(也就是“抛售”)。此时,很多理智的投资者可能会意识到这是个骗局,然后币值出现断崖式下跌,导致很多当初购买的人最终血本无归,只剩下毫无价值的货币。这种拉高出货的骗局,在操纵不知名的低价股票的主流金融业务中很常见,在另类币的发展早期也很普遍,那时候用户热情高涨,投资者也无法分辨到底哪一种另类币是真正具有创新性的,哪一种是依靠噱头和推广,但实际是毫无真正价值的。这也导致,截至目前,用户和投资者都厌烦了另类币。
初始分配
在比特币体系中,货币只能以挖矿的方式分配给用户。但是在其他另类币体系里,出于各种考量,除挖矿以外,开发者们还使用其他方法对货币进行初始分配。
开发者可以预先分配货币,也就是说,先预留一部分货币给自己或者其他特定团体(比如预留给开发该货币的非营利性组织)。用这个额外的收获,去激励开发者花费时间精力去创造和激活一个新的加密货币。有时候,也可能会采取更激进的激励方式,即可以对货币进行预售,也就是把这些货币预先卖给其他投机者,换取比特币或者现实中的货币。这有点像投资初创企业:如果投资的另类币成长起来,投机者就会获得大量财富。
寻求各种预分配方法的另外一种动机是,确保早期的货币拥有者来自多个社区,并且他们与货币成功的利益相关。如果矿工太为集中,就会造成资产持有过度集中,这不利于货币的发展壮大。一种比较聪明的分散所有权的做法,就是把另类币发给现有的比特币用户。
在技术上如何做到这一点,即让比特币用户可以自动地分配,并拥有另类币?一种办法是通过第3章谈到过的“销毁证明”:用户只要证明他们销毁了一定比例的比特币,就能要回一个单位新的另类币。用户需要在销毁的时候提供数据证明,比如特殊的字符串来识别某个另类币,这样就可以说明他们销毁比特币的目的,就是为了获取这个新的另类币(见图10.2)。
通过“销毁证明”来分配另类币,也叫作“单向挂钩”或者“价格上限”。另类币可以一对一地配对比特币,并不意味着两者价值相同。这样的配对,确保另类币最多值1个比特币。因为,1个比特币可以换1个另类币,但是反过来不行。
图10.2 通过“销毁证明”分配另类币
注:另类币提供一个以比特币操作为输入的生成货币(GenCoin)的指令。生成货币的签名用到的私钥,和签销毁证明的私钥是一样的(签名的机制也一样)。这样就能保证,销毁比特币的同一个用户,同时创造了新生成货币。如果汇兑比例是1∶1,那么另类币的价值v′不大于比特币的价值v。
也可以有一些相对没那么复杂的做法:要求用户提供拥有比特币的证明,但无须销毁比特币,也以获得新币。具体来说,另类币体系会指定一个比特币区块高度(也许刚好就是另类币诞生时的长度)。在这个高度的区块里,任何人拥有还没花掉的比特币,就可以按比例得到同样数量的另类币(见图10.3)。通过这种方式,比特币和另类币的价格就无须固定,毕竟比特币并没有通过销毁证明来“转换”成为另类币。
图10.3 通过证明比特币的所有权来分配另类币
注:生成货币的输入,是特定区块高度下一个或者多个没用过的比特币交易输出。就像正常的比特币操作一样,这些都是通过控制未使用比特币的私钥来进行签名认证的。图中的比特币交易有两个未用过的交易输出,分别为特定高度区块链中的B和C地址。B地址的用户换了另类币,但C地址用户还没这么做。假设汇兑比例是1∶1,新另类币的价值为v′,那么v′一定不能大于B的比特币价值v1。
当然,为了实现这种分配,另类币的矿工也必须时刻了解比特币的区块链。另类币必须明确什么才算认定的比特币交易。一种选择是要求固定的确认次数,比如6次。另外的一种选择是,在每个另类币的区块中加入最新比特币区块。这样,比特币的交易立刻可以在另类币体系里使用,而不需要等待确认。这就类似在比特币体系中,交易的输出可以在自身或者下一个区块中使用。我们将在下一节讨论共同挖矿(merge mining),一种把比特币和另类币区块链接起来的方式。
最后一种方式是,把已经分配好的货币捐赠出去,这也是扩大货币用户多样性的一种办法。一种方式是支付小费:很多服务允许赠送小费给电子邮箱或者社交媒体账户,这多多少少可以促进接收者了解并参与到这个货币体系中来。接受方收到信息,得知他的托管账户存有小费,然后通过认证邮件地址或者社交媒体账号可以取得这些小费。当然,为获得这些小费,他们还需要安装钱包软件,或者采用其他方式。另外一种可以称作“水龙头”捐赠方式,即任何访问特定网站并输入邮件地址的人,都可以获得一小部分另类币。
[1] 尽管当币种升值快于挖矿的速度时,可能会有风险。——译者注