1.货币总量合理。 中本聪把比特币的总量设定为2100万个,这么大的一个数字是合理的,若数字过大会导致币价过低,若数字过小则会导致买东西要用小数(反面典型是Onecoin,细分到小数点后面那么多位,移动小数点有意思吗?)
2.没有预挖矿。 好多坑爹的山寨币都因为预挖矿而失去民心,最近出来的“元宝币”虽然号称没有预挖矿,但是由于挖矿难度是从0开始的,所以在刚发布、刚开始挖矿的时候,区块产生的速度极快,这实际上还是相当于预挖矿了。
我想,要是想发布一种真正意义上没有预挖矿,并且能让人信服的山寨币,也许可以这样:在软件刚发布的前一个月,所产生的区块为“anti-premine区块”,每个区块产量只有正常区块产量的百分之一。比如说如果没10分钟产生一个区块,每个区块正常应该产生50个币,那么前4320个区块就只能产生0.5个币。这样就能彻底杜绝预挖矿了。即使刚开始区块产生速度极快,导致一天时间采出了半个月的矿,那软件发布者也占不了多少便宜。
3.区块产生的速度合理。 速度快有利于快速确认交易,避免转账时等待的很长时间。但是速度过快会导致一些问题,一是导致区块链体积增大,增加客户端的硬盘和网络带宽负担。第二是会导致挖矿的人挖到区块过期的可能性变大。我在
http://tieba.baidu.com/p/2229845042 讨论过,如果区块产生的速度足够慢,即使在火星上挖矿也是可行的。反之,由于受到光速的限制,即使有理想的通信系统,可用范围(按地理距离计算)将随着区块产生的速度的升高而缩小。
区块产生速度慢,适合做储备货币;区块速度快,适合做流通货币。打个比方,我用一种“超慢币”买房子,我发出一笔交易,6天后终于有了6个确认:钱到帐了,我拿到了房子,这仍然是可以接受的。
4.挖矿算法合理。 比特币和早期山寨币用的是SHA-256,后来的山寨币用的大都是scrypt,以便杜绝ASIC与FPGA,并削弱显卡的优势。Yacoin首创的scrypt-jane则到目前为止还没有已知的显卡矿机出炉。只能用CPU挖矿的山寨币会吸引广大爱好者,易于扩大自己的影响。但也要注意,挖矿算法过于复杂也会增加正常客户端的压力。
还有,在挖矿方面,山寨币还有一条捷径可走,就是混合挖矿(Merged Mining),依附于某种现有的电子货币,比如比特币,在比特币挖矿的过程中同时为山寨币提供工作证明(proof-of-work),这样,山寨币就使自己的算力提高,不容易遭到51%攻击。Namecoin就是依附于比特币的,虽然币价不高,但算力比比特币的三分之一还多。Litecoin也是可以被依附的对象,自从ASIC矿机大行其道以来,显卡挖比特币变得无利可图,因此大量GPU算力转向Litecoin,我还不清楚是否有哪种山寨币是可以和Litecoin混合挖矿的,不过我想如果有这样的币的话,它可以免费地从Litecoin那里蹭到算力,从而保证自己免受51%攻击。
我还有一个设想,就是,一种山寨币也许可以有多种挖矿算法。比如说,我规定:我的币20%由SHA-256算法独立挖矿产生,20%由和比特币混合挖矿产生,20%由scrypt算法独立挖矿产生,20%由scrypt算法和Litecoin混合挖矿产生,剩下的20%由scrypt-jane算法产生。每一种算法都有独立的难度值,这5中难度值自行独立调整以使得5种算法产生的区块各占五分之一左右,而且平均区块间隔在预定范围。这样一来,新币一发布就能把全网所有的算力,不管是ASIC还是GPU、CPU的,全部蹭到手,这样遭到51%攻击的难度甚至可能比比特币还要大。
5.若有可能的话,开发新的应用。 Namecoin虽然是山寨币,但不是比特币的简单模仿。Dot-bit域名系统还是很有创造性的。新的山寨币如果能开发出新的应用,则可以脱离挖矿炒卖的老路,在当前连龙头老大比特币都萎靡不振的情况下,为分布式电子货币开创新的领域。