TL;DR
スマート コントラクト セキュリティ監査では、プロジェクトのスマート コントラクトの詳細な分析が提供されます。これらは、それらを通じて投資された資金を保護するために重要です。ブロックチェーン上のすべてのトランザクションは最終的なものであるため、資金が盗まれた場合でも回収することはできません。通常、監査人はスマート コントラクトのコードを確認し、レポートを作成して、プロジェクトに提供し、作業に役立ててもらいます。その後、未解決のエラーと、パフォーマンスやセキュリティの問題に対処するためにすでに行われた作業の詳細が記載された最終レポートがリリースされます。
導入
スマート コントラクトのセキュリティ監査は、分散型金融 (DeFi) エコシステムでは非常に一般的です。ブロックチェーン プロジェクトに投資したことがある場合、その決定はスマート コントラクトのコード レビューの結果に基づいて行われた可能性があります。
ほとんどの人はサイバーセキュリティの監査の重要性を理解していますが、コード行を詳しく調べる人は多くありません。より情報に基づいた意思決定を行えるように、スマート コントラクトのセキュリティ監査で一般的に見られる方法、ツール、結果を見てみましょう。
スマートコントラクト監査とは何ですか?
スマート コントラクト セキュリティ監査では、プロジェクトのスマート コントラクト コードを検査してコメントします。通常、これらのコントラクトは Solidity プログラミング言語で記述され、GitHub 経由で提供されます。セキュリティ監査は、数百万ドル相当のブロックチェーン トランザクションや膨大な数のプレイヤーの処理を予定している DeFi プロジェクトにとって特に価値があります。監査は通常、次の 4 つのステップのプロセスに従います。
1. スマート コントラクトは、初期分析のために監査チームに提供されます。
2. 監査チームは、その結果をプロジェクトに提示し、対応してもらいます。
3. プロジェクトチームは、発見された問題に基づいて変更を加えます。
4. 監査チームは、新たな変更や未解決のエラーを考慮して最終レポートを公開します。
多くの暗号通貨ユーザーにとって、新しい DeFi プロジェクトに投資する際にはスマート コントラクト監査が不可欠です。これは、真剣に受け止められるプロジェクトにとっての標準となっています。特定の監査プロバイダーは業界のリーダーともみなされており、投資家の目には彼らの監査の価値がさらに高まっています。
スマートコントラクト監査が必要な理由
膨大な金額がスマート コントラクトを通じて取引されたり、スマート コントラクトにロックされたりするため、スマート コントラクトはハッカーの悪意ある攻撃の格好の標的となります。小さなコーディング エラーが巨額の金銭の盗難につながる可能性があります。たとえば、イーサリアム ブロックチェーンの DAO ハッキングにより、約 6,000 万ドル相当の ETH が盗まれ、イーサリアム ネットワークのハード フォークも発生しました。
ブロックチェーンの取引は元に戻せないため、プロジェクトのコードが安全であることを確認することが不可欠です。ブロックチェーン技術は安全性が非常に高いため、事後に資金を回収したり問題を解決したりすることが困難です。そのため、脆弱性を何としても防ぐことが重要です。
スマートコントラクトを監査するには?
スマート コントラクト監査のプロセスは、監査プロバイダー間ではかなり標準的です。各監査人のアプローチは若干異なる場合がありますが、一般的なプロセスは次のとおりです。
1. 監査の範囲を決定します。スマート コントラクトとプロジェクトの仕様は、プロジェクト (その目的) と全体的なアーキテクチャによって定義されます。仕様は、監査チームがコードを記述および使用する際にプロジェクトの目標を理解するのに役立ちます。
2. 必要な作業量に基づいて初期見積もりを提供します。
3. テストを実行します。テストの具体的な内容は、監査チーム、その分析ツール、およびその方法によって異なります。通常は、手動テストと自動テストの両方が実行されます。
4. 見つかったエラーを記載したレポートの初稿を作成し、フィードバックとフォローアップ修正のためにプロジェクト チームに提供します。
5. 提起された問題に対処するためにチームが講じた措置を考慮して、最終レポートを公開します。
スマートコントラクト監査方法
ガス効率
スマート コントラクト監査は、ブロックチェーンのセキュリティだけに焦点を当てているわけではありません。効率性と最適化も考慮します。一部のコントラクトは、意図した機能を完了するために複雑な一連のトランザクションを実行します。Ethereum などのネットワークのガス料金は比較的高額であるため、効率的なコントラクトはトランザクション コストを大幅に節約できます。
パフォーマンスを最適化することも、開発者のスキルの指標となります。非効率的な手順は失敗する可能性が高くなるため、避けるべきです。ガス コストが高い場合、スマート コントラクトの実行に失敗する可能性があります。ガス制限が低い場合は、さらにその可能性が高くなります。
契約上の脆弱性
監査の作業のほとんどは、契約のセキュリティ脆弱性をチェックすることです。一部の問題は簡単に確認できますが、多くのエクスプロイトには資金を流出させるための高度なテクニックと戦略が伴います。たとえば、脆弱なスマート コントラクトを使用して市場操作を行うと、フラッシュ ローン攻撃を実行できます。これらの問題を見つけるために、監査人はブレーク テスト プロセスを開始し、スマート コントラクトに対する悪意のある攻撃をシミュレートします。一般的な脆弱性は次のとおりです。
1. 再入可能性の問題: スマート コントラクトが、効果が解決される前に別の外部コントラクトへの外部呼び出しを行う場合。その後、外部コントラクトは元のスマート コントラクトを再帰的に呼び出し、元のコントラクトの残高がまだ更新されていないため、本来はできない方法でそのコントラクトと対話できます。
2. 整数オーバーフローとアンダーフロー: スマート コントラクトが算術演算を実行したが、出力がストレージ容量 (通常は小数点以下 18 桁) を超えた場合、計算される金額が不正確になる可能性があります。
3. フロントランニングの機会: 構造化されていないコードは、市場での購入や販売の事前警告を提供する可能性があります。これにより、他の人がその情報を使用して、自分の利益のために取引できるようになります。
プラットフォームのセキュリティ上の欠陥
ほとんどの監査には、契約をホストしているネットワークや、DApp とのやり取りに使用される API の調査も含まれます。プロジェクトは DDoS 攻撃に対して脆弱であったり、Web サイトの UI が侵害されている可能性があり、その場合、ユーザーは実際にウォレットを悪意のあるブロックチェーン アプリケーションに接続します。
監査レポートとは何ですか?
監査レポートは、監査プロセスの最後に提供されます。透明性を保つために、プロジェクトはコミュニティと調査結果を共有することが求められます。ほとんどのレポートでは、問題が重大、重大、軽微などの重大度別に分類されています。最終レポートのリリース前にプロジェクトに問題を解決する時間が与えられるため、レポートには問題のステータスも記載されます。
標準レポートには、エグゼクティブ サマリーのほか、推奨事項、冗長コードの例、コーディング エラーが存在する場所の詳細な内訳が含まれます。最終バージョンがリリースされる前に、プロジェクトにはレポートの調査結果に基づいて行動するための時間が与えられます。
スマート コントラクト監査はどこで受けられますか?
数多くのスマート コントラクト監査サービスが、そのサービスでよく知られるようになりました。特に人気があるのは 2 つのサービスで、これらのサービスから監査を受けるには、最初の見積もりと情報の引き渡しが必要になります。
証明書
CertiK はスマート コントラクト監査の業界リーダーの 1 つです。何百ものプロジェクトが CertiK を利用してスマート コントラクトを監査しています。BSC 最大の自動マーケット メーカー (AMM) である PancakeSwap はその一例です。以下は PancakeSwap に関する Certik の監査の一部です。
また、Binance Labs がサポートするプロジェクトの大半は、CertiK による契約の監査を受けています。CertiK は、監査済みプロジェクトのリーダーボードを公開しており、安全性スコアとともに各プロジェクトを比較することができます。なお、CertiK は Ethereum 以外にも、BSC および Polygon プロジェクトもカバーしています。
ConsenSys デューデリジェンス
イーサリアムの共同創設者であるジョセフ・ルービンが経営するコンセンシスは、暗号通貨業界のブロックチェーン開発における最大手企業の 1 つです。コンセンシス ディリジェンスでは、イーサリアムのスマート コントラクト監査を提供しています。また、イーサリアム 仮想マシン (EVM) コントラクトによくある間違いがないかチェックする自動サービスも提供しています。
スマートコントラクト監査にはどれくらいの費用がかかりますか?
監査の正確なコストは、チェックするスマート コントラクトの数によって異なります。通常、監査には数千ドルかかります。特定の大規模プロジェクトでは、10,000 ドルを超えるコストがかかることもあります。監査を実施する監査会社とその評判も、支払う金額に影響します。
終わりに
投資家やユーザーにとって幸いなことに、スマート コントラクト監査は黄金比の基準となっています。しかし、すべてのプロジェクトに監査が導入されると、もはや価値の簡単な指標ではなくなります。そのため、監査を自分で読むことが非常に重要です。技術的な知識がなくても、コメントや潜在的な問題の重大度を確認することは役に立ちます。
監査に遭遇したとしても、少なくともその内容を理解するのは容易になっているはずです。いつものように、投資の決定は全体像を見て、すべての情報を考慮するようにしてください。
参考文献:
スマートコントラクトの形式検証とは何ですか?
DeFi イールドファームで DYOR する 4 つの方法
DeFi の実質利回りとは何ですか?
免責事項とリスク警告:このコンテンツは、一般的な情報と教育目的のみで「現状のまま」提供されており、いかなる表明や保証もありません。財務、法律、その他の専門的なアドバイスとして解釈されるべきではなく、特定の製品やサービスの購入を推奨することを意図したものでもありません。適切な専門アドバイザーから独自のアドバイスを求める必要があります。記事が第三者寄稿者によって寄稿されている場合、表明された見解は第三者寄稿者のものであり、必ずしもBinance Academyの見解を反映するものではないことにご注意ください。詳細については、こちらで完全な免責事項をお読みください。デジタル資産の価格は変動する可能性があります。投資の価値は下落または上昇する可能性があり、投資額が戻ってこない可能性があります。投資決定はお客様自身の責任であり、Binance Academyはお客様が被る損失について責任を負いません。この資料は、財務、法律、その他の専門的なアドバイスとして解釈されるべきではありません。詳細については、利用規約とリスク警告をご覧ください。

