Skip to main content
QUICK REVIEW

[論文レビュー] Not so immutable: Upgradeability of Smart Contracts on Ethereum

Mehdi Salehi, Jeremy Clark|arXiv (Cornell University)|Jun 1, 2022
Blockchain Technology Applications and Security被引用数 5
ひとこと要約

この論文は、イーサリアムスマートコントラクトにおけるアップグレード可能パターンを分析し、DELEGATECALLベースの設計が最も一般的であることを同定する。著者らは、新規の測定フレームワークを用いて140万件のプロキシコントラクトを同定し、そのうち50%が1つの外部所有アカウント(EOA)によって制御されていることが判明し、 supposedly 不変であるスマートコントラクトにおいて顕著な中央集権的リスクが生じていることが明らかになった。

ABSTRACT

A smart contract that is deployed to a blockchain system like Ethereum is, under reasonable circumstances, expected to be immutable and tamper-proof. This is both a feature (promoting integrity and transparency) and a bug (preventing security patches and feature updates). Modern smart contracts use software tricks to enable upgradeability, raising the research questions of how upgradeability is achieved and who is authorized to make changes. In this paper, we summarize and evaluate six upgradeability patterns. We develop a measurement framework for finding how many upgradeable contracts are on Ethereum that use certain prominent upgrade patters. We find 1.4 million proxy contracts which 8,225 of them are unique upgradeable proxy contracts. We also measure how they implement access control over their upgradeability: about 50% are controlled by a single Externally Owned Address (EOA), and about 14% are controlled by multi-signature wallets in which a limited number of persons can change the whole logic of the contract.

研究の動機と目的

  • スマートコントラクトが不変性の約束にもかかわらず、イーサリアム上でどのようにアップグレード可能であるかを理解すること。
  • 実際の現場で使用されている6つの代表的なアップグレード可能パターンを分類および評価すること。
  • イーサリアム上でのアップグレード可能コントラクトの普及度およびアクセス制御メカニズムを測定すること。
  • 単一鍵またはマルチシグネチャーマスターコントロールによって引き起こされる中央集権的リスクを評価すること。
  • 特定の標準やライブラリに依存せずに、アップグレードパターンを検出可能な汎用的な測定フレームワークを構築すること。

提案手法

  • 著者らは、静的解析とバイナリパターンマッチングを用いて、イーサリアムスマートコントラクトにおけるアップグレード可能パターンを検出する、パターンベースの測定フレームワークを設計した。
  • 6つのアップグレード可能パターン(DELEGATECALL、CALL、CREATE2ベースのメタモルフィシス、UUPSなど)のシグネチャを同定するために、コントラクトのバイナリコードを分析した。
  • フレームワークはプロキシコントラクトを検出し、そのマスターコントロールメカニズムを特定し、EOA、マルチシグネチャーウォレット、ガバナンスベースのシステムの区別を行った。
  • 既知のコントラクトと手動による検査を用いて検出モデルの妥当性を検証し、マルチシグネチャーデテクションにおける誤検出(ファルスネガティブ)を補正した。
  • 2020年9月から2021年7月までの206万ブロックにわたる期間のブロックチェーンデータをArchiveNodeから取得して分析した。
  • UUPSパターン検出に関する事例研究を実施し、フレームワークがスケールを考慮した脆弱なコントラクトを同定できる能力を示した。

実験結果

リサーチクエスチョン

  • RQ1実世界のイーサリアムスマートコントラクトでは、アップグレード可能パターンはどのように実装されているか?
  • RQ2イーサリアム上ですべてのアップグレード可能パターンの中で、最も一般的なものは何か。また、その理由は何か?
  • RQ3アップグレード可能コントラクトの管理権限は誰が保有しているのか。その背後にある信頼性とセキュリティリスクは何か?
  • RQ4アップグレード可能コントラクトは、ブロックチェーンシステムにおける不変性の原則をどの程度損なっているのか?
  • RQ5特定のライブラリや標準に依存せずに、一般化可能な検出フレームワークはアップグレードパターンを同定できるのか?

主な発見

  • 著者らは、イーサリアム上に140万件のプロキシコントラクトを同定し、そのうち8,225件がユニークなアップグレード可能プロキシコントラクトであることを特定した。
  • DELEGATECALLベースのパターンが最も一般的なアップグレード可能メカニズムであり、そのシンプルさと低いインstrumentationオーバーヘッドが好まれている。
  • アップグレード可能コントラクトの約50%が1つの外部所有アカウント(EOA)によって制御されており、単一障害点を形成している。
  • 約14%のコントラクトがマルチシグネチャーウォレットによって管理されており、少数の署名者がコントラクト論理を変更可能である。
  • 残りの29%のコントラクトは分散型ガバナンスまたは未知のメカニズムによって制御されているが、手動による検査によりマルチシグネチャーデテクションにおける誤検出(ファルスネガティブ)が判明した。
  • 本研究は、アップグレード可能機能が不変性の核心的約束を著しく損なっていることを示しており、48%のコントラクトが1つの秘密鍵によって侵害可能であることが判明した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。