イーサリアムが新たな脆弱性を明らかに、スマートコントラクトはプロトタイプにロールバックされる

イーサリアムが新たな脆弱性を明らかに、スマートコントラクトはプロトタイプにロールバックされる

一般的に言えば、ソフトウェアの脆弱性はよくあることですが、イーサリアムに脆弱性が発生した場合、それは非常に厄介なことです。

今週、イーサリアムのプログラミング言語 Solidity が脆弱性にさらされ、特定のスマート コントラクトに影響を及ぼし、影響を受けたコントラクトのほとんどは解体または変更できなくなりました。

つまり、分散型スマート コントラクト (単一の所有者によって制御できないコントラクト) の所有者は、この種の脆弱性に対して無力です。

脆弱性が報告されてから 2 日後、開発者は Solidity プログラミング言語の修正バージョン 0.4.4 をリリースしました。しかし、この脆弱性はこれらの契約の一部のアドレスとデータ タイプに影響を及ぼし、契約所有者がアップグレードできなくなりました。

幸いなことに、この脆弱性は多くのスマート コントラクトには影響しないと思われます。

Solidity言語の開発者クリスチャン・ライトウィスナー氏はCoinDeskに対し、イーサスキャンに掲載されているすべてのプログラムを「半自動」で分析したところ、 12,000契約のうち、使えるのはわずか4だったと語った。

ライトウィスナー氏は、契約書にはイーサが含まれていなかったため、テスト目的で使用された可能性が高いと述べた。ただし、すべての契約が etherscan に表示されるわけではないことに注意してください。 (現在イーサリアムには20多万契約があり、残りの契約資金が安全であるとは言い難い)。

全体的に、DAO プロジェクトで見つかった脆弱性と比較すると、現在の脆弱性は軽微な欠陥としか見なせません。しかし、暗号通貨コミュニティ内でも多くの議論が巻き起こっています。

例えば、あるソーシャルメディアの観察者は、このバグはスマートコントラクトの潜在的な脆弱性の氷山の一角である可能性があると述べた。

この問題を解決するための根本的なアイデアは、近い将来に Ethereum 契約をアップグレードして、契約所有者が問題のある契約を無効にしたり変更したりできるようにすることです。しかし、そうすることでイーサリアムの分散性が失われる可能性があるという懸念がある。

シンガポール国立大学の博士課程学生ロイ・ルー氏は、イーサリアムのユーザーがスマートコントラクトを分散型の方法で安全に展開する方法を学べれば、より良い選択肢になるだろうと語った。

ルー氏はこう語った。

「個人的には、これは良いアイデアだとは思いません。基本的に、スマート コントラクトが行うように設計されたすべてのことに反するからです。イーサリアムがテスト ネットワークであるなら、そのスマート コントラクトを失敗させて、人々がそこから学べるようにすべきです。」

しかし、ルー氏のコメントは、特にイーサリアムがまだ新しい技術であるため、すべての契約をアップグレードすることは良い考えではないかもしれないことを示唆している。

修正された問題

Solidity や Serpent などの Ethereum の高水準言語で記述されたプログラムは、ブロックチェーンに追加される前にバイトコードにコンパイルされます。ここで問題となるのはコンパイル技術です。

この問題に対処するために、Reitweissner 氏は開発者に 2 つのことを推奨しています。 1. 新しいコントラクトをコンパイルする場合、開発者はこの脆弱性を回避するために Solidity 言語の新しいバージョンにアップグレードする必要があります。

2 番目の方法は、デプロイされたコントラクトをアップグレードまたは再起動する必要があるため、さらに奇妙です。これは、おそらく、Ethereum のようなプロジェクトでは誰も選択しない方法です。

ライトヴィースナー氏は、中央管理型の契約と、誰も「特別な特権」を持たない分散型の契約という2種類の契約を提案した。

最初のものは、何らかのアップグレードメカニズム、または契約から資金を削除する方法を提供する可能性があります。

2番目は難しいです。一方、信頼性の低い Ethereum スマート コントラクトは、一度デプロイすると解体したり変更したりすることができないため、開発者は最初から集中型スマート コントラクトを使用しないと、できることが限られてしまいます。

しかし、Reitwiessner 氏は、Solidity のような同様の問題の発生を防ぐために開発者が実行できる手順があると述べています。

