BUD-10はblossom: URIスキームを定義します。これは、サーバーヒント、作者ヒント、想定サイズをファイルハッシュと一緒に持てる、持ち運び可能なblob参照です。

URI形式

blossom:<sha256>.<ext>?xs=<server>&as=<pubkey>&sz=<bytes>

仕様では、小文字の64文字SHA-256ハッシュとファイル拡張子が必須です。拡張子が不明な場合、クライアントは.binを使うべきとされています。

解決手順

クライアントはblossom: URIを段階的に解決します。

  1. xsのサーバーヒントがあれば、出現順に試す
  2. asの作者pubkeyがあれば、各作者のBUD-03サーバーリストを取得して、そのサーバーを試す
  3. 必要なら既知のサーバーやローカルキャッシュにフォールバックする

この順序は実用的です。送信者は即座に取得できるヒントを添えつつ、それらのヒントが古くなっても受信者に回復経路を残せます。

重要性

blossom: URIは通常のメディアURLより、magnet linkに近い振る舞いをします。どのblobを取得すべきかを表し、そのblobをどこで見つけられるかの手掛かりを含みます。1つのホストが永続的に利用可能であることを前提にしません。

任意のszフィールドは、ハッシュに加えて具体的な整合性チェックを提供します。クライアントはダウンロード前後で想定サイズを検証でき、不完全な転送を検出しやすくなり、大きなメディアでもUXを改善できます。


主要ソース:

言及箇所:

関連項目: