一つの世界一つの経済一つの台帳

スクロールして見る
91%2024年にBISが調査した93の中央銀行のうち、この割合がリテール向け、ホールセール向け、またはその両方の中央銀行デジタル通貨(CBDC)を検討していました。 BIS Papers No 159 · 2024年CBDC調査
なぜ今なのか

デジタル通貨は主権の時代へ。決済を分断したままにはできない。

各国・地域は、自らの通貨を管理する必要があります。そのシステム同士を結ぶ決済には、異なるルール、非公開データ、バリデーターネットワークを尊重する共通プロトコルが必要です。SORA Nexusは、この二つの要請を両立します。

分断のない主権。

各機関は、独自のポリシーとアクセスルールを持つ環境「データスペース」で運用できます。共通のプログラム可能な決済層が各スペースを接続し、承認済みの取引が一つの論理台帳上を移動します。

01 · 相互運用性

主権を持つシステムをつなぐ

取引例をたどってみましょう。ある法域の機関が、別の法域の機関に資産の代金を支払います。双方は独自のルールとデータを保持し、共通のプロトコルがデータスペース間の支払いと引き渡しを調整します。

問い独立した機関同士で、一つの取引をどう決済するか?

各機関が独自のポリシー境界を保ちながら、支払いと資産の引き渡しを同時に決済できます。

01

ISO 20022ゲートウェイ

機関がすでに使っている決済メッセージから始めます。

決済要求は、Irohaの受付インターフェースであるToriiからNexusに入ります。ゲートウェイはpacs.008やpacs.009など、対応するISO 20022メッセージを検証し、適用ポリシーに従って台帳の命令に対応付けます。

pacs.002ステータスで結果を送信者に返します。これにより金融機関のシステムは、使い慣れた決済メッセージを共有台帳上の承認済み操作へつなげられます。

使い慣れたメッセージ

機関の支払い指示をpacs.008とpacs.009の形式で受け取ります。

決定論的な操作

検証済みメッセージは、ローカルポリシーに従って明示的なIroha命令に変換されます。

正規の応答

pacs.002ステータスが、要求の受理・拒否・決済完了を記録します。

プロトコル全体図

ISO 20022ゲートウェイ

pacs.008とpacs.009のメッセージを検証・実行し、決定論的なpacs.002の結果を返します。

メッセージの受信から決定論的なステータス応答までをつなぐISO 20022ブリッジpacs.008やpacs.009などのISO 20022決済メッセージはToriiから入り、ブリッジが識別子と参照データを検証して一つの台帳操作を構築し、ISOエンドポイントを通じて決定論的なステータスを返します。金融をつなぐ共通言語ISOメッセージTorii検証する台帳操作ISOステータスを返却

ISO 20022により、機関の決済メッセージをブロックチェーン上のプログラム可能な決済やデジタル経済へ接続できます。

  1. pacs.008またはpacs.009メッセージがToriiを通じて入ります。
  2. スキーマとポリシーを検証し、要求された操作を決定します。
  3. Irohaが対応する台帳命令を実行します。
  4. 決定論的なpacs.002ステータスを送信者に返します。
02

主権型データスペース

各機関が自らのルールと非公開データを管理したまま、機関同士をつなぎます。

到着した要求は、責任を持つ機関のルールに従う必要があります。主権型データスペースは、ガバナンス、バリデーター委員会、可視性のルール、取引の受け入れ条件という境界を定めます。

各スペースは独自のポリシーを適用します。スペース間の承認済み取引では、Nexusが必要な価値、コミットメント、証明を一つの論理台帳上で連携させ、非公開の取引データは各境界内に保持します。

ローカルポリシー

各機関は、権限、可視範囲、取引の受付について明示的なルールを維持します。

明確なバリデーター委員会

制限付きの処理は、独立した別チェーンになることなく、独自の委員会を利用できます。

承認に基づく相互運用

スペースの境界を越えるのは、承認された価値と証拠だけです。非公開の状態全体は渡しません。

プロトコル全体図

主権型データスペース

公開スペースと制限付きスペースは、独自のローカルポリシーを保ち、明示的に承認された処理だけが境界を越えます。

主権型データスペースと共有台帳の境界主権型スペースと公開スペースは、それぞれ異なる内部ルールを維持します。主権型側は非公開データをローカルに保持し、コミットメントと証明を共有します。公開側はデータと証明を外部に渡せます。両者は、スペース識別子、ルート、マニフェスト、クォーラム証明書を記録する一つの共有台帳にコミットメントを結び付けます。独自のルール。共通の履歴。主権型公開ローカルデータは内部に保持ポリシーに従って公開コミットメント+証明データ+証明一つの共有台帳

公開環境と主権型環境が、異なる境界を保ちながら一つのエンジンを共有します。

  1. 公開スペースと制限付きスペースは、それぞれ独自のローカルポリシーを適用します。
  2. 明示的に承認された要求が境界に到達します。
  3. 承認された証拠と価値だけがスペースの境界を越えます。
03

データスペース間のアトミック取引

異なる主権型システム間でも、支払いと資産の引き渡しを連携させ、同時に決済します。

