Privacy Poolsによるイーサリアムのプライバシー新時代:Tornado Cash問題を解決

2025/04/03

Privacy Poolsによるイーサリアムのプライバシー新時代:Tornado Cash問題を解決

イーサリアムなどのブロックチェーンは全ての取引が公開されるため、プライバシー保護が大きな課題です。Tornado Cashはイーサリアムの取引を匿名化できる仕組みでしたが、犯罪に使われ2022年に制裁を受けました。

この問題を解決するのがPrivacy Poolsです。プライバシーを守りながら規制にも対応できる新技術として、イーサリアム創設者のVitalik ButerinもPrivacy Poolsに注目しています。

この記事では、Tornado Cashの問題点と、Privacy Poolsが提案する革新的な解決策を分かりやすく説明します。個人情報を守りながら、ルールも守れる新しい方法について見ていきましょう。

記事の目次

ブロックチェーンのジレンマ:イーサリアムにおけるプライバシーとは?

ブロックチェーンの中核的な特徴は「透明性」です。パブリックブロックチェーンであるイーサリアムでは、すべてのトランザクション(取引)が公開台帳に記録され、誰でも閲覧することができます。この透明性はブロックチェーンの信頼性を担保する重要な要素ですが、同時にユーザーのプライバシーを脅かす要因にもなっています。イーサリアムネットワーク上でトランザクションを行うたびに、送金元、送金先、金額などの情報がすべて公開されるため、資産の所有や取引の履歴が誰の目にも明らかになってしまいます。

なぜブロックチェーンでプライバシーが重要なのか

プライバシーの欠如がもたらす具体的な問題には、以下のようなものがあります:

  • 取引履歴の公開: アドレスに紐づくすべての過去の取引と残高が公開されます
  • 個人の資産状況の露出: 保有している資産の種類や量が第三者から見えてしまいます
  • 行動パターンの分析可能性: 取引パターンから個人の行動や嗜好を推測される可能性があります
  • 商業的プライバシーの欠如: 企業の取引情報や支払い状況まで競合他社に見られてしまいます

例えば、レストランでイーサリアムを使って支払いをした場合、レストラン側はあなたの過去のすべての取引履歴や保有資産を見ることができます。逆に、あなたもレストランのウォレットアドレスを知ることで、そのレストランの売上や取引先までチェックできてしまいます。一般的な現金やクレジットカード決済では起こりえないプライバシー侵害が、ブロックチェーン上では日常的に発生する可能性があるのです。

イーサリアムの透明性がもたらす課題

イーサリアムのようなパブリックブロックチェーンでプライバシーが重要な理由は、金融プライバシーが基本的な権利であるだけでなく、実用的な必要性も存在するからです。透明性がもたらす具体的な課題には:

  • 企業秘密の漏洩: 企業がブロックチェーン上で取引すると、競合他社に事業戦略や財務状況が露出
  • 個人の安全リスク: 資産保有状況が公開されることで、フィッシングや物理的な攻撃のターゲットになるリスク
  • 価格差別: 取引履歴から個人の支払い能力を分析され、不公平な価格設定を受ける可能性
  • 社会的シグナリング: 特定の団体や個人との取引が公開され、意図せず政治的・社会的立場を明らかにしてしまう

これらの課題を解決するために、「プライバシーは選択肢であるべき」という考え方が広まりつつあります。つまり、すべての取引が強制的に透明であるべきではなく、ユーザーが必要に応じてプライバシーを確保できるべきだということです。

Tornado Cashの挑戦と制裁

Tornado Cashとは何か?その仕組みと目的

Tornado Cashは、イーサリアム上のプライバシーを保護するために開発されたプロトコルです。基本的な仕組みは以下のとおりです:

  1. ユーザーがETHなどの資産をTornado Cashのスマートコントラクトに「デポジット(預け入れ)」します
  2. デポジットされた資産は大きなプールに混合されます
  3. 別のアドレスからプールから「ウィズドロー(引き出し)」することで、デポジットとウィズドローのリンクを切断します
  4. ゼロ知識証明と呼ばれる暗号技術を使用して、資産の所有権を証明しながらも、どのデポジットとウィズドローが紐づいているかを秘匿します

Tornado Cashは多くの正当なユーザーにプライバシーを提供しましたが、同時に不正資金の移動にも利用されました

