この記事の著者は、Kaspersky Labのアンチウイルス技術開発部門の専門家であるAlexei Malanovです
ビットコインマイニングの収益性を決定するもの、マイニング速度を適応させるための原則が最初に定められた理由、これらの原則が最終的にこの暗号通貨の崩壊につながる理由について説明します。

読者は、 ブロックチェーン 、 マイニング 、マイニングプール、ブロック報酬など、ビットコインが機能する主なメカニズムのアイデアを持っていると想定しています。
警告 この記事では、ビットコインに埋め込まれたアルゴリズムを考慮して、説明されたシナリオを開発する理論的な可能性を探ります。 鉱山労働者のコスト構造、世界各地の電気料金、銀行の金利、設備の回収期間を詳細に分析するという目標は設定していません。
攻撃51%
ビットコインコミュニティでは、51%攻撃がよく知られています。 鉱夫がすべての採掘能力の半分以上を制御している場合、彼は機会があります:
- Bitcoins(製品、サービス)で支払うか、単に通常のお金と交換してください。
- 完全な取引が含まれていないブロックの生成を開始します。 生成されたブロックを他のマイナーに表示しないでください。
- 商品を待ちます。
- 生成したブロックチェーンを開示します。
この場合:
- 他のすべてのマイナーは、攻撃者のブロックチェーンのバージョンを唯一の真のバージョンとして受け入れる必要があります。
- 攻撃者は商品を受け取り、ビットコインを保存します。これは、ストーリーの彼のバージョンでは、それらを費やしていなかったためです。
- 攻撃者は、正直にプレイして共通のチェーンを構築した場合に生成するブロックの半分ではなく、生成されたすべてのブロックに対して報酬を受け取ります。 彼の収入は、次の複雑さの再集計まで同じままです。
- 最も可能性が高いのは、攻撃を行うとき、攻撃者はビットコイン用に別の暗号通貨のコインを購入することです。なぜなら、それは高速で、非常に安全で、元に戻せないからです。
コミュニティは、そのような攻撃が実行可能であれば、ビットコインネットワークのさらなる機能に疑問を投げかけることに同意します。
また、攻撃を成功させるために、容量の51%以上を制御する必要がないことを理解することも重要です。 ある程度の確率で、それは実現可能であり、より小さなシェアです。 たとえば、攻撃者は30%のパワーを持っているため、最大18%の確率で、5ブロックのチェーンを密かに生成できます。これは、パブリックブロックよりも長くなります。 この場合、攻撃者には「51%攻撃」と同じ利点があります。 そして、失敗した場合、彼は単に再試行することができます。 ビットコインでの支払いを受け入れるほとんどのサービスでは、5つの「確認」しか必要ありません。つまり、このような生成されたチェーンで十分です。
マイニング難易度の適応
2016ブロックごとに生成した後、ビットコインネットワークはマイニングの複雑さを調整します。 標準はこのような複雑さであり、1つのブロックをマイニングするのに平均10分かかります。 したがって、2016ブロックの計算には2週間を費やす必要があります。 たとえば、生成に1週間しかかからなかった場合、次の再計算後、複雑さが2倍になります(したがって、同じネットワーク容量を持つ次の2016ブロックを2週間再度生成する必要があります)。
Bitcoinネットワークは、1つの割り当てに対してマイニングの複雑さを4回以上変更することをプログラムで禁止していることに注意してください。
これらのルールの直接的な結果。 2016ブロックの期間の途中でマイニングパワーが追加またはオフになった場合:
- これは、残りの鉱夫が受け取る報酬には影響しません。 報酬は、マイナーのハッシュレートによって決定され、ハッシュレート全体のシェアではありません。 たとえば、電源の半分をオフにすると、残りの鉱夫は2倍のブロックを獲得しますが、2倍の時間でブロックを獲得します。 利益は残ります。
- これは、生産速度に直接影響します。 鉱夫の99%が採掘をやめた場合、約4年以内に別の複雑さの再計算が行われます。 また、1ブロックの生成時間は約16時間です。
Bitcoinの著者は、記述されたアルゴリズムがネットワークの電力をスムーズに調整し、最もエネルギー効率の低い機器を置き換え、残りのマージンを妥当な範囲に戻すことを提案しました。 ただし、実際には、このようなまれな複雑さの再計算は、マイナーにとって異なる戦略につながります。つまり、アルゴリズムを欺いて、人為的にネットワークパフォーマンスを低下させる可能性があります。 実際、機器の突然の停止により、その日の利益は同じレベルにとどまり、突然の電源投入により、コストが削減されます。
鉱業委員会と鉱夫の自由意志
鉱夫は、(放出された通貨の)ブロック報酬に加えて、ブロックに含まれるトランザクションを実行するための手数料も受け取ります。 現在、コミッションはブロック報酬の約10%です。 これについて詳しくは説明しませんが、計算によると、調査の結果、調査中の鉱夫の戦略はさらに収益性が高くなります。
別の側面として、マイニングプールは、その構成でマイニングパワーを直接制御しないことがよくあります。 各参加者と機器の所有者は、作業するプールを自由に選択できます。 通常、プールからプールに移動する決定は、経済的な理由で行われます。
ただし、容量のオン/オフ、容量のマイニング代替通貨(ビットコインキャッシュ)への切り替えのポリシーは、プールマネージャーによって決定されます。 言い換えれば、機器の所有者自身は「自由意志」を持っているが、役割を果たさないが、プールの所有者は記述された行動戦略を採用して実装するべきだと考えています。
すべての鉱夫の総力が安定したと仮定して、マージンを増やす戦略の1つを検討してください。
Bitcoinネットワークの安定したパワーを持つマイナーの動作の例
簡単にするために、ビットコインネットワークの総電力の半分を制御するとします。 常に装備を維持し、約1008ブロック(50%)の報酬を得ることができます。
または、次のことを実行できます。

