【ITニュース解説】I placed a perp order on Solana devnet, then tried to find my own position onchain
2026年10月09日に「Dev.to」が公開したITニュース「I placed a perp order on Solana devnet, then tried to find my own position onchain」について初心者にもわかりやすく解説しています。
ITニュース概要
Solana上の無期限先物取引所Privoraは、公開オーダーブックとゼロ知識証明で保護されたプライベートなユーザーポジションを特徴とする。ウォレットは入出金のみを承認し、取引はブラウザで行うため、自分の取引履歴は公開ウォレットには出ない。開発用ネットで試せる。
ITニュース解説
ブロックチェーン技術は、インターネットが情報共有を革新したように、価値の共有と取引のあり方を根本から変えようとしている。特に近年注目されているのが、分散型金融(DeFi)と呼ばれる領域である。DeFiでは、銀行や証券会社といった仲介者を介さず、プログラム(スマートコントラクト)によって金融サービスが提供される。しかし、従来のブロックチェーンは透明性が非常に高く、すべての取引履歴やウォレットの残高が誰でも見られるという特徴がある。これはメリットであると同時に、金融サービスにおいてはプライバシーの課題をはらむ。例えば、あるトレーダーが大きな取引をしようとしていることを他の参加者が見てしまうと、その情報が悪用される可能性がある(フロントランニングなど)。このような課題に対し、新しい技術でプライバシー保護と分散性を両立させようとする試みが進んでいる。今回解説するPrivoraは、Solanaブロックチェーン上で動作するパーペチュアル先物取引所であり、まさにその最先端を行くプロジェクトの一つである。
Privoraは、Solanaという高速なブロックチェーン上に構築された、いわゆる「パーペチュアル先物取引所」である。パーペチュアル先物とは、有効期限がなく、常に現在の市場価格に追従するように設計された先物契約の一種で、高いレバレッジをかけて取引できることが特徴だ。Privoraの大きな特徴は、市場の「オーダーブック(注文板)」は誰でも見られる公開情報でありながら、個々のトレーダーの「ポジション(保有している契約)」、担保、レバレッジといった情報は完全にプライベートに保たれる点にある。このプライバシー保護を可能にしているのが、「ゼロ知識証明(Zero-Knowledge Proofs: ZKP)」という最先端の暗号技術である。ゼロ知識証明は、「ある情報が正しいことを、その情報自体を明かすことなく証明する」ことができる画期的な技術であり、ブロックチェーンの透明性と個人のプライバシー保護という相反する要求を両立させる鍵となる。
なぜ金融取引においてプライバシーがそこまで重要なのかを考えてみよう。一般的なブロックチェーンでは、ウォレットアドレスと、そのアドレスが関与した全ての取引、さらには現在保有している資産の残高まで、全てが公開情報としてブロックチェーン上に記録されている。これは、システムの透明性と信頼性を高める上で非常に有効だが、個人や企業の機密情報が露見するリスクも伴う。例えば、巨額の資産を持つウォレットの動きは常に監視され、その取引戦略が模倣されたり、悪意のある攻撃の標的になったりする可能性がある。Privoraが目指すのは、このようなブロックチェーンの根本的な課題を解決し、ユーザーが安心して、そして戦略的に取引を行える環境を提供することである。
では、実際にPrivoraのテスト環境(devnet)で取引を行った場合、どのようにプライバシーが保護されるのか、具体的に見ていこう。まず、Solanaのdevnetとは、開発者向けのテストネットワークのことで、実際の資金ではなくテスト用の仮想通貨を使って、アプリケーションの機能検証や開発を行う場所である。ここでは、ウォレットをdevnetに設定し、テスト用のUSDC(米ドルにペッグされた仮想通貨)をアプリ内で取得することで、費用をかけずに実際の取引に近い体験ができる。
記事の筆者は、まずウォレットを接続してテストUSDCを入金し、少額の取引注文を出した後、自身のウォレットアドレスをSolanaエクスプローラー(ブロックチェーン上の情報を検索・閲覧できるツール)で検索した。通常、ブロックチェーン上の取引はウォレットが署名し、その履歴がウォレットアドレスと紐づいてエクスプローラーに表示される。しかし、Privoraの場合、入金といった資金の移動に関する活動はウォレットアドレスで確認できるものの、個々の注文、その約定履歴、そして保有ポジションについては、エクスプローラー上では全く見つけることができなかった。
その理由は、Privoraの設計にある。ユーザーが取引を注文する際、その取引はウォレット自体が直接署名するのではなく、ブラウザ内で生成される「シールドされたセッションキー」によって署名される仕組みになっている。つまり、ウォレットは、一度資金をPrivoraのプライベートアカウントに預け入れる際に署名を行うが、その後の個々の取引については、ブラウザ内のセッションキーが「取引の意図」に署名し、これをPrivoraのバックエンドシステムに送る。これにより、個々の取引履歴が公開ウォレットアドレスと直接結びつかないため、ブロックチェーンエクスプローラーから見つけ出すことができないのだ。このセッションキーの利用は、ユーザー体験の向上にも寄与する。ウォレットが毎回トランザクションに署名する必要がなくなるため、取引のたびに承認を求めるプロンプトが表示される煩わしさがなくなり、よりスムーズかつ高速な取引が可能になる。
次に、市場がどのように見えるか、第三者の視点から検証した。筆者が注文を出した後、他のトレーダーの視点に立ってオーダーブックや最近の約定履歴を確認した結果、やはり個々の注文の価格、サイズ、時間などは確認できるが、その注文を出したウォレットアドレスや、その背後にいるトレーダーの情報は一切表示されなかった。これは、市場のマッチングエンジンが、価格、売買の方向、サイズ、時間の優先順位といった公開情報のみに基づいて注文を照合しているためだ。つまり、市場の効率性や流動性を保つために必要な情報は公開しつつも、誰が、どれくらいの量で、どのような戦略で取引しているかといった個人の特定につながる情報は完全に秘匿されている。ポジション情報は、ユーザー自身のプライベートアカウント内でのみ確認できるという徹底ぶりである。
では、このプライバシー保護の仕組みはどこまで万能なのだろうか。Privoraもいくつかの側面では情報を隠さない。まず、資金の入金と引き出しの時点では、ユーザーの公開ウォレットとPrivora内のプライベートアカウント間で資金が移動するため、これらの活動はウォレットにリンクされ、ブロックチェーン上で確認できる。これは、資金の出所と行方を追跡可能にすることで、不正行為を防ぎ、規制要件を満たす上で重要な設計である。
また、Privoraにはバックエンドシステムが存在し、ユーザーから送られてくる暗号化された注文パッケージを受け取り、ゼロ知識証明の生成と検証に必要な情報を処理している。このバックエンドは、取引を検証し、決済するために必要な情報の「リンケージ(関連付け)」を認識する。しかし、ユーザーの「シールドされた署名秘密鍵」といった決定的な秘密情報には決してアクセスできない。もしこのバックエンドが停止すれば取引も止まってしまうが、ユーザーの資金を勝手に動かしたり、残高を変更したりすることは不可能である。なぜなら、Solanaブロックチェーンが、すべての状態変更についてゼロ知識証明を検証し、その正当性を確認しなければ、いかなる変更も受け付けないようになっているからだ。
ここでゼロ知識証明の具体的な働きについてもう少し深く掘り下げてみよう。Privoraでは、プライベートな取引がブロックチェーン上で有効であることを証明するために、「Groth16」という特定のゼロ知識証明プロトコルが利用されている。このプロトコルによって生成された証明は、Solanaブロックチェーン上のスマートコントラクトによって検証される。この証明には、取引が正当なユーザーによって認可されたこと、取引に必要な担保(マージン)が十分であること、そして取引によって資金が不正に増減していないこと(資金の保全)といった、金融取引の健全性を保証するためのすべての条件が、その詳細な情報自体を明かすことなく含まれている。Solanaのプログラムは、このゼロ知識証明と現在のオンチェーン状態を照合することで、取引がプライベートに行われたものであっても、その有効性と安全性を確実にするのだ。
Privoraは現在devnetでのみ稼働しており、これはまだ開発途上であり、テスト段階であることを意味する。そのため、予期せぬ不具合が発生する可能性もある。しかし、この取り組みは、ブロックチェーン技術が金融取引のプライバシーと効率性をどのように両立させようとしているかを示す、非常に重要な事例である。このような新しい技術がどのように設計され、従来の課題を解決し、未来のシステムを構築していくのかを理解することは、システムエンジニアとして非常に有益である。ブロックチェーンと暗号技術の進化は、今後も金融システムだけでなく、様々な分野に革新をもたらしていく。