摘要: Filecoin挖矿的底层逻辑
1/ 正所谓:华山派早年曾无剑宗、气宗之分。如果从更大视角来看,互联网是剑宗,区块链是气宗。如果单看互联网,商业应用是剑,数字基建是气。同样,单看区块链,挖矿基建是剑,应用落地是气。
2/ 比特币算是区块链挖矿剑宗的开创者,其要诀是唯快不破,纵然内功平平,也能克敌制胜。比特币矿机和矿池开创了无数一夜暴富的神话,无需置喙。
3/ 云存储是计算机工程领域内气宗20年之集大成者。谷歌在2003年发布的武功秘诀《The Google File System》确定了当下云存储系统的思想基础:集群架构、元数据与数据分离、普通商用服务器。此后,GFS以及后续的Colossus成为业界借鉴的对象,催生了Hadoop生态系统以及大量的云存储厂商。同时普通商用服务器的做法,也掀起了国内去IOE的浪潮。
4/ 和互联网的Web服务不同,Filecoin是一个区块链+存储的项目,业务相对比较纯粹,是基建的范畴。Filecoin挖矿实际上是存储挖矿,需要集合两种武功心法:比特币的剑宗和云存储的气宗。
6/ Filecoin挖矿讲究的是以气运剑,气剑合一。由此,Filecoin官方一直在推集群版实现和外包GPU的原因,也就不言自明了。而那些模仿比特币剑宗模式走矿机路线的,可以说是用前朝的尚方宝剑来斩本朝的官,更别提有什么效果了。为正本清源,我公开Filecoin挖矿要诀之鸿钧九式。
7/ 鸿钧一式:缩减总拥有成本(TCO)。目前Filecoin挖矿讨论最多的是排名与投入产出比(或者说是投资回报率ROI)。排名当然说明了一切,ROI是指收益和投入的比值。谈排名的也在谈ROI,但这些谈论一般都停留在Capex的投入上,而不是讨论总拥有成本(TCO)。
云模式何以成功?因为云模式从各个方面降低了TCO。Filecoin的存储是否应该采用云的模式?答案是显然的,为什么不站在巨人的肩膀上呢?云的模式有多种,自建数据中心,云,以及两者的混合,业内的实践结果是混合模式的成本最低(如下图所示三种部署场景的TCO对比)。那么对比来看,Filecoin挖矿存在以下几种模式:矿机、数据中心集群矿池、云集群矿池、以及三者的混合模式。同样,混合模式Filecoin矿池的TCO成本最低。
采用混合部署模式只是第一步,TCO包括搭建基础设施所有直接和间接成本的总和,包括所有Capex、软件开发、监控、维护和支持(Opex)、运营、数据中心、网络、宕机、可持续性、敏捷性等。参考Google SRE的实践经验:谷歌可靠性工程的设计经验。
对于Filecoin存储挖矿来说,可以参考Google的经验,关注数据持久性和可用性的成本(存储市场),以及提供数据服务的成本(检索市场),如果保持磁盘繁忙(静止的磁头也是沉没成本),就会最小化总存储TCO。参考这篇文章:谷歌Colossus文件系统的设计经验。
搞清楚基础架构的TCO并不是一件容易的事情。TCO不仅包括服务器、存储、网络和IT劳力,还包括每年的资本成本以及摩尔定律对未来价格的影响。各大云厂商都有自己的TCO计算器,那么你呢?
8/ 鸿钧二式:维持可持续性。可持续性是指基础设施适应业务不断发展的需求的能力,高利用率会减少投入,但是会限制可持续性,并对创新和业务增长产生负面影响。
从云模式来看可持续性。大多数企业的硬件利用率都大大低于20%,这是因为处理业务高峰的资源需求过大。云模式提供通过规模效应降低成本,用弹性扩展提供服务,而用户以较高的利用率按照小时租用硬件、软件、电源等设备。这就是云计算的规模效益和按需付费模式。下图蓝色的线代表购买硬件的投入,这些投入往往是定期的,红色箭头代表企业必须承受的产能过剩成本,红色阴影区域代表资源配置过低不能满足业务需求的情况。
这种可持续性的价值很难计算,因此很多人都倾向于忽略它,那将是一个巨大的错误。那么对于Filecoin,问几个问题即可明白挖矿系统的可持续性:
挖矿系统输出的存力随时间变化的程度如何?
挖矿系统适应变化的能力如何?
在全网算力变化过程中收获的相对价值如何变化?
全网算力水涨船高,已有投入会成为沉没成本吗?
如何升级?升级的成本是多少?
挖矿设备能够附接存储吗?能够搬迁数据吗?
9/ 鸿钧三式:集群架构。云存储的模式,或者说是存储的集群架构和分布式架构,是Filecoin挖矿最应该回顾和借鉴的思路。图灵奖得主Jim Gray在文章《分布式计算经济学》中给出两个结论(计算靠近数据和组合多个分布站点的数据)和两个警告(Beowulf集群具有完全不同的网络经济和摩尔定律将加强两个结论)。Pat Helland也总结过数据中心经济学:数据中心可以通过廉价电力、靠近骨干网、共享管理等措施以相对划算的价格提供计算、存储和网络服务。因此,对于Filecoin挖矿经济学来说,需要借鉴的是:构建集群或者外包给集群,实现计算(seal)和存储分离、挖矿(链)与存储的分离。对于大多数人而言,管理自己的矿池或者数据中心不太可能具有战略意义,外包或投资也是一个不错的选择,这种背后的逻辑是:可以降低总拥有成本(TCO)。
10/ 鸿钧四式:计算与存储分离。随着云原生的深入发展,计算和存储的分离已经是IT系统的基本范式。谷歌在这方面开始的最早,但对外资料很少。亚马逊在SIGMOD 2017上发表Aurora数据库的设计引领业内云数据库计算和存储分离的浪潮。Facebook在2018年的Apache Spark & AI Summit 大会上做了主题为计算和存储分离的分享。计算和存储的分离除了遵循提高成本效率的经济学原理外,还可以允许系统以更细粒度(计算和存储)进行扩展,保持可持续性发展。
11/ 鸿钧五式:计算与存储的比例。Filecoin矿池如何安排计算和存储的比例?根据云计算和云存储的运行经验(下图所示),云托管的场景是需要的计算能力大于存储能力。对于Filecoin挖矿来说,评估计算和存储的比例对于部署挖矿系统对于降低TCO有很大的影响。对于可持续性的规模增长来说,自建数据中心的成本更低。对于单个矿机来说,由于违背了鸿钧四式计算和存储分离的原则,计算和存储的比例无从谈起,更不要说可持续性了。
12/ 鸿钧六式:创新存储架构。涉及整个存储堆栈针对Filecoin挖矿场景和存储场景的优化,内容较多,眼前有景道不得。可以参考的是谷歌Colossus文件系统的设计经验。
13/ 鸿钧七式:矿池的规模。矿池规模多大比较好?矿池规模是不是越大越好?如下图所示,随着数据量的增加,云存储的TCO快速增加。结合Filecoin构建检索市场的愿景,矿池规模不是越大越好。
14/ 鸿钧八式:定制数字中心磁盘,在IOPS和容量之间平衡。磁盘将是Filecoin挖矿的核心,GPU不是,磁带也不是。SSD具有更高的IOPS,是存储的未来,但存在的问题是成本($/GB)仍然太高,并且在未来的十年不会降低太多。谷歌在数据中心磁盘上的探索值得借鉴,主要包括关注磁盘集合而不是单个磁盘(同时也包括评估云时代超越3.5英寸磁盘的重新设计,以及安全、固件、尾延迟等方面的优化)以及IOPS和容量之间平衡。
对于磁盘集合,基于磁盘的存储解决方案的TCO主要由磁盘获取成本、磁盘电源成本、磁盘连接开销(磁盘插槽、计算和网络)以及修复和维护开销组成。谷歌建议关注磁盘集合而不是单个磁盘,并考量以下五个关键指标的全局最大值:
更高的每秒输入输出 (IOPS),通常受磁头寻道限制,
更高的容量(以GB计算)
较低的尾延迟,
满足安全要求,并且
较低的总拥有成本(TCO)。
对于IOPS和容量之间平衡,谷歌内部使用下图所示的一种思考空间:字母表示磁盘的各种类型,以$/GB(以TCO表示)和IOPS /GB表示。更大磁盘容量增加GB/$,但是降低IOPS/GB,更小磁盘容量则相反。磁盘转速更高会增加IOPS/GB,但会降低GB/$,转速更低则相反。理想的发展方向是向下向右。同一类型的新磁盘成本往往更低(更少的$/GB),但更靠左(因为容量变得更大,而不是更快)。更换为容量较小的拼盘大小是向右移动的一种方式。一般的情况下,我们可以聚合磁盘,实现从C到D的模型(向右向上),向下向右是我们梦寐以求的(比如E到F),而我们的现实路径往往是图中的红线。
15/ 鸿钧九式:你回首看得越远,你向前也会看得越远。这是丘吉尔说的。区块链本身就是组合式创新的典范,而区块链+存储本身就是一场成本革命,那么区块链存储所面临的问题和挑战,在历史的故纸堆里同样可以找到答案,没有必要重新发明轮子或制造轮子。