イーサリアムのソフトフォークの失敗とビットコインの設計上のセキュリティ

イーサリアムのソフトフォークの失敗とビットコインの設計上のセキュリティ

最近、イーサリアムはDAOスマートコントラクトの欠陥により緊急ソフトフォークを実施する必要がありました。しかし、ソフトフォークが完成しようとした時に、ソフトフォーク自体がさらなる欠陥を招くことが突如発覚し、計画は断念せざるを得なくなりました。この不条理な状況はなぜ発生したのでしょうか。また、これはビットコインの発展について何を明らかにしているのでしょうか。

ソフトフォークとは何ですか?
ソフトフォークとは、デジタル通貨システムのルールが変更され、以前は有効だった一部のトランザクションが無効になることを指します。

なぜイーサリアムにはソフトフォークが必要なのでしょうか?
設計上の誤りにより、ハッカーは Ethereum の The DAO スマート コントラクトから 5,000 万ドル相当の Ether を盗み、それを別のスマート コントラクト (「Child DAO」と呼ばれる) に転送しました。ソフトフォークの目的は、Child DAO に関連するすべてのトランザクションを禁止することです。ソフトフォークでは他の投資家が盗まれた資金を回収することはできませんが、盗まれた資金は永久に凍結され、少なくともハッカーが直接利益を得ることはできなくなります。

イーサリアムのソフトフォークはなぜ失敗したのでしょうか?
すでにソフトフォーク計画が進行しており、マイニングプールは次々とアップグレードされていった。しかし、完成に近づいたとき、エミン・ガン・シラーはソフトフォークの設計上の欠陥を指摘した。実装されると、攻撃者は Ethereum ネットワークを麻痺させる可能性があります。 http://hackingdistributed.com/2016/06/28/ethereum-soft-fork-dos-vector/1

イーサリアムの主なセールスポイントは、ループを含むプログラム(いわゆるチューリング完全性)など、ビットコインよりもはるかに複雑なプログラムを実装できることです。不正使用を防ぐため、ユーザーはプログラムの各ステップごとに Ether で料金を支払う必要があります。料金が使い果たされると、プログラムは停止する必要があります。ビットコインとの大きな違いは、プログラムが最終的に失敗したと判断された場合でも、マイナーは取引手数料を受け取ることができるため、誰かが無効なプログラムでマイナーのコンピューティングリソースを消費することを心配する必要がないことです。

ただし、このソフトフォークでは、指定された子 DAO に関連するすべてのトランザクションが禁止されます。したがって、攻撃者は計算コストの高いトランザクションを発行することができ、その最終ステップには子 DAO が関与することになります。これにより、マイナーは大量の計算を実行することになりますが、最終的には取引手数料を受け取ることができなくなります。攻撃者はこれらのトランザクションを大量に送信して、Ethereum ネットワークを麻痺させる可能性がありますが、これは完全に無料です。

イーサリアムの設計上の欠陥がソフトフォークの失敗につながった経緯<br/> イーサリアムの設計は、分散型コンピューターを実現するという目標を掲げ、非常に野心的なものです。そのため、そのプログラミング言語 Solidity はビットコインのスクリプトよりもはるかに複雑であり、ビットコインの地位に挑戦することを目指しています。しかし、これがDAO攻撃とソフトフォークの失敗の直接的な原因でもありました。

まず、Ethereum プログラムに対して静的プログラム分析を実行することはできません。静的プログラム分析とは、実際にプログラムを実行しなくても、プログラムを読むだけでそのプログラムが何を行うかを知ることができることを意味します。静的プログラム解析が可能であれば、上記の攻撃に直面しても、マイナーは最初にプログラムを一度読み取るだけでよく、指定された子 DAO に関連するコードを見つけた場合は、その実行をあきらめることになります。しかし、Ethereum の設計では、攻撃者がコードを使用してコードを計算できるようになっています。マイナーは禁止されたコードに遭遇するまでしかプログラムを実行できないため、多くの計算能力が浪費されます。