「こうしたタイプの契約については、潜在的な影響を減らすために契約期間を短くするか、契約のバイトコードを適切に分析することをお勧めします。現在、これを支援するツールを開発中です」と彼は語った。

将来に向けて

Ethereum オリジナル チェーン (ETC) は ETH チェーンと同じルール セットを使用しているため、この脆弱性の影響を受けます。

しかし、主催者のアルヴィッコ氏によると、開発者たちはさらなる脆弱性を回避するために新しいプログラミング言語の開発を検討しているという。

特に Solidity 言語の場合、別の阻止できない脆弱性が出現すると、将来的に他のスマート コントラクトにも影響が及ぶ可能性があります。

Reitwiessner 氏は、コンパイラのバグは常に存在する可能性があり、Solidity や Serpent (イーサリアムの別のスマート コントラクト言語) には未発見の脆弱性が存在する可能性があると指摘した。

しかし、彼は、これが2年以上の開発期間を経てスマートコントラクト言語に発見された最初の重大な脆弱性であると指摘した。


<<:  ブロックチェーンは資本市場の内部調整問題を解決できる

>>:  ロンドン保険機構、卸売保険業界におけるブロックチェーンとスマートコントラクトの応用を研究する新プロジェクトを開始

推薦する

パイロットプログラムが拡大するにつれて、デジタル人民元はどのようにして収益を上げることができるのでしょうか?

現在、デジタル人民元試験都市には、北京、天津、河北省(張家口、雄安新区)、大連、上海、蘇州、浙江省(...

MIT の第 2 回ビットコイン エキスポは「並列スピーチ」に反対

米国時間3月5日から3月6日まで、マサチューセッツ工科大学(MIT)ビットコインクラブは、MITサム...

乾季にはお金が稼げない? BMWバイクに乗ってまっすぐ家に帰りましょう! LVスーツケース! iPhone X11Pro の新機能

赤い旗がはためき、赤い太陽が輝いている国中が70歳の誕生日を祝う秋から冬にかけての乾季が到来長く厳し...

ビットコインは終焉に向かっているのか?

楽観。これはビットコイン愛好家が世界的に有名な特徴です。刺激的な新しいアプリケーション、テクノロジー...

カナダ、デジタル通貨マイニング規制を制定する可能性

BTCMANAGERによると、カナダのピエール・モローエネルギー大臣は5月30日、ケベック州の水力発...

財務管理、契約、クラウドコンピューティングのパワー、このアカウントはどのように計算すればよいでしょうか?

2014年以降、ビットコインの財務管理は徐々にプレイヤーの視野に入ってきました。 1年以上の開発を...

昨日Bitmainに何が起こったのですか?シリーズ13(その生命線を決める497?)

昨日Bitmainに何が起こったのですか?ジャン氏側はウー・ジハン氏に不利と思われる法的文書を提出し...

ビットコイン・ジーザス:イーサリアムは2018年末までにビットコインを追い抜く

ビットコインの創始者ロジャー・バー氏は最近のインタビューで、ビットコインは時代遅れであり、他の暗号通...

重要な解釈:「鉱業」は国家発展改革委員会の「排除産業」から削除される

海易オリジナル |業界詳細分析記事(VI)重要な解釈:「鉱業」は国家発展改革委員会の「排除産業」から...

EUはビットコインに対してより厳しい規制措置を講じており、サークルや他の企業は感謝の意を表している。

欧州委員会(7月5日)は、ビットコインなどのデジタル通貨の交換や保管事業を運営する企業に対して厳しい...

Solana 戦略ディレクター: Solana のトークンスケーリング計画

トークン拡張機能は、開発者が発行する資産に機能を組み込むことを可能にする Solana ブロックチェ...

ファクトム、ホンジュラスのブロックチェーン土地所有権登録プロジェクトが停滞後に明確化

ブロックチェーン台帳スタートアップのファクトムは、ホンジュラス政府のブロックチェーン土地所有権登録プ...

イーサリアム(ETH)は再びハードフォークするのでしょうか?少なくとも、創設者のヴィタリックはそう考えています。

見慣れた光景?イーサリアム(ETH)の開発者は、ネットワークへの攻撃に対処するために硬分叉を使用する...

ビットコイングループのIPO日程が再び延期

オーストラリア証券取引所(ASX)に上場する可能性が高いビットコイン・グループは最近、オーストラリア...