アトミック取引(AMX)は、関係するすべてのデータスペースと、読み取り・変更する状態を指定します。各スペースは共通のスナップショットから自分の処理を準備します。Nexusは、必要な結果がすべて有効な場合にのみ変更を確定します。

いずれかのスペースが準備できない場合や、証拠の検証に失敗した場合、取引全体を中止し、部分的な変更は残しません。非公開スペースは、取引データを内部に保ったままコミットメントと証明を提供できます。

すべて実行、またはすべて取り消し

参加する全スペースを同時に確定するか、部分的な決済を一切残さず取り消します。

明示された範囲

参加するデータスペースと、予定される読み取り・書き込みを、確定前に確認できます。

境界で機密を保護

制限付きスペースは、生の非公開データの代わりに状態コミットメントと妥当性の証拠を外部に渡せます。

相互運用性

データスペース間のアトミック取引

二つの参加委員会が一つの権限スナップショットに基づいて仮適用し、2-of-2のラッチで支払いと引き渡しを交換してから、ともに確定またはロールバックします。

データスペース間のアトミック取引二つの参加委員会が一つの権限スナップショットに基づいて仮適用し、2-of-2のラッチで支払いと引き渡しを交換してから、ともに確定またはロールバックします。

二つのローカルな変更を、一つの共有結果に。

  1. 双方のデータスペース、読み書きの対象、共通の権限文脈のスナップショットを宣言します。
  2. A₀ → A₁とB₀ → B₁を仮適用し、両委員会がPrepareクォーラム証明書(QC)を発行します。
  3. 両方の証明をNexusに送り、双方のスペースの準備が整うまで待ちます。
  4. 一つのアトミックなロックの下で、支払いと引き渡しを逆方向へ動かします。
  5. 正規のAMX受領記録で双方を確定するか、部分的な状態変更を残さず両方のルートを元に戻します。
04

決定論的決済ルーター

取引のローカルな支払義務を、運用者が再現・照合できる決済結果に変換します。

取引の照合に向けて、決済ルーターは正確な数量換算、設定済みのマージンとヘアカット、各実行レーンの準備金バッファ規則を使って支払義務を計算します。同じ入力とルールからは、常に同じ結果が得られます。

各ブロックは決済をレーンとデータスペースごとにまとめ、結果のコミットメントとバッファー状態を記録します。受領記録と運用指標により、運用者と監査者は共通の記録を照合できます。

正規変換

厳密な数量、オラクル入力、マージン、丸めルールから、再現可能な結果を生成します。

準備金の保護策

設定したバッファー状態に応じて、警告、処理制限、XORのみでの決済、決済停止を選択できます。

レーンごとの証拠

決済のコミットメントと運用テレメトリは、同じレーンとデータスペースの識別情報を共有します。

支払い

決定論的決済ルーター

正規化した金額、ポリシーに基づく経路、レーンのコミットメント、照合用受領記録が、一つの再現可能な流れを構成します。

決定論的決済ルーター正規化した金額、ポリシーに基づく経路、レーンのコミットメント、照合用受領記録が、一つの再現可能な流れを構成します。

再現可能な債務、確認できる準備残高、照合に使える受領記録。

  1. 金額、オラクル入力、マージン、流動性ポリシーを検証します。
  2. 正規のXOR債務額と適用するヘアカットを計算します。
  3. レーンの決済バッファーとポリシー状態を検査します。
  4. レーンのコミットメントを確定し、照合用の受領記録を出力します。
02 · 実行

すべての結果を検証可能に

次に、この取引の実行をたどります。ネットワークは一貫した処理を行い、使用する処理能力を管理し、確定結果に合意しなければなりません。受信側の機関には、独立して検証できる証拠が必要です。

問い双方が同じ確定結果を信頼するには?

双方が確定結果を照合でき、別のシステムも信頼できる起点からその確定性を検証できます。

05

Hyperledger Iroha 3の基盤

参加するすべてのバリデーターに、共通の取引実行ルールを提供します。

ここまでの交換には、参加者が検証できる実行基盤が必要です。Hyperledger Iroha 3がそれを提供します。Toriiが要求の入口となり、Kotodamaがプログラムをコンパイルし、Iroha Virtual Machine(IVM)がそのロジックを決定論的に実行します。

実行レーンは並列に処理を進めます。合意機構のSumeragiが結果に合意し、Kuraが確定済みブロックを保存します。レーンを追加・廃止しても、これらが一つの台帳履歴を維持します。

チューリング完全なランタイム

Kotodamaはプログラムを、バリデーターが安全に実行できるIVMバイトコードにコンパイルします。すべてのピアが、同じ制約付きロジックを実行します。

稼働中のレーン管理

レーンを追加・廃止すると、ルーティング、マニフェスト、テレメトリが適応します。新しいチェーンは不要です。

一つの正規台帳

並列レーンで処理量を増やしても、Sumeragiによる確定とKuraによる永続化は、一つの正規履歴に集約されます。

プロトコル全体図

Iroha 3の基盤

Toriiによる受け入れ、Kotodamaによるコンパイル、IVMでの決定論的実行、レーンへの振り分け、そして一つの正規コミット。

