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

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

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


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

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

推薦する

専門家:ビットコインは安心して使える、量子コンピュータはSHA-2暗号化技術を破ることはできない

将来の量子コンピューターによってビットコインが脅かされるのではないかとまだ心配していますか?コンピュ...

ブロックチェーンの新参者、Acute Angle Coin (AAC) がまもなく LBank 取引プラットフォームに上場される

1月9日午後、有名な取引プラットフォームLBankの公式サイトは、1月11日午前11時にAcute ...

市場に合わせて飛ぶ準備はできていますか?

制作 | Lieyun Finance 著者 |タオミ魯の島、厦門は美しさと意味深さを兼ね備えた最先...

インドの銀行イエスバンクはブロックチェーンを使用して顧客の売り手の資金調達の改善を支援します

クレイジーな解説:インドの銀行 Yes Bank はテクノロジー大手 IBM と提携し、ブロックチェ...

アルトコインの集中的な発生は、暗号通貨市場がピークに達したことを示しているのでしょうか?

執筆者: シークレット編集者:李克Altseasonとは何ですか?アルトシーズンとは、アルトコインが...

ETHやBCHなどの主流コインのマイニングの収益性は史上最低水準で推移している

Xiaocong Newsによると、イーサリアムの現在のマイニング収益性は1日あたり1Mハッシュあた...

BNPパリバによると、クラウドファンディングがブロックチェーンから恩恵を受ける3つの理由

BNPパリバはブロックチェーン技術を使った独自の公開実験を開始する準備ができているが、あまり議論され...

お客様は購入禁止です! HSBC、世界最大のビットコイン保有会社をブラックリストに掲載

同行のオンライン取引プラットフォームHSBCインベストダイレクト(HIDC)の顧客に送られた電子メー...

強気相場が静かに始まったのかもしれないが、今回はピークからどれくらい離れているのだろうか?どれくらい続くのでしょうか?

暗号化の分野に新人が参入する場合、どの文を 100 回読むべきでしょうか?次の文が選択される可能性が...

ビットコインの価格が0から8,000に反発した歴史の中で、バブルはいくつあったでしょうか?

私がビットコイン業界に参加して以来、友人に何をしているのか聞かれるたびに、私たちの会話は通常次のよう...

ブロックチェーンの未来フォーラム |ブロックチェーン国際フォーラム

工業情報化部が2016年に「中国のブロックチェーン技術と応用の発展に関する白書」を発行し、産業発展の...

洪水シーズン前のウォーミングアップ?複数の通貨の計算能力が3か月ぶりの高水準を記録 | JRR研究所

1. 週刊業界ニュース1. 本日(2019年3月31日)現在、暗号通貨市場の総時価総額は1,441億...

金持ち父さん貧乏父さん著者:大暴落に備えてビットコインと銀を購入しよう

ベストセラーとして知られる『金持ち父さん貧乏父さん』の著者ロバート・キヨサキ氏は、自身のソーシャルメ...

仮想通貨の取り締まり:半年で何十億ドルもの規制されていない資金が国外へ流出

原題:仮想通貨の包囲と抑圧:半年間で数千億の規制されていない資金が国外へ流出 出典:中国ビジネスニュ...

ビットメインは「ビットメインはTSMCに3億ドルの負債を抱えている」というのは噂だ

以前、Coingeekは、Bitmainが主要なチップサプライヤーであるTSMCからチップを入手しな...