ゼロ知識証明技術の解説:DeFiの大きな力に火をつける新星

中級Jan 08, 2024
本記事では、DeFiの透明性がもたらすプライバシーの課題を紹介し、zkのゼロ知識証明技術を用いて、フロントランニング取引、流動性操作、クレジットレンディングなどの問題を解決する方法を解説します。
ゼロ知識証明技術の解説:DeFiの大きな力に火をつける新星

I. はじめに

分散型金融(DeFi)は、現在の金融イノベーションの分野において重要な成長の方向性です。 DeFiでは、取引情報を隠蔽し、ユーザーのプライバシーを保護することが不可欠です。 DeFiが拡大・進化し続ける中、様々なプロジェクトが次々と生まれ、大きな活力を見せています。 また、ゼロ知識証明(ZK)技術は、DeFiにおけるプライバシー保護の新たな可能性を切り開きました。 ZKテクノロジーは、ある当事者が、その情報に関する具体的な詳細を明らかにすることなく、その情報の一部を知っていることを別の当事者に証明することを可能にします。 この技術は、 ZigZag unyfyZK DEXなどのDeFiアプリケーションで使用されており、DeFiのプライバシー保護機能、特に取引情報の保護を大幅に向上させています。 ZK技術の普及により、DeFiや仮想通貨分野全体の扱い方が革新され、分野全体の将来の成長が促進され、大きなブレークスルーが起こることが予想されます。

2. DeFiにおけるプライバシーの課題

ブロックチェーンに秘密はなく、DeFiのデータの透明性は議論の余地がありません。 Uniswap V3での特定の取引を例にとると、EtherescanのWebサイトから 取引 の詳細を簡単に確認できます(図1を参照)。 たとえば、アドレス [0 x 3A 4 D...a 6 f 2] は Uniswap V3 で 2 WETH を 17, 654, 123, 249, 375 Bonk に交換し、取引手数料は 0.0046 Ether でした。 これらのトランザクションの送信者、受信者、トランザクション金額(Value)、トランザクション手数料などの重要な情報はすべて公開されています。

図1 etherescanで開示されたトランザクションの詳細

また、アドレス[0 x 3A 4 D...a 6 f 2] (図2に示すように)。条件が許せば、現実世界でのこのアドレスの真のアイデンティティを推測することができます。

図2 特定のアドレスに対するすべてのトランザクションのリストがetherescanで公開されている

しかし、DeFiのデータの透明性にはいくつかの欠点があるかもしれません。 あなたがDeFiクジラであれば、あなたが行うすべての取引が市場の注目を集める可能性があります。 例えば、クジラがバイナンスから1,124万WOO(約420万ドル) を引き出す と、この取引は広く 注目を集めます。 同様に、多額の支払いや機関投資家レベルの取引も、社会の大きな懸念を引き起こす可能性があります。

他の市場参加者は、これらの取引行動に基づいて売買の決定を下す可能性があり、投資戦略に悪影響を与える可能性があります。 例えば、あるプロジェクトに多額の資金を投資したのに、その取引が市場に注目されると、他の投資家も追随して資産価格が上昇し、投資コストが上昇する可能性があります。 さらに、販売業務は市場のパニックを引き起こし、価格の下落を引き起こし、投資収益に影響を与える可能性もあります。

この状況は、DeFiプロジェクトとユーザーのプライバシー保護が緊急に必要であることを浮き彫りにしています。 取引の詳細を一般に知られたくない場合は、DeFi取引に関する特定の情報を非公開にすることを選択できます。

ZKテクノロジーは、取引の詳細を隠しながら、取引の正当性を確保することができます。 ユーザーは2種類の情報を提出する必要があります:1つは詳細(取引先や金額など)を部分的に隠す取引(プライベート取引)で、もう1つはこの隠された情報に関するZK証明書です。 プライベートトランザクションの正当性を検証することは、実際には対応するZK証明書を検証することです。

3. DeFiの可能性を解き放つ:ZKテクノロジーがもたらす機会

3.1 フロントランニング取引に対抗する上でのZKテクノロジーの役割

幸運にも、大企業が特定の資産を大量に購入しようとしていることを知ることができたとします。 会社が購入する前に、この資産を購入することを選択できます。 そして、その会社の大量買いによって資産の価格が押し上げられたら、それを売って利益を得ます。 この場合、大手企業の前での取引は、フロントランニング取引です。