なぜ制裁を受けることになったのか

Tornado Cashは、プライバシー保護という正当な目的で設計されましたが、その匿名性が悪用される結果となりました:

  • ハッカーグループがTornado Cashを使って盗んだ資金を洗浄した証拠が見つかりました
  • 最終的に北朝鮮のハッカーグループによる利用も確認されました
  • 2022年に米国財務省の外国資産管理局(OFAC)によってTornado Cashのスマートコントラクトアドレスは制裁対象リストに追加されました

この制裁により、米国の管轄下にある個人や企業がTornado Cashを利用することは違法となり、多くの正当なユーザーも資金を失うリスクに直面しました。

取り残された課題

Tornado Cashの主な課題は、合法的なユーザーが犯罪活動から自分たちを切り離す手段がほとんどなかったことです。Tornado Cashにはコンプライアンス機能も備わっていましたが、それは:

  • 中央集権的な仲介者を信頼する必要がありました
  • 情報の非対称性を生みました
  • これらの理由から、あまり使用されませんでした

結果として、正当なユーザーも不正なユーザーも同じプールに混在し、区別することができなくなってしまいました。この問題を解決するために、新しいアプローチが必要とされていました

Privacy Poolsの基本概念

Privacy Poolsは、イーサリアム上でプライバシーを保護しながらコンプライアンス要件も満たせる新しいスマートコントラクトベースのプロトコルです。Privacy Poolsの革新的な点は、ユーザーがプライバシーを保ちながらも、不正な資金源と関連していないことを証明できる仕組みを提供していることです。

プライバシーと規制の両立という新しいアプローチ

Tornado Cashとの最大の違いは以下の点にあります:

  • Tornado Cashは全ユーザーを同じプールに混在させ、区別ができませんでした
  • Privacy Poolsは「アソシエーションセット」という概念を導入し、ユーザーが自分の取引の正当性を証明できるようにしています
  • Tornado Cashには資金が凍結されるリスクがありましたが、Privacy Poolsには「ラグクイット」という安全装置が組み込まれています
  • Tornado Cashは規制対応とプライバシーの両立ができなかったのに対し、Privacy Poolsはその両方を実現しています

Privacy Poolsでは、ユーザーがウィズドロー(引き出し)を行う際に、ゼロ知識証明を使って「自分の資金がどの預け入れ(デポジット)グループに属しているか」を証明することができます。例えば、「私の引き出す資金は、これらの正当なデポジットのいずれかに由来している」と証明したり、逆に「私の資金はこれらの不正なデポジットには由来していない」と証明したりすることが可能です。この仕組みによって、誠実なユーザーは不正なユーザーと自分たちを区別できるようになりました

3層アーキテクチャの概要

Privacy Poolsは、明確に分離された3つの層から構成される洗練されたアーキテクチャを採用しています。この3層構造により、プライバシー保護、資産管理、規制コンプライアンスという3つの異なる要件を同時に満たすことが可能になっています。

  1. コントラクト層: 資産を管理し、ユーザーとのインタラクションを処理
    • Entrypoint(エントリーポイント):ユーザーが最初に接する「受付窓口」
    • Privacy Pool(プライバシープール):実際に資金を保管する「金庫」
  2. ゼロ知識証明層: プライバシーを技術的に保証する暗号学的証明を提供
    • CommitmentHasher(コミットメントハッシャー):資産所有権の証明
    • LeanIMTInclusionProof(マークルツリー包含証明):特定のコミットメントが承認セットに含まれていることを証明
    • Withdrawal(ウィズドロー):コミットメント所有権とASPセットへの所属を同時に証明
  3. ASP(Association Set Provider)層: コンプライアンス要件を満たすためのラベル管理を担当
    • 承認済みデポジットラベルのリスト管理
    • ルートの更新と公開
    • ウィズドロー検証の強制

これらの層が連携することで、Privacy Poolsはプライバシーとコンプライアンスという一見矛盾する要素を両立させる革新的なシステムを実現しています。次の章では、その核心となるASPの仕組みについて詳しく見ていきましょう。

ASP(Association Set Provider)の仕組み

Association Set Provider(ASP)は、Privacy Poolsのシステムで「誰の資金が安全で、誰の資金が問題あり」かを判断する重要な役割を担います。簡単に言えば、ASPは「安全なユーザーリスト」を管理し、Privacy Poolsで取引する際に「私はこの安全なグループに属しています」と証明できるようにする仕組みです。