Hyperledger Iroha 3が一つのチューリング完全な台帳を拡張する仕組みToriiが要求を受け入れ、KotodamaがプログラムをIVMランタイム向けにコンパイルします。ランタイムは複数のレーンに処理を振り分け、稼働中にもレーンを追加できます。SumeragiとKuraが、一つの正規台帳を確定します。一つのエンジン。一つの正規台帳。Torii取引を受け付けるKotodamaプログラムをコンパイルIroha VM決定論的実行レーンSumeragi + Kura → 確定履歴

一つのランタイム。複数のレーン。一つの台帳。

  1. Toriiが署名済みの要求を受け入れます。
  2. Kotodamaプログラムは、決定論的にIVMで実行するバイトコードへコンパイルされます。
  3. ランタイムが、割り当てられたレーンに結果を振り分けます。
  4. SumeragiとKuraが、一つの正規コミットを確定します。
06

レーンとマージ台帳

一つの台帳履歴を保ちながら、より多くの処理を並列に実行します。

決済量が増えたら、独立した処理を別々の実行レーンに振り分けられます。各レーンは処理を実行し、結果の状態に対するコミットメントを生成します。

マージ台帳は、それらのコミットメントを一つの順序付き履歴にまとめます。機関が実行能力を増やしても、利用者と資産は同じ台帳を共有し続けます。

標準で並列実行

処理量の多いワークロードを複数レーンに分散し、一つの実行経路への集中を防ぎます。

一つの共有履歴

マージ台帳が、断片的なシャードの寄せ集めではなく、一つの台帳としてネットワークを維持します。

乱立するブリッジを削減

拡張によって増やすのは処理能力です。チェーン、ラッパー、ブリッジ処理は増やしません。

プロトコル全体図

レーンとマージ台帳

並列のワークロードが独立したコミットメントを生成し、一つの正規マージ台帳ブロックに合流します。

並列レーンを一つの台帳に統合各レーンは独自のブロックと状態更新を保持し、コミットメントを一つの統合台帳へ送ります。共有履歴を分断せずに処理能力を高められます。並列の処理。一つの履歴。レーン01レーン02レーン03コミットメントを統合一つの台帳

並列レーンは別々のチェーンに分かれず、一つの台帳に合流します。

  1. 独立したワークロードが並列実行レーンに入ります。
  2. 各レーンが、認証済みの状態コミットメントを生成します。
  3. マージ台帳が、それらのコミットメントを一つのブロックに順序付けます。
07

稼働中のレーン管理

合意で承認された更新により、金融機関の処理量に合わせて実行能力を調整します。

運用者は、承認済みの署名付き取引でレーンを追加・置換・廃止できます。計画は、運用者が確認した正確なカタログと稼働中のレーンインスタンスに結び付きます。カタログが古い場合、計画が無効な場合、要求に権限がない場合は、構成を変更しません。

合意によって更新が確定すると、すべてのピアが同じカタログを適用し、経路と上限を更新してストレージを整合させます。認証済みの処理が未統合または未適用のままでは、レーンを廃止できません。

合意による管理

ライフサイクルの変更には通常の署名済み取引を使い、ブロックの確定とともに公開します。

現状との照合

カタログとインスタンス世代のコミットメントにより、遅れて届いた要求が別の構成を変更することを防ぎます。

連携した整理処理

ルーティング、マニフェスト、ストレージ配置、データ可用性の状態、リレーキャッシュを一緒に更新します。

拡張する

稼働中のレーン管理

一つの正規台帳を維持したまま、処理能力を追加し、経路を設定し、監視し、廃止できます。

稼働中のレーン管理一つの正規台帳を維持したまま、処理能力を追加し、経路を設定し、監視し、廃止できます。

すべてのピアが従う一つの確定計画に基づき、処理能力を変更します。

  1. 現在のカタログを確認し、レーンのライフサイクル計画に署名します。
  2. 権限、カタログのコミットメント、インスタンス世代、安全性条件を検証します。
  3. 構成更新を確定し、キューの振り分けを更新します。
  4. レーンを稼働させるか、残りの処理を完了させてから廃止します。
08

Sumeragi合意

並列の処理を、バリデーターが合意する一つの確定結果にまとめます。

Sumeragiは、提案されたブロックを確定する合意機構です。バリデーターはPrepareとCommitの二段階で認証します。各クォーラム証明書(QC)は、投票を正確なブロック、その高さ、固定済みバリデーター名簿、状態遷移に結び付けます。

バリデーターはPrepareの前にブロックを検証・永続保存し、Commitの前にロックを保存し、適用の前にCommit QCによる決定を永続化します。矛盾する投票は拒否して証拠として記録し、クォーラムには数えません。

二段階の認証

PrepareとCommitのクォーラム証明書が、確定までの過程を明確にします。

署名前に永続化

プロトコルを進める前に、本体、投票の意思、ロック、決定をそれぞれ永続化します。

持ち運べる証拠

結果とともに確定記録を渡せるため、リレーや監査者が確定性を独立して検証できます。

プロトコル全体図

Sumeragi合意

正確なブロックがPrepareとCommitのクォーラム証明書を経て確定します。矛盾する投票は拒否し、報告します。

