プロトコルの種類
プロトコルの種類
Section titled “プロトコルの種類”プロトコル オブジェクトを、逆シリアル化されたクラス以上のものとして扱います。準拠したランタイムは、次の 4 つの異なるレイヤーを保持します。
受信した UTF-8 バイト→ 可逆に解析された JSON 値→ Schema 検証済みのプロトコルオブジェクト→ 意味論的に受理された権威ある状態またはローカル投影レイヤーをスキップすると、正規化、検証順序、または権限のバグが発生します。
スカラー プロファイル
Section titled “スカラー プロファイル”すべてのプロトコル オブジェクトは、 JSON、耐久性のあるオブジェクトはローカルの規範的なスキーマに準拠し、プロトコルのタイムスタンプは使用されます。 RFC 3339 追加の決定論的ルールを使用すると、 Signed Document 検証が適用されます (MWP-FND-004)。
- タイムスタンプのスペルを、解析されたインスタントとは別に保存します。書き換えないでくださいハッシュ化または検証の前にそれを実行します (MWP-FND-005)。
- Base64url をパディングなしで正規にデコードし、小文字を使用します
sha256:<64 hex digits>ハッシュし、シーケンス、リビジョン、エポック、バジェットを非ネガティブセーフ内に保管します JSON 整数範囲 (MWP-FND-007)。 - 識別子を完全な絶対 RFC 3986 URI として検証し、それらの URI を比較します受信者側の正規化を考案せずにバイト数を保持 (MWP-FND-008)。
- すべてのスキーマを有効にする
formatアサーションとしてのキーワード、以下を含むuriそしてdate-time(MWP-FND-009)。
スキーマタイプとセマンティックタイプ
Section titled “スキーマタイプとセマンティックタイプ”生成された言語タイプは、JSON スキーマの有用な投影ですが、検証に代わるものではありません。 v0.1 スキーマはドラフト 2020-12 を使用し、不明なコア プロパティを拒否し、宣言された拡張メンバーと承認されたプロファイルを通じてのみ拡張性を認めます (MWP-EXT-010)。
これらのカテゴリを分けておいてください。
| カテゴリー | 例 | 許容境界 |
|---|---|---|
| スカラー | 識別子、タイムスタンプ、ハッシュ、base64url、安全な整数 | 語彙および値プロファイルの検証 |
| 耐久性のある文書 | Mission、WorkItem、Artifact、Evidence、Agent Card | 厳密な JSON と完全な標準スキーマ |
| Signed Document | Command、Event、Approval、Agent Card、Artifact マニフェスト | スキーマと 6 段階の検証 |
| 権威ある国家 | 集計リビジョン、Membership、所有権、リース、予算台帳 | 現在の Organization または Group Authority 遷移 |
| ローカル投影 | カーソル、受信箱、送信箱、Group ごとのキュー、チェックポイント | 権威あるイベントと地元の耐久性のある作業から再構築可能 |
Signed Document の各種類は、MWP-SDV-001 で 1 つの保護時間と予期される署名者を選択します。 First-Admission Record は、独立した署名されていない 9 フィールドのオブジェクトであり、それ自体のバイトを認証できません (MWP-ADM-001)。
コマンドとイベント
Section titled “コマンドとイベント”Command は、1 つの構造化された遷移に対する署名付きリクエストです。そのエンベロープは、安定したアクション ID、バージョン、アクター、種類、ペイロード、相関関係、発行時刻、および該当する Group およびエポック フィールド (MWP-EVT-001) をバインドします。したがって、有効な Command オブジェクトはまだ受け入れられた遷移ではありません。
Event は不変の受け入れられた事実です。 Group イベントには、単調な Group シーケンスと、Group Authority によって割り当てられた集計リビジョンが含まれます。 2 つの Organization スコープのブートストラップ Event 種類では、Group 順序フィールド (MWP-EVT-005) が省略されます。
後の段階で必要な証拠を保存する
Section titled “後の段階で必要な証拠を保存する”デコーダは、次のことを行うために十分な情報を保持する必要があります。
- スキーマ検証の前に、重複するデコードされたメンバー名を拒否します。
- 保護されたタイムスタンプ テキストをバイトごとに比較します。
- RFC 8785 binary64 および Unicode データ モデルを適用します。
- 署名バイトを生成するときに、最上位の
signatureメンバーを正確に省略します。 - 欠落しているデータと、入手できないデータまたは信頼できるデータが不定であるデータを区別する証拠;そして
- 保護された詳細を公開せずに、最初に失敗したセマンティック ステージを報告します。ワイヤー。
重複名の拒否とコンテンツ由来の正規バイトが MWP-EVT-012.順序付けされた検証入力と完全なステージ 4 Registry スキャンは MWP-SDV-015 に従います。これには、MWP-SDV-008 での選択されたキーの検索前の完全な証拠検証が含まれます。部分キャッシュは信頼できる完全性を置き換えることはできません (MWP-SDV-009)。アダプターは、適用可能なリビジョン、完全性、および履歴範囲を確立するか、それができないことを報告する必要があり (MWP-SDV-010)、不明なキーはその完全性が確立された後にのみ権限を持ちます (MWP-SDV-011)。ロスレス保持は MWP-SDV-016 で標準的なステージ分類を保持しますが、保護された診断処理とワイヤセーフ障害境界は MWP-SDV-018 に従います。
JSON スキーマ カタログ で正確なローカル タイプを参照してください。次に、検証、正規化、署名 を実装します。