ASPとは何か

ASPの主な役割

  • 安全な取引のリスト管理: どの入金(デポジット)が安全で正当なものかを記録します
  • 証明書の発行: ユーザーが引き出し(ウィズドロー)を行う際に、「私の資金は安全なグループから来ています」と証明できるようにします
  • 不正なユーザーの排除: 問題が見つかった場合、特定のユーザーを安全リストから除外できます
  • プライバシーを守りながらルールを守る: 個人情報を公開せずに、規制に従っていることを証明できます

ASPがもたらす革新的なバランス

ASPを使うことの最大のメリットは、「誰が運営しているか」に依存せず、数学的な証明だけで安全を確保できる点です。従来の金融機関とは異なり、中央集権的な管理者がいなくても、プライバシーとコンプライアンスを両立させることができます。

マークルツリーを使った証明の仕組み

ASPの仕組み:マークルツリーとは?

ASPは「マークルツリー」という特殊なデータ構造を使って、大量のデータを効率的に管理します。これは家系図のような木構造で、大量の情報を一つの「ルートハッシュ」と呼ばれる値で表現できます。

実際のASPの仕組み

ASPが管理するデータは、技術的には以下のような情報ですが、これを分かりやすく言い換えると:

solidity
struct AssociationSetData {
  uint256 root;        // 承認済みラベルのMerkleルート
  bytes32 ipfsHash;    // オフチェーンデータへの参照
  uint256 timestamp;   // 更新タイムスタンプ
}
  • 承認リストのMerkleルート: すべての承認済み取引をまとめた一意の識別子
  • 詳細情報へのリンク: より詳しい情報を見るためのインターネット上のアドレス
  • 更新日時: このリストがいつ作られたかの記録

異なるタイプのASPの例

Privacy Poolsでは、様々なタイプのASPが考えられます:

  1. KYC(本人確認)済みユーザーのみのASP
    • 銀行や取引所などで本人確認を済ませたユーザーだけを含むグループ
    • 例:「このグループのメンバーは全員、正式な身分証明書で確認済みです」
  2. 制裁対象除外ASP
    • 政府の制裁リストに載っていないユーザーだけを含むグループ
    • 例:「このグループには問題のある国や組織からの資金は含まれていません」
  3. 特定コミュニティASP
    • 信頼できる特定のコミュニティメンバーだけを含むグループ
    • 例:「このグループは○○大学の卒業生だけで構成されています」
  4. 少額取引専用ASP
    • 少額の取引(例:100ドル以下)だけを含むグループ
    • 例:「このグループには大きな金額の怪しい取引は含まれていません」

例えば、あなたがPrivacy Poolsを使って取引する場合:

  • あなたの取引の詳細(いくら持っているか、誰に送金したかなど)は秘密のまま
  • 同時に「私の資金は正当な出所から来ています」と証明できる
  • 不正なユーザーは同じ証明ができないため、自然と区別される

このように、ASPは従来なら両立が難しかった「プライバシー保護」と「ルール遵守」を同時に実現する画期的な仕組みなのです。

分離均衡:正直なユーザーと不正なユーザーの自然な区別

イーサリアム創設者のヴィタリック・ブテリンらが提案している中核的な考え方は「分離均衡」(Separating Equilibrium)という概念です。これは難しい言葉に聞こえますが、実は私たちの日常生活でも見られるシンプルな原理です。

なぜ正直なユーザーは「良いグループに入っている」と証明したいのか

分離均衡とは、システムを上手く設計することで、正直な人と不正な人が自然と異なる行動を取るようになり、その行動の違いから両者を見分けられるようになる状態のことです。例えば、保証金制度は分離均衡の一例です。正直に返却するつもりの人は保証金を払っても問題ありませんが、最初から返却する気がない人は保証金を払いたがらないでしょう。

Privacy Poolsでは、ユーザーが資金のプライバシーを望む理由は二つあります:

  1. プライバシーを守りたい: 誰もが自分の財務状況を公開したくありません
  2. 安全な取引を望む: 資金が「怪しい」と思われると、取引所や店舗に拒否される可能性があります