さらに、無効なトランザクションを伝播するノードをブロックしても、攻撃を防ぐことはできません。プログラム操作には多くのリソースが関与し、マイナーではない通常のノードは手数料を受け取らないため、通常のノードはトランザクションを伝播するときにトランザクション形式が正しいかどうかを確認するだけで、実際にトランザクションを実行することはありません。ノードをブロックすることで攻撃を阻止すると、通常のノードもすべてブロックされ、イーサリアム ネットワークが麻痺する効果も生じます。

同じ質問ですが、ビットコインはどのように設計されているのでしょうか?
非チューリング完全: まず、Bitcoin のスクリプトはチューリング完全ではなく、ループもないため、プログラムの終了が保証されます。これはサトシ・ナカモトによる意図的な設計です。 DAO の脆弱性自体は、攻撃者がプログラムのループ特性を悪用して、自分に属さない資金を繰り返し引き出すというものでした。
実際、ビットコインは2011年にBIP12 OP_EVALを通じて偶然にチューリング完全になりそうになりましたが、幸運にも最後の瞬間に発見され、放棄されました。

静的プログラム分析: Bitcoin スクリプトはコードを直接記述する必要があるため、静的プログラム分析を通じて無効な操作を直接見つけることができます。 OP_EVAL を使用すると、コードからコードを評価できます。これが非推奨のもう一つの理由です。
さらに、トランザクションに加えて、ブロックサイズや署名チェックの制限など、ビットコインブロック自体のいくつかの制限も静的プログラム分析を通じて直接見つけることができます。よく知られている 1MB の制限に加えて、現在のブロックには 20,000 を超える署名チェックがないことが必要です。この 20,000 の制限には、実行されない署名チェックも含まれるため、実際の検証を行う必要はありません。ブロックトランザクションをチェックして、20,000 の制限を超えていないかどうかを確認します。

有名な BIP109 (Bitcoin Classic ハードフォーク) は、単に 1MB から 2MB への変更ではないことは注目に値します。また、署名チェックの制限が実際の実行回数に基づいて計算されるように変更されるため、静的プログラム分析の特性が失われます。これは、2016 年 2 月に Bitcoin Core 開発者の Luke Dashjr 氏によって指摘されました: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-February/012362.html6 このような、オタクだけが興味を持つトピックでも、広範囲にわたる影響を及ぼす可能性があります。

フルノードがトランザクションをチェックします。ビットコインのフルノードはトランザクション手数料を受け取ることはできませんが、チェックが完了した後にのみトランザクションを伝播します。したがって、無効なトランザクションを伝播するノードは禁止されます。ただし、フルノードを稼働させることで直接的な収入は得られないため、トランザクションが多すぎるとフルノードの数が減少し、システムの監視が不十分になります。

標準トランザクションとソフトフォーク: 実際、ビットコインのトランザクション機能はイーサリアムほど優れてはいませんが、それでも優れた柔軟性を備えています。しかし、これらの無限の可能性の中で、標準トランザクションとして定義されるトランザクションはごくわずかです。マイナーとノードが Bitcoin Core のソースコードを変更しない限り、非標準のトランザクションが伝播したり、ブロックに非標準のトランザクションが含まれたりすることはありません。ただし、非標準のトランザクションがブロックに含まれている場合でも、それらは有効であると見なされます。

最近完了した相対ロック時間 (CSV) や今後導入される分離された証人など、非標準のトランザクションを再定義して新しい機能を追加するために、多くのソフトフォークが実行されました。これを行う最大の利点は、古いノードがこれらのトランザクションを非標準トランザクションと見なし、伝播を拒否することです。ソフトフォーク後でも、無効なトランザクションを伝播したために禁止されることはありません。ただし、これらのトランザクションがブロックに含まれている場合、古いノードはそれらを有効であると見なすため、ソフトフォークの下位互換性の目的が達成されます。

イーサリアム事件からの教訓<br/> イーサリアムは、その誕生以来、セキュリティの軽視について批判されてきました。非チューリング完全性、プログラムループなし、静的プログラム分析など、ビットコインが常に遵守してきた機能は、イーサリアムでは意図的に放棄されており、イーサリアムはこれをセールスポイントとしてビットコインを保守主義と後進性の象徴と見なしています。

