メインコンテンツまでスキップ

Sui 上の Seal: オンチェーンで制御できるプログラマブルなシークレットレイヤー

· 約6分
Dora Noda
Software Engineer

パブリックブロックチェーンは、すべての参加者に同期された監査可能な元帳を提供しますが、同時にデータをデフォルトで公開します。2025 年 9 月 3 日に Sui Mainnet で稼働を開始した Seal は、オンチェーンのポリシーロジックと分散型キー管理を組み合わせることで、どのペイロードを誰が復号できるかを開発者が細かく制御できるようにします。

TL;DR

  • 概要: Seal は、Sui スマートコントラクトがオンチェーンで復号ポリシーを強制し、クライアントはアイデンティティベース暗号(IBE)でデータを暗号化し、しきい値キーサーバーから鍵を取得できるようにするシークレット管理ネットワークです。
  • 重要な理由: 独自バックエンドやブラックボックスなオフチェーンスクリプトを作るのではなく、プライバシーとアクセス制御を一級の Move プリミティブとして扱えます。暗号文はどこにでも保存でき(Walrus との組み合わせが自然)、誰が読むかを制御し続けられます。
  • 想定ユーザー: トークンゲートされたコンテンツ、タイムロック公開、プライベートメッセージング、ポリシー対応 AI エージェントを構築するチームは、Seal の SDK を組み込むだけで暗号の下回りではなくプロダクトロジックに集中できます。

ポリシーロジックは Move に記述

Seal のパッケージには seal_approve* という Move 関数が用意されており、特定のアイデンティティ文字列に対して誰がどの条件で鍵を要求できるかを定義します。ポリシーには NFT 所有、許可リスト、タイムロック、独自のロールシステムを組み合わせられます。ユーザーやエージェントが復号を要求すると、キーサーバーは Sui フルノードの状態を参照してポリシーを評価し、チェーンが承認した場合にのみ応答します。

アクセスルールはパッケージ内のオンチェーンコードとして存在するため、透明で監査可能、かつ他のスマートコントラクトコードと同じようにバージョン管理できます。ガバナンスの更新も、コミュニティレビューとオンチェーン履歴を伴いながら、通常の Move アップグレードと同様に展開できます。

しきい値暗号が鍵管理を担う

Seal はアプリケーションが定義するアイデンティティに対してデータを暗号化します。開発者が選定した独立したキーサーバー委員会が IBE のマスターシークレットを共有します。ポリシーチェックを通過すると、各サーバーが要求されたアイデンティティの鍵シェアを導出します。t 台のサーバーから応答が集まると、クライアントはそれらを結合して復号に使える鍵を得ます。

委員会メンバー(Ruby Nodes、NodeInfra、Overclock、Studio Mirai、H2O Nodes、Triton One、Mysten の Enoki サービスなど)としきい値を選ぶことで、可用性と機密性のトレードオフを調整できます。可用性を重視するなら、大きな委員会と低いしきい値を選びましょう。プライバシー保証を高めたいなら、クォーラムを厳しく設定し、パーミッション型プロバイダーを活用してください。

開発者体験: SDK とセッションキー

Seal には暗号化・復号フロー、アイデンティティの整形、バッチ処理を支援する TypeScript SDK(npm i @mysten/seal)が用意されています。アプリが繰り返しアクセスする必要がある場合でもウォレットに承認要求を連発しないよう、セッションキーの発行もサポートしています。高度なワークフローでは、Move コントラクトが専用モードでオンチェーン復号を要求できるため、エスクロー開示や MEV 耐性オークションなどのロジックをスマートコントラクト内で直接実行できます。

Seal はストレージに依存しないため、Walrus と組み合わせて検証可能な BLOB ストレージを実現したり、IPFS や運用上必要な場合は中央集権型ストアとも併用したりできます。暗号化の境界とポリシーの適用は、暗号文がどこに存在してもデータとともに移動します。

Seal を設計に組み込むためのベストプラクティス

  • 可用性リスクをモデリングする: 2-of-3 や 3-of-5 などのしきい値は、そのまま稼働率保証に直結します。本番導入ではプロバイダーを組み合わせ、テレメトリを監視し、重要なワークフローを任せる前に SLA を取り決めましょう。
  • 状態のばらつきに注意: ポリシー評価はフルノードの dry_run 呼び出しに依存します。急速に変化するカウンターやチェックポイント内の順序に依存するルールは避け、サーバー間で不一致の承認が出ないようにしてください。
  • 鍵の衛生管理を計画する: 導出された鍵はクライアント側に保存されます。ログを整備し、セッションキーをローテーションし、必要に応じてエンベロープ暗号化(Seal で大きなペイロードを暗号化する対称鍵を保護)を採用して、端末侵害時の影響範囲を限定しましょう。
  • ローテーションを設計する: 暗号文の委員会構成は暗号化時点で固定されます。プロバイダーを変更したり信頼モデルを調整したりする必要がある場合に備えて、データを新しい委員会で再暗号化するアップグレード経路を用意しましょう。

今後の展望

Seal のロードマップには、バリデータが運用する MPC サーバー、DRM スタイルのクライアントツール、ポスト量子 KEM などが示されています。AI エージェント、プレミアムコンテンツ、規制対象データフローを検討するビルダーにとって、今回のリリースだけでも十分な設計図が得られます。Move でポリシーを記述し、多様なキー委員会を組み合わせ、Sui の信頼境界内でユーザープライバシーを尊重する暗号化体験を提供しましょう。

次回のローンチで Seal の採用を検討しているなら、まずは 2-of-3 のオープン委員会を使ったシンプルな NFT ゲートポリシーを試作し、アプリのリスクプロファイルに合ったプロバイダー構成と運用コントロールへとブラッシュアップしていくのがおすすめです。