これらの理由から、正直なユーザーは「私はこの正当なグループの一員です」という証明を自ら選んで提供したいと考えます。そうすることで、プライバシーを保ちながらも取引の信頼性を示せるからです。

不正なユーザーが自分を区別できない理由

Privacy Poolsでは、この原理を以下のように活用しています:

  1. 正直なユーザーは「私の資金は不正な出所と関係ありません」と証明したいので、不正なデポジットを除外したアソシエーションセットを選びます
  2. 不正なユーザーは自分自身のデポジットを必ず含める必要があるため、すべてのデポジットを含むアソシエーションセットしか選べません
  3. このようにアソシエーションセットの選択自体が情報を伝えるため、システムは自然と正直なユーザーと不正なユーザーを区別できるようになります

重要なのは、このシステムがユーザーに「正直であれ」と強制しているわけではなく、ユーザー自身の利益に基づいた選択によって自然と分離が起こるという点です。正直なユーザーは自分の評判を守るために不正なユーザーと距離を置き、その結果として不正なユーザーが浮き彫りになるのです。

分離均衡の例

これを具体的なシナリオで見てみましょう。Alice、Bob、Carl、Davidの4人は正直なユーザーで、Eveは盗んだ資金を持つ不正なユーザーだとします。

この5人がPrivacy Poolsを使う場合、次のような行動パターンが自然に生まれます:

  • 正直な4人:プライバシーを守りたいけれど、自分たちの取引が怪しまれたくない。そのため「正直な4人だけ」のアソシエーションセットを選びます
  • 不正なEve:自分のデポジットを含めざるを得ないため「全員を含む」アソシエーションセットを選ぶしかありません

この結果、外部の観察者は誰が不正なユーザーかを特定できるようになります。なぜなら、「全員を含む」アソシエーションセットを選んだ人は、不正なユーザーだけだからです。

この「分離均衡」の仕組みにより、Privacy Poolsはプライバシー保護とコンプライアンスという一見矛盾する要件を両立させることに成功しています。最も重要なのは、これが自然な経済的インセンティブに基づいて機能するため、中央集権的な管理者が不要な点です。

ユーザー体験:デポジットとウィズドローの流れ

Privacy Poolsプロトコルの利用は、主に3つの基本操作で構成されています。デポジット(預け入れ)、ウィズドロー(引き出し)、ラグクイット(緊急脱出)という3つの操作を通じて、ユーザーは資産のプライバシーを保護しながら資金を管理できます。これらの操作は、ユーザーフレンドリーなインターフェースを通じて行われますが、背後では複雑な暗号処理が実行されています。

デポジット(預け入れ)の仕組み

デポジットは、Privacy Poolsプロトコルの最初のステップです。この操作では、ユーザーが公開されたブロックチェーン上で資産をプールに預け入れ、後でプライバシーを保ちながら引き出すための準備をします。

デポジットの基本的な流れ

  1. 秘密情報の生成
    • ユーザーは二つの重要な秘密値を生成します
    • 「識別子」(元の用語:nullifier):あなたの資金を識別する秘密の値で、後で同じ資金が二度使われないようにチェックするために使われます
    • 「秘密鍵」(元の用語:secret):資金の所有権を証明するための秘密の値です
    • これら二つの値から「予備コミットメント」という値を計算します
  2. デポジット取引の実行
    • ユーザーはEntrypointというコントラクトに資金を送ります
    • イーサリアム(ETH)の場合:ETHと一緒に予備コミットメントを送信
    • ERC20トークンの場合:コントラクトに使用許可を与えた後、トークン、金額、予備コミットメントを指定
  3. 手数料の処理
    • プロトコルは少額の手数料を差し引きます(例:1%)
    • 残りの金額がプライバシープールに転送されます
  4. 資金情報の記録
    • プールは「ラベル」という識別子を生成します
    • 金額、ラベル、予備コミットメントからコミットメントを作成
    • この情報がブロックチェーン上に記録されますが、誰のものか分からない状態で保存されます

重要なポイント

  • デポジット時に生成された秘密情報(識別子、秘密鍵、ラベル、金額)は、後で資金を引き出す際に必要になるため、安全に保管する必要があります
  • これらの情報を失うと、資金にアクセスできなくなる可能性があります
  • デポジットは誰でも見ることができますが、後のウィズドロー(引き出し)との関連性は秘密情報がない限り誰にも分かりません

