四、说干就干——YY 变成现实的重要一步

  经过 D 神连续 4 天的洗脑,大家都已经相信了做矿池是一个发家致富的好路子。但是为什么没人动手做呢?当时没人能搞明白矿池是怎么回事,甚至连比特币的原理也不清楚。这种情况下,从零开始做矿池,技术门槛实在太高。既然我已经率先被洗脑成功,就一定要把这件事干成。

  第一步,拉人。土豪 F 神建了个群,把我们有意向参与开发的人加进了 QQ 群。这居然是个 2000 人的群,大家幻想着事成之后,直接把这个群当作用户群。

  第二步,分工。在所有人都很迷茫的时候,唯一能做的就是学习。先弄明白比特币、矿池的原理再说。

  当时可供学习的素材主要有代码和文档。比特币自然是开源的,也有一些矿池是开源的,比如 P2Pool。文档在当时反而很少,基本只能看比特币最早那篇简短的论文。中文的资料把比特币说得很神,英文也很难找到详细介绍比特币技术的资料,更不用说矿池了。

  配合代码和文档,还有一种很重要的学习素材,那就是数据。矿机(挖矿程序)和矿池的通信数据,比特币客户端存储的数据。于是,大家就开始分头行动,看比特币代码、看矿池代码、看开源矿机代码、分析不开源矿机的通信数据、编译开源矿池测试。这些工作相辅相成,大家有条不紊地进行着。

  和大神们一起讨论与探索,进度还是非常快的:

  第一天,大家就弄明白了比特币的原理(最有效的是看比特币的区块数据),什么是难度,比特币是怎么保证全网 10 分钟只出一个区块的。

  第二天,大概弄明白了质数币的原理,那些质数到底是怎么存的,怎么检验的。

  第三天,矿机与主流矿池的通信已经基本被翻译出来。至此我们终于发现,原来矿池比我们想象中的简单得多,倒是 P2Pool 有很多我们不需要的功能,代码过于复杂了。于是我们停止了为期两天的争论,放弃了修改 P2Pool 的方案,决定自己重写。

 p.s. 这几天所有人的口头禅都是:太 NB 了,怎么设计得这么精妙!

二、故事的开头

  尽管从开篇看来,做矿池是顺理成章的事情,然而故事真实的开头是这样的:

  首先,我们这帮技术宅(D神、R神、H神、M神、F神、S神、X神……)有一个群,平时在群里灌水,偶尔讨论技术。群里的话题是从这天开始变化的——

  • 2013.11.18 早上,R 神发了条微博说,睡觉前买了一个比特币,花了 3000,醒来之后涨到了 3600。见此大家各种膜拜。
  • 2013.11.18 白天,好消息:国内最大的比特币交易平台拿到了风投。于是比特币涨到了 4000 多一个。
  • 2013.11.18 晚上,好消息:美帝公开表示不会取缔比特币。于是比特币一下子飙升到 7000 一个……
  • 此后的若干天,技术宅们一有空就在 YY 怎么从中捞一笔。
  • 2013.11.23 D 神发现了矿池,于是开始天天给我们洗脑做出来可以躺着数钱。
  • 2013.11.26 我终于受不了洗脑,决定推动开发矿池。

三、数据币——走向人生巅峰,要先登上这个小山包

  伟大的 D 神在给我们洗脑要做矿池的时候,心里已经想好了要做“数据币”的矿池。这个数据币又是什么鬼?炒过币的人可能知道除了比特币之外,还存在着很多的山寨币。而数据币只是茫茫币海中一种非常普通的山寨币。

山寨币

  山寨币,其实英文是 alternative coin,其实这两个名字都挺确切的,就看从什么角度去看山寨币了。

  从技术创新角度看,山寨币只是在比特币之上做了点微创新。比特币提出了一整套金融体系,当之无愧是革命性的创新。而山寨币,说白了只是 fork 了比特币的代码,然后改了其中的一些参数而已。比如虚拟币市场中仅次于“金币”比特币的“银币”莱特币,作为最大的山寨币,主要也就三点微创新:改多了货币总额,加速了转账时间,然后把挖矿算法从 SHA-256 改成了 Scrypt。看起来确实挺山寨的。

  但是从应用的角度看,这些参数改动并不是毫无根据的,每个改动都可以成为山寨币的卖点。转账时间更短,可以让虚拟币交易更快捷,提高其实用性。而挖矿算法上,Scrypt 算法更适合 GPU 计算,相对而言更平民化。要知道比特币挖矿就是因为用了 SHA-256 算法,在 2013 年之后算力已经完全被专用集成电路(ASIC)垄断[引用],GPU 矿工根本没法获得收益。算力被垄断,对于虚拟币来说是很危险的,这点上,莱特币相比比特币稍微安全一些。这么看来,山寨币确实也是 alternative 的。

  制造一种山寨币,在技术并不难,难的是推广和运营。比如先要让人相信这个山寨币不是骗钱的(作者没有预挖之类);然后文案上要把“改参数”的故事说好,让人认为这是革命性的创新,值得去投资;最后对于特别山寨的山寨币而言,要想方设法让币上交易平台,上越大的交易平台,大家都认可度就越高。

  对于山寨币,中国比特币首富李笑来也曾公开表示他不会投资山寨币,他认为山寨币的创新和比特币比起来,根本算不上创新,不会长存。其实很多人也都是这个观点,但是芸芸众生就算后知后觉了首富的观点,也不见得就有觉悟不去碰山寨币。因为大家都相信,自己不是最后一个“接盘侠”。

