検索
ホームページウェブ3.0カンクンでアップグレードする前の重要な安全確認

カンクンでアップグレードする前の重要な安全確認

Mar 24, 2024 am 09:06 AM
暗号通貨イーサリアムセキュリティーチェック標準ライブラリカンクンのアップグレードイーサリアム取引プラットフォーム

カンクンでアップグレードする前の重要な安全確認

簡単に言うと、カンクンのアップグレードが近づいています。このアップグレードには、主に 6 つの EIP、EIP-1153、EIP-4788、EIP-4844、EIP-5656、 EIP-6780 および EIP-7516。 EIP-4844 はこのアップグレードの主役であり、イーサリアムのスケーラビリティを向上させ、トランザクション コストを削減し、L2 のトランザクション速度を向上させることを目的としています。カンクンのアップグレードは、それぞれ 1 月 17 日、1 月 30 日、2 月 7 日にイーサリアム Goerli、Sepolia、Holesky テストネットで完了し、3 月 13 日にイーサリアムメインネットで有効化される予定です。アップグレードの前に、Salus は開発者が自分で確認できるように、このアップグレードに関する重要な安全上の注意事項をまとめました。

EIP 提案のレビュー

公式に公開されたセキュリティに関する考慮事項

スマート コントラクト関連のリスク

詳細情報

EIP 提案のレビュー

  1. EIP-1153

EIP-1153 では、一時ストレージのオペコードが導入されています。これは状態を操作し、ストレージとほぼ同じように動作するために使用されますが、一時ストレージは各トランザクション後に破棄されます。これは、一時ストレージがストレージからの値を逆シリアル化したり、ストレージに値をシリアル化したりしないことを意味します。そのため、一時ストレージはディスク アクセスが必要ないため、コストが安くなります。スマート コントラクトは、2 つの新しいオペコード、TLOAD および TSTORE (「T」は「一時」を表します) を通じて一時ストレージにアクセスできます。この提案は、イーサリアムのトランザクション実行における複数のネストされた実行フレームワーク間の通信のための専用かつ効率的なソリューションを提供することを目的としています。

  1. EIP-4788

EIP-4788 は、ビーコン チェーン ブロックのハッシュ ツリー ルートを EVM に公開して、これらにアクセスできるようにするように設計されています。スマートコントラクト内にルーツがあります。これにより、コンセンサス レイヤー ステートへのトラストレス アクセスが提供され、ステーキング プール、再ステーキング構造、スマート コントラクト ブリッジ、MEV 緩和などの複数のユースケースがサポートされます。この提案では、スマート コントラクトを通じてこれらのルートを保存し、リング バッファーを使用してストレージ消費を制限し、各実行ブロックがこの情報を表すために必要なスペースのみが一定であることを保証します。

  1. EIP-4844

EIP-4844 では、イーサリアムのデータ可用性をシンプルな方法で拡張するために設計された、「シャード Blob トランザクション」と呼ばれる新しいトランザクション形式が導入されています。 、上位互換性のある方法。この提案は、EVM の実行ではアクセスできないが、コミットメントにはアクセスできる大量のデータを含む「BLOB を運ぶトランザクション」を導入することで機能します。この形式は、将来のフル シャーディングで使用される形式と完全な互換性があり、ローリング拡張に対して一時的ではあるが大幅な軽減を提供します。

  1. EIP-5656

EIP-5656 では、メモリ領域を効率的にコピーするための新しい EVM 命令 MCOPY が導入されています。この提案は、EVM 上でメモリ コピー操作を実行するオーバーヘッドを削減し、MCOPY 命令を通じてメモリ間でデータを直接コピーすることを目的としています。 MCOPY は、ソース アドレスと宛先アドレスを重複させることができ、下位互換性を念頭に置いて設計されており、データ構造の構築、メモリ オブジェクトの効率的なアクセスとコピーなど、さまざまなシナリオでの実行効率の向上を目指しています。

  1. EIP-6780

