アーキテクチャ
ウォレットはブラウザ内にあります。共有サービスが取引のマッチングとトークンの発行を行います。 独立したオラクルがイベントの結果を報告します。サービスはその報告を中継し、検証します。 このページでは、bitCaster の利用時に何に依存するかを説明します。
各ユーザーはブラウザでアプリの独自インスタンスを実行します。すべてのユーザーは同じ共有インフラストラクチャに接続します。
Cashuミント
Section titled “Cashuミント”ミントは Cashu ecash トークンを発行します。イベントの結果に応じて受取額が決まる マーケットトークンも発行します。結果が検証されると、勝ったトークンを sats に 償還できます。負けたトークンには受取額がありません。
初回リリースでは、bitCaster が運営する1つのミントを使用します。 償還の履行はミントに依存します。サービスが停止すると、トークンの操作が 遅れることがあります。ウォレットの鍵を手元に持ち、暗号化バックアップを保存しても、 この依存はなくなりません。
bitCasterアプリ
Section titled “bitCasterアプリ”アプリはブラウザ内で動作し、ウォレットをローカルに保存します。 ウォレット操作ではミントと、マーケット情報や取引ではマッチングエンジンと通信します。 一部の支払いや取引決済では、処理にエンジンが関与します。 すべてのトークン操作がブラウザからミントへ直接送られるわけではありません。
暗号化バックアップはウォレットの復元に役立ちます。バックアップサービスは その内容を読めません。ただし、限定的なアカウント情報や活動メタデータは見えます。 ウォレットの暗号化バックアップを参照してください。
マッチングエンジン
Section titled “マッチングエンジン”マッチングエンジンは各マーケットの中央指値注文板(CLOB)を維持します。買い注文と売り注文をマッチングし、リアルタイムの価格更新をブロードキャストします。また、Nostrオラクルネットワークに接続し、登録済みマーケットに関係するオラクルのアナウンスメントとアテステーションを監視・検証し、アテステーションが到着したときにマーケットのクローズを調整します。
通常のマーケット一覧や詳細ページでは、アプリはまずマッチングエンジンからマーケット状態、期限、アウトカム、注文板データを読み取ります。これはミントのコンディションデータに対する高速なキャッシュとして扱います。一覧や詳細を素早く表示するためのものです。一方で、資金が移動する重要な操作では、操作が確定する前にミントが強制する検証、またはミントとの新しい比較に依存する必要があります。
マッチングエンジンは共有サービスです。障害が起きると、新しい取引ができなくなる ことがあります。ミントも共有されます。ウォレットがローカルにあるだけで、 システムが運営者に依存しなくなるわけではありません。
オラクルネットワーク
Section titled “オラクルネットワーク”オラクルはアナウンスメントとアテステーションをNostrリレーへ公開できます。これらのリレーは信頼されない公開ネットワークとして機能します。イベントを配送・キャッシュ・遮断することはできますが、無効なアナウンスメントやアテステーションを有効にすることはできません。bitCasterはNostrを発見と監査のための経路として扱い、信頼の根拠にはしません。署名済みDLCオラクルデータはミントやマッチングエンジンへ直接送信することもでき、使用前に検証されます。
オラクルは、現実世界のイベントを告知し、後にその結果を証明するDiscreet Log Contracts(DLC)のエンティティです。オラクルはアナウンスメントとアテステーションをNostrイベントとして公開でき、それにより発見しやすく監査しやすくなります。bitCasterアプリはNostrネットワークから直接オラクルのアナウンスメントを読み取ることができます。特別なサーバーは不要です。
重要なことに、オラクルはbitCasterから完全に独立しています。アプリやecashについて知る必要はありません。DLCプロトコルを使用して現実世界の事実を証明するだけです。
オープンソース
Section titled “オープンソース”ブラウザアプリ、クライアントツール、プロトコル仕様は bitCaster リポジトリで公開されています。 ミントソフトウェアも公開されています。クライアントがウォレットを扱う方法や、 リクエストを作る方法を確認できます。
マッチングエンジンはクローズドソースです。 API仕様 は公開されています。ソースコードの公開はソフトウェアの検証に役立ちます。 ただし、正しい運用、サービスの可用性、ミントによる償還を保証するものではありません。