Skip to main content
QUICK REVIEW

[論文レビュー] A Comprehensive Survey of Upgradeable Smart Contract Patterns

Sajad Meisami, William Edward Bodell|arXiv (Cornell University)|Apr 6, 2023
Blockchain Technology Applications and Security被引用数 5
ひとこと要約

この論文は、イーサリアムにおけるプロキシアーキテクチャを用いたアップグレード可能なスマートコントラクトパターンの包括的サーベイを提示しており、64,000件の検証済みコントラクトを分析して、アップグレード可能なパターンを特定および分類している。スリスパーに構築された独自の検出フレームワークを用いて静的解析を強化することで、誤検出率を70%からほぼゼロにまで低減し、生産環境における安全でアップグレード可能なスマートコントラクトを特定する、堅牢でスケーラブルな手法を提供している。

ABSTRACT

In this work, we provide a comprehensive survey of smart contract upgradability patterns using proxies. A primary characteristic of smart contracts on the Ethereum blockchain is that they are immutable once implemented, no changes can be made. Taking human error into account, as well as technology improvements and newly discovered vulnerabilities, there has been a need to upgrade these smart contracts, which may hold enormous amounts of Ether and hence become the target of attacks. Several such attacks have caused tremendous losses in the past, as well as millions of dollars in Ether which has been locked away in broken contracts. Thus far we have collected many upgradable proxy patterns and studied their features to build a comprehensive catalog of patterns. We present a summary of these upgradable proxy patterns which we collected and studied. We scraped the source code for approximately 100000 verified contracts from Etherscan.io, the most popular block explorer for Ethereum, out of which we extracted around 64k unique files - most containing multiple contracts. We have begun to automate the analysis of these contracts using the popular static analysis tool Slither, while at the same time implementing much more robust detection of upgradable proxies using this framework. Comparing the results of the original implementation to our own, we have found that approximately 70 percent of the contracts which were initially flagged as upgradeable proxies are false positives which we have eliminated.

研究の動機と目的

  • 人的誤り、要件の変化、新たな脆弱性の発生といった要因により、安全で信頼性の高いスマートコントラクトのアップグレーダビリティに対する重要なニーズに対処すること。
  • 実世界のイーサリアムスマートコントラクトで使用されている、既存のプロキシベースのアップグレーダビリティパターンを分析およびカタログ化すること。
  • 誤検出率を低減させることで、静的解析ツールの真のアップグレード可能なスマートコントラクトを特定する精度を向上させること。
  • 大規模な検証済みコントラクトのコアにわたるアップグレード可能なプロキシパターンを検出するスケーラブルなフレームワークの開発と検証すること。
  • 今後の研究およびセキュアなスマートコントラクトの進化や形式的検証のためのツール開発の基盤を提供すること。

提案手法

  • 著者はイーサリアムブロックエクスプローラーから64,000件のユニークなスマートコントラクトファイルをスクレイピングし、検証済みコントラクトに焦点を当てた。
  • 収集したコントラクトにおいて、潜在的なアップグレード可能なプロキシパターンを検出するために静的解析ツールのスリスパーを適用した。
  • オリジナルのスリスパー実装を上回る正確性を実現するため、独自の検出フレームワークを実装した。
  • 同じデータセット上でオリジナルのスリスパー出力と照合することで、フレームワークの妥当性を検証した。
  • プロキシパターンの意味的および構造的分析を用いて、誤検出を体系的に同定し、除外した。
  • 最終的なアップグレード可能なパターンのカタログは、クリーニングされ、信頼性の高いセットにされた検出コントラクトから導出された。

実験結果

リサーチクエスチョン

  • RQ1イーサリアムにおけるアップグレード可能なスマートコントラクトで使用されている主要なパターンは何か?
  • RQ2既存の静的解析は、真のアップグレード可能なプロキシコントラクトをどれほど正確に特定できるか?
  • RQ3アップグレード可能なスマートコントラクトの検出において、現在の手法で発生する誤検出率はどの程度か?
  • RQ4独自の検出フレームワークは、アップグレード可能なコントラクト同定における誤検出率を顕著に低減できるか?
  • RQ5真のアップグレード可能なプロキシと誤検出を区別する構造的および意味的特徴は何か?

主な発見

  • 約100,000件の検証済みコントラクトのうち、64,000件のユニークなコントラクトファイルが抽出され、アップグレーダビリティの分析対象となった。
  • オリジナルのスリスパーに基づく検出は、約70%の結果をアップグレード可能なプロキシとしてマークしたが、これらはほとんどが誤検出であった。
  • 著者の強化された検出フレームワークは、これらの誤検出の大部分を効果的に排除し、信頼性を著しく向上させた。
  • 本研究では、実世界のイーサリアムコントラクトにおいてプロキシベースのアップグレーダビリティが広く普及していることが明らかになったが、同時に現在の自動検出手法における重大な欠陥も浮き彫りにした。
  • 最終的なアップグレード可能なパターンのカタログは、クリーニングされ、信頼性の高いデータセットに基づいており、今後の分析やツール開発により正確な基盤を提供する。
  • 自動検出において、構文パターンマッチングを越えた意味的および構造的知能が、アップグレード可能なコントラクトの検出に不可欠であることが結果から示された。

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

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

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

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