Sumeragi合意が確定性に達する仕組みリーダーが正確なブロック本体を提案します。バリデーターは検証して永続保存した後、Prepareクォーラム証明書を作成します。続いてロックを永続化し、Commitクォーラム証明書を作成し、決定を永続化してブロックを適用します。矛盾する投票は集計せず、拒否して証拠として報告します。一つのブロック。一つの確定判断。本体を提案。投票を認証。決定を永続化。ブロック高 + ビューh · r · 固定済み名簿 + 投票権02 · 検証と保存01提案b7e1…本体+マニフェストハッシュ · ペイロード · ルート正確本体有効 + 永続化済み矛盾を拒否 · 証拠を保存03PREPARE QC有効 + 利用可能クォーラム達成04 · ロック済み05Commit QC永続化した決定集約BLS署名06 · 確定決定を永続化済みCommit QC+正確な対象正確な本体を適用済み決定論的な状態ルートブロック高h+1へ正規履歴を更新

バリデーターはPrepareとCommitの両段階で同じ正確な本体を認証します。Commit QCは、持ち運べる確定性の証拠になります。

  1. 指定されたリーダーが、署名済みの提案とペイロードのマニフェストを配信します。
  2. バリデーターは正確な本体を再構成・検証し、永続的に保存します。
  3. 必要なバリデーター数と投票権でPrepareを認証します。
  4. バリデーターは、Commit投票を公開する前に正確なロックを永続化します。
  5. Commitクォーラム証明書が、その正確なブロックを確定します。
  6. 決定を永続化し、正確な本体を適用して、次のブロック高へ進みます。
09

検証可能な確定性の証明

受信側の機関に、信頼できる起点から検証可能な取引確定の証拠を渡します。

持ち運べる証明は、正規のブロックヘッダーとSumeragi合意の正確な永続記録を一つにまとめます。その記録には、固定されたブロック高の文脈、認証されたブロック対象、実行コミットメント、Commitクォーラム証明書(QC)、バリデーター名簿に対応する鍵保有証明が含まれます。

受信側は、各記録の結び付き、署名者の所属と順序、バリデーターの鍵保有、集約BLS署名を検査します。バリデーター数と投票権の両方の閾値を満たす必要があります。最初の証明を受け入れる前に、独立して信頼するチェーンと文脈のアンカーにも結び付けます。

正確な証拠

認証された対象、実行ルート、コミット証明書、固定済みバリデーター名簿、鍵の保有証明を保持します。

二重のクォーラム

署名者集合は、異なるバリデーターの必要数と、3分の2を厳密に超える投票権の両方を満たす必要があります。

信頼の起点は外部に

証明に含まれる名簿は、それ自体の正当性を保証できません。最初に受け入れる文脈は、独立した信頼できる経路を通じて固定します。

確定性

検証可能な確定性の証明

正規のヘッダーと正確なSumeragi確定記録を持ち運べる証拠にまとめ、検証者が独立して信頼するチェーンの文脈と照合します。

検証可能な確定性の証明正規のヘッダーと正確なSumeragi確定記録を持ち運べる証拠にまとめ、検証者が独立して信頼するチェーンの文脈と照合します。

持ち運べる証拠が、あるシステムの確定結果を別のシステムの検証につなぎます。

  1. ヘッダー、認証対象、実行ルート、Commit証明書、固定済み名簿、鍵保有証明を集めます。
  2. 正確な証明記録を、持ち運べるNorito証明エンベロープに封入します。
  3. 証明を、想定するチェーンと、別途信頼を確立した文脈のアンカーに結び付けます。
  4. 確定性を受け入れる前に、構造上の結び付き、両方のクォーラム閾値、署名者順序、鍵保有、集約BLS署名を検査します。
03 · プログラマビリティ

ポリシーを実行に移す

交換には、明確な条件も必要です。操作できるアカウントを定め、支払いと引き渡しの条件をコード化し、承認された操作をいつ実行するかを決めます。共通の記録が、これらのルールと周辺のアプリケーションをつなぎます。

問い誰が、どの条件と制約の下で操作できるか?

プログラムが交換条件を表現し、権限が実行できる主体を定めます。

10

Kotodamaプログラム

市場、決済、アプリケーションのルールをコードで表現します。

共通の実行・確定モデルが整えば、チームはアプリケーションの動作を定義できます。Kotodamaは、市場ロジック、支払い条件、機関のポリシーをプログラムで表現するための言語です。

コンパイラーがプログラムをIroha Virtual Machine(IVM)のバイトコードに変換します。バリデーターはランタイムの制約内で同じロジックを実行し、同じ状態遷移を導きます。

高水準のソース

開発者はランタイム内部の低水準コードではなく、読みやすいプログラムを書けます。

どこでも同じ出力

すべてのバリデーターが共有する一つの実行モデルに向けてコンパイルします。

ポリシーとプロダクト

同じプログラミングモデルで、市場ロジック、自動化、制御を表現できます。

プロトコル全体図

Kotodama + IVM

読みやすいソースを制約付きバイトコードにコンパイルし、すべてのピアで同じ決定論的な状態を生成します。

