ハッキングの危機:どうだったか(パート2)

最初の部分

タイムワープ、マイニングの脆弱性、DOS攻撃など。

危機に瀕しているマイニング:5つのアルゴリズムがやり過ぎの場合

従来、プルーフオブワークプロトコルに基づく暗号通貨では、ブロックは単一のアルゴリズム、ほとんどの場合SHA-256を使用してマイニングされます。 Vergeでは、5つの異なるアルゴリズムを使用することができました(好奇心旺盛な場合-Scrypt、X17、Lyra2rev2、myr-groestl、blake2s)。 複数のアルゴリズムを使用する理由を以下に説明します。

一部のビットコイン批評家は、時間の経過とともにそれを主張します ビットコインマイニング 専門性が高く集中化されすぎて、ほとんどのマイニングはASIC(特定用途向け集積回路の略)で行われています-通貨マイニング専用に設計されたデバイスであり、ビットコインマイニングのほとんどは、リソースを共有し、彼らが稼いだものを彼らの間で共有します。 さまざまなタイプの「中央集権化」に対するこれらの傾向は、暗号通貨の基本原則と矛盾していると彼らは言います。 複数のマイニングアルゴリズムでコインを使用すると、このような傾向が相殺されます。 理論的根拠は、ハードウェア、生産、およびリソース管理の観点からXNUMXつの異なるアルゴリズムを管理することは、XNUMXつのアルゴリズムを制御するよりも必然的に困難であり、Vergeがマイニングのより大きな分散化と分散を実現できるようにすることです。

状況は次のとおりです。正しい操作を実現する唯一の方法-この場合の「正しい操作」の概念には、ブロック間の30秒間隔の維持、鉱夫のための30つのアルゴリズムすべての経済的実現可能性の維持、および17つのアルゴリズム(実験全体が無意味になる)-各アルゴリズムが独自の難易度パラメーターを持ち、他のXNUMXつとは独立して調整されるようにします。 つまり、Scryptアルゴリズムでのマイニングの難易度は、XXNUMXや他のアルゴリズムと同様に、各ブロックでXNUMX秒の間隔を監視するように調整されます。

これは、ハッカーがネットワーク全体のマイニングの難しさを実際に軽減していないことを意味します。 彼は、50つのアルゴリズムの10つであるScryptを使用してマイニングした人だけのためにそれをダウングレードしました。 Scryptマイナーは途方もなく簡単なマイニングを楽しんでいましたが、他のアルゴリズムに取り組んでいる残りのマイナーにとっては、タスクの複雑さは減りませんでした。つまり、すべての力を合わせてもネットワークのセキュリティを確保することはできません。 つまり、攻撃者はScryptアルゴリズムのみを使用し、同じことを行った他のユーザーと競争する必要がありました。 したがって、攻撃者に必要なハッシュパワーはXNUMX%(ネットワーク全体での優位性)以下でしたが、XNUMX%(他のScryptマイナーに対する優位性)のみでした。

憶測の領域に入りますが、状況はさらに悪化したようです。 各アルゴリズムにほぼ同じ量のリソースを割り当てる必要があるという事実に基づいて、10%の数値を想定しました(これがマイニング難易度設定メカニズムの本質です)。 しかし実際には、自由市場経済の公理が常に守られているわけではありません。 コミュニティでは、さまざまな要因(たとえば、Scrypt用の非アクティブ化されたASICの存在、Nicehashを通じてレンタル可能な無料のリソースなど)が、攻撃中のScryptでのマイニングの優位性につながったと考えられています。 10つのアルゴリズムの他のどれよりもはるかに安い。 必要なハッシュレートが最終的に0,4%をはるかに下回ると想定するのは安全です。Redditで行われたいくつかの予備的な見積もりによると、ハッシュレートはXNUMX%まで低くなる可能性があります。

要約すると、タイムスタンプを偽造することで、マイニングの複雑さが劇的に軽減されました。 30つのアルゴリズムを使用することで、そのうちのXNUMXつだけの複雑さを軽減できるため、ネットワーク全体のキャプチャが大幅に簡素化されました。 この特定のマイニングアルゴリズムの経済的および生産状況により、キャプチャがさらに簡単になりました。 そして最後に、マイニングの複雑さが軽減されたため、ブロック形成の時間が大幅に短縮され、攻撃の収益性が約XNUMX倍になりました。

