区块链探长(ID:qqtanzhang)
译|齐明
来源 | Odaily
在这篇文章中,我希望能清楚地阐明什么是硬分叉,以及为什么硬分叉应该被认为是山寨币( altcoins )。首先我们来看看山寨币的历史,看看它们是如何产生的,以及为什么它们被设计成这样。
开端
比特币是第一个被创造出来的加密货币,由于种种原因,它与其它的数字货币有所不同。比特币区块链,或者说这个可以跟踪哪个地址有多少金额的分类账簿,诞生于 2009 年 1 月。比特币是到目前为止最古老的数字货币,而且可以向后兼容( backwards compatible )。也就是说,最初的软件,至少在原则上是可以在今天使用的。
从某种意义上说,比特币没有真正的“同事”,因为其它的所有数字货币,在某种意义上来说,几乎都是对它的拷贝。
山寨币(Altcoins)
从 2011 年开始,有很多不同的数字货币因为不同的原因开始出现。正如我在之前的文章中所记录的那样,这些数字货币基于创造者所创造的一些属性,被认为是“合理的”。比如,IxCoin 有一个所谓的预挖矿( premine ),或者说是为创造者准备的一部分数字货币。这些数字货币是用来补偿开发者的,但经常被认为是不公平的,因为相对于供给而言,回报是非常不成比例的。
其它的数字货币,诸如莱特币、域名币( Namecoin )被认为是更合理的,不出所料,这些币获得了成功。值得一提的是,这两个币都没有所谓的预挖矿,而且都是事先就宣布了,以便任何人都可以挖矿。
山寨币补偿开发者的另一种方式,是支付开发者税。也就是说,一些区块奖励会自动地分配给开发人员。Zcash 可能是使用这种方法的最有名的山寨币。
ICO
ICO 或代币销售,在 2013 年随着万事达币( Mastercoin )的出现而开始。Maidsafe、以太坊( Ethereum )和公证通( Factom )是在万事达币推出不久后,出现的早期代币销售。
ICO 本质上是通过聚集资金的方式进行代币发行,让一些人可以提前购买代币。随着 2015 年以太坊的推出,ICO 逐渐为人所知。
从某种意义上说,ICO 是通过预挖矿的形式来销售代币。ICO 通常是为了给项目的软件开发和营销提供资金,以及成立基金会、奖励软件开发者等。
硬分叉
从技术上来说,硬分叉是向后不兼容的软件更改,它将网络分为两个部分,一部分网络运行原来的软件,另一部分网络运行新软件。在网络上通过新软件来交易的数字货币,被认为是之前网络硬分叉后的货币。
最著名的是在 2017 年 8 月分叉出来的比特币现金( BCH ) 。本质上来说,BCH 保留了来自 BTC 的相同分类账簿,但是添加了一个向后不兼容的更改(更大的区块和新的签名哈希),将分类账簿分为两个。
山寨币所面临的问题
在某种意义上,山寨币、ICO 和硬分叉面临着同样的困境。它们究竟是如何获得价值的呢?他们在大多数情况下都是凭空捏造出来的,所以为什么有人会为它们放弃有价值的东西呢?
赋予价值的方式有很多,不过主要的方式还就是通过某些形式来添加实用性。但是,如果没有分布式技术,添加实用性是无用的,不过如果你从头开始编写分布式系统,难度是非常大的。
ICO 或多或少通过社会性手段解决了这个问题。他们通过收费的方式,把代币分发给感兴趣的人。聚集来的资金可以被用到市场营销中,把代币放在交易所进行进一步的分发。
有些山寨币纯粹是靠口碑,还有一些山寨币是采用空投的形式。空投只是根据某些随意的标准,把数字货币分发给一些人。贝壳币( Clams )会根据每个人的比特币/莱特币/狗狗币的 UTXO(未消费的交易输出),来分发数字货币。这就好比在你的存钱罐里放一点儿随机面额的硬币。德信币( Decred )会把币分发给注册了的用户。只要你通过 Facebook 的认证,恒星币( Stellar )就会基于你有多少比特币来分发数字货币。只要你在规定的日期之前在 bitcointalk.org 上注册为用户,瑞波币(Ripple)就分发给你数字货币。
从某种意义上说,硬分叉更像是一种全新的山寨币,只不过它会空投给一部分人,这些人持有硬分叉之前的数字货币。这样,你可以把每个数字货币的硬分叉看做是一种全新的货币,不过由于硬分叉是不兼容的,所以分类账簿上的数字资产会或多或少的被保留下来。
山寨币:软件+分类账簿
每个数字货币都可以看做是分类账簿和软件的组合。分类账簿是每笔交易的历史,软件是这个账簿整个历史的验证者。
山寨币的分类账簿需要一些初始状态,初始化可以通过几种方式来实现。比如可以像莱特币这样,分类账簿从空白状态开始;可以像字节币( Bytecoin )一样,分类账簿可从对创造者有利的状态开始;可以像 ICO 一样,分类账簿从面向公众发售的状态开始;当然,还可以如比特币现金一样;甚至可以是组合的形式,比如像比特币黄金一样,结合了比特币分类账簿和给创造者的一些额外资金。 Bitcoin Private 和 比特核( Bitcore )甚至采用了更为复杂的方法来初始化它们的账簿。
山寨币也需要软件。软件来验证每个分类账簿,而且严格的说,每一个向后不兼容的软件和分类账簿的组合,其本身也是一个新的山寨币。有趣的是,在加密货币的历史中,旧软件和分类账簿的结合,多多少少被抛弃了。这个改变是由于以太网络在 The DAO 遭到攻击后进行了硬分叉。
本质上来说,有些人认为先前版本的软件更公平,因此保留了旧版本并赋予其价值。这个旧版本上的币叫以太坊经典( ETC ),其促使了之后其它数字货币的硬分叉,来产生两种可行的货币。
某种程度上来说,每个数字货币的硬分叉都创建了一个新的山寨币,并把分类账簿初始化为旧版本的分类账簿。有了许多的硬分叉后,“旧”的数字货币或多或少会被抛弃,因为“新”的数字货币有社会共识,没有开发团队愿意去维护“旧”的数字货币。
向后不兼容
由于硬分叉引入了向后不兼容性,因此,其分类账簿将整个历史数据都保留下来,是非常奇怪的。毕竟,转移代币的效用只取决于分类账簿当前的余额,所以,为什么不把新余额当做新账本的初始状态呢?比如,这可以显著减少当前区块链的臃肿。BTX 和 BTCP 等一些硬分叉山寨币,就采用了这种方式,它们没有将 150GB+ 的比特币历史数据存到区块链上,而是只导入了未花费的部分(比如 UTXO 集 ),这部分只有约 3GB 大小。
然而,从政治角度上来看,这种方式或多或少的承认了一点,即硬分叉产生了一个新的数字货币。以太坊和比特现金,都可以采取这种方式,但是它们仍想继续被大家看做是旧链而不是新链,所以,即便所需的技术是一样的,它们也没有将自己的分类账簿从一个新的初始状态开始。
这太遗憾了,因为把新余额当做新账本的初始状态,其好处是非常多的。特别是在初始同步期间,每个节点只需要很少的存储、带宽和验证成本。然而,山寨币却在讨论将分片和矿工全节点作为解决方案,尽管这些解决方案存在着技术问题和中心化问题。
结论
向后不兼容的软件,本质上创造了一个新的数字货币。从这个意义上说,硬分叉和山寨币没有什么区别。
可当分类账簿分为两个时,关于什么才是“真实”的数字货币,并没有客观标准,这就比较棘手。
更重要的是,大多数的数字货币并没有它们声称的那么古老。它们实际上只和最新的向后不兼容的“升级”版数字货币,一样古老。分类账簿可能与之前不兼容的软件版本相同,但这只是为了帮助新的数字货币,来初始化分类账簿的一种迂回方式。
根据定义,硬分叉需要向后不兼容的软件。新软件本质上意味着任何事情都会发生,包括预挖矿、开发者税、创始人奖励等。不过因为大多数硬分叉,还没有很大程度上改变分类账簿或者增加交易的规则,这些事情能产生什么样的结果,并不完全确定。
长远来看,我预计硬分叉会发生越来越重大的变化,因为对分类账簿的干预将变得越来越吸引人。硬分叉就是山寨币,因为它们改变了规则。起初,改变规则是明智的,但是通过允许不相容的规则,来增加主观性,会不可避免地导致政治因素的介入。
因此,硬分叉会成为设置规定的主要阻碍。随着山寨币越来越中心化,预计硬分叉这一方式会被充分的利用。