IOGブログ, ニュース, ...

IOGブログ:『Kachina』プライバシーを保護するスマートコントラクト

Kachina: プライバシーを保護するスマートコントラクト

ZK Snarksの活用により、分散化の特性を犠牲にすることなく、プライバシーを保護するスマートコントラクト機能を実現

by Olga Hryniuk 2022年8月5日

スマートコントラクトは、通貨やデータを交換する意思のある2つ以上の当事者間の複雑なやりとりを、分散化された方法で表現するための標準的なアプローチを提示します。スマートコントラクトは、ブロックチェーン上で事実上自動化されたデジタル契約です。コードで記述され、所定の条件が満たされたときに、契約の拘束力のある取引を追跡、検証、実行することができます。このような条件を表現するスマートコントラクトを作成するために、開発者はプログラミング言語を使用します。コントラクトコードは、分散型ブロックチェーンネットワークに保存され、分散されるため、透明性が高く、必要であれば、不可逆的になります。

このブログでは、Input Output Global (IOG) がエジンバラ大学と共同で開発したプライバシー保護スマートコントラクトソリューションであるKachinaについて説明します。このソリューションにより、ユーザーは分散化の特性を犠牲にすることなく、プライバシー保護と汎用的なスマートコントラクトの機能を実現することができます。

スマートコントラクトの取引におけるプライバシー保護

多くのスマートコントラクト台帳は、その透明性と公開設定により、契約条件が誰にでも見えるようになっています。透明性はブロックチェーン技術の最も強力な利点の1つですが、機密データを扱うアプリケーションにはプライバシーが不可欠であることに変わりはありません。

開発者は、スマートコントラクトのプライバシーを高めるために、いくつかの暗号化技術を使用することができます。ゼロ知識証明(ZKP)と安全な計算がその2つの例です。このような暗号技術に動機付けられ、プライバシーの様々な定義を満たし、信頼の仮定を必要とするいくつかのソリューションが現れました。その例として、Zexe, zkay, Hawk, Zether, Secret Networkなどがある。これらのソリューションの中で最も表現力のあるHawkとSecretは、信頼の仮定に依存しているため、達成できる分散化のレベルが大幅に制限されています。Hawkはシステムの中核に小規模で固定された参加者を想定しており、Secretはプライバシーを侵害する攻撃の歴史が豊富な技術であるTrusted Execution Environments(TEEs)に依存しています。これらの技術は、分散型ブロックチェーンプラットフォームの基本原則と根本的に衝突しているのです。

Kachina:プライベートスマートコントラクトの基盤

Kachinaは、プライバシーが保証されたスマートコントラクトとして表現可能な分散型計算の大きなクラスを特定し、開発者が追加の信頼前提なしに実装できるようにします。

スマートコントラクトプロトコルは、ゼロ知識簡潔非対話的知識論証(ZK Snarks)のみに依存し、プライバシーを提供する。このプロトコルのプライバシー保証は、数学的モデリングと証明を通じて、Universal Composability (UC)セキュリティフレームワークで証明されています。このプロトコルの主な目的は、新しい拡張や変更のたびに基礎となるシステムをアップグレードする必要がなく、さらなるプライバシー保護システムのための十分に低レベルで汎用的な基礎を提供することである。

Kachinaは、ブロックチェーンとユーザーのローカルマシンの間のギャップを埋めることを可能にする。これらは、それぞれパブリックとプライベートという2つの独立した状態によって表現される。コントラクトは、オンチェーン(および共有)のパブリックステートとオフチェーン(およびローカル)のプライベートステートの両方を一緒に更新することができます。そして、当事者は、許容される方法で公開状態を更新することをゼロ知識で証明する。つまり、非公開状態の存在と、この更新が意味をなす入力に関する詳細を提供する。

Kachina契約はまた、次のことを保証する。

  • プライバシーを保護した上での同時実行。Kachinaは、ステート・オラクル・トランスクリプトという新しい概念によって、より高い同時実行性を実現する。これらは、オラクルクエリーと相互作用する契約の状態で実行される操作のレコードです。コントラクトの作成者は、競合するトランザクションを最適化し、最小限のリークを確保しながら、並べ替えを可能にすることができる。
  • 効率的なモジュール構造。Kachinaは、大規模に展開されるように設計されている。ゼロ知識を用いた以前の作品では、コントラクトの状態を明示的に維持することはない。Kachinaは、コントラクトで指定されたオラクルを通じて間接的に状態にアクセスすることができる。この間接的なアクセスは、より大きなスケーラビリティを保証し、その結果、証明されなければならない内容の複雑さは、コントラクト作成者の完全な制御下にあり、最適化することができます。


研究論文では、IOGがプライベート決済のケーススタディでKachinaプロトコルの多用途性を実証しています。チームは、その遷移とリーケージ機能を通じて、プライベートトークンコントラクトを正式に規定しています。このコントラクトは、私的な資金移動、残高照会、資産創出をサポートします。

提案された設計はほとんど理論的なものだが、Kachinaは現実の制約のもとでプライバシーを保護するスマートコントラクトを作成する可能性を証明している。

  • 状態オラクルの使用により、計算が困難な操作やストレージに負荷のかかる操作のほとんどをゼロ知識証明の外に移すことができ、そのコストを削減することができます。
  • ゼロ知識証明システムは普遍的でなければなりませんが、ZKPの構成は存在し、提案する設定で使用することは実用的です。

詳細、例、コントラクトサンプルについては、「 ‘Kachina – Foundations of Private Smart Contracts’.」をお読みください。

このブログ記事の作成にあたり、Thomas Kerberの意見と支援に感謝します。

カルダノエコシステムとSITION

お問い合わせ

Contact Us
SIPOのステーキングサービス、Cardano ADA、ADAの購入方法から保管方法についてご興味、ご質問がある方はこちらのフォームからお問い合わせください。24時間以内にメールにてご返信いたします。

最新投稿