经过模型模仿比特币矿工挖矿收益改变也许不全面,但有用。
撰文 :Leo Zhang、Jack Koehler、Karim Helmy ;前两者上任于算力及衍出产品研讨组织 Anicca Research,后者是 Coin Metrics 数据研讨剖析师
本文是《正确的比特币矿工》系列第二篇,上一篇为《正确的比特币矿工,应当像办理出资相同运营算力》,由 Anicca Research 与新加坡算力及衍出产品出资和买卖组织 General Mining Research (GMR)合作撰写。
「当然,任何试图用确定性的办法发生随机数的人,都生活在罪恶中。」
约翰·冯·诺伊曼 (John von Neumann)
概述
在难以经过试验检验假定时,能够经过模型模仿收益改变。比特币挖矿业不透明,本钱密布度高,但假如以数值模仿为主,定性剖析为辅,研讨该行业时会更加简略易行。在无法断定商场改变的前提下轻率出资挖矿的代价是昂贵的,但在实际操作之前树立模型却很廉价。
在本系列的榜首部分中,咱们树立了蒙特卡罗模型来模仿矿机的公允价值以及该公允价值对不同商场参数的敏感性。咱们证明了:因为矿机流动性较差,算力的商场价格经常违背其理论公允价值。
参阅阅览:
《正确的比特币矿工,应当像办理出资相同运营算力》
在上一篇文章中,咱们用跳跃扩散 (Jump-Diffusion) 进程对未来的价格轨道进行了建模,并运用线性函数来描绘全球算力怎么呼应价格的改变。但正如咱们的几篇文章中所评论的那样,算力和价格之间的动态联系超出了简略的线性联系。为了进步咱们框架的代表性,咱们有必要将全网算力作为一个单位的办法进步精度,从自下而上的角度来建模。
参阅阅览:
《Bitcoin Mining’s Three Body Problem》
https://www.aniccaresearch.tech/blog/bitcoin-minings-three-body-problem
在本文中,咱们依据矿机类型、悉数运营本钱和挖矿战略,将矿机定性为几种原型。每个矿工原型都有着不同的赢利率和危险考量。跟着挖矿收入发生动摇,每个矿工会发生赢利或亏本,而赢利或亏本又会促使他们决议添加或削减作业矿机的数量。
在这个框架下,网络算力的改变不仅是价格改变的函数,并且是具有不同经济和危险特征的一切矿工输出的决议计划的总和。
该模型的代码库是彻底开源的,能够在这里(https://github.com/khelmy/intelligent-bitcoin-miner) 取得。
用户能够刺进自己的假定,并查看他们的挖矿业务在尔后的体现。在本文中,咱们将具体介绍该模型,解释怎么运用该模型,并从五个场景的剖析中给出一些有趣的发现。
康威的生命游戏
咱们将网络算力建模为单个矿工输出的总和,这种办法是依据一种叫做依据署理的模仿技能。依据署理的建模起源于 20 世纪 50 年代约翰·冯·诺伊曼 (John Von Neumann) 关于细胞自动机的早期研讨,并因约翰·康威(John Conway)的《生命游戏》而流行起来。
图片来历: Teb’s Lab
参阅阅览:
《Agent-based modeling》
https://en.wikipedia.org/wiki/Agent-based_model
《How I optimized Conway’s Game Of Life》
https://medium.com/tebs-lab/optimizing-conways-game-of-life-12f1b7f2f54c
《Play John Conway’s Game of Life》
https://playgameoflife.com/
这是一个回合制的模仿,发生在一个二维的细胞网格上。一个预先指定的、决议性的规矩负责办理相邻细胞之间的相互作用。每一个回合,细胞的状况都会依据其相邻细胞的状况而改变:假如细胞刚好有三个活着的街坊,它们就会复生;假如有两个或三个活的街坊,它们能够存活,不然则会死亡。
《生命游戏》是依据署理的模型的一个原始例子,这是一种由共享大局状况的参与者做出决议计划的模仿类型。在《生命游戏》中,细胞是署理人,它们的决议计划围绕着生计仍是死亡打开。成果彻底取决于棋盘的初始状况,而棋盘的状况可能会以非直观的方法演化。
依据署理的建模现已较康威的《生命游戏》有了很大的发展。如今,依据署理的模仿被广泛应用于生态学、经济学、量化金融和智能合约剖析。
参阅阅览:
《Insights from the study of complex systems for the ecology and evolution of animal populations 》
https://academic.oup.com/cz/article/66/1/1/5477426
比特币挖矿的盈余才能取决于比特币的价格、网络总算力,在较小程度也跟买卖费用有关(到目前为止)。核算盈余才能的第二个要素,即网络算力,取决于其他矿工打算运转仍是封闭机器。因而,对矿工盈余才能的猜测有必要是迭代的,而这个问题非常适宜依据署理的建模。
假定比特币价格彻底独立于网络算力,咱们能够将价格建模为一个独立的几许布朗运动。能够将时刻序列中的每一天视为一个次序;在每个次序开端时,价格和大局算力都被输入到矿工署理的决议计划进程中。
参阅阅览:
《Geometric Brownian motion》
https://en.wikipedia.org/wiki/Geometric_Brownian_motion
依据他们的赢利率,每个矿工经过改变他们运转的机器数量来扩展或缩小他们的运作规划,并公布他们运作的算力。每个矿工的算力输出之和因而成为新的大局算力。
矿工作为署理
将矿工作为署理建模,本质上是对挖矿经济学中的输入变量进行参数化。在《算力的炼金术》 (The Alchemy of Hashpower) 中,咱们提出了算力的反身性这个概念:每一个挖矿作业都会遭到物理条件和操作者对商场主观感知的严重影响。
参阅阅览:
《The Alchemy of Hashpower》
https://www.aniccaresearch.tech/blog/the-alchemy-of-hashpower-part-i
尽管不可能涵盖一切决议计划要素,但咱们认为矿机类型、本钱根底和战略应该是决议矿工行为的首要要素。咱们在矿工类别中,将这些要素定为了参数。
机器类型
在实际国际中,一个挖矿作业一般触及多种不同类型的矿机。为了简略起见,咱们让每个矿工原型在整个剖析进程中运用单一的矿机类型。在这个版别的模仿中,咱们支撑以下的矿机类型:
本钱根底:总电费能源消耗
在整个模仿进程中,每个矿工都被分配了一个平均的总电量。能量消耗为矿工的:矿机数量*矿机类型消耗。
每天,矿工发生的运营费用等于:能耗 / 1000 *总电费* 24。
咱们还指定了一个总电费散布,它决议了初始化时相关矿工原型的矿机数量。
在这个版别中,咱们供给以下默许分层。用户能够在运转模仿之前对其进行自界说。
依据最佳尽力猜测
战略
-
做多比特币
-
每日出清
每个矿工在初始化时都被分配了一个战略。在实践中,矿工能够运用的战略范围很广,只需他们对商场条件的看法发生改变,就能够在这些战略之间进行切换。
为简略起见,咱们在整个模仿进程中按照相同的战略对每个矿工进行建模。在《 智能比特币矿工,榜首部分》 (The Intelligent Bitcoin Miner, Part I) 中,咱们介绍了这两种战略,并评价了它们在不同商场周期中的体现。
参阅阅览:
《正确的比特币矿工,应当像办理出资相同运营算力》
做多比特币意味着矿工每天只卖出满足付出运营费用的比特币,并将其他收入保存在比特币中。
每日出清是指矿工立即将一切资产兑换成美元。
矿工的战略决议了他们的美元仓位和比特币仓位怎么划拨。当运用看多比特币战略核算矿工的赢利时,需求考虑未完成收益。未完成收益按比特币仓位*比特币价格核算。
依据这三个变量的组合,咱们将矿工的国际分解为 11 种矿机类型、7 种电费本钱层和 2 种战略,总共 154 种原型。
在初始化时,咱们依据 Hashrate Index 和 General Mining Research 以及其他一些来历的数据,供给了商场上矿机的默许分层和价格数据。用户能够在模仿之前自界说:
价格数据:Hashrate Index, General Mining Research。算力百分比:依据各种来历的估算
参阅阅览:
《Bitcoin runs on Hashrate》
https://hashrateindex.com/
https://www.gmr.xyz/
电费散布和矿机分层是每个矿工矿机数量的输入。这代表了矿工作业的矿机数量。需求留意的是,在实践中,这两个散布并不像模型中假定的那样在核算上是独立的—例如,像 S9 这样的老矿机更有可能是由能够取得更廉价电力的矿工操作。
在模仿开端时,一切矿工的矿机数量*算力的总和被缩放为大致等于当时网络算力水平,这个数值是从 Coin Metrics 中搜集的。
参阅阅览:
https://charts.coinmetrics.io/network-data/
为了跟踪矿工的体现,咱们在矿工类别中加入了一个简略的账户余额和前史赢利核算器。
-
账户余额
-
美元仓位
-
比特币仓位
-
算力仓位
初始算力仓位为矿工的矿机数*矿机_类型_算力。
-
盈余才能
-
每日盈余
-
最近30天盈余
-
悉数盈余
跟着商场的发展,盈余能力决议了矿工的行为。咱们将在下一节中介绍该机制。最近30天盈余和悉数盈余是延伸盈余的总和。
下面是一个示例矿工类的一切数据条目。矿工类的代码能够在 agents.py 文件中找到。
参阅阅览:
https://github.com/khelmy/intelligent-bitcoin-miner/blob/main/agents.py
矿工的效用函数
当预期盈余才能较高时,矿工可能会想要购买更多的矿机,当预期未来盈余才能为负时,他们可能会封闭一些矿机以削减运营费用。咱们需求准确界说矿工怎么添加或削减他们的算力。
在实际中,还会有许多外部要素唆使矿工决议购买或封闭矿机,比如是不是能从外部融资,甚至于他们是不是太累了。为了简略起见,咱们将矿工的前史赢利作为矿工决议计划进程中的首要输入进行建模。
决议计划流程将最近30天盈余作为输入,并核算用于生成操作的成果。核算进程如下:
假如最近30天盈余为零或负数,矿工将矿机数量削减 x,直到盈亏平衡。核算办法很简略:丢失(最近30天盈余)除以每台矿机的能耗本钱。
假如最近30天盈余为正并超越某个阈值,矿工将添加矿机数量。阈值为:最近30天盈余 > 一切 (开销) 的总和。
添加的矿机数量核算如下:(最近30天盈余一切 (开销) 的总和) / 矿机价格*矿机添加系数。
每种矿机类型都有一个添加率,反映的是它的相对添加。因为制造商缺少持续出产的志愿,老一代的矿机添加率较小。咱们还为添加新矿机设置了一个反应推迟。新订单的出产和交给一般需求一段时刻。
在咱们的模型中,这意味着在添加 x 台矿机的动作被触发后,矿机不会立即被添加到矿工的账户中。咱们设置了一个常量列表作为每种机器类型的反应时刻。反应推迟是一个静态近似值,应定期更新,以反映供应链才能的改变。
依据最佳尽力估计
总而言之,触发函数会输出矿工买入或卖出的矿机数量。
用户能够用他们认为适宜的常量来更新添加因子和反应天数。调整的代码能够在 Simulator.py 中找到。
参阅阅览:
https://github.com/khelmy/intelligent-bitcoin-miner/blob/main/Simulator.py
设置模仿
与《榜首部分》相同,咱们运用一个随机进程来猜测比特币在模仿生命周期内的价格。几许布朗运动模型的根底支撑来自于从 Coin Metrics 中提取的前史价格数据。
将一切内容结合在一起,咱们运用下面的图表来阐明这个进程是怎么运作的:
参阅阅览:
《正确的比特币矿工,应当像办理出资相同运营算力》
场景剖析
为了测验该模型,咱们模仿了不同的商场条件,并剖析了由此发生的矿工行为。咱们评价了一个用户矿工的盈余才能,该矿工取得了 100 万美元的前期资金用于购买矿机,但无法进一步扩展经营规划。模仿运转 100 天,取 25 次试验的平均成果。
用户的盈余才能是依据不同矿机类型和几种不同的电力本钱来衡量的。亮点如下所示。
所运用的参数绝不是确定的,用户能够自由地用自己的假定重新运转剖析。场景剖析的代码能够在main.py 中找到。
参阅阅览:
https://github.com/khelmy/intelligent-bitcoin-miner/blob/main/main.py
牛商场景
咱们的榜首个测验是模仿了牛市的情景。考虑到撰写本文时正在进行的牛市,咱们简略地将几许布朗运动模型与前史数据进行拟合。在这种条件下,价格逐步上升到 10 万美元以上,沿途阅历了几回批改。
网络算力稳步上升,跟着价格下调,阅历了一些小型滞后批改。
在这种情况下,相比每天卖出比特币,保存比特币仓位的赢利要高得多即使电价很高也是如此。考虑到比特币价格的快速增值,这是有道理的。
以一度电 4 美分的价格来算,只要运用 S9 矿机并在比特币中保持仓位的矿工才能在百日模仿期内完成盈亏平衡。
商场动摇
在第二种场景剖析中,咱们模仿了一个极为动摇的商场,将前史拟合 GBM 模型中的动摇项添加 25%,并将漂移设置为 0。价格开端上涨到近 8 万美元,然后暴跌到略高于 4 万美元。
算力开端快速添加,但跟着价格下降开端趋于稳定。因为呼应推迟,算力会持续添加,但速度较慢。
开端,这两种战略的体现适当,比特币多头的体现略好于每天出清的卖家。跟着价格跌落,有比特币危险敞口的矿工会因为承当了额外的危险而遭到赏罚,持有的比特币市值下降。
熊市
第三种模仿经过将 GBM 与前史数据拟合,并翻转漂移项的符号来模仿熊市。价格从目前的水平急剧下降,跌到近 3 万美元。
为了应对价格跌落,网络算力在开端的上升后进入批改。这便是《算力的炼金术》中介绍的从库存刷新到周期震荡阶段的过渡。
参阅阅览:
《The Alchemy of Hashpower, Part II.》
https://www.aniccaresearch.tech/blog/the-alchemy-of-hashpower-part-ii
在熊市中,每个人都遭殃。比特币多头特别如此:在每度电 4 美分的价格下,假如面临着比特币危险敞口,即使是最有效率的操作在模仿期内都无法回收一半的初始出资。
每日出清的卖家的体现显着要好一些,但因为他们的收益依然取决于比特币的价格,因而体现依然不如牛市时。
在牛市中,用旧矿机好仍是新矿机更好?
场景 4 运用与场景 1 相同的前史参数,意图是比较在具有竞争性电价的情况下,运转新旧硬件的矿工的体现。
这一次,价格飙升到 14 万美元以上,一路加速。算力也敏捷添加。
场景 1 vs. 场景 4
考虑到牛市的强度,即使是每天出清比利币的矿工,在运转 S9 矿机的情况下,也能在 100 天的模仿期内完成盈亏平衡。S19 矿机的赢利要低得多,但仍能在每天出售的一起回收大部分初始出资。
在这种情况下,做多比特币的矿工盈余惊人。在模仿期间,运转 S9 的矿工出资基本上翻番,S19 矿工也能取得可观的赢利。
在熊市中,下降运营本钱有多重要?
第五种也是最终一种模仿重新回到熊市中运转,这次的目标是剖析电力本钱对盈余才能的作用。为此,咱们评价了 S9 和 S19 矿机在熊市条件下的体现,电费分别为每度 3、4 和 5 美分。
情形与场景 3 类似:价格暴跌,算力出现了一个较浅但长时刻的批改。
场景 3 vs. 场景 5
对于 S9 矿工来说,电力本钱带来了实质性的差异。尽管在这些条件下,不管电力本钱处在哪个水平,矿工的体现都不佳,但在电费为每度 3 美分的情况下,做多比特币的矿工的回报率挨近其初始出资的 40%,假如电费换成是每度 5 美分,回报率则略低于 32%。
这种对电价的敏感性有助于解释为什么 S9 矿工往往会在电费更廉价的区域运营。
对于 S19 矿工来说,这种差异就不那么显着了。尽管电价较低的矿工依然比电价较高的矿工赚得更多,但这一变量对盈余才能的影响要小得多。
结论
维度是核算学家的天敌,而比特币挖矿是一个很难建模的问题。即使是咱们这种只做了几个简化假定的模型,也比咱们开端想象的要复杂得多。像一切依据蒙特卡罗的工具相同,它的猜测才能从根本上遭到用户成见的限制,这些成见会从初始种子条件涉及到一切成果。
参阅阅览:
https://en.wikipedia.org/wiki/All_models_are_wrong
咱们的模型明确假定价格和算力之间的联系是单向的,一起假定了可能相关的矿机模型和电力本钱散布之间的独立性。一切的模型都是不全面的,但有些是有用的。
咱们认为这个模型是有用的。在正确的比特币矿工的工具箱中,它应该能找到用武之地。
视野开拓
找到适合的信息,把信息放在容易得到的地方,让企业中的每个人了解这些信息,这三者共同组成了知识管理。知识管理是让人避免重复工作,即重复搜集每次做出决定时所需的信息。成功的关键是要知道如何有效地处理信息并把它转变成每个人都能使用的知识以改善流程和程序。“-《认识商业(修订第10版)》