イーサリアムの戦略は確かに成功し、DAO は総額 1 億 5,000 万ドルの投資を調達しましたが、この神話は 1 か月以内に恥辱に変わりました。著者は、イーサリアムが自らの行動の成果を得たのは今回が初めてであり、これが最後ではないことは間違いないと断言できます。すべては貪欲と無謀さによって引き起こされます。いずれにせよ、この事件の後では、イーサリアムのスマートコントラクトに1億5000万ドルを投資する人がまだいるとは信じがたい。

ビットコインにとって、これは大きな警告でもあり、あらゆるステップを慎重に踏まなければならないことを思い出させてくれます。過去数か月間の上昇により、ビットコインの時価総額は100億米ドルを超えました。開発者であれマイナーであれ、一夜にして金持ちになるために長期的な利益を犠牲にするのではなく、システムのセキュリティを保護することを最大の責任として受け止め、安全性を確保しながら新しい機能を追加して、システムの長期的かつ健全な発展を確保する必要があります。


<<:  ブロックチェーンはビットコインを超えて次のホットな話題となるでしょうか?

>>:  シティバンクの最新のビットコインレポート: ビットコインは銀行にとって脅威ではなくチャンスである (レポート全文をダウンロード)

推薦する

米国の生産者物価指数データでインフレの固執が再び明らかに、ビットコインは日中6%近く急落

3月14日、予想を上回るインフレデータが続々と発表されたことを受けて、米国の株式市場と仮想通貨市場は...

ゴーストウイルスがマイニングファームを襲い、鉱山労働者は1時間あたり2,000元の損失を被る

数か月間、沈黙の亡霊が中国のビットコイン鉱山に大混乱を引き起こしていた。謎のハッカーが採掘マシンにウ...

世界中のさまざまな国(地域)におけるビットコイン規制の最も包括的なレビュー

ビットコインの法的地位に対する態度は世界各国で大きく異なり、その見解の多くは絶えず変化しています。一...

ジャスティン・サン:60万ETHがほぼ清算され、昨夜イーサリアムとビットコインに3億ドル近くを費やした

BlockBeatsによると、5月20日、Tronの創設者ジャスティン・サン氏は、平均価格2,509...

Grinの最初のハードフォークは7月に開始される予定:分業は明確、東風だけが欠けている

Grin は 7 月に最初のハードフォークを実施し、アルゴリズムの調整、プロトコルのアップグレード、...

ウー・ジハンと500.COMの結婚の秘密

著者 |秦暁峰 編集者 |ハオ・ファンジョウ制作 | Odaily プラネットデイリー (ID: o...

中国のビットコインの神々

2008 年、サトシ・ナカモトという名の暗号学者が、デジタル通貨の理論的な暗号のアイデアを発表しま...

タイのカシコン銀行がIBMと提携しブロックチェーンネットワークを開発

Rage Review : 資産規模でタイ第4位の銀行であるカシコン銀行は、地元のIBMと共同でブロ...

イーサリアムの「マイニング手法」:強力な収益性と強力なリスク耐性を生み出す方法

先週、イーサリアムの研究者は、ETH 2.0 フェーズ 0 は 2021 年初頭まで開始されない可能...

Dash マイニング マシンは実際にビットコインをマイニングできます。利益はDashのマイニングの利益を上回る?

はじめに: Dash には多くの利点があります。数秒以内にコインをアカウントに転送でき、匿名であるた...

2024年の暗号通貨に関する27の予測

1. データの可用性をめぐる戦いが始まり、2024 年に最大の話題の一つとなるでしょう。 2. 際立...

Conflux の最新アップグレードの詳細な説明: Conflux eSpace

2022 年 2 月、Conflux は Hydra ハードフォークで Conflux eSpac...

ポストトランザクション分散型台帳アライアンス:ブロックチェーンは数年以内に主流の採用を達成し、その最大のメリットは運用コストの削減です。

取引後決済に取り組んでいるブロックチェーンコンソーシアムの会員の半数以上は、ブロックチェーン技術が今...

オーストラリアの投資家の暗号通貨への関心は高まっているが、ボラティリティがそれを阻んでいる

オーストラリアでは暗号通貨が広く普及しているが、新たな調査によると、ボラティリティが依然として投資家...