Kotodamaのコンパイルの流れ短いKotodamaプログラムを、決定論的なIVM出力にコンパイルします。実行先はIVMであり、実行範囲には上限が設けられ、すべてのバリデーターに同じ出力バイト列が渡されます。ルールを書く。同じ結果を繰り返す。policy.koKotodamaソースコンパイルIVMバイトコードすべてのノードで同じ結果

高水準プログラムをコンパイルし、ネットワーク全体で共有する一つの決定論的ランタイムで実行します。

  1. 読みやすいKotodamaソースをIVMバイトコードにコンパイルします。
  2. 実行は、上限付きのサイクル予算を消費します。
  3. すべてのバリデーターが同じ状態遷移を導きます。
11

Iroha専用命令

台帳が標準で扱える操作から、日々の資産フローを組み立てます。

多くのアプリケーションは、資産の登録、発行、送付、権限の付与、焼却という共通の基本操作を使います。Irohaはこれらを、型付きのネイティブ命令として提供します。

各命令が、必要な権限とポリシーを検査します。順序付きバッチでは、依存する複数の操作を準備してまとめて確定できます。いずれかの命令が失敗すれば、準備した変更をすべて破棄します。

組み込み操作

よく使う台帳操作は、プラットフォーム自体に組み込まれています。

開発を加速

共通の基本機能を組み合わせることで、同じ処理を一から作り直す必要がなくなります。

監査を明快に

監査者は、よく似た多数の仕様ではなく、一つのルール体系を確認できます。

プロトコル全体図

Iroha専用命令

登録・発行・送付・権限付与・焼却の型付き命令を順に実行し、明示的な権限の下で決定論的な台帳状態を準備します。

ネイティブな状態遷移としてのIroha専用命令署名済みの順序付きバッチが、資産定義の登録、100単位の発行、30単位の送付、権限の付与、10単位の焼却を行います。各型付き命令は権限とポリシーの検査を通過し、決定論的な台帳更新を準備して、一つの確定状態を構成します。五つの命令。一つの状態変更。組み込み操作を順番に適用。署名済みISIバッチ各ステップの権限 + ポリシー仮適用の台帳状態順序通り実行 · 失敗時は仮変更をすべて破棄資産登録iroha.register登録済みCREDIT#CBDC供給量0100発行iroha.mint発行済み +100供給量100発行者10030送付iroha.transfer30送付済み発行者70受信者30 · 供給量100アクセス許可iroha.grant承認済み権限 +1残高に変更なし10を焼却iroha.burn10を焼却済み供給量90発行者60状態確定済み順序付きISIバッチ供給量90 · 発行者60 · 受信者30 · 権限+1

型付き命令の順序付きバッチが決定論的な台帳変更を準備し、一つの確定状態にまとめます。

  1. 供給量ゼロでCREDIT#CBDCを登録します。
  2. 権限とポリシーを確認し、発行者に100単位を発行します。
  3. 総供給量を変えずに、受信者へ30単位を送付します。
  4. 残高を変えずに、一つの権限を付与します。
  5. 発行者の10単位を焼却し、最終供給量90を確定します。
12

ケイパビリティ・マニフェスト

各参加者のアカウントに、必要な権限だけを定められた期間付与します。

ケイパビリティ・マニフェストは、ユニバーサルアカウントが一つのデータスペースで行える操作を記録します。許可するプログラム、メソッド、資産、必要に応じてアトミック取引での役割を指定します。有効化と失効のエポックが、権限の適用期間を定めます。

任意の最大金額設定で当該要求を制限します。許可された場合は、許容量の集計期間もメタデータとして返します。一致する拒否ルールが優先され、有効化・失効・取り消しはライフサイクルイベントで監視できます。

最小権限

権限の範囲を、指定したデータスペース、プログラム、メソッド、資産、役割に限定します。

決定論的な上限

当該金額を設定された上限と照合し、スロット単位・分単位・日単位の許容量の集計期間を許可結果とともに返します。

拒否を優先

一致する明示的な拒否ルールが許可候補に優先し、構造化した理由を返します。

ポリシー

ケイパビリティ・マニフェスト

データスペースを指定した要求を、明示された範囲、当該要求の金額上限、拒否優先のポリシーに照らして評価します。

ケイパビリティ・マニフェストデータスペースを指定した要求を、明示された範囲、当該要求の金額上限、拒否優先のポリシーに照らして評価します。

各許可は、特定のアカウント、操作、データスペースに結び付きます。

  1. 対象アカウントを、そのユニバーサルアカウントと有効なマニフェストに対応付けます。
  2. 要求されたデータスペース、プログラム、メソッド、資産、役割を検査します。
  3. 要求のエポックと当該金額をマニフェストの上限と照合します。
  4. 一致する拒否ルールを確認し、許可または構造化された拒否理由を返します。
13

オンチェーン自動化

登録したイベントが発生したら、承認済みの操作を実行します。

権限は操作で何ができるかを定め、トリガーはいつ実行するかを定めます。各トリガーには実行処理、一つのイベントフィルター、権限、繰り返しポリシーを保存します。フィルターは、スケジュール、特定のブロック高などの承認済みパイプラインイベント、台帳データイベント、または権限を持つ呼び出し要求に一致します。