比特币莱特币质数币数据币
btcltc
xpmdtc
SHA-256,ASIC挖矿Scrypt,GPU挖矿质数序列,CPU挖矿质数序列,CPU挖矿

数据币和质数币

  回到数据币,当然也是些微创新。数据币其实是一个在质数币上二次山寨的山寨山寨币。质数币的微创新,主要在其挖矿算法上。它需要矿工挖到足够长的质数链(第一类坎宁安链,第二类坎宁安链,和双坎宁安链)来证明其工作力投入。矿工在投入质数币挖掘的同时,也是在试图挖掘世界上最大的质数序列,有不少世界纪录是质数币创下的[引用1引用2]。从这个角度看,质数币可以算是一种有用的币。

  那数据币又在质数币上加了什么微创新呢?数据币在转账时可以带一句话,或者带个种子文件。以后这条信息就会永远留存在数据币的 P2P 网络中,可以真正的“永流传”,当然前提是一直有人用……

  D 神为什么选了数据币呢?

  第一,质数币或者数据币所用的质数挖掘算法在当时只能使用 CPU 来挖矿。比起比特币的矿卡和莱特币的显卡,CPU 挖矿更难被垄断,更平易近人。其实我们要是去做显卡币,自己都没机器测试。

  第二,数据币一直没有出现公开的矿池。这对于我们来说是个绝佳的切入口。虽说这个山寨币小的连矿池都没人来做,但是从 D 神在数据币矿工群里混了几天所了解的情况来看,矿工的激情以及整个币的体量还是足够养活我们的。

  在干活之前先画个大饼。所有矿池都会宣传自己的挖矿效率,列出最近出了多少区块(区块是挖矿的最小单位,一“块”矿里有 N 个币,N 在一段时间里基本不变)。同时我们也知道矿池的手续费是多少,所以很快就可以算出矿池的收入。当时质数币的第三大矿池(一共就三个),日入过万!YY 着我们从中随便抢点零头,也是非常可观的啊。

零、开坑按

  2016年5月2日有新闻报道称,澳大利亚企业家克莱格·莱特(Craig Wright)拿出了一些证据证明了他就是比特币之父“中本聪”。回想起三年前,在比特币最火爆的时候,自己也曾参与其中。这段经历可能非常独特,故在此与大家分享。

  2013 年秋天,大妈们在跳完广场舞后开始讨论比特币。比特币的价格从年初不到 100 元一个,一路飙升到 7000 元一个,深受投机人士的欢迎。就在这样的环境下,我们几个技术宅开始 YY自己能从这一波中捞点什么。当时我们发现了这些致富大法:1. 炒币,缺钱缺运气。2. 挖矿,缺机器,其实也是缺钱。3. 套利,缺钱。4. 做交易平台,似乎政策风险太大了,不敢做。 5. 做矿池,似乎只要技术。对于没钱没背景只有技术的我们来说,显然第五种致富大法,也就是做“矿池”看起来更值得一试。

一、矿池是什么,能吃吗?

  想知道矿池能不能吃,就要先从挖矿说起。“挖矿”是生产比特币的过程,从“挖”这个字不难猜到,“挖矿”是一件费时费力同时需要一定运气的事情。如果用最原始的手段来挖矿,我们需要先下载一个比特币客户端(通常也叫比特币钱包,毕竟一般只用它来放“钱”),等客户端自动同步完比特币网络上的数据后,就会自动开始挖矿。

  从技术上看,挖矿是个什么样的过程呢?简单的说,挖矿就是在算哈希,地球上所有想挖比特币的矿工一起算哈希。大约每 10 分钟,比特币网络就会公布一个基准字符串。收到这个字符串之后,所有挖矿的机器,都要做同一件事情:在这个基准字符串的后面加上一个随机字符串,并且希望这个合成的这个字符串,通过两次 SHA-256 哈希算法后,得到的输出,前面要有足够多的 0。

SHA-256(SHA-256(“基准字符串” + “随机字符串”)) = 000000000000…01011101…

  到目前为止,SHA-256 还没被破解,也就是说,我们还没有办法通过构造原串,得到期望的输出。所以对于我们勤劳朴实的矿工而言,唯一能做的就是,不断地替换随机字符串,直到人品大爆发,随机到我们想要的结果。比如,现在如果要挖到比特币,需要哈希结果中,前面有 67 个 0。这是个什么概念?大概是说,我们如果不停地随机,不停地哈希,会有 2 的 67 次方之一的概率,随机到我们想要的结果,然后就挖到一大块比特币,里面大概有 25 个比特币(具体数值因时间而异)。简单估计一下,$2^{67}=147573952589676412928$,如果我们的机器非常快,1 秒算 1 亿次哈希,那么……运气正常的话,大概需要46795.4 年才能挖到比特币,这可真不是一般人玩得起的。

  既然单干玩不起,那就大家一起来吧,这便有了矿池。矿池就是一堆人一起挖矿,挖到矿之后,根据大家投入的算力按比例分配收益。只要在矿池挖矿的人足够多,小算力的矿工就可以收到小额但是很稳定的收益,而不像独立挖矿的时候那样(行话叫 solo),平时影子都没,突然有一天变成爆发户。矿池的收入模式非常简单,就是手续费提成。这简直就是一个一本万利的项目啊,成本可能就是几台服务器,做出来躺着数钱就行了。