EIP-6780 SELFDESTRUCT オペコードの機能を変更します。本提案では、SELFDESTRUCTはコントラクト作成と同じトランザクションでアカウントの削除と全てのイーサコインの転送のみを行い、またSELFDESTRCT実行時はコントラクトの削除は行わず、指定した宛先に全てのイーサコインを転送します。この変更は、Verkle ツリーの将来の使用に適応するものであり、SELFDESTRUCT のいくつかの一般的なシナリオを維持しながら、EVM の実装を簡素化し、状態変更の複雑さを軽減することを目的としています。

  1. EIP-7516

EIP-7516 では、現在のブロック実行コスト値の BLOB ベースを返す新しい EVM 命令 BLOBBASEFEE が導入されています。この命令は、EIP-4844 で定義されている BLOB 基本料金を返す点を除いて、EIP-3198 の BASEFEE オペコードに似ています。この機能により、契約は BLOB データのガス価格をプログラムで考慮できるようになります。たとえば、ロールアップ コントラクトで BLOB データの使用コストをトラストレスに計算したり、これに基づいて BLOB ガス先物を実装して BLOB データ コストを平滑化したりできます。

正式に公開されたセキュリティに関する考慮事項

EIP-1153

スマート コントラクト開発者は、使用前に一時ストレージ変数のライフ サイクルを理解する必要があります。一時ストレージはトランザクションの終了時に自動的にクリアされるため、スマート コントラクト開発者は、ガスを節約するために呼び出し中にスロットのクリアを回避しようとする場合があります。ただし、これにより、同じトランザクション内でコントラクトとのさらなる対話が妨げられたり (再入可能ロックの場合など)、他のエラーが発生したりする可能性があるため、スマート コントラクト開発者は、非一時ストレージ スロットが予約されている場合にのみ予約するように注意する必要があります。ゼロ値。同じトランザクション内の将来の呼び出しで使用することを目的としています。 SSTORE それ以外の場合、これらのオペコードは SLOAD および SLOAD とまったく同じように動作するため、特に再入リスクに関して、通常のセキュリティ上の考慮事項がすべて適用されます。

スマート コントラクトの開発者は、メモリ マッピングの代わりに一時ストレージを使用しようとすることもあります。一時ストレージは呼び出しが戻ったり再開したりするときにメモリのように破棄されないことに注意する必要があり、これらの使用例では、同じトランザクション内での再入時の予期しない動作を避けるためにメモリを優先する必要があります。メモリ上の一時的なストレージ コストは必然的に高くなるため、この使用パターンは抑制されるはずです。インメモリ マッピングのほとんどの使用法は、キー順のエントリ リストを使用して実装する方が適切であり、スマート コントラクトではインメモリ マッピングが必要になることはほとんどありません (つまり、作成者は運用環境での既知の使用例を認識していません)。

EIP-4844

この EIP により、帯域幅要件がビーコン ブロックあたり最大約 0.75 MB 増加します。これは、今日のブロックの理論上の最大サイズ (呼び出しデータ バイトあたり 30M ガス / 16 ガス = 1.875M バイト) より 40% 大きいため、最悪の場合の帯域幅が大幅に増加するわけではありません。マージ後、ブロック時間は予測不可能なポアソン分布ではなく静的となり、大きなブロックの伝播に保証された期間が提供されます。

呼び出しデータが限られている場合でも、負荷が実行される限り BLOB を保存する必要がないため、この EIP の持続的な負荷は、通話データのコストを削減する代替手段よりもはるかに低くなります。これにより、これらの BLOB を少なくとも一定期間保持する必要があるポリシーを実装することが可能になります。選択される特定の値は MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS エポックで、これは約 18 日であり、ペイロード履歴を実行するために推奨される (ただしまだ実装されていない) 1 年のローテーションと比較すると、はるかに短い遅延です。

EIP-5656

これは潜在的なサービス拒否 (DoS) ベクトルであるため、クライアントは実装で中間バッファを使用しない (たとえば、C stdlibmemmove 関数は中間バッファを使用しない) ことに注意する必要があります。バイトを移動するための言語の組み込み/標準ライブラリ関数のほとんどは、適切なパフォーマンス特性を備えています。

それ以外の場合、メモリ拡張は同じ価格設定ルールに従うため、サービス拒否 (DoS) およびメモリ枯渇攻撃の分析は、メモリに触れる他のオペコードの分析と同じになります。

EIP-6780

