詳細ストレージアーキテクチャ
Fermato
Fermato は Iagon のサブスクリプションレイヤーです。ストレージ消費者、Rubato マーケットプレイス、および Cardano スマートコントラクトの間に位置するスタックの部分です。Fermato を通じてストレージを購入し、チェーン上でサブスクリプション状態を管理します(価格はマーケットプレイスから提供され、決済とオンチェーンサブスクリプションレコードは Fermato を通じて行われます)。このページでは、そのオンチェーンサブスクリプションパスを最初から最後まで説明します。より広いプロトコル全体における Fermato については、高レベルアーキテクチャをご覧ください。
情報
Fermato は活発に開発中です。このページで説明されている動作とインターフェースは現在の意図を反映していますが、設計と実装が確定するにつれて変更される場合があります。
概要
オンチェーンサブスクリプション
これらのフローは Fermato を通じて実行されます。このページでは Cardano 上のオンチェーンサブスクリプションレコードと、それが Iagon ストレージアクセスとどのように相互作用するかを説明します。製品の動作とパラメーターはリリースによって異なる場合があります。アーキテクチャガイダンスとして使用し、必要に応じてライブ製品で詳細を確認してください。
オンチェーンサブスクリプションは、Iagon ストレージサブスクリプションを Cardano ブロックチェーンに直接記録します。サブスクリプションが単純に集中型データベースの行として存在するのではなく、スマートコントラクトにロックされた NFT として存在します。誰でもチェーンに問い合わせて、あなたのサブスクリプションが存在するか、何を支払ったか、いつ期限が切れるか、どのティアにいるかを確認できます。
ストレージプランを選択し、ADA またはステーブルコインで支払い、ウォレット署名で認証します。Iagon バックエンドはチェーンを監視し、自動的にサブスクリプションを有効化します。
これは既存のウェブサイトサブスクリプションフローの代替手段です。どちらのパスでも同じ Iagon ストレージサービスにアクセスできます。
あなたのファイルを読み取り、共有、変更できる人は Secure Lake の暗号化されたストレージモデルに従い、サブスクリプションと並んで管理されます。Fermato は、ファイルの権限ではなく、あなたのウォレットに紐づいた支払いとオンチェーンサブスクリプション状態に焦点を当てています。
なぜオンチェーンなのか?
従来のサブスクリプションでは、プロバイダーのデータベースがあなたが支払い顧客であることを示す唯一の記録です。そのデータベースにエラーがあったり、消去されたり、プロバイダーが条件を変更した場合 - 購入したものの独立した証明はありません。
オンチェーンサブスクリプションはこれを変えます。あなたのサブスクリプションはウォレットに紐づいた検証可能なオンチェーンレコードです。
| オンチェーンサブスクリプション | 従来のサブスクリプション | |
|---|---|---|
| サブスクリプションレコード | コントラクトにロックされたオンチェーン NFT - 公開検証可能 | データベースエントリ - プロバイダー管理 |
| 購入証明 | 不変のトランザクション履歴 | 領収書メール(保持している場合) |
| 透明性 | NFT に表示されるすべての条件 | 条件はサーバー側で変更可能 |
| ポータビリティ | アカウントではなくウォレットに紐づく | 1つのプラットフォームのユーザー名/パスワードに紐づく |
| 耐障害性 | バックエンドの停止やデータ損失でも存続 | データベース障害で失われる |
| 支払い | ADA またはステーブルコイン、オンチェーンで決済 | クレジットカード / 法定通貨ゲートウェイ |
| 認証 | ウォレット署名 | ユーザー名 & パスワード |
仕組み
以下のステップはユーザーとして見るものです。Fermato はマーケットプレイスの価格設定、支払い、およびサブスクリプション NFT を発行または更新するトランザクションを調整します。
- プランを閲覧:オンチェーンデータから直接取得した利用可能なストレージティアとその価格を表示します。認証は不要です。
- 購読:プランと期間を選択し、サブスクリプション NFT を発行してコストを支払うトランザクションに署名します。NFT はサブスクリプションの詳細が記録された状態でサブスクリプションコントラクトにロックされます。
- 有効化:Iagon バックエンドが新しいオンチェーントランザクションを検出し、自動的にサブスクリプションを有効化します。
- サインイン:チャレンジ-レスポンス署名を通じてウォレットの所有権を証明し、プランにスコープされたアクセストークンを受け取ります。
- ストレージを使用:Iagon のストレージ API を通じてファイルのアップロードと管理を開始します。
Fermato: 購入と更新
以下のシーケンスは、ストレージを購入またはサブスクリプションを更新する際の、ストレージマーケットプレイスとあなたのウォレットを含む Fermato の簡略化されたビューです(すべてのエッジケースを含むわけではありません):
サブスクリプションのライフサイクル
各サブスクリプションにはカットオフ日があり、常に月の1日に設定されています。カットオフが過ぎると、サブスクリプションは期限切れになり、Iagon はそれを非アクティブとしてマークします。いつでも更新してカットオフを延長するか、期限切れにして期限切れの NFT をバーンして UTxO を回収できます。
更新は同じサブスクリプション NFT を保持し、それを更新します(例えばカットオフと支払い)。これは新しいティアのための新しい発行と古い NFT の Iagon システムによる失効(バーン)をトリガーするプランのアップグレードとは異なります。更新が最初のサブスクリプションやティア変更とどのように異なるかについては更新をご覧ください。
オンチェーンに保存される内容
あなたのサブスクリプション NFT にはサブスクリプションを定義するすべてのものが含まれています:
| 用語 | 説明 |
|---|---|
| 加入者 | あなたの公開鍵ハッシュ |
| NFT ポインター | 特定のサブスクリプション NFT を識別 |
| プラン ID | 購読したストレージティア |
| カットオフ日 | サブスクリプションの期限(月の1日) |
これはすべて公開検証可能です。誰でもコントラクトに問い合わせて、サブスクリプションが存在するか、どのプランをカバーしているか、いつ期限が切れるかを確認できます - Iagon のバックエンドに依存することなく。
プランと価格
Fermato は、特定のティアと期間に対してあなたが支払う金額を決定する際に、このオンチェーンプランデータを使用します。
ストレージプランはオンチェーンに保存され、各プランを lovelace での月額コストにマッピングします。認証なしで利用可能なプランと価格を表示できます - 読み取り専用のオンチェーンクエリです。
オフチェーンレジストリはプラン ID を人間が読めるの説明(例:「500 GB」)にマッピングします。
価格は ADA 建てです。ステーブルコインで支払いたい場合、Charli3 オラクル価格フィードがトランザクション時の換算レートを提供します。
将来の価格オプション
検討中のモデルでは、プランの価格を米ドル建てで定義します(例:500 GB の場合 月額 2.20 ドル)。この場合、オラクルは支払い時に米ドル建ての金額を ADA に換算し、ステーブルコインの支払いは換算を必要とせず米ドル建ての価格に直接マッピングされます。
購読
購読時に、単一のトランザクションで以下が行われます:
- トランザクションはプランの価格設定のために読み取られます。
- オラクル UTxO が現在の月の期間のために参照されます。
- サブスクリプション NFT が発行され、サブスクリプションコントラクトにロックされます。
- コストが指定された支払いアドレスに送信されます。
- あなたのウォレットでトランザクションに署名します。
日割り計算
最初の半月は日割り計算されます。月の途中で購読した場合、その月の残りの日数分のみを支払い、選択した追加月分の全額料金が加算されます。
半月分の金額は、上記のように月額料金に対して(残り日数 ÷ その月の総日数)を使用します。
更新
更新は同じストレージティアの既存サブスクリプションを延長します。あなたのプランのコントラクトにロックされたサブスクリプション NFT を更新する更新トランザクションに署名します(例えばカットオフ日の後ろ倒しと更新の支払い)。そのティアの2番目のサブスクリプション NFT を発行するわけではなく、プランを変更する際に使用する失効と置き換えのフローを経るわけでもありません。
更新とアップグレードの違い:プランのアップグレードは異なります。新しいティアを購読(新しい NFT を発行)し、Iagon のシステムが古いサブスクリプションを失効(古い NFT をバーン)させます。高いティアに移行する際はそのパスを使用してください - 同じプランを単純に延長する場合はありません。
サブスクリプションがまだアクティブかすでに失効しているかによって:
- まだアクティブ:カットオフは現在のカットオフから前方に延長されます。
- 失効済み(非アクティブ;サブスクリプション NFT はまだコントラクトにロックされており、バーンされていない):カットオフは購読と同じ日割り計算ルールを使用して現在のオラクル期間から設定されます - これはアップグレードに使用されるオンチェーンの発行と失効のシーケンスではなく、価格と日付を説明しています。
日割り計算は更新にも同様に適用されます - 最初の半月は現在の期間の残り日数に基づきます。
サインイン
Iagon はチャレンジ-レスポンスフローを使用して、サブスクリプションに関連付けられたウォレットの所有権を確認します。
- Iagon からウォレットアドレスに紐づいたナンスをリクエストします。
- ウォレットでナンスに署名します。
- 署名を Iagon に送信します。
- Iagon は署名を確認し、サブスクリプションがアクティブであることを確認し、プランにスコープされたアクセストークンを返します。
アクセストークンはすべてのストレージ操作に使用されます。期限切れになったら、署名フローを繰り返して新しいものを取得します。これは標準の Cardano ウォレットコネクタ(CIP-30)をサポートするすべてのウォレットで機能します。
期限切れ
サブスクリプションのカットオフ日が過ぎると:
- Iagon はサブスクリプションを非アクティブとしてマークします。
- アクセストークンが失効します - ストレージエンドポイントはそれ以降のリクエストを拒否します。
- 期限切れの NFT をオンチェーンでバーンして UTxO を回収できます。
ティアを変更せずに再アクティブ化するには、更新のように更新を使用してください - 同じ NFT、更新のみです。代わりに高いティアに移行するには、プランのアップグレードに従ってください(新しい発行、その後 Iagon のシステムが古い NFT を失効させます)。
プランのアップグレード
アップグレードは更新ではありません。更新は NFT の更新を通じて同じプランを延長します。アップグレードはティアを変更します。高いプランの新しいサブスクリプション発行を取得し、以前のサブスクリプションは Iagon のシステムによって失効(バーン)されます。
高いストレージティアに移行するには:
- 新しい高いティアのプランを購読(新しい NFT を発行)。
- Iagon のシステムが古いサブスクリプションを失効させます(古い NFT をバーン)。
移行中に両方のサブスクリプションが一時的に共存する場合、Iagon は高い方のティアを使用します。エッジケースでは、ウェブサイトを通じて解決できます。
キャンセル
アクティブなサブスクリプションをキャンセルするには、Iagon ウェブサイトを通じてリクエストを送信してください。オンチェーンの失効は Iagon のシステムによって処理され、NFT がバーンされます。
信頼性
サブスクリプションはオンチェーンに存在するため、サブスクリプションの詳細は公開監査可能です。バックエンドは高速なルックアップのためにキャッシュを維持しますが、オンチェーン NFT が常に真実の源泉です。
- 確認の深さ:サブスクリプションは最小確認の深さ(約3ブロック)に達した後に有効化され、ロールバックされたトランザクションに基づいて行動するリスクを低減します。
- 定期的な再同期:バックグラウンドジョブがバックエンドデータベースとオンチェーン状態を照合し、ダウンタイムやネットワーク中断中に見逃したイベントをキャッチします。
- 何も失われない:バックエンドが一時的にダウンしたり、トランザクションを見逃したりしても、再同期がそれを拾い上げます。あなたのサブスクリプションはチェーンから常に回復可能です。
よくある質問
Iagon アカウントを作成する必要がありますか?
いいえ。あなたのウォレットアドレスがあなたの身元です。登録、ユーザー名、パスワードは必要ありません。
何で支払えますか?
ADA 直接、またはサポートされているステーブルコイン。ステーブルコインの支払いは、トランザクション時に Charli3 オラクル価格フィードを使用して ADA 建ての価格を換算します。
サブスクリプションがアクティブかどうかはどうすればわかりますか?
トランザクションがオンチェーンで確認された後、ステータスエンドポイントを確認してください。ステータスは Iagon が処理中の間は pending と表示され、確認されると active に切り替わります。
サブスクリプションが期限切れになる前に更新できますか?
はい。いつでも更新できます。サブスクリプションがまだアクティブな場合、カットオフは現在の位置から延長されます。更新の最初の半月は日割り計算されます。これは更新(同じティア、NFT の更新)です - 高いティアに切り替える際に使用するプランのアップグレードとは異なります。
サブスクリプションが期限切れになったらどうなりますか?
Iagon はそれを非アクティブとしてマークし、アクセストークンを失効させます。ストレージエンドポイントにアクセスできなくなります。期限切れの NFT をオンチェーンでバーンして UTxO を回収するか、更新して同じプランを再アクティブ化できます(更新)。高いティアに移行するには、プランのアップグレードを使用してください - そのパスは新しい NFT を発行し、Iagon のシステムが古いものを失効させます。
複数のサブスクリプションを持てますか?
単一のウォレットは異なるプランへのサブスクリプションを保持できます。Iagon はそれぞれを独立して追跡します。
Iagon のバックエンドがダウンした場合、サブスクリプションは失われますか?
いいえ。サブスクリプションはオンチェーンに記録されています。バックエンドデータベースはキャッシュに過ぎません。バックエンドが回復すると、チェーンと照合してサブスクリプション状態を自動的に復元します。