フロントランニングは金融取引における投資戦略であり、通常、Uniswapなどの取引所で行われます。 これは、ブロックチェーン内の取引が一般に知られており、取引の確認に一定の時間がかかるためです。 したがって、一部の悪意のあるトレーダーは、フロントランニング取引の目的を達成するために、他の人の取引の前に自分の取引をマイニングして確認できるように、取引ガス料金を増やす場合があります。

フロントランニング取引は、元の取引環境を変更し、他のプレイヤーの取引が当初の計画どおりに進まなくなる可能性があるため、他のトレーダーに損失を与える可能性があります。 一方、攻撃者は、自分たちで利益を上げるためにフロントランニングトランザクションを開始します。 価格が変わる前に利益を上げることができます。 そのため、多くのDeFiプロジェクトも、フロントランニングトランザクションを防ぐためにさまざまな対策を講じています。

ZKテクノロジーは、フロントランニングトランザクションに抵抗する上で重要な役割を果たします。 以下では、ケース分析の例として、分散型取引所(DEX)におけるフロントランニングトランザクションの一般的なタイプであるサンドイッチ攻撃を取り上げます。

3.1.1 ケーススタディ:DEXにおけるサンドイッチ攻撃

サンドイッチ攻撃とは?

DEXに、100 ETH / 300, 000 USDTの準備金を持つ流動性プールがあると仮定します。アリスはUSDTの購入を注文し、20ETHをUSDTに交換します。 アリスが注文を送信すると、DEXは流動性プールの現在の準備金に基づいて結果を返し、約50,000 USDTが購入可能であることをアリスに伝えます。 しかし、実際には、アリスは最終的に45,714USDTしか獲得できませんでした。

ここでは、まず、アリスが20ETHを使用して50, 000USDTを購入できる理由を簡単に説明しましょう。 このDEXは、CPMM(Constant Product Market Maker)アルゴリズムにより売買価格を自動計算する自動マーケットメーカーモデル(AMM)を採用しています。 CPMMは、現在人気のある自動マーケットメーカーアルゴリズムであり、取引プール内の2つの資産の一定の積を維持して、流動性供給を実現し、資産価格を自動的に調整します。 この例では、アリスが購入できるUSDTの金額は、[50, 000 = 300, 000-(100* 300, 000)/(100+ 20)(手数料なし)]という式で計算されています。

アリスはサンドイッチ攻撃を受けたため、期待した金額のUSDTを購入しませんでした。

サンドイッチ攻撃は、主にAMMベースのDEXで発生します。 この攻撃では、攻撃者は被害者の通常の取引の周囲に2つの取引を行い、資産価格を操作し、被害者の損失から利益を得ます。 これら 2 つのトランザクションは、それぞれフロントランニング トランザクションとフォローアップ トランザクションです。 通常のトランザクションの前のトランザクションをフロントランニングトランザクションと呼び、通常のトランザクションの後のトランザクションをフォローアップトランザクションと呼びます。

では、アリスのサンドイッチ攻撃はどのように機能したのでしょうか? 図3に示すように。

図 3 サンドイッチ攻撃のしくみ

  1. 攻撃者がフロントランニングトランザクションを開始する:アリスがUSDTを購入するために開始したトランザクションが実行される前に、攻撃者はUSDTを購入するトランザクション(フロントランニングトランザクション)、つまり5ETHをUSDTに交換することも開始しました。 さらに、このトランザクションに対して攻撃者がマイナーに支払うガス料金は、アリスのガス料金よりも高いため、攻撃者のトランザクションはアリスより先に実行されます。

  2. 攻撃者はUSDTを購入するためのトランザクションを実行した後、流動性プールから約14, 286 USDT、つまり14, 286 ≈ 300, 000-( 100* 300, 000)/( 100+ 5)を取得しました。 流動性プールの準備金が100ETH/300,000USDTから105ETH/285,714USDTに変更されました。 ただし、アリスは、トランザクションを送信してからトランザクションが実行されるまでの間に流動性プールの予約が変更されたことを知りません。

  3. Alice の通常のトランザクションを実行する: 続いて、Alice の通常のトランザクションの実行が開始されます。

  4. アリスがUSDTを購入する取引を実行した後、アリスは流動性プールから45, 714 USDT、つまり45, 714 ≈ 285, 714-( 105* 285, 714)/( 105+ 20)を受け取りました。 流動性の準備金が105 ETH / 285, 714 USDTから125 ETH / 240, 000 USDTに変更されました。 そのため、アリスは20ETHで50,000USDTを購入できるはずでしたが、攻撃者の取引による流動性プールの変化により、現在は45,714USDTしか購入できません。 Aliceは約4286 USDT(4286 = 50,000-45,714)を失いました。

  5. 攻撃者のフォローアップトランザクション:最後に、攻撃者はトランザクション(フォローアップトランザクション)を再度開始し、14, 286 USDTをETHに交換しました(14, 286 USDTはたった今購入されました)。

  6. 攻撃者のフォローアップトランザクションが実行された後、攻撃者は流動性プールから7ETHを取得しました、つまり、7≈125-(125* 240, 000)/(240, 000+ 14, 286)。 流動性プールの準備金が125 ETH / 240,000 USDTから118 ETH / 254,286 USDTに変更されました。 したがって、攻撃者は最初は5ETHしか使いませんでしたが、最終的に7ETHを獲得し、2ETHの利益を得ました(2 = 7-5)。

