再開する

セキュリティ監査では、プロジェクトのスマート コントラクトを詳細に分析します。監査の実施は投資家の資金の安全を確保するために重要です。実際、ブロックチェーン上のすべてのトランザクションは最終的なものであるため、盗難が発生した場合、資金を取り戻すことはできません。監査中、監査人はスマート コントラクト コードを検査し、使用するためにチームに送信されるレポートを作成します。その後、エラーの詳細と、パフォーマンスやセキュリティの問題を解決するためにすでに導入されている手段を詳細に記載した最終レポートが発行されます。


導入

分散型金融 (DeFi) エコシステムでは、スマート コントラクトの監査が非常に一般的です。ブロックチェーン プロジェクトに投資している場合、その決定はスマート コントラクト監査の結果に部分的に基づいている可能性があります。

ほとんどの人はサイバーセキュリティ監査の重要性を理解していますが、コードを詳しく調べる人はほとんどいません。情報に基づいた意思決定ができ​​るように、スマート コントラクトのセキュリティ監査で通常観察される方法、ツール、結果を見てみましょう。


スマートコントラクト監査とは何ですか?

スマート コントラクトのセキュリティ監査では、プロジェクトのスマート コントラクト コードを検査し、コメントします。これらのコントラクトは通常、Solidity でコーディングされており、GitHub で入手できます。セキュリティ監査は、多数のユーザーにわたる数百万ドル規模のブロックチェーントランザクションを管理する DeFi プロジェクトにとって特に重要です。監査は通常、次の 4 つの段階で行われます。

1. スマート コントラクトは分析のために監査人に提供されます。

2. 監査人は、プロジェクト マネージャーがそれに応じて行動できるように、調査結果をプロジェクト マネージャーに提示します。

3. プロジェクト チームは必要な変更を加えます。

4. 監査人は、プロジェクト チームの変更を考慮して最終報告書を発行します。

多くの暗号通貨ユーザーにとって、DeFi プロジェクトに投資する前にスマート コントラクトを監査することは不可欠です。これは、真剣に取り組みたいプロジェクトにとって必須のステップです。一部の監査プロバイダーはこの分野のリーダーとみなされており、その監査は確かに高価ですが、より定性的です。


スマート コントラクトを監査する必要があるのはなぜですか?

多額の価値がスマートコントラクトに閉じ込められているか、スマートコントラクトを通過しているため、それらがサイバー攻撃の魅力的な標的であることは理解できます。コード内の非常に小さなエラーが、巨額の金銭の盗難につながる可能性があります。 DAOによるイーサリアムブロックチェーンのハッキングでは、イーサリアムに約6,000万ドルの費用がかかり、イーサリアムネットワークのハードフォークにつながりました。

ブロックチェーン トランザクションは元に戻すことができないため、プロジェクトのコードが完全に安全であることを確認することが不可欠です。ブロックチェーンの安全性が高いため、事後的に資金を回収したり問題を解決したりすることが困難になるため、脆弱性は何としても回避することが最善です。


スマートコントラクトの監査はどのように機能しますか?

スマート コントラクト監査のプロセスは、監査プロバイダーの間ではかなり標準的です。各監査人のアプローチは若干異なる場合がありますが、一般的なプロセスは次のとおりです。

1. 監査の範囲を決定します。スマート コントラクトとプロジェクトの仕様は、プロジェクト (目的) と全体的なアーキテクチャによって定義されます。仕様は、監査チームがコードを作成および使用するときにプロジェクトの目標を理解するのに役立ちます。

2. 必要な作業量に基づいて最初の見積もりを提供します。

3. テストを実行します。それらの正確な性質は、監査チーム、その分析ツール、およびその方法によって異なります。通常、手動テストと自動テストの両方が実行されます。

4. 見つかったエラーを含むレポートの最初のバージョンを作成し、プロジェクト チームに提供して、プロジェクト チームが意見を述べ、必要な修正を行えるようにします。

5. 提起された問題に対処するためにチームがとった行動を考慮して、最終レポートを発行します。


スマートコントラクトの監査方法

ガス効率

スマート コントラクトの監査は、ブロックチェーンのセキュリティだけに焦点を当てているわけではありません。また、コードの効率と最適化もチェックします。一部の契約では、設計された機能を実行するために複雑な一連のトランザクションが必要になります。イーサリアムのようなネットワークのガス料金は比較的高価であるため、最適化された契約により取引コストが大幅に節約されます。

