Prolly: Prollyツリー上に構築されたコンテンツアドレス指定可能な順序付きマップ
Prolly: A content-addressed ordered map built on prolly trees
Rustライブラリのprolly-mapクレートは、バイトキーとバイト値の不変で順序付けられたキーバリューストアであるコンテンツアドレス指定可能なprollyツリーストレージプリミティブを提供します。このツリーは、安定したコンテンツ由来の構造を持ち、構造共有、差分、マージ、バルクロードを効率化します。APIの境界では、TreeはルートのCidとチャンキング/エンコーディングパラメータを記録するConfigを持つ永続的なハンドルです。ノードはプラグ可能なStoreに格納され、操作は影響を受けるパスのみをクローン/書き換え、新しいノードを書き込み、新しいTreeハンドルを返します。非同期および同期の操作エンジンは、ランタイムニュートラルで非同期ファーストです。このライブラリは、ネイティブ近似最近傍検索インデックス、Gitライクなリポジトリレイヤー、およびブラウザベースのビジュアライザーも提供します。キーはバイトで、辞書順にソートされ、KeyBuilderとprefix_rangeを使用して複合キーの構築と名前空間のスキャンをサポートします。Proof APIを使用すると、ストアを開くことなくマップの内容をルートCidに対して検証できます。また、JSONやCBORエンコーディング、バージョン管理された値、Tombstoneによる論理削除などの機能も提供します。Treeハンドルはノードデータを所有せず、ルートCidとConfigのみを記録します。ノードは、キーと値(リーフノードの場合)または子Cid(内部ノードの場合)を格納し、CRABマジックヘッダーを持つ自己記述的な決定論的フォーマットにシリアライズされます。
- Rustライブラリprolly-mapが公開され、コンテンツアドレス指定可能な順序付きマップを実現するprollyツリーのストレージプリミティブを提供する。
- 証明APIによりストアを開くことなくルートCidに対するマップ内容の検証が可能で、分散環境でのデータ完全性検証を効率化する。
prolly-mapはRust製のコンテンツアドレス指定型データ構造ライブラリで、分散ストレージやGitライクなリポジトリ、検索インデックスなど幅広い基盤技術への応用が期待される。特定企業の大型案件ではないが、Web3・分散型システム分野におけるデータ基盤技術として、関連スタートアップやプラットフォーム企業の採用動向に注目する価値がある。