ウィズドロー(引き出し)のオプション

Privacy Poolsでは、プライバシーを保護しながら資金を引き出すための2つの方法があります。これらの方法はどちらも匿名性を保ちながら資金にアクセスできますが、それぞれ特徴が異なります。

【資金引き出しの2つの方法】

直接ウィズドローリレーウィズドロー
プライバシーレベル基本的強化(別アドレスで受取)
ガス代の支払いユーザーが直接支払いリレーヤーが代行して支払い
手数料なしリレーヤーへの報酬あり
操作の複雑さシンプルやや複雑

リレーウィズドローがもたらす追加のプライバシー

リレーウィズドローでは、第三者(リレーヤー)が手数料を受け取る代わりに、あなたの代わりにトランザクションを送信します。

リレーウィズドローが提供する追加のプライバシー保護には主に2つの利点があります:

  1. 新しいアドレスでの受け取り: デポジットしたアドレスとは完全に異なる新しいアドレスで資金を受け取れるため、追跡が困難になります。これは、あなたの送金元と送金先の間の関連性を完全に断ち切る効果があります。
  2. ガス代のプライバシー: 通常、ブロックチェーンでトランザクションを送信するには、ガス代(手数料)を支払うためのETHが必要です。自分で直接送信すると、そのガス代の支払いアドレスがあなたと関連付けられる可能性がありますが、リレーヤーを使うことでこの関連付けも防げます。

プライバシーを保ちながら資金を移動する方法

両方のウィズドロー方法の実際的なメリットを理解するために、具体的なシナリオを考えてみましょう:

シナリオ例:アリスは仮想通貨の投資で得た利益を引き出して、別のプロジェクトに投資したいと考えています。

  1. 直接ウィズドローの場合
    • メリット:手数料がかからず、全額を引き出せる
    • 考慮点:引き出し先アドレスは自分が管理するアドレスに限られる
  2. リレーウィズドローの場合
    • メリット:新しいアドレスで受け取れるため、資金の動きを追跡されにくい
    • メリット:ガス代がない場合でも引き出し操作ができる
    • 考慮点:リレーヤーに手数料を支払う必要がある(通常は引き出し額の1~3%程度)

最終的にどちらの方法を選ぶかは、プライバシーの必要性、手数料の許容度、そして利便性のバランスによって決まります。高いプライバシーが必要な場合や、新しいアドレスで資金を受け取りたい場合はリレーウィズドローが適しています。一方、手数料を節約したい場合や、自分のアドレスに直接資金を引き出せば十分な場合は、直接ウィズドローが適しています。

いずれの方法でも、Privacy Poolsのコア技術により、あなたのデポジットとウィズドローの関連性は隠されたままで、プライバシーが保護されます。

安全機能:ラグクイットメカニズム

ラグクイットは、ASPが承認しない場合でも、元のデポジターが自分の資金を回収できる安全装置です。この機能はTornado Cashにはなく、Privacy Poolsの重要な安全機能となっています。

最悪の場合でも資金を回収できる仕組み

ラグクイットは完全に公開された操作として行われるため、プライバシーは失われますが、資金を失うリスクを排除しています。例えば、規制の変更によりあるユーザーのデポジットがASPから除外された場合でも、そのユーザーは自分の資金を取り戻すことができます。

ラグクイットの処理フローは以下のようになります:

  1. 必要条件のチェック
    • 元の預け入れ者(デポジター)であること
    • コミットメントがまだ使用されていないこと
  2. 証明の生成
    • 自分が資金の正当な所有者であることを証明
  3. ラグクイットメソッドの呼び出し
    • 証明と共にラグクイット操作を実行
  4. ラグクイットの完了
    • ユーザーはコミットメント全額を受け取る

Tornado Cashとの重要な違い

Tornado Cashでは、一度デポジットした資金は、プロトコルが規制対象になった場合に凍結されるリスクがありましたが、Privacy Poolsではラグクイット機能によって、ユーザーは最悪の場合でも自分の資金を取り戻すことができるようになっています。

これは両プロトコルの根本的な違いを表しています:

  • Tornado Cash: 資金は完全に匿名化されますが、プロトコル全体が規制対象になるとアクセスできなくなるリスクがあります
  • Privacy Pools: 必要に応じて匿名性を犠牲にしても資金を取り戻せる「脱出ハッチ」を提供しています