最適化は、開発者の能力を判断する良い方法です。不必要な手順は問題のリスクを高めるため、避けるべきです。ガス価格が高い場合、スマートコントラクトが実行されないか、ガス制限が低すぎる可能性があります。

契約の脆弱性

ほとんどの監査には、セキュリティ上の脆弱性がないか契約をチェックすることが含まれます。いくつかの問題は簡単に発見できますが、多くのエクスプロイトでは高度な技術と戦略を使用して資金を枯渇させます。たとえば、市場操作を脆弱なスマート コントラクトで使用して、フラッシュ ローンをトリガーすることができます。これらの問題を見つけるために、監査人はさまざまな方法で契約を攻撃します。最も一般的な脆弱性には次のようなものがあります。

1. 再入可能の問題: 影響が解決される前に、スマート コントラクトが別の外部コントラクトへの外部呼び出しを行う場合。その後、外部コントラクトは元のスマート コントラクトを再帰的に呼び出し、元のコントラクトの残高がまだ更新されていないため、通常は不可能な方法でそれと対話することができます。

2. 整数のオーバーフローと実行不足: スマート コントラクトが算術演算を実行したが、その結果がストレージ容量 (通常は小数点以下 18 桁) を超えた場合。これにより、計算が正しくなくなることがよくあります。

3. 予測の機会: コードの構造が不十分であると、市場での購入や販売を予測するのに役立ちます。この情報を利用して前向きな取引を行う人もいます。

プラットフォームのセキュリティ上の欠陥

ほとんどの監査には、契約をホストしているネットワークや、DApp との対話に使用される API の調査も含まれます。プロジェクトが DDoS 攻撃に対して脆弱であるか、Web サイトのユーザー インターフェイスが侵害されている可能性があり、その結果、ハッカーがプロジェクトにログインしているユーザーのウォレットへのアクセスを取り戻すことができます。


監査報告書とは何ですか?

監査レポートは監査プロセスの最後に提供されます。透明性を確保するために、プロジェクトは通常、結果をコミュニティと共有します。ほとんどのレポートでは、重大度、重大度、軽度度などによって問題が分類されています。レポートには欠陥のステータスもリストされており、最終レポートがリリースされる前にプロジェクトには欠陥を修正する時間が与えられます。

標準レポートには、概要に加えて、推奨事項、冗長コードの例、コーディング エラーの包括的な分析が含まれています。プロジェクトには、最終版の発行前に、レポートの結論に基づいて行動する時間が与えられます。


スマートコントラクトの監査はどこで受けられますか?

多くのスマートコントラクト監査サービスがそのサービスで有名になりました。そのうちの 2 つは特に人気があり、監査を受けるには、最初の見積もりを作成し、情報を提出する必要があります。

証明書

CertiK は、スマート コントラクト監査の業界リーダーです。何百ものプロジェクトが彼らを信頼しています。 BSC 最大の Automated Market Maker (AMM) である PancakeSwap が良い例です。以下は PancakeSwap の Certik 監査の一部です。


さらに、Binance Labs がサポートするプロジェクトの大部分は CertiK によって監査されています。 CertiK は、監査済みプロジェクトのダッシュボードを公開しており、各プロジェクトとセキュリティ スコアを比較できます。 Ethereum に加えて、Ceritk は Polygon と BSC に基づくプロジェクトも監査することに注意してください。


ConsenSys デューデリジェンス

イーサリアムの共同創設者の一人であるジョセフ・ルービンが率いるコンセンシスは、ブロックチェーン開発に関しては仮想通貨業界の最大手の1つです。 ConsenSys Diligence に基づいて、同社はイーサリアム スマート コントラクトの監査を提供しています。また、最も一般的なエラーについてイーサリアム仮想マシン (EVM) コントラクトをチェックする自動化サービスも提供します。


スマートコントラクトの監査にはどれくらいの費用がかかりますか?

監査の正確なコストは、検証するスマート コントラクトの数によって異なります。通常、監査には数千ドルの費用がかかります。多くの契約を結んだプロジェクトでは、すぐに 10,000 ドルを超える金額に上昇します。監査を担当する監査会社とその評判も、支払われる金額に影響します。


結論としては

投資家とユーザーにとって幸いなことに、スマート コントラクトの監査は現在標準となっています。ただし、現在は各プロジェクトに 1 つあるため、これは品質を保証するものではなくなりました。このため、監査結果を自分で読むことが非常に重要です。読むための技術的な知識がなくても、コメントを見てください。

監査に遭遇したときに、少なくともその内容をより簡単に理解できるようになります。いつものように、投資を決定する際には、できるだけ多くの要素を考慮するようにしてください。