フィルターが一致すると、Irohaは登録された権限と通常の実行ポリシーに従って操作を実行します。権限、繰り返し上限、燃料やサイクル、ガス、実行の深さによって処理を制約します。記録される結果は、トリガー、実行ハッシュ、ステップを識別します。

ネットワーク標準のスケジュール実行

定期実行やイベント駆動の処理に、別のボットやcronサービスは不要です。

一つの厳密なフィルター

登録済みトリガーは、すべての発生源を同時に監視するのではなく、一つの決定論的イベントフィルターに従います。

上限付きの実行

権限、繰り返し回数、燃料やサイクル、ガス、実行の深さによって、自動処理を制約します。

プロトコル全体図

オンチェーン自動化

登録された一つのイベントフィルターが、宣言された権限の下で制約付きの処理を起動し、完了結果を記録します。

オンチェーン自動化の制御ループスケジュール、特定のブロック高、台帳のデータイベント、権限付きの手動呼び出しが、登録済みトリガーに一致すると処理が始まります。Irohaはフィルターを解決し、登録された権限と実行予算の範囲で処理を実行し、状態変更を準備してTriggerCompletedの結果を記録します。

登録された一つのイベントフィルターが制約付きの操作を起動し、その完了結果を記録します。

  1. 特定の承認済みブロックに一致するフィルターを持つトリガーを選びます。
  2. 一致したイベントに対応する、登録済みの実行処理、権限、残り実行回数を読み込みます。
  3. フィルター、有効状態、権限、実行上限を検査します。
  4. 状態変更を仮適用し、成功時に有限の残り実行回数を一つ減らします。
  5. TriggerCompletedは、トリガーID、実行ハッシュ、ステップ、結果を記録します。
14

Noritoコーデック

すべての参加者が同じデータを一意に読み取れるようにします。

プログラム、命令、証明には共通のデータ形式が必要です。Noritoは、型付きの値を定められたフィールド順で符号化します。40バイトのNRT0ヘッダーが、バージョン、想定スキーマ、圧縮方式、長さ、チェックサム、レイアウトを示します。

読み取り側はこれらのフィールドとCRC64-XZ整合性チェックサムを確認してから、値を復元します。同じスキーマと明示的な非圧縮レイアウトであれば、同じ値は同じバイト列になります。任意の圧縮を使っても復号後の内容は保たれますが、圧縮後のバイト列はバックエンドによって異なる場合があります。

スキーマに紐付くフレーム

16バイトのスキーマハッシュが、ペイロードをデコーダーの想定する型に結び付けます。

ストリーミング検証

読み取り側は宣言されたペイロードを読み取り、そのCRC64-XZ整合性チェックサムを検証します。

正確な復元

正規のフィールド順序と明示的なレイアウトルールにより、変換と復元の曖昧さをなくします。

プロトコル全体図

Noritoコーデック

型付きの値をスキーマに結び付いたNRT0フレームに変換し、チャンク単位で読み込み、形式と整合性の検査を経て正確に復元します。

Norito正規コーデックの往復処理型付きの送付記録を、40バイトのNRT0フレーム内の正規ペイロードに変換します。ストリーミング読み取り処理がバージョン、レイアウトフラグ、スキーマハッシュ、宣言された長さ、CRC64-XZ整合性チェックサムを検証し、同じ型付きの値を復元します。

一つの型付きの値を検証済みNRT0フレームに変換し、曖昧さなく復元します。

  1. 順序付きフィールドを、一つの正規ペイロードにシリアライズします。
  2. スキーマ、長さ、チェックサム、圧縮、レイアウトのメタデータを持つNRT0ヘッダーを追加します。
  3. 読み取り側は、ヘッダーとペイロードをチャンク単位で受け取ります。
  4. マジック値、バージョン、レイアウトフラグ、スキーマ、宣言長、CRC64-XZを順に確認します。
  5. 検証済みペイロードから、元の型付きの値を復元します。
15

SoraNet + SoraFS

アプリケーションがコンテンツを取得し、届いた内容を検証できるようにします。

アプリケーションには、取引外のデータも必要です。SoraNetがその要求を運びます。厳格なリレーモードでは、秘匿化したコンテンツ要求が入口・中継・出口のリレーを通ります。SoraFSは、ルート、チャンク順序、長さ、想定ダイジェストを指定するマニフェストを使ってコンテンツを取得します。

プロバイダーのチャンクを検証し、コンテンツを再構成して取得証拠とともに返します。承認された台帳上の支払いは、別の操作として扱います。これらを組み合わせれば、サービスを要求し、届いた結果を確認し、明示的なポリシーに従って支払うソフトウェアを支えられます。

選択済みリレー回線

秘匿化したリクエストが、選択された入口・中継・出口を通ります。

マニフェストに基づく取得

マニフェストは、取得時に満たすべき正確なチャンク、順序、長さ、ダイジェストを定めます。

検証してから届ける

プロバイダーのチャンクを検証・再構成してからオブジェクトを返します。承認された支払いは別の操作として組み合わせられます。

プロトコル全体図

SoraNet + SoraFS