次のアプリケーション SELFDESTRUCT は壊れるため、この方法でそれを使用するアプリケーションは安全ではなくなります:

コントラクトを再デプロイするために CREATE2 が使用される場所アップグレード可能です。この機能はサポートされなくなったため、代わりに ERC-2535 または別のタイプのプロキシ コントラクトを使用する必要があります。

コントラクトが SELFDESTRUCT コントラクトを受益者として持つことにより、イーサの燃焼に依存している場合、そのコントラクトは同じトランザクションで作成されていません。

スマート コントラクト関連のリスク

EIP1153

オペレーション コード TLOAD と TSTORE を使用する 2 つのシナリオを想像してください。

  1. 呼び出されたコントラクトは、このオペレーション コードを使用します。
  2. このオペコードを使用して通話契約を開始します

リスク 1:

従来の SSTORE および SLOAD と比較して、新しい一時ストレージは主にデータの保存期間が変わりますtstore に保存されたデータは、tload を通じて読み取られます。データは、sstore のようにコントラクトに書き込まれて永続的に記録されるのではなく、トランザクションの実行後に解放されます。開発者は、データがコントラクトに誤って書き込まれ、損失が発生する可能性のある誤った使用を避けるために、このオペコードを使用する際にその特性を認識する必要があります。さらに、tstore 内のデータはプライベート変数であり、コントラクト自体によってのみアクセスできます。データを外部で使用する場合は、パラメータの形式で渡すか、パブリック記憶域変数に一時的に保存することしかできません。

リスク 2:

もう 1 つの潜在的なリスクは、スマート コントラクト開発者が一時ストレージ変数のライフ サイクルを適切に管理しない場合、データが消去されるべきではない、または誤って消去される可能性があることです。予約する。コントラクトでは、トランザクションの後続の呼び出しで一時ストレージに保存されたデータを使用することが期待されているが、このデータのライフサイクルを適切に管理できなかった場合、呼び出し間でデータが誤って共有されたり失われたりして、ロジック エラーやセキュリティの脆弱性が発生する可能性があります。トークンプロジェクトと同様の残高や手当のデータを正しく保存できないことを考慮すると、契約ロジックに誤りが生じ、損失が発生する可能性があります。または、所有者アドレスを設定するときにこのオペコードを使用すると、特権アドレスが正しく記録されず、コントラクトの重要なパラメータの変更が失われます。

一時ストレージを使用して仮想通貨取引所の取引価格を一時的に記録するスマート コントラクトを考えてみましょう。この契約では、各取引が完了すると価格が更新され、ユーザーは短期間で最新の価格を照会できるようになります。ただし、トランザクションの終了時に一時ストレージが自動的にクリアされるという機能が契約の設計で考慮されていない場合、ユーザーは、トランザクションの終了から次のトランザクションの開始までの間に、間違ったトランザクションまたは古いトランザクションを取得する可能性があります。取引の価格です。これは、ユーザーが誤った情報に基づいて意思決定を行うよう導くだけでなく、悪用されてプラットフォームの信頼性やユーザー資産のセキュリティに影響を与える可能性があります。

EIP-6780

この提案は、以前の自己破壊オペコードの動作を変更します。コントラクトは破壊されず、トークンのみが転送され、自己破壊と同じトランザクションで作成されたコントラクトのみが転送されます。破壊は破壊されます。この EIP の影響は比較的大きいです。

create2 を使用して同じアドレスにコントラクトを再デプロイし、コントラクトをアップグレードします。この機能はサポートされなくなったため、代わりに ERC-2535 または別のタイプのプロキシ コントラクトを使用する必要があります。 (これは、create2 を使用してアップグレード可能なコントラクトを実装するオンチェーン コントラクトのセキュリティに影響を与える可能性があります)

スマート コントラクトの SELFDESTRUCT 操作により、コントラクトを破棄し、コントラクト残高を指定されたターゲット アドレスに送信できます。この場合、コントラクトは SELFDESTRUCT を使用してイーサを破棄し、破棄されたイーサをコントラクトに送信します。ただし、その契約は、同じトランザクションで作成された契約(この契約または同じトランザクション内の他の契約によって作成された契約)のみにすることができます。それ以外の場合は、コントラクトを破棄せずにエーテルのみが転送されます (たとえば、コントラクトが自己破棄され、受益者が自己破棄するコントラクトである場合、これによって変更は生じません)。これは、引き出しやその他の操作で自己破壊に依存するすべての契約に影響します。

