送给程序员们的春节大礼包,量子谈比特币
比特币,最近很火的话题了,奇怪的是身处最中心的程序员,反而对这玩意熟视无睹,当然原因也很简单,这玩意就是个虚拟货币,出自一段程序,相信有点经验的程序员,都或多或少的参与过虚拟货币的代码编写。
游戏世界的各种金钱,社区论坛的各种金币,经验值什么的,当然还有普遍的Q币等,说直白一点,程序员就是和这些各种各样的参数值打交道的,多一个不多,少一个不少。这些东西就是我们生命值和金钱值的一部分。也是程序员存的在意义。
这里点到了程序中的重点,就是要把现实的东西,虚拟化,实际上世界正在加速虚拟化当中,移动互联网的发展就是最大的虚拟化,每一个人,都彻底变成了移动互联网上的一个节点,以程序员的眼光来看,网络世界更真实,我关心你打在键盘上的字,不关心你掉在键盘上的泪,我看得到你在屏幕上笑,看不到你在屏幕后哭,我记住了你PS后的照片,却从来没见过你线下的真颜。。。 这就是虚拟世界。
那么这个比特币到底和程序员有什么关系,它是怎么一个样子?这是在谈一个技术及编程么?这篇文章有代码么?看代码:
1.比特币上限值:
int64_t GetBlockValue(int nHeight, int64_t nFees) { int64_t nSubsidy = 50 * COIN; // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. nSubsidy >>= (nHeight / Params().SubsidyHalvingInterval()); return nSubsidy + nFees; }
稍懂点编程的人看到都会很熟悉,这和你们写过的任何虚拟货币或者什么经验值,积分类的代码没有任何差别,也不可能会有什么特别的差别,这就是设定了一个上限值。
2.比特币获取方式:
相对复杂一点,本人也无心去深挖,说下网上看到的理解,大体就是过通一种算法,随机生存,代码可能是这样子的,用C#表示:
public interface IBitcoin { BitcoinEntity CreateBitcoin(); } public class BitcoinEntity { } public class BitcoinFactory : IBitcoin { public BitcoinEntity CreateBitcoin() { ... } }
写上面一段代码的目的,主要是为了直观的说明比特币没有什么特别的神秘,算法可能会比较复杂,但原理机制没有什么特别。
3.比特币的交易:
public bool Pay(PayEntity pay, IValidate validate) {
if (validate.IsValid()) ... }
大约是这个样子,支付前,先验证,合法,就支付,里头主要有两个手段,一是验证模式,采用了分布式验证,去中心化,这是比特币的一大特点,和我们程序员常用的验证中心模式不太同,我们通常的做法是,要验证一个事件,通常会去调用一个中心的验证接口,是有中心的,比如Q币支付,那得调腾讯的验证API,以证明你的Q币及交易的合法性,这里头就有一个大问题,那就是Q币就受到了企鹅的控制,企鹅说了算。
那这个比特币是怎么干的呢?去中心化,采用和BT等类似模式,每一个比特币的用户,都说了算,大家投票决定,使用的是民主的模式,大体上就是向整个互联网客户端发出请求,如果超过半数同意,那么民主投票成功,少数服从多数,大家承认这个交易。
理论上,如果控制了比特币50%的节点,那么你就成了大庄家,你说了算,但因为从算法难度及分布性,基本上目前没有人能做到这一点,而一但做到这一点,那么比特币将失去价值,别人不跟你玩了。比特币利用囚徒原理,保证了没有中心,只要它存在,它就没有中心,一但有了中心,被某一类人控制超过50%,那么它就失去价值而自毁,所以也不可能有人无聊到花尽可以当世界首富的财富来毁灭它及自我毁灭。
4.比特币的加密:
采用的是网银级别的加密方式,你的硬盘就是你的账户,这也是它去中心化的一大特点,我们看现有银行,钱是存在银行的,它是有中心的,但比特币更象纸币,它存在你的硬盘里,就象是把纸币压你的枕头下,如果硬盘坏掉了,那么你的比特币也就损失了。所以你得看管好你的钱包(硬盘)
由上面可见,比特币就是一土生土长的虚拟货币,和我们给网站和游戏设定的虚拟货币或积分什么的没有什么不同,差别只在中心化这一点上,这就象是下载网站和BT下载的差别,而比特币去中心化的算法特点,很可能会成为以后游戏及虚拟社区等货币的算法模式,就是去中心化,从而让我们的虚拟货币有更高的价值,从将来的角度看,这种去中心化的虚拟货币算法会引领潮流,比特币是先驱,它的算法模式及开源的代码,可以很轻松让大多数人来复制或借鉴。
比如,Discuz论坛,我在这个论坛发的贴赚的金币,完全可以在另一个论坛交易,比如技术积分,我在博客园写博赚的积分排名,完全可以在CSDN获得承认,不能说我新注册一家论坛,一切从菜鸟做起,虚拟世界会越来越象现实世界,比特币的这种去中心化,普遍承认的模式,不会影响到实体世界货币,但本人主观认为,它会对网络世界的虚拟货币,产生深远的影响。也许,大公司应该抓住这个机会,把虚拟货币做大,抢占虚拟货币市场,控制移动互联网的入口,谁说我移动互联网就非得用真实货币去交易的?我在网上分享一张图片,一篇文章,回个贴,赚几个金币,我当然不原意用真金白银去支付,我更愿意用虚拟货币,我分享我赚金币,我消费我花金币,虚拟物质兑换虚拟财富,这才是虚拟货币的未来。
虚拟货币的交易,支付,在虚拟世界的使用,可能会是一个比现实世界的财富,货币还庞大的市场,从这一点看,比特币只是一个试验品,它的2100万的上限严重先天不足,导致了在现实世界当中的炒作,也毁灭了它自身的更大的价值。
量子大胆设想,未来的虚拟货币,应该设计一个庞大的上限,这样做有以下几个好处而容易取得成功:
1.虚拟货币不应该对现实货币产生冲击,一但产生冲击,必然会导致现实世界的反击,比如比特币,因为上限太小导致比真金币还昂贵,一但在现实世界采用将严重冲击真金白银,扰乱现实世界。
2.虚拟世界的物品容易复制,产出量巨大,比如一天会产生十亿级别的视频,百亿级别的图片,千亿级别的短文,仅仅只有2100万个比特币是根本不够的。
3.虚拟世界物品增加太快,有上限的虚拟货币会导致严重的“通货紧缩”,一个好的虚拟货币应该能根据现实的增长自动调节上限,这有点类似现实世界,GDP增加了,钞票也会同步增加发行一样。
那么,虚拟货币应该这样设计,它和现实货币的兑换应该保持在一个很小的比例上,比如10000对1,或者甚至100万对1, 也就是说,我1万个比特币,可以在现实世界上对换1元钱,这样可以基本上把虚拟货币的使用,控制在一个虚拟的程度上。对现实的影响基本没有。各玩各的。
虚拟货币的总量应大大超过全球生产价值,比如全球价值100万亿美金,那虚拟货币就应该高达100亿亿个,让它只有虚拟物品的交换价值,缺少现实物品的交换价值,比如我花掉1个亿,只能只够在现实当中买杯咖啡。
对虚拟世界的富人苛以“重税”,比如对占有资产一定比例的,再增值的财富,税掉7成,8成,甚至9成,也就是说,越有钱,虚拟财富增长越慢,以防虚拟世界资源越来越集中,或者在设计初期就设计一个上限,一个ID最高虚拟币不能超过一个上限,比如总虚拟币的百万或千万分之一,超过上限后将不能再增长,只能消费,这“有钱人”不得不按规则“回馈”社会,不可以无限量的占有资源。其实这和现实也很象的,比如北京车房资源稀缺,就不能说你有钱就可以无限的买,通过限购来完成。但虚拟货币在没办法限购的情况下,限制财富总值可能是一个好办法。
对虚拟货币兑换现实货币设计“汇率”,以防不可控制的兑换,象比特币,没有这样的设计,会被炒作,但如果有汇率后,随着价值的上升,完全可以自动增长总量,以保持和现实货币的一个相当兑换比,这是一个反向设计,就是通过汇率设计总量,而不是通过总量控制来决定该对多少钱。比如1万虚拟币对换1块钱,就是10000:1的汇率,这个值在设计之初就是恒定的,每年或每月一调整。如果到年底,炒作到9000:1,那么年底就新印10%的虚拟币,以保持汇率的稳定。
总之,新型的虚拟币设计,应考虑更多的同步稳定性,应该多用“比例”的设计,就象是失量图,而不是“位”的设计,就象是位图。那么这种按比例设计的新虚拟币,我们可以叫它Vector Coin或者是Virtual Coin或者叫VCoin, 中文名就是维币或者叫微币,很符合虚拟币的名称,当然叫miniCion也是可以的,中文名就是米币,这也付合我们在网上常称的,这玩意多少米。
后记,写到这里,查了下微币和米币,原来都分别让新浪微博和小米用了,QQ用的是Q币,可惜微信没有整出个微币,看来两马争微币是很有可能的事情了。吼吼,这不是替谁做广告,随便写写而已。
当然,人不能总活在虚拟世界,程序员也是要吃饭睡觉的,这里送给看到这篇文的程序员一个春节大礼包,如果网上有虚拟币,有本人写的这个可以按比例伸缩的理想币种,现实有没有呢?很遗憾,没有,或许曾经有人说起过的潘币或者房币可以部分做到这一点,把房子当成可兑换货币,也是一些人的看法。但房子不容易变现,还需要投入各种管理维护,而且有70年年限,这就智者见智,仁者见仁了。
最后付上一个小程序员的希望,来年工资发成比特币,一月好多K个,也不错啊。
补充说明:
经过对雪山飞虎回复的深入思考,发现:一个通用性的,全球化的虚拟币的设计是基本行不通的。
不管如何设计,都会有和现实货币比例对应的问题。不管你总数大还是小,增长快还是增长慢,货币哪怕是虚拟币,都必须有参考系。如果作为另一种货币设计,那又会有汇率问题,如果禁止虚拟货币的交易,又会产生黑市问题。
但是如果不允许兑换,只允许虚拟货币消费虚拟物品,就象积分一样,那又会有界定什么是虚拟物品的问题,一个软件,你说它是虚拟的还是实体的?
所以量子经过完整思考,结论就是比特币的确就是一种庞氏骗局,无法取代货币,也无法和货币共存,顶多就是变成一个新的货币,在小范围内由小范围的人去使用它,然后和现实货币做汇率转换。这个转换,可以是自由汇兑或者官方定价,要不就是被禁止。
就算再出现更多的新比特币,比特币二,比特币三也是一样,没有什么东西可以替代货币在虚拟世界的位置。也不可能在人类没有全球化之前,它先全球化,所有的积分,金币,经验值,也只能在小范围内有限的使用和流通,起到它应有但有限的作用。