学んだ教訓

この状況からどのような結論を導き出すことができますか? ハッキングの短期的な結果は、予想通り混沌とし、理解できませんでした。 数日後、主要な開発者はユーティリティの助けを借りていくつかのバグを修正しました。エラーも忍び寄り、最終的にネットワーク上でハードフォークが実行されました。これは最初は偶然に(または偶然ではなく)発生した可能性があります。 。 世界的な反応としては、ハッキングの翌週にVergeの価格が30%上昇し、翌週、pornhub.comでVerge通貨がサブスクリプション料金として受け入れられることが発表されました。 最大のプロトコルレベルの暗号通貨ハックがどのようにしてこの通貨の価値の成長につながり、後で最も訪問されたポルノサイトとのパートナーシップの結論につながる可能性があります-私はこの質問を開いたままにしておきます。 個人的には、世の中には意味がなく、人は完全に頭がおかしいというだけだと思います。

しかし、私は逸脱します。 よりグローバルに、この状況から学ぶことができるいくつかの教訓があります。

まず、タイムスタンプを使用して人為的に複雑さを軽減する手法は、実際には長い間知られており、「タイムワープ」の脆弱性という名前を付けることさえできました。 数年前、攻撃ベクトルがビットコインフォーラムで議論されました。 ある程度、新しい難易度調整アルゴリズムであるDark Gravity Wellを使用すると、新しいブロックごとに難易度が調整され、Vergeへの攻撃を実装するのに役立ちました。 ビットコインでは、難易度は2016ブロックごとにのみ変化します。 このような時間のかかる断続的な難易度設定は奇妙な決定のように見えるかもしれませんが、Vergeハックは、それが実際にはセキュリティ対策であることを明らかにしました。ビットコインにマイニングの複雑さを軽減する方法がある場合は、攻撃者はそれを行うことができます。2週間に30回だけであるため、ハッカーがXNUMX秒ごとにマイニングの難易度を下げることができるVergeと比較して、攻撃の結果は重要ではありません。

興味深いことに、Dark Gravity Waveの利点のXNUMXつは、タイムワープの脆弱性の影響を受けないようにする必要があることです。 この仮定がどれほど強く反証されているかを考えると、このアルゴリズムを使用する他の通貨は少なくとも神経質になるはずです。

XNUMXつのアルゴリズムの使用については、一見、経済的に刺激的な分散環境での価値のある実験のように見えますが、予期しない脆弱性が発生する可能性を必然的に高める新しい複雑さをもたらします。

どちらの場合も、このハッキングは実証済みのメカニズムを支持する強力な議論を構成し、人々の金融資産に関連する不必要なリスクを複雑にし、導入する際には注意が必要です。 これらの問題において、ビットコインチームは最高の状態にあることを示しています。

質問はやや広範です。ソフトウェア開発者はそれを認めたがりませんが、最終的には人間にすぎません。 基本的なセキュリティ原則が完全に正しいように見える場合でも、常にエラーの余地があります。 予期しない攻撃があり、妥協が必ずしも報われるわけではありません。もちろん、古き良きバグの可能性をキャンセルした人は誰もいません。 ソフトウェアは常に私たちが望むように機能するとは限りません。2018年の誰も、このようなバグが資金の損失につながる可能性があることに驚くことはありません。 しかし、ソフトウェアが 単独で です お金、私たちは特に注意する必要があります。

私たちのほとんどが投資するすべてのプロジェクトのコードを徹底的にレビューする時間がないことを考えると、災害に対する最善の防御は、前向きな作業経験と開発への保守的なアプローチを備えた実績のあるシステムを信頼することです。

また、送金に関連するパイロットプロジェクトで一部の資金に賭けたい場合は、少なくともリスクを認識しておく必要があります。 最終的に、最善の防御策は、コミュニティが将来の災害を防ぐために適切な対策を講じることを要求する場合です。 ジョージ・サンタヤーナ氏は、私が間違っていなければ、「過去のセキュリティの脆弱性から学ぶことができない人は、将来何度も繰り返す運命にある」と語った。 これらの言葉は、私たち自身が思いがけず過去の過ちを二度と繰り返さないように覚えておく必要があります。

この記事を評価する
ブロックチェーンメディア
コメントを追加します