1 インチ CHI トークンと同様のガス トークンは、オフセットを維持し、常にこのオフセットで CREATE2 または SELFDESTRUCT を実行することによって機能します。この更新後、現在のオフセットにあるコントラクトが正しく自己破壊されていない場合、後続の CREATE2 はコントラクトを正常にデプロイできなくなります。

この提案の実装は、契約への直接的な攻撃にはつながりませんが、自己破壊操作に依存する最初に展開された契約の通常のロジックに損傷を与えることになります (資金移動のみに自己破壊に依存する契約は、影響を受けません。その後の操作では、自己消滅するコントラクトを削除する必要があります。削除しないと影響を受けます)、コントラクトが予期せず機能する原因となります。コントラクトとユーザーにのみ、コントラクトがストライキされ、失われる可能性があります。資金やその他の危険 (たとえば、最初は create2 を使用して元のアドレスに新しいコントラクトをデプロイしていましたが、アップグレードのために元のコントラクトを自己破壊するコントラクトは正常にデプロイできなくなりました)。長期的には、オペコードの機能を変更すると、集中化の問題が発生する可能性があります。

たとえば、既存のボールト契約ボールトが更新された場合:

  • create2 一時ストレージ契約はボールト資金を一時的に予約するために使用されます

  • Vault 契約を自己破壊し、資金は一時契約に転送されます (契約は破棄せずに資金のみが転送されます)

  • 元のアドレスに新しい Vault 契約を 2 つ作成します (失敗したため、元のボールト契約は破棄されていません)

  • 資金をボールトに戻す一時契約を自己破棄します(資金の損失、ボールト契約は作成されていません)

詳細情報

カンクンのアップグレードは、イーサリアムの競争上の優位性をさらに強化します。ただし、このアップグレードはコアのスマート コントラクト層への変更にリスクをもたらし、既存の DApps の安全な運用に影響を及ぼします。スマート コントラクトの開発中は、これらの変更とそれが引き起こす可能性のあるリスクにも細心の注意を払う必要があります。リスクレビューまたは監査サポートについては Salus に問い合わせることができます。また、変更についてさらに詳しく知ることもできます。

以上がカンクンでアップグレードする前の重要な安全確認の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はPANewsで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
無料視聴市場ソフトウェアWebサイトトップ10の無料表示市場ソフトウェアWebサイトは何ですか無料視聴市場ソフトウェアWebサイトトップ10の無料表示市場ソフトウェアWebサイトは何ですかApr 24, 2025 pm 02:21 PM

トップ10の無料ビュー市場ソフトウェアWebサイトが推奨されます:1。Binance、2。OKX、3。SesameOpen Door(Kucoin)、4。CoinmarketCap、5。Coingecko、6。TradingView、7。Investing.com、8。YahooFinance、9。GlassnodeStudio、10。

Binance Trading App公式Webサイトダウンロードポータルバイナンストレーディングアプリ公式ウェブサイトBinance Trading App公式Webサイトダウンロードポータルバイナンストレーディングアプリ公式ウェブサイトApr 24, 2025 pm 02:18 PM

Binanceの公式プラットフォームに安全にアクセスしてアプリをダウンロードするには、次の手順を使用できます。1)信頼できる検索エンジンを使用して「バイナンス」を検索し、ドメイン名を確認します。 2)公式のソーシャルメディアを表示してURLを取得します。 3)URLを確認するには、公式のカスタマーサービスに相談してください。 4)信頼できるナビゲーションWebサイトを使用します。アプリをダウンロードする手順には次のものがあります。1)Binanceの公式Webサイトにアクセス。 2)アプリのダウンロードポータルを見つけます。 3)ダウンロード方法を選択します(QRコードをスキャンし、App Storeをダウンロードし、APKファイルを直接ダウンロードします)。