サンドイッチ攻撃プロセス全体を通して、攻撃者は合計2つのトランザクション、つまりフロントランニングトランザクションとフォローアップトランザクションを開始しました。 先行取引により、Aliceは約4286USDTを失いました。 フロントランニング取引とフォローアップ取引を組み合わせることで、攻撃者は2ETHの純利益を得ました。

DEXでは、トランザクションの可視性は、特にAMMプロトコルにおいてサンドイッチ攻撃を引き起こす重要な要素です。 これらのプロトコルは、DEXのリアルタイムの取引情報を公開します。 この高い透明性により、攻撃者はトランザクションフローを観察・分析し、サンドイッチ攻撃の機会を探り出すことができます。

3.1.2 ZKテクノロジーはサンドイッチ攻撃に耐えることができます

ZKテクノロジーの適用により、サンドイッチ攻撃の可能性を大幅に減らすことができます。 ZKテクノロジーを使用して、トランザクション量、資産タイプ、ユーザーまたは流動性プールの残高、ユーザーID、トランザクション手順、およびその他のプロトコル関連情報を隠すことで、トランザクションデータのプライバシーを効果的に向上させることができます。 その結果、攻撃者がサンドイッチ攻撃を実行するために完全なトランザクション情報を取得することは困難です。

さらに、ZKテクノロジーはサンドイッチ攻撃に抵抗できるだけでなく、ZKベースのプライベートトランザクションにより、ユーザーの行動モデルの判断がより困難になる可能性もあります。 アカウントの過去の取引を分析したり、行動パターンを推測したり、活動サイクル、取引頻度や好みなどを調べたりするためにブロックチェーンデータを収集しようとする第三者は、課題に直面することになります。 行動モデル推論と呼ばれるこの種の分析は、ユーザーのプライバシーを侵害するだけでなく、ハニーポット攻撃やフィッシング詐欺への道を開く可能性もあります。

3.2 ZK技術に基づく流動性操作の防止

流動性操作とフロントランニング取引は、どちらもDeFiの攻撃方法です。 どちらの攻撃方法も、市場情報や取引速度を利用して利益を得るものですが、具体的な戦略や操作は異なります。

フロントランニングは情報を利用することであり、流動性操作は市場活動を利用して他のトレーダーを欺くことです。 前者は主に未公開の重要情報を入手して利用することで利益を上げますが、後者は虚偽の市場活動を生み出し、不利な取引判断をさせることで他の投資家を欺きます。

ZKテクノロジーは、フロントランニング取引に抵抗する上で重要な役割を果たすだけでなく、流動性操作の防止にも役立ちます。

3.2.1 ケーススタディ:オラクルを使用した流動性操作

忙しい果物市場でリンゴを買っているとします。 市場価格は通常、需要と供給の変化に基づいて変動します。 通常、一定期間にわたって価格を監視し、平均価格に基づいて購入するかどうかを決定します。 ここで、非常に裕福なバイヤーが市場に参入し、彼が本当にリンゴを買いたいと想像してみてください。 彼は値段に関係なく、リンゴを大量に購入するようになりました。 これにより、Appleの価格は短期間で急騰します。 それでもこの価格に基づいてAppleを購入する場合は、おそらく実際の価値よりも多くを支払っていることになります。

