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

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

最近、イーサリアムは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億米ドルを超えました。開発者であれマイナーであれ、一夜にして金持ちになるために長期的な利益を犠牲にするのではなく、システムのセキュリティを保護することを最大の責任として受け止め、安全性を確保しながら新しい機能を追加して、システムの長期的かつ健全な発展を確保する必要があります。


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

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

推薦する

V GodがEthereumのスケーラビリティソリューションRollupを理解する方法を紹介します

元のタイトル: ロールアップの不完全なガイドオリジナル記事: VitalikButerin元の翻訳:...

ビットコインが新たな高値を目指す中、弱気相場から強気相場への移行期に主要機関はどのようなプロジェクトを調査しているのでしょうか?

ビットコインは最近急騰し、前回の強気相場の最高値と同じ69,000ドルの高値に達した。しかし、ビット...

元イーサリアムCEO:イーサリアム財団はDAOを救うべきではない

クレイジーな解説: イーサリアム プロジェクトの元 CEO であるチャールズ ホスキンソン氏は、DA...

IPFS ウィークリーレポート 120 | Protocol LabsはETHDenver 2021に参加します

英語版オリジナルの I PFS週刊ニュースレターを購読する: https://mailchi.mp/...

ロシアの投機家がビットコインの採掘を開始

ビットコインの価格は最近ピークに達したが、これは中国におけるロシアのポンジースキームの台頭によるもの...

OKCoin ビットコイン価格は海外需要の増加により緩やかに回復

国際オンラインインターネット金融チャンネル:ビットコイン取引プラットフォームOKCoinによると、ビ...

リップルはSECの訴訟に応答:今後数週間で未確認の申し立てに対応し、すべての製品と顧客の運用とサポートを継続します

Chain Newsによると、リップル社は米証券取引委員会(SEC)から提訴された訴訟に対して声明を...

ビットコインは早朝に7,200ドルを超えて急騰した。米国の失業保険申請件数の急増により、ビットコインは最終的に安全資産となるのでしょうか?

暗号通貨市場全体の価格はプラスの範囲に入っているようです。北京時間の今朝の早い時間に、ビットコインは...

PoS に関するいくつかのこと: 問題点は何ですか?どのリンクが最も問題が発生する可能性が高いでしょうか?

以前の記事で、2019年はPoS元年だと言いました。今振り返ってみると、それは真実だったはずです。今...

BSCCはまもなくHotcoinに上場し、急成長のきっかけとなるだろう。

デジタル経済時代の到来により、データの爆発的な増加が加速しており、既存のデータセンターのストレージ容...

Yours Networkはエンジェルラウンドの資金調達を受け、来年初めに立ち上げられる予定

2014年の夏、私はサンフランシスコのレストランで、当時のRedditのCEO、イーシャン・フアン氏...

ビットコインは24時間で10%上昇し、予想を上回った。何か考えられる理由はありますか?

トレンドでは、市場は簡単には止まらない2月15日、CPIデータが正式に発表された後、ビットコインは1...

マンガー氏:現在の株式市場はインターネットバブルよりも狂っている。中国が暗号通貨を禁止するのは正しい!

財聯新聞(上海、編集長小翔)は、 「株式の神」バフェット氏の古いパートナーでバークシャー・ハサウェイ...

ORDI の見通しはどうですか?

1. 長期的な弱気相場に突入しようとしているのか?市場はしばらく低迷しており、多くの投資家はおそら...

神馬が新型マイニングマシンを発売:31J/T 3万元の価格はなぜこんなに高いのか?

リーダーの楊左星氏抜きで行われた記者会見で、神馬はビットメインのレベルに近いマシンを制作したが、価格...