OUYIトレーディングアプリ公式ウェブサイトダウンロードポータルOUYIトレーディングアプリ公式ウェブサイトOUYIトレーディングアプリ公式ウェブサイトダウンロードポータルOUYIトレーディングアプリ公式ウェブサイトApr 24, 2025 pm 02:15 PM

次の手順を通じて、OUYI公式プラットフォームに安全にアクセスしてアプリをダウンロードできます。1。信頼できる検索エンジンを使用して「OUYI」または「OKX」を検索してドメイン名を確認します。 2。公式のソーシャルメディアアカウントを確認して、URLを取得します。 3.公式のカスタマーサービスに相談して、URLを確認します。 4.信頼できるナビゲーションWebサイトを使用します。アプリをダウンロードするときは、公式ウェブサイトにアクセスし、ダウンロードポータルを見つけ、QRコード、APPストア、またはAPKファイルを直接ダウンロードする方法を選択し、開発者情報の確認、ユーザーレビューの表示、セキュリティソフトウェアのインストール、未知のソースからのフィッシングWebサイトやアプリの保護、個人情報の保護に注意してください。

バイナンスダウンロードリンクバイナンスダウンロードパスバイナンスダウンロードリンクバイナンスダウンロードパスApr 24, 2025 pm 02:12 PM

Binanceアプリを安全にダウンロードするには、公式チャネルを通過する必要があります。1。Binance公式Webサイトにアクセスして、アプリをダウンロードするポータルを見つけてクリックします。3。

OUYIダウンロードリンクOUYIダウンロードパスOUYIダウンロードリンクOUYIダウンロードパスApr 24, 2025 pm 02:09 PM

OKXアプリを安全にダウンロードする方法は次のとおりです。1。信頼できる検索エンジンを使用して、ドメイン名を検索して確認します。 2。公式のソーシャルメディアアカウントを確認し、認定ロゴを特定します。 3.公式のカスタマーサービスに相談して、リンクの信頼性を確認します。 4.信頼できるナビゲーションWebサイトを使用して、検証済みのダウンロードリンクを取得します。これらの手順を通じて、OUYIアプリを安全にダウンロードして、暗号通貨取引の旅を始めることができます。

OUYI Exchange OUYI Exchange登録チュートリアルでアカウントを登録する方法OUYI Exchange OUYI Exchange登録チュートリアルでアカウントを登録する方法Apr 24, 2025 pm 02:06 PM

OUYIアカウントを登録する手順は次のとおりです。1。有効な電子メールまたは携帯電話番号を準備し、ネットワークを安定させます。 2。OUYIの公式ウェブサイトにアクセスしてください。 3.登録ページを入力します。 4.電子メールまたは携帯電話番号を選択して、情報を登録して入力します。 5。検証コードを取得して入力します。 6。ユーザー契約に同意します。 7.登録を完了してログインし、KYCを実行してセキュリティ対策を設定します。

Binance Exchange Binance Exchange登録チュートリアルにアカウントを登録する方法Binance Exchange Binance Exchange登録チュートリアルにアカウントを登録する方法Apr 24, 2025 pm 02:03 PM

Binanceアカウントを登録する手順には次のものがあります。1。有効な電子メールまたは携帯電話番号と安定したネットワークを準備します。 2。Binance公式ウェブサイトにアクセスしてください。 3.登録ページを入力します。 4.登録方法を選択します。 5。登録情報を入力します。 6。ユーザー契約に同意します。 7。完全な検証。 8。検証コードを取得して入力します。 9。登録を完了します。

セサミオープンエクスチェンジにアカウントを登録する方法は?セサミオープンエクスチェンジの登録に関するチュートリアルセサミオープンエクスチェンジにアカウントを登録する方法は?セサミオープンエクスチェンジの登録に関するチュートリアルApr 24, 2025 pm 02:00 PM

セサミドアオープンアカウントを登録するには、7つの手順が必要です。1。有効な電子メールまたは携帯電話番号と安定したネットワークを準備します。 2。公式ウェブサイトにアクセスしてください。 3.登録ページを入力します。 4.登録方法を選択して入力します。 5。検証コードを取得して入力します。 6。ユーザー契約に同意します。 7.登録を完了してログインすると、KYCを実行してセキュリティ対策を設定することをお勧めします。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。