秘匿化したコンテンツ要求が、選択された3ホップのSoraNet経路を通ります。SoraFSはマニフェストを解決し、複数のプロバイダーからチャンクを取得・検証してペイロードを復元し、検証済みオブジェクトを取得証拠とともに返します。

SoraNetの通信とSoraFSの取得コンテンツアドレスによる要求を秘匿キーに変換し、選択された3ホップのSoraNet経路を経てSoraFSに届けます。SoraFSはマニフェストを解決し、複数のプロバイダーからチャンクを取得してすべて検証し、ペイロードを復元します。検証済みオブジェクトは取得証拠とともに返されます。

SoraNetがリレー経路を選択し、SoraFSがコンテンツを取得・検証・再構成します。

  1. コンテンツアドレスによる要求を秘匿キーに変換します。
  2. 役割、バージョン、厳格な通信ポリシーに基づき、SoraNetの経路を選びます。
  3. 要求は、入口・中継・出口のリレーを通過します。
  4. SoraFSがマニフェストと、想定されるチャンクのダイジェストを解決します。
  5. 適格なプロバイダーが、順序付きの復元バッファーへチャンクを返します。
  6. 各チャンクと完成したペイロードが、マニフェストのコミットメントと一致します。
  7. 検証済みオブジェクトと取得証拠を、選択した回線を通じて返します。
  8. 配信が完了します。承認済みの台帳上の支払いは、別途組み合わせられる独立した操作です。
04 · エージェント経済

AIエージェントへ経済を広げる

同じ交換の仕組みを、機関に代わって計算資源などのサービスを購入するソフトウェアエージェントへ広げられる可能性があります。これは将来のユースケースです。利用できるアカウント、権限、支出の権限は、引き続き人が定めます。

問い承認されたソフトウェアエージェントも参加できるか?

将来のエージェント経済でも、同じ決済の構成要素を使い、人や機関が権限を割り当てます。

16

AIエージェントのための共有経済

将来のユースケース · Irohaはアカウント、資産、ポリシー、決済の基本機能を提供します。AIモデルはプロトコルの外部で動作します。

交換の仕組みを、将来のサービス経済へ広げます。AIエージェントも、同じアカウント、権限、決済のルールに従ってサービスを購入できる可能性があります。

金融機関が、他の提供者から計算資源を買う権限をエージェントに与える場面を考えてみましょう。エージェントは、通常の鍵で管理されたIrohaアカウントを通じて操作します。利用できる役割、権限、予算、支出上限、取引権限は、人や機関が割り当てる想定です。

承認済みアカウントは、資産の登録・発行・送付・交換の命令を組み合わせられます。これらを使って、計算資源のクレジット、データセットへのアクセス、モデルのライセンス、ストレージ容量、エネルギー単位、作業の受領記録、デジタル成果物の権利を表せます。

Iroha Virtual Machine(IVM)上のKotodamaプログラムとオンチェーントリガーは、支払い、引き渡し条件、定期処理、受領記録を自動化できます。アトミック取引では、データスペースをまたぐ支払いと資産の引き渡しを、ともに成功させるか、ともに取り消せます。Noritoの正規記録とSumeragiの確定性により、承認・決済された内容を監査できる履歴を提供できます。

これはIrohaの経済、自動化、ポリシーの基本機能を用いる将来のユースケースです。IrohaはAIモデルを実行せず、アカウントがAIによって操作されているか判定せず、エージェントに無制限の自律性を与えることもありません。

機械可読な価値

承認済みアカウントは、代替可能な資産、NFT、サービス利用権を作成・交換できます。

アトミックな交換

支払いとデジタルな引き渡しを同時に確定するか、どちらにも部分的な結果を残さず終了できます。

人が定める権限

役割、ケイパビリティ、予算、上限、監査記録が、エージェントの操作範囲を定めます。

将来のユースケース

AIエージェントのための共有経済

許可されたソフトウェアエージェントは、支払いとデジタル権利をアトミックに交換し、正規の受領記録を残せます。失敗時は部分的な移転を残さずロールバックできます。

AIエージェントのための共有経済許可されたソフトウェアエージェントは、支払いとデジタル権利をアトミックに交換し、正規の受領記録を残せます。失敗時は部分的な移転を残さずロールバックできます。

アカウント、資産、人が定めたルールから構成する、将来のサービス経済。

  1. 購入者アカウントが、データ、計算資源、ストレージなどの機械可読なサービスを要求します。
  2. アカウントの権限、残高、支出上限を確認します。
  3. 承認済みの提供者アカウントが、サービス資産を登録または発行します。
  4. 支払いと資産の引き渡しを、データスペース間の一つのアトミック取引にまとめます。
  5. 価値がプロバイダーに移り、サービスを受ける権利が購入者に移ります。
  6. 双方を同時に確定するか、双方を明示的にロールバックします。
  7. オンチェーントリガーが、運用者の監査に使える正規の受領記録を出力します。
  8. 第三の承認済みアカウントも、自らのポリシーに従って資産を取得・交換できます。
05 · プライバシー

取引を支えるデータを保護