- 2016ブロックの次の期間の開始を待ちます。
- 電源を切ります。
- 残りの鉱夫が4週間で2016ブロックを採掘するのを待ちます。
- その後、ビットコインネットワークは、次の期間のマイニングの複雑さを半分にします。
- 容量をオンにすると、ネットワーク全体で1週間で2016ブロックをマイニングできます。
- わずか1週間で、同じ(約)1008ブロックの報酬を受け取ります。
5週間の通常の作業の最初のシナリオでは、5/2 * 1008 = 2520ブロックの報酬を受け取りますが、電気料金は全額支払うことに注意してください。 2番目のシナリオでは、同じ5週間で1008ブロックの報酬が得られますが、電気料金は1週間だけです。
電気のコストが報酬の約90%であると仮定します。 5週間の最初のシナリオの利益は2520 * 0.1 = 252ブロックの報酬に相当し、2番目のシナリオでは「報酬費用」= 1008-0.9 * 1008/2 = 554.4と計算するのは簡単です。 つまり、提案された戦略は2倍の利益をもたらします。
さまざまなパラメーターによる費用対効果の高いマイナーの動作
させてください:
- スマートマイナーコントロールの共有 x 総ネットワーク電力の。
- 2016年のすべてのブロックで、ビットコインの報酬は A 。
- 2週間ですべてのネットワーク機器を操作する場合、電気とメンテナンスの費用は C 。 施設のレンタルと機器のダウンタイムのコストは無視できると想定しています。 簡単にするために、意図的に機器の減価償却を考慮していません。
次に:
- 通常の運用では、鉱夫の報酬は x−Cx 2週間の期間。
- スマートマイナーが機器をオフにすると、ネットワークは次の期間に2016ブロックを生成します frac1(1−x) もっと。
たとえば、 x=1/3 その後、ジョブを完了するのに1.5倍の時間がかかります。 - ネットワークによる複雑さの適応期間およびスマートマイナーの機器の組み込みの後、ネットワークは次の作業を実行します。 (1−x) 想像していた2週間よりも倍高速です。
たとえば、 x=1/3 機器の電源を入れた後、通常の時間の2/3、約10日かかります。 - 2つの期間の合計期間は ( frac11−x+1−x)∗(2週間) ;
- したがって、通常の状況(シャットダウンなし)では、これら2つの期間を働いている鉱夫は、 P通常の仕事=( frac11−x+1−x)∗(A−C)=(2+ fracx21−x)∗(A−C)
つまり、すべての鉱夫は、このような延長された条件付き期間に対して2つ以上の純利益を獲得します。 - シャットダウンで動作するスマートマイナーは、最初の期間は何も獲得しませんが、2番目の期間は短い期間を受け取ります Psmart=Ax−Cx(1−x)=Ax−Cx+Cx2
つまり、賢い鉱夫は習慣的な純利益を1つ獲得し、さらにシェアを節約します x コストから。 - 遅い期間のすべての切断されていない鉱夫は稼ぐ P遅い期間=A−C 、そして短期間 P高速期間=A−C(1−x) 、報酬は同じですが、より速く動作するため。
それは簡単にわかります:
- 鉱夫の費用が報酬に正確に等しい場合(鉱夫はゼロマージンで動作します)、スマートなアプローチにより、彼は純利益を得ることができます x2 。
- 鉱夫が無料の電力(100%マージン)で作業している場合、通常の作業中は1期間あたり2つ以上の利益が得られ、ダウンタイムで作業する場合は1つです。
- すべての鉱山労働者の利益を最大化するために、どの程度の機器xをオフにする必要があるかを調べる M=(A−C)/A :
maxx(P遅い期間+P速い期間−P通常の仕事)=
maxx(A−C+A−C(1−x) ldots− ldots(2+ fracx21−x)(A−C))
maxx(M+M+(1−M)x ldots− ldots(2+ fracx21−x)M)
maxx( frac(x−Mx)(1−x)−Mx21−x)=
maxx( frac−x2−Mx+x1−x)
この式はで最大に達します x=1− sqrtM 。 たとえば、 M = 4 % スマートマイナーは、機器の80%を一時的にオフにする必要があります。
鉱夫が今説明された戦略を今使用しない理由