この例は、TWAP(時間加重平均価格、時間加重平均価格)オラクルの動作原理と流動性操作の概念をよりよく理解するのに役立ちます。 平均価格に基づいてリンゴの購入を決定する行為はTWAPオラクルの操作に似ており、裕福なビジネスマンによるリンゴの大量購入が価格の上昇を引き起こすことは流動性操作に似ています。

TWAPオラクルは、一定期間の平均取引価格を計算することにより、資産価格を決定します。 取引が新しいほど、平均価格への影響が大きくなります。 誰かが短期間に大量の取引や多額の資金で取引を行い、資産の平均価格に大きな影響を与える可能性がある場合、これは流動性操作です。 流動性操作は、資産価格を人為的に上下させ、不正確な価格情報をもたらす可能性があります。 TWAPオラクルを使用して意図的に資産の価格を上げたい場合、短期的に多額の資金を使用して資産を購入し、一時的に価格を上昇させることができます。 この期間中に資産価格が急騰した場合、TWAPオラクルはこの高い価格を資産価格として扱う可能性があります。

TWAPオラクルの流動性操作は、DeFiプロトコル、特に流動性の低い新興トークンに大きな影響を与える可能性があります。 これらのDeFiプロトコルは、多くの場合、資産の価格に基づいて、清算、貸付などの財務上の決定を下します。 価格情報が不正確または信頼できない場合、誤った決定につながり、ユーザーの損失につながる可能性があります。 したがって、TWAPオラクルを流動性操作から保護することが重要です。

3.2.2 ZKテクノロジーは流動性操作に抵抗できます

ZKテクノロジーは、TWAPオラクルの流動性操作に抵抗するのに役立ちます。 スマートコントラクトは、TWAPオラクルに依存して資産の価格を取得するように設計できます。 攻撃者が流動性操作を実行した場合、TWAPオラクルから取得した価格は、事前に設定された許容範囲を超える可能性があります。 この場合、契約は一時的にその業務を停止します。 その後、ZK技術に基づいて資産価格を再計算し、確認します。

ZKテクノロジーを使用して資産価格を計算するには、まずTWAPオラクルにラッパー契約を追加する必要があります。 限月は、多数の N 個の価格レポートに直接アクセスするか、任意の間隔で価格の多数の N 個のチェックポイント値を記録できます。 これらのN個のデータポイントが特定の間隔内に利用可能になると、ZKプルーフを構築して、ソートされていない価格配列の中央値を証明できます。 ソートされていない価格配列は、長さ N の列ベクトル x としてラベル付けされます。以下は、ZK技術に基づく資産価格の計算 プロセス です。

  1. 証明は、次の2つの方法のいずれかで検証できます。 いずれの場合も、証明者は入力として価格配列を任意に選択することはできません。
  • コントラクトストレージから配列値を取得し、オンチェーンバリデーターへのパブリックインプットとして使用します。
  • ハッシュチェーンは、ハッシュ関数によって徐々に形成され、配列を単一のハッシュ値として表し、その値をオンチェーンバリデーターで使用します。
  1. N x N 行列 A (正方行列) があります。 行列に列ベクトル x を乗算すると、列ベクトル y が生成されます。 Aは可逆順列行列ですが、価格値が重複する可能性があるため、Aは必ずしも一意ではなく、Aにはバイナリ値のみが含まれます。

  2. y の値は順序付けされています。 強調すべきことは、重複する価格値が存在する可能性があるため、<使用できないことです。

  3. 回路のパブリック出力mはyの中央値です。 この証明は、回路がコンパイルされたときにNが静的な値であり、奇数でなければならないことを示しています。

上記のプロセスによれば、改ざん防止であるZK技術に基づいて中央価格mが出力されます。 中央値mは、ある程度、流動性操作を防ぐことができます。 これを実現するには、y の値を制限して、各ブロックで y の値が 1 回だけ挿入されるようにするか、挿入回数が許容範囲内に保たれるようにする必要があります。

3.3 ZKテクノロジーが融資プラットフォームを強化

前述したように、ZKテクノロジーはDEXのフロントランニングや流動性操作に耐性があります。 では、他のDeFiシナリオにおけるZKテクノロジーの応用の可能性をさらに探ることはできるのでしょうか? 例えば、ZKテクノロジーは、DeFiプロジェクトの重要な部分である融資においても重要な役割を果たすことができます。

3.3.1 貸出の鍵:借り手の信用力を評価する方法

