暗号資産法/レベル V · 開発者と発行者/5.3 宣伝と法的責任/レッスン 5
スマートコントラクトの監査とその期待される効果
コード監査が実際に何を対象とするのか、なぜ「監査済み」というだけでは保証にならないのか、その報告書を信頼できるのは誰か、そして監査に関する主張がプロジェクトにどのような責任をもたらすのか。
本コースは教育を目的としたものであり、法律・税務・投資に関する助言ではありません。暗号資産に関する法律は国や州によって異なり、頻繁に変わります。行動する前に、お住まいの地域の現行ルールを資格のある弁護士または税理士にご確認ください。
最小コストの道
法律が認める範囲で、最も安く、税負担が最も軽く、最も簡単で、最もプライバシーを守れる方法を、優先順に示します。各ステップには根拠となるルールと、合法であり続けるための条件を記しています。
- ブロックエクスプローラー上で検証済みのソースコードとレビュー済みコミットハッシュを公開してください。これは無料で、あらゆる監査に関する主張が検証可能になりますが、その主張はデプロイされた未アップグレードのコードと一致していなければなりません。
- '監査済み'という用語を使用する場合は、完全なレポートへのリンクを掲載し、未解決の指摘事項を列挙してください。重大な未解決の指摘事項を省略することは、FTC法第5条、Rule 10b-5またはMiCA第7条の下で誤解を招くものとなり得ます。
- 小規模なプロジェクトは、レビューの対象範囲をデプロイされたコントラクトに限定し、公開のバグバウンティプログラムを追加することができます。レポートの免責事項はその証明範囲を制限するため、その対象となる内容のみを主張してください。
- Bily (Cal. 1992) 判例の下では、監査法人は通常の過失に関する義務を顧客に対してのみ負うため、購入者は監査法人から補償を受けることは稀であり、プロジェクトは自らの主張について責任を負い続けます。
- ユタ州のDAOが法的に承認されるためには、公開コードに対するセキュリティレビューが必要です。そのラッパー(法的枠組み)を選択した場合のみ、そのレビューの予算を計上してください。
用意するもの免責事項の記載がある、公開されているスマートコントラクトのセキュリティレビュー。例えば、Trail of Bitsが2023年5月に発表したFraxGovに関するレポートなど。ブロックエクスプローラー上にある、デプロイされたコントラクトの検証済みソースコードとアドレスビリー対アーサー・ヤング&カンパニー事件、3 Cal. 4th 370 (1992)、監査人の第三者に対する責任について
問い
- 監査された契約がハッキングされた場合、購入者は監査人を訴えることができるか?
- 監査は、実際にチェーン上で実行されているコードも対象になりますか?
- 監査を受けたと言っただけで、プロジェクトは法的な問題に巻き込まれるのでしょうか?
探究
- スマートコントラクトの監査とは、プロジェクト側が費用を負担し、外部の企業によってそのプロジェクトのコードの特定バージョンに対して行われるセキュリティレビューのことです。この監査では、問題点を深刻度別にまとめた報告書が作成され、多くの場合、プロジェクト側が講じる修正策も記載されます。この用語は金融分野の監査から借用されましたが、その内容は異なります。監査の範囲や期間、方法は、監査を行う側とプロジェクト側との間の私的契約によって定められます。依頼者は通常、公開される報告書のみを見ることができます。一部の取引所でも監査と呼ばれることがある「プルーフ・オブ・リザーブス」報告書は、別のものです(レッスン4.1.6)。
- 報告書自体がその限界を明記している。例えば、Trail of Bitsが2023年5月に行ったFraxGovに関するレビューでは、この作業は仕様書に従って実施され、評価は「時間的な制約」があり、クライアントからの情報に依存しているため、「セキュリティ上の問題の包括的な一覧と見なすべきではない」と述べられている。また、自動化ツールにも限界があることも指摘されている。修正内容は、特定のコードバージョンを示す識別子であるコミットによって追跡され、「Resolved in commit ed4e708」といった形で記録される。したがって、監査報告書は特定の時点での特定のコードの状態を記述するものであり、後に配布またはアップグレードされた内容を反映したものではない。
- 監査を受けたコードであっても失敗することがある。2023年3月13日、Euler Financeの貸付プロトコルは約1億9700万ドルの損失を被った。その原因は、「donateToReserves」という関数にヘルスチェックが欠如していたことであり、この関数は以前の問題の修正の一環として追加され、それ自体も監査を受けていた。Euler社によると、通常よりも何度も監査を受けており、100万ドル規模のバグバウンティ制度も設けていた。数週間にわたる交渉の末、2023年4月3日までに攻撃者は約2億4000万ドル相当の資金を返還した。監査はリスクを低減するが、完全になくすわけではない。
- コードレビュアーを訴えようと考えている購入者にとって、会計監査人に関する法律は多くの障害となり得る。Bily v. Arthur Young & Co.(1992)の判例でカリフォルニア州最高裁判所は、通常の過失による監査人の責任はその依頼人に対してのみ発生すると判断した。他の者が過失による虚偽表示を理由に訴えることができるのは、監査人が知っていた報告書の具体的な受益者であった場合のみであり、故意の詐欺についてはそれが合理的に予見可能であった場合のみだ。公開された報告書を読む一般の購入者は、通常、レビュアーが不注意だったという証拠以上のものが必要となる。
- このプロジェクト自身が監査について述べる言葉は、より大きなリスクを伴う。未解決の重大な問題点を伏せたまま「監査済み」や「安全」と主張したり、異なるコードを実行している状態でそう述べたりすることは、誤解を招く表現になり得る。もしそのトークンが証券であれば、SEC規則10b-5や第12条(a)(2)項に基づく主張の根拠となり得る(レッスン5.3.2)。そうでない場合でも、FTC法は「不公平または欺瞞的な行為や慣行」を禁じている(レッスン5.1.7)。またEUのMiCA法第7条では、マーケティングが「公平で明確かつ誤解を招かないものである」ことが求められている。2024年1月1日から施行されているユタ州のDAO法では、法的承認を得るためにDAOのコードに対する証券審査が義務付けられている。
- 監査報告書はバッジではなく契約書として読むべきです。誰が支払いを行ったか、範囲は何だったか、どの問題点が修正されたか、どれが「認識されただけで未解決のまま」か、また管理者キーによって契約をアップグレードしたり一時停止したりできるかどうかを確認してください(レッスン5.1.5)。実践的なチェック方法としては、報告書からコミット識別子を取得し、ブロックエクスプローラーでデプロイされた契約を開いて、検証済みのソースがレビューされたバージョンと一致しており、後からアップグレードされていないことを確認します。もし一致しなければ、その報告書は実際に使用されているコードについてほとんど何も語っていないことになります。
重要な事実
- スマートコントラクトの監査とは、監査者とプロジェクト間の非公開契約に基づき、特定のバージョンのコードを検証するものです。
- Trail of Bitsの2023年5月版FraxGovレポートによると、その調査結果はセキュリティ上の問題を網羅した一覧として扱うべきではないとされている。
- 2023年3月13日、ユーラー・ファイナンスは監査済みの機能にある欠陥により約1億9700万ドルの損失を被り、資金は2023年4月3日までに返還されました。
- Bily v. Arthur Young & Co.(1992)の判決において、カリフォルニア州最高裁判所は監査人の通常過失責任をその依頼人に限定した。
- ビリーの下では、第三者が監査人を過失による虚偽表示で訴えることができるのは、監査人が知っている特定の受益者に対してのみ、または故意の詐欺行為に対してのみである。
- 2024年1月1日に施行されたユタ州のデセントラライズド・オートノマス・オーガニゼーション法では、DAOの公開コードがセキュリティレビューを受けていることが義務付けられている。
演習 九・六・三・一
9集める「監査済み」、「セキュア」、監査を行った会計士事務所の名前、バグ報奨金など、トークンやプロトコルのウェブサイトで見かけたセキュリティに関する情報を9つまで挙げてください(リストは短くなることもあります)。
6まとめるリンクされたレポートがある請求、レポートがない請求、重大な問題が指摘されているレポート、古いコードバージョンに関するレポート、バグバウンティの請求、曖昧なセキュリティ表現を含むものの6つのグループに分類してください。
3絞り込む6つのグループを3つにまとめる:実装されたコードで検証可能なもの、部分的にしか検証できないもの、全く検証できないもの。
1結晶化する監査報告書は、今日チェーン上で実行されているコードについて何が分かり、何が分からないのかを示すものです。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。
- Trail of Bits: FraxGov Security Assessment (May 2023)
- Euler Finance: War & Peace, behind the scenes of Euler's $240M exploit recovery
- Bily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), CourtListener
- 15 U.S.C. 45 (FTC Act s.5), Cornell LII
- Utah H.B. 357 (2023), Decentralized Autonomous Organizations Amendments
- Regulation (EU) 2023/1114 (MiCA), EUR-Lex