この機能は、プライバシーツールを使用する際のリスクを大幅に軽減し、ユーザーに安心感を提供しています。規制当局の観点からも、正当なユーザーの資産が凍結されるリスクが低減されるため、より適切なバランスを実現していると言えるでしょう。

イーサリアムのプライバシーの未来

イーサリアムの創設者であるヴィタリック・ブテリン(Vitalik Buterin)は、プライバシーとコンプライアンスの両立という課題に積極的に取り組んでいます。ヴィタリックはChainalysisのJacob Illum、バーゼル大学の研究者、そしてPrivacy Poolsの開発者Ameen Soleimaniらと共同で「Blockchain Privacy and Regulatory Compliance: Towards a Practical Equilibrium(ブロックチェーンのプライバシーと規制コンプライアンス:実用的な均衡に向けて)」というホワイトペーパーを発表しました。このホワイトペーパーは、Privacy Poolsのようなプロトコルがどのようにしてプライバシーと規制の間の実用的な均衡を実現できるかを研究しています。

ヴィタリック・ブテリンがこのアプローチを支持する理由

ブテリンがPrivacy Poolsのような技術に注目している理由は、イーサリアムの長期的な存続可能性にとって、プライバシー保護機能が不可欠であると考えているからです。彼は以前から、ブロックチェーンがより幅広い採用を実現するためには、プライバシー保護機能が必要だと主張してきました。Privacy Poolsは、その理念を具体化した例として注目を集めています。

ブテリンら研究者たちは、以下のような視点からPrivacy Poolsのアプローチを評価しています:

  • 分離均衡の経済学的基盤: 正直なユーザーと不正なユーザーが自然と区別される仕組みは、理論的にも実用的にも健全である
  • 中央集権的な管理者の不在: 信頼できる第三者に依存せずにプライバシーとコンプライアンスを両立させる
  • 柔軟な設計: 異なる規制環境や要件に適応できる柔軟性を備えている

プライバシーと規制のバランスがもたらす可能性

Privacy Poolsが示す方向性は、将来的にブロックチェーン技術とプライバシーの関係にどのような可能性をもたらすでしょうか。

  1. より広範な採用: プライバシーとコンプライアンスの両立は、機関投資家や規制に敏感な企業のブロックチェーン採用を促進する可能性があります
  2. 規制との建設的な対話: 「すべてか無か」ではなく、バランスの取れたアプローチは規制当局との建設的な対話を可能にします
  3. イノベーションの加速: プライバシー技術とコンプライアンス技術の両方の発展が促進される可能性があります
  4. ユーザー保護の強化: プライバシーを犠牲にせずに不正行為から保護する新しいメカニズムの開発が進むでしょう

ブテリンらの論文は、Privacy Poolsが示す方向性は、将来的にユーザーが完全な取引履歴を公開せずに規制コンプライアンスを証明できる世界への第一歩であると結論づけています。Privacy Poolsの登場によって、プライバシー技術と規制のバランスに関する議論が新たな段階に入ったと言えるでしょう。

この「分離均衡」の仕組みにより、Privacy Poolsはプライバシー保護とコンプライアンスという一見矛盾する要件を両立させることに成功しています。最も重要なのは、これが自然な経済的インセンティブに基づいて機能するため、中央集権的な管理者が不要な点です。

鵜川佑稀

一橋大学商学部卒業。金融学を専攻しリスクや保険がメイン領域。エンジニアとしてドバイに渡りDeFiの開発やL1チェーンの設計などに従事し、2023年に株式会社DeLTの立ち上げから参画。

注意事項

  • 本記事は、情報提供のみを目的としており、投資助言や金融商品の売買を推奨するものではありません。
  • 本記事では、正確な情報提供に努めておりますが、その完全性、正確性、適時性、有用性等について、保証いたしかねます。
  • 本記事に記載された情報に基づいて被ったいかなる損害についても、当社は一切の責任を負いません。
  • 暗号資産(仮想通貨)への投資判断は、ご自身の責任において行ってください。投資を行う際は、取引所の利用規約および取引に関する説明事項をよく読み、リスクについて十分に理解した上で、ご自身の判断と責任において行ってください。
  • 本記事の内容は、予告なく変更または削除される場合があります。