従来の融資プラットフォームでは、ローン申請プロセスは通常、申請書の提出、信用評価、ローンの承認、ローンの発行と返済の5つのステップで構成されています。 その中でも、信用評価は重要です。 借り手は、収入が基準を満たし、返済能力があることを証明する必要があります。 評価プロセスでは、プラットフォームは、借り手がローンを返済する能力を持っていることを確認するために、収入、負債、過去の返済記録など、借り手の信用履歴の詳細な調査を実施します。 これに基づいてのみ、プラットフォームはローン申請の承認を検討します。

しかし、GhostやCompoundなどのDeFiレンディングプラットフォームを利用すると、状況は異なります。 分散型の性質上、ほとんどのDeFiレンディングプラットフォームには、従来の銀行のようなKYC(Know Your Customer)手続きやリスク評価手続きがなく、共同信用調査機関を通じて借り手の信用状況を調査することはできません。 この場合、私のクレジットはどのように評価されるのか疑問に思われるかもしれません。

DeFiレンディングプラットフォームでは、レピュテーショントークンの証明を通じて信用度を証明することができます。 レピュテーショントークンは、ブロックチェーン技術に基づくクレジットシステムであり、デジタルトークンを使用してユーザーの評判を表現および定量化します。 レピュテーショントークンの数は、ユーザーの信用度を評価するための重要な指標となっています。 トークンの数が多いほど、ユーザーの評判が良くなり、それに応じて信用格付けが向上し、DeFiレンディングプラットフォームでより多くのローンラインを取得することが可能になります。

ただし、レピュテーショントークンの生成は、ユーザーの取引履歴と財務情報に依存しているため、ユーザーのプライバシー権を侵害する可能性があります。

3.3.2 借り手の信用を評価する:ZKテクノロジーに基づく評判トークン

ZKテクノロジーはユーザーのプライバシーを保護します。 ZKテクノロジーとレピュテーショントークンの組み合わせにより、ネットワーク内のレピュテーションを維持・追跡しながら、ユーザーのプライバシーを保護することができます。

ユーザーはZKテクノロジーを使用して、過去のトランザクションを開示することなくレピュテーショントークンを生成できます。 一方では、ユーザーはZKテクノロジーに基づいて過去の取引の証明を生成できます。一方、証明はスマートコントラクト(レピュテーショントークン生成コントラクトと呼ばれることが多い)によって検証され、検証に合格するとレピュテーショントークンを生成できます。

さらに、過剰担保を必要とする一部のDeFiレンディングプラットフォームでは、レピュテーショントークンは担保要件を減らすことができ、それによって過剰担保の問題を解決し、市場の流動性を向上させることができます。 また、ZK技術に基づくレピュテーショントークンの用途は、DeFiレンディングプラットフォームにとどまらず、保険、医療助成金、その他の分野で広く使用されています。

4. 概要と期待

本稿では、DeFiにおけるプライバシー保護のためのZKテクノロジーのさまざまなアプリケーションシナリオ、特にレンディングにおける重要な役割と、フロントランニングや流動性操作に抵抗する大きな可能性を探ります。 DeFiを模索する中で、私たちはいくつかの課題、特にプライバシーとセキュリティに関連する問題に直面します。 DeFiエコシステムにおけるプライバシーの課題は重要なトピックであり、ZKテクノロジーはプライバシー保護を強化するだけでなく、トランザクションの効率とセキュリティを向上させる独自のソリューションを提供します。 DAppにZK技術を導入したい場合は、 Salusにお気軽にお問い合わせください。

将来に目を向けると、ZKテクノロジーは、流動性ステーキング、デリバティブプロトコル、実世界の資産、保険など、より深いDeFi分野に適用される可能性があります。Salusは、DeFiやその他のイーサリアムアプリケーションレイヤープロジェクトにおけるZKテクノロジーの応用を研究・探求することに重点を置いています。 私たちは、ブロックチェーン研究者、技術開発者、および世界中のweb3分野のすべての専門家が、DeFi、さらには業界全体の成長を促進するために、ZKテクノロジーの詳細な開発と広範なアプリケーションを促進するために私たちと協力することを心から歓迎します。

免責事項:

  1. この記事は[odaily]からの転載です。 すべての著作権は原著作者[LZ]に帰属します。 この転載に異議がある場合は、 Gate Learn チームに連絡していただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。 特に明記されていない限り、翻訳された記事を複製、配布、盗用することは禁止されています。
Comece agora
Registe-se e ganhe um cupão de
100 USD
!
Criar conta