最初の機関間取引に戻りましょう。双方が必要とするのは、互いの記録への無制限なアクセスではなく、必要な確認を通過した証拠です。元のデータを保護し、承認済みの証明を受け入れ、コミット済み情報を復元可能に保ちます。

問い何を証明し、何を非公開に保てるか?

参加者は必要な証拠を確認できます。保護された状態はローカルに保ち、コミット済みの情報は復元可能にします。

17

FASTPQ証明パイプライン

実行トレースをデータスペース内に保持しながら、非公開実行の証拠を検査します。

機関の決済にも自動化されたサービスにも、機密性の高い処理が含まれます。FASTPQは機密実行の証明パイプラインを提供します。非公開の実行トレースはデータスペース内に保ち、そのコミットメントを証明の入力にします。

受信側は、必要な証拠を検証してから結果を受け入れるか判断します。非公開トレース全体を受け取らずに、その証拠を確認できます。

非公開トレース

機密性の高い実行は、それを行ったデータスペースの内部に保ちます。

公開コミットメント

正規のコミットメントによって、非公開の結果自体を公開せずに、その結果と証明を結び付けます。

検証による受け入れ

必須の証明は、キューに入る前に公開された受付ルールで合否を判定できます。

プロトコル全体図

FASTPQ証明パイプライン

非公開トレースのコミットメントから、トレースを開示せずに公開証明入力と検証済みの判断を得ます。

FASTPQ証明パイプラインFASTPQは行トレースとセレクター列を用い、Poseidon2と状態パスでコミットメントを作成し、データスペースID、スロット、ルートなどの公開入力に照らして検証します。実行は非公開。検証は公開。非公開トレースPoseidon2コミットメント証明検証済み公開入力スペース · スロット · ルート

非公開のトレースはローカルに残し、受信側はその証明を検査します。

  1. 非公開の実行トレースはデータスペース内に保持します。
  2. トレースはローカルに保ち、コミットメントと証明入力を公開します。
  3. トレースを開示せず、検証によって受け入れを判断します。
18

プライバシー証明による受け入れ

非公開取引を実行キューに入れる前に、承認済みの証拠を要求します。

非公開の取引にも、検証できる証拠が必要です。各レーンのマニフェストには、Merkleルートや証明記述子など、処理内容に対して承認されたプライバシー・コミットメントを登録します。取引は、保護対象の状態を公開経路に出さずに、そのコミットメントの証拠を添付できます。

受付時に証拠を宛先レーンのレジストリと照合し、レーンのコンプライアンスルールを適用します。証明が必須の取引では、ウィットネスの欠落、不正な形式、未登録コミットメントへの紐付けがあれば拒否します。

マニフェストに紐付くルート

ガバナンスは、安定したコミットメント識別子と承認済みの検証パラメーターを公開します。

一つの受け入れ経路

ランタイムと監査ツールは、同じ正規の証明の紐付けを評価します。

不明なら拒否

証明が必須の取引は、適切な証拠がなければキューに入る前に拒否されます。

プライバシー

プライバシー証明による受け入れ

非公開レーンが、基となる主権型システムの活動を開示せず、承認済みルートに対するコミットメントを証明します。

プライバシー証明による受け入れ非公開レーンが、基となる主権型システムの活動を開示せず、承認済みルートに対するコミットメントを証明します。

保護対象の状態はローカルに保持し、承認済みの証拠に基づいて受け入れます。

  1. 取引を対応するレーンに振り分け、稼働中のコミットメントレジストリを読み込みます。
  2. 添付された証明を、登録済みのコミットメント識別子と照合します。
  3. ウィットネスを検証し、レーンのコンプライアンス要件を評価します。
  4. 有効な証拠を受け入れ、証明がない経路は明示的に拒否します。
19

データ可用性と証明

確定済み履歴を支えるデータを、復元可能な状態に保ちます。

結果の検証は、信頼を支える一要素です。ネットワークには、取引完了後もコミットメントの元となるデータを復元できることが必要です。

確定済みデータを、復元可能なシャードに符号化します。可用性サンプリングで各断片を取得できるか検査し、必要な閾値以上のシャードから元のデータを復元します。

復元できる履歴

確定済みデータは、書き込みから長い時間が経っても復元できる必要があります。

取得できるデータに裏付けられた証明

可用性の検査によって、信頼を基のデータに結び付けます。

長く使える記録

この技術スタックは、記録が長年にわたって役立つ必要のあるシステムのために設計されています。

プロトコル全体図

データ可用性

分割されたデータをサンプリングし、一部が失われても残りの断片から復元します。

データ可用性のサンプリングと復元マニフェストが、コミット済みのチャンク集合を記述します。ランダムな可用性検査で選ばれた断片を確認し、十分なチャンクが残っていれば、ネットワークはコミットメントの元となる全データを復元できます。断片を検査。全体を復元。確定済みチャンクランダムな検査復元したデータ復元には、十分な数の利用可能なチャンクが必要です。

サンプリングと復元の経路が、ネットワークの記憶を守ります。

  1. 確定済みデータを、復元可能なシャードに符号化します。
  2. 一部のシャードが欠けている場合も含め、バリデーターは断片をサンプリングして可用性を確認します。
  3. 残った断片が閾値を満たせば、元のデータを復元できます。