ビットコインネットワーク容量の増加。 ネットワーク容量は1年で4倍以上増加しました( 出典 )

ますます複雑化するビットコインネットワーク。 2016年1月以降、複雑さは8倍になり、ビットコインのコストも増加しています( ソース )
説明されている戦略は、ネットワークの全体的な複雑さが増大しない場合にのみ意味があります。 そうでない場合、機器の電源を切っても複雑さが減少せず、経済的に不利です。
これまで、採掘能力は急速に成長してきました。 これは、ビットコインレートの増加の結果です。 鉱夫の利益はビットコインで計算され、従来の通貨で費用が発生します。

ビットコインレートの成長( ソース )
ただし、ビットコインの価格が無限に成長しない場合、遅かれ早かれ、新しいマイニング能力を委託することは経済的に非現実的になり、電気のコストは報酬にほぼ等しくなると想定するのは合理的です。
マイニング能力の閉鎖を脅かすもの
新しい採掘能力の試運転が終了すると、鉱夫は上記の戦略を適用できるようになります。

プール別のビットコイン配電( ソース)
マイニングプールが自身の利益を最大化する場合、6.25%のマージンで、容量の75%までのシャットダウンが予想されます。 ネットワークが複雑さを4倍以上軽減することはないため、より多くの機器をオフにすることには意味がありません。
その後、「51%攻撃」を実行するために、攻撃者は残りの容量の半分以上を制御する必要があります(これは現在の容量の配分で容易に実現可能)、または以前に稼働していたよりも多くの機器を突然オンにします(最大のプールのシェアを考えると実現不可能です)。
質問が発生します:マイニング容量の増加に多額の投資をした人にネットワークを攻撃することは有益ですか? はい、有益です。 採掘マージンが低いため、既存の採掘設備のコストも削減されます。 言い換えれば、マイニングが利益を生まない場合、正直でいることは不採算になります。 さらに、攻撃者は匿名のままでいることができ、とりわけ、ビットコインの価格を下げるために遊ぶことができます。
ビットコインキャッシュアタック
電気のコストが急速かつ大幅に増加する状況、またはビットコインのコストが急速かつ大幅に低下する可能性が高い状況を意図的に考慮していません。 この場合、鉱夫の戦略は非常に明白です。 急激な不利な価格変動の場合、鉱山労働者の100%全員が設備を停止します。 無料の電気を使用する人だけが浮かんでいるでしょう。 この場合、ネットワークの作業は単純に停止します。「2週間」を完了するには、人生に見合った時間がかかり、トランザクションを実行できなくなると、ビットコインの価格がさらに低下します。
先日、BitcoinMagazineで同僚は 、2017年8月1日にBitcoinネットワークが分割された結果として現れたBitcoin Cash通貨で状況を分析しました。新しい通貨には緊急難易度調整の原則があります。 EDAを使用すると、ビットコインキャッシュネットワークの複雑さをより頻繁に適応させることができます。つまり、12時間で6ブロック未満しか形成されなかった場合、複雑さは20%減少します。 著者は私たちと同様の結論に達しますが、それははるかに重要であり、彼はすでに賢い鉱山労働者の操作を観察していることに注意します。 彼はビットコインキャッシュネットワークの不安定化を恐れ、開発者による早期の介入を期待しています。
おわりに
私たちは、Bitcoinネットワークの容量が増大しなくなったときに、正直な鉱山労働者が経済的に実行可能な戦略の1つを分析しました。 そのような戦略のいくつかの重要なパラメーターを計算し、それに従うことは各参加者にとって個別に有益であることがわかりましたが、「51%攻撃」のリスクとビットコインシステム全体の潜在的な崩壊のリスクが大幅に増加します。
すべての鉱夫が確実に同意できた場合、さらに進むことができます。1つのデバイスを除くすべての機器を条件付きでオフにします。 これは利益の点では最適ですが、ネットワークセキュリティの点では致命的です。
セキュリティを保証するために鉱夫はどのように行動すべきですか? ここにいくつかの類似点があります。 1つ目は過剰生産の危機です。それが起こると、生産者は商品の一部に同意し、公的に破壊します(少なくとも中世の場合はそうでした)。 2つ目は核軍縮であり、大量の兵器を保有している国々は比例削減に同意します。
理想的な世界では、すべての鉱夫は、機器の特定の部分を無効にすることに同意する必要があり、最も重要なのは、その制御された破壊についてです。 体系的に破壊するだけでなく、その生産を厳密に制御することも重要です。
このような「平和的な」結果を期待する必要はありません。 最近のビットコインチェーンの2つへの分割とビットコインキャッシュの形成は、鉱夫が常に共通の問題を一緒に解決できるわけではないことを示しています。 おそらく将来的には、協力する能力が決定的な要因になるでしょう。
時間は、理論研究がどのように実践に適合するかを示します。
また読む: