この投稿では、ストレージ プロバイダー (マイナーとも呼ばれます) と Filecoin ネットワークにデータを保存したいクライアントの観点から、Filecoin トランザクションがどのように機能するかを説明します。この記事の技術的な説明では、データを照会するときに JSON-RPC API を使用して Filecoin ネットワークと対話します。この API は主にアプリケーションによって使用されます。内部で JSON-RPC API を使用する、ユーザーフレンドリーな lotus コマンドライン ツールを使用できます。 Filecoin ネットワークは、誰でもストレージ プロバイダーとして参加できるようにすることで規模の経済を実現します。現在、このネットワークは世界中の何百ものストレージプロバイダーで構成されています。コンテンツ アドレス指定と暗号化によるストレージの証明により、データが時間の経過とともにマイナーのハードウェアに正しく安全に保存されていることを確認し、堅牢で信頼性の高いサービスを実現します。 この投稿では、Filecoin トランザクションの 2 つの基本的な段階、つまりストレージ トランザクションと取得トランザクションを紹介し、そのライフサイクルについて詳しく説明します。また、システム参加者が約束どおりに職務を遂行していることを確認するために使用される暗号証明についても説明します。 Filecoin にファイルを保存するには、クライアントはまずそのファイルをローカルの Filecoin ノードにインポートする必要があります。このステップでは、CID (コンテンツ識別子) データ、つまりコンテンツを一意に説明する ID が生成されます。その後、データはマイナーに送信されます。 Filecoin にファイルを保存するもう 1 つの方法は、オフチェーン トランザクションを使用することですが、これについてはこの記事では説明しません。 lotus client import コマンドを使用して、データをローカルの Filecoin ノードにインポートできます。結果のデータ CID (ローカル ノードでも使用可能) は、後でマイナーからデータを取得するときに使用する必要があるため、覚えておくことが重要です。データがローカルノードにインポートされた後。ユーザーがトランザクションを開始する必要があります。これは、lotus client dea: コマンドを使用して実行できます。このコマンドは、データ CID を入力として受け取り、Filecoin ピースを生成し、以下に詳述するストレージ トランザクション プロセスを対話的にユーザーに案内します。 Filecoin ピースは、ユーザーが Filecoin ネットワークに保存するデータの交渉の主な単位です。 Filecoin Piece には特定のサイズはありませんが、ネットワーク パラメータによって制御されるセクター サイズの上限によって制限されます。 Filecoin ピースがマイナーがサポートするセクター サイズより大きい場合は、セクターに収まるように、より多くのピースに分割する必要があります。 Filecoin ピースは、IPLD DAG と独自のデータ/ペイロード CID およびピース CID を含む CAR ファイルです。 CAR は Content Addressable Archive の略で、CAR ファイルは、ブロックの連結として IPLD DAG をシリアル化した表現と、ファイル内に記述されたグラフ (ルート CID を含む) です。 クライアントが Filecoin ネットワークにファイルを保存したい場合、まず UnixFS を使用してファイルの IPLD DAG を生成します (これは lotus client import コマンドが行うことです)。 DAG のルート ノードを表すハッシュは、データ/ペイロード CID と呼ばれる IPFS スタイルの CID です。 UnixFS は protobuf に基づいたファイル記述形式です。 IPFS 内のディレクトリとシンボリック リンク。 Filecoin では、Filecoin ネットワークに送信されるファイルのファイル形式のガイドラインとして UnixFS が使用されます。生成された CARfile には、バイナリ マークル ツリーを生成するために余分なゼロ ビットが埋め込まれます。 UnixFS は、IPFS 内のファイル、ディレクトリ、シンボリック リンクを記述するための protobuf ベースの形式です。 Filecoin は、Filecoin ネットワークに送信されるファイルのファイル形式ガイドとして UnixFS を使用します。生成された CAR ファイルには、バイナリ マークル ツリーを作成するために余分なゼロ ビットが埋め込まれます。 ユーザーは、Filecoin ネットワークにデータを保存し、トランザクションを通じて Filecoin ネットワークからデータを取得できます。ネットワークの参加者、マイナー(供給側)とクライアント(需要側)は、ストレージトランザクションと検索トランザクションを通じて相互にやり取りします。 ストレージ トランザクションのライフ サイクルは次のとおりです。 1. 発見 クライアントはマイナーを識別し、マイナーの現在の提示価格を決定します。これは、トランザクションを受け入れるためにマイナーが受け取りたい attoFIL の GiB あたりの価格 (ブロックの高さ (30 秒) あたり) です (1 attoFIL は 10^-18 * FIL に相当します)。現在、Filecoin を使用した取引の最小期間は 180 日です。 現在アクティブなすべてのマイナーは、同期されたノードの JSON RPC API をクエリすることにより、Filecoin.StateListMiners メソッドを使用して一覧表示できます (テスト目的で、https://api.node.glif.io パブリック エンドポイントが使用されます)。 開発者は、特定のプロバイダーの評判やネットワーク機能に基づいて決定する必要がある場合があります。 Filecoin プロトコルには現在、マイナーの評判インジケーターは含まれていません。 特定のマイナーを選択した後、そのマイナーの PeerID を取得し (たとえば、Filecoin.StateMinerInfo メソッドを使用して)、libp2p プロトコルを介してそのマイナーとの安全な接続を確立する必要があります。 次に、Filecoin.ClientQueryAsk メソッドを使用して、署名された StorageAsk を照会します。これにより、選択したマイナーへの直接 libp2p 接続が確立され、ストレージの見積もりが要求されます。 2. 交渉とデータ転送この段階で、両当事者は取引コスト、取引期間、取引開始時間などの取引条件について合意に達し、その後、データがクライアントからマイナーに送信されます。 3. 出版取引は PublishStorageDeals メッセージを介してチェーン上で公開され、ストレージ プロバイダーは取引に対して公に責任を負うことになります。 4. 引き渡しトランザクションはチェーン上で公開された後、ストレージ マイニング サブシステムに引き渡され、セクターにパッケージ化されてから封印され、その後継続的に証明されます。 ストレージ マイニング サブシステムは、マイナーがストレージを Filecoin ネットワークに効率的に送信できることを保証し、次の 2 つの方法で制御されます。 1. Filecoin ストレージ市場に参加し、クライアントのデータを取得し、ストレージ取引に参加します。 2. Filecoin ストレージ効率のコンセンサスに参加し、ブロックを検証および生成して Filecoin ブロックチェーンを成長させ、ブロック報酬と手数料を獲得します。 以下のプロセスを監督します。 1. 新しいストレージを送信し、新しい部門を登録するFilecoin にセクターを登録するには、マイナーがセクターを封印する必要があります。シーリングは、証明の形式でデータの一意の表現 (複製証明または PoRep と呼ばれる) を生成する、計算負荷の高いプロセスです。証明が生成されると、マイナーはそれを圧縮し、その結果をブロックチェーンに送信します。これは、マイナーが保存することに同意したデータのコピーを実際に作成したことの証明です。 2. ストレージを継続的に検証する各ストレージマイナーは、自分のセクターを継続的に保存していることを証明するために、オンチェーン証明を継続的に提出する必要があります。 3. ストレージ障害の宣言と回復指定された部門からの上記の証明書を提出しなかった場合、エラーが発生し、鉱山労働者に罰金が課せられます。 前述のように、ストレージ トランザクションはアクティブになってシールされる前に、オンチェーンで公開されます。取引を投稿すると顧客の資金がエスクロー チェーンにロックされるため、これは重要です。したがって、マイナーは、データのセクターを封印した場合には、報酬が支払われることを保証できます。チェーン上に投稿されたトランザクションを契約の署名と考え、契約の締結と有効化をマイナーがコミットした作業の開始と考えると理解しやすくなります。 Filecoin にデータを保存したいクライアントの観点から見ると、トランザクションはおおよそ次の段階を経ます。 1. 取引の資金調達 - クライアントは資金をエスクローにロックします 2. 鉱山労働者に合意を提案する 3. 取引を受け入れる意思があるかどうかを確認する 4. トランザクションのデータをマイナーに送信します。これは GraphSync プロトコルを介して行われます。 GraphSync は、ピア間で IPLD グラフを同期するためのプロトコルです。これにより、ホストはリモート ピアに単一の要求を発行して、リモート ピアのローカル IPLD グラフ上の IPLD セレクターを利用できるようになります。 Lotus は、GraphSync プロトコルの ipfs/go-graphsync 実装を使用します。 5. 承認の確認 - マイナーがトランザクションを承認し、チェーン上に公開したことを確認します。 6. シーリング - トランザクションが進行中であり、マイナーは現在トランザクションを含むセクターをシーリングしています。 7. 有効 - 取引は封印され、有効です。この時点から、ストレージプロバイダー/マイナーは、データを継続的に保存していることを定期的に証明する必要があります。詳細については、以下の「時空の証明」セクションを参照してください。 データを保存することで顧客にサービスを提供するマイナーの観点から見ると、トランザクションは通常、次の段階を経ます。 1. 取引を確認する - 取引提案を受け取り、そのパラメータ(サイズ、価格など)を確認します。 2. 資金がロックされているかどうかを確認する - 顧客の資金がロックされており、取引の支払いができることを確認します。 3. データの待機 - 顧客から取引データを受信します。 4. チェーン取引の担保 5. チェーン上にトランザクションを公開する 6. シーリング部門 7. アクティベーショントランザクション - 今後、ストレージプロバイダー/マイナーは、継続的にデータを保存していることを証明するために、定期的に WindowPoSt 証明を提出します。 保管トランザクションとは異なり、取得トランザクションは主に支払いチャネルを通じてオフチェーンで実行されます。データ転送は従量制で、顧客はデータを転送するたびにマイナーに増分料金を支払います。支払いチャネルの作成とバウチャーの引き換えは、Filecoin ブロックチェーンとやり取りするプロセスの唯一の部分です。 全体のプロセスは次のとおりです。 1. 検出:クライアントは、必要なデータを所有するマイナーを特定し、それらに取得見積もり (バイトあたりの価格、未開封価格、支払い間隔) を要求します。 2. 支払いチャネルの設定:クライアントは、自分とマイナーの間に支払いチャネルを確立します (まだ存在しない場合)。 3. 支払いによるデータ転送:マイナーは支払いが必要になるまでクライアントにデータを送信します。一定のしきい値に達すると、支払い処理が要求され、データ転送が続行されます。マイナーがブロック内のデータを保存しているかどうかに応じて、最初にデータを封印解除する必要がある場合があります。これは、ストレージ トランザクションに関するセクションで説明した封印とは逆の操作であり、簡単ではなく、瞬時に実行されません。クライアントはデータの完全なコピーを正常に取得できませんでした。 上記のセクションでは、Filecoin をユニークにし、ユーザーにデータに関する確率的保証を提供する多くの詳細について説明します。このセクションでは、Filecoin で使用される 2 つの証明について説明し、それらがプロトコルにどのように適合するか、そしてそれらが解決する問題について説明します。 Proof of Spacetime (PoSt) は、ストレージマイナーが Filecoin ネットワークに対して、ネットワークに代わって特定のデータの唯一のコピーを継続的に保存していることを証明できるプロセスです。 Proof of Spacetime は現在、Filecoin では WindowPoSt と WinningPoSt という 2 つの異なるタイプで現れます。 1. ウイニングポスト WinningPoSt は、ストレージマイナーが Filecoin ネットワークへの貢献に対して報酬を得るメカニズムです。各エポックの初めに、少数のストレージマイナーが選出され、それぞれに新しいブロックをマイニングします。これを行うには、各マイナーに指定されたセクターの圧縮ストレージ証明を提出するタスクが課されます。ブロックの作成に成功した選出された各マイナーは、FIL (ブロック報酬) を受け取り、ブロックにメッセージを含めるために他の Filecoin 参加者に料金を請求する機会が与えられます。必要な時間内にこれを実行できなかったストレージマイナーは、ブロックをマイニングする機会を失いますが、そのことで罰せられることはありません。 2. ウィンドウポスト WindowPoSt は、ストレージマイナーのコミットメントが Filecoin ブロックチェーンによって監査されるメカニズムです。各ストレージマイナーは、クライアントとのトランザクションを含むコミット済みセクターまたは空のセクターを維持する必要があります。後者はコミットされた容量と呼ばれ、マイナーが顧客データの代わりに任意のデータでセクターを埋めるために容量をコミットできることを意味します。これらのセクターを維持することで、ストレージマイナーはネットワークに代わってスペースを予約したことを証明できます。 毎日は、30 分間 (1 期間は 30 秒なので 60 期間) の一連のウィンドウ (現在は 48 期間) に分割されます。各ストレージマイナーの保証されたセクター セットはサブセットに分割され、ウィンドウごとに 1 つのサブセットになります。 指定された時間枠(30 分)内に、各ストレージ マイナーは、それぞれのサブセット内の各セクターの時空間の証明を提出する必要があります。これには、チャレンジ対象のすべてのセクターにすぐにアクセスできることが必要であり、zk-SNARK 証明がブロック内のメッセージとして Filecoin ブロックチェーンに公開されることになります。このようにして、ストレージを約束するすべてのセクターは 24 時間ごとに少なくとも 1 回監査され、すべてのストレージ マイナーの継続的な取り組みを証明する永続的で検証可能な公開記録が保持されます。 上の画像では、例のマイナーは WindowPoSt 証明を期限 0 (>16TB)、期限 1 (<8TB)、期限 2 (<8TB) 内に提出する必要があることがわかります。また、ほとんどのセクターは期限 0 内に提出されています。期限はマイナーごとにランダムであり、その特定のマイナーの場合、期限はそれぞれブロックの高さ 1635、1695、1755 から始まります。これらの期限とマイナーに関する詳細は、SpaceGap ツールで確認できます。 Filecoin ネットワークでは、保存されたデータが継続的に利用可能であることが期待されます。セクターの WindowPoSt を送信しないと失敗となり、そのセクターを提供するストレージ マイナーの数が減り、ストレージ マイナーの健全な行動が促進されます。 証明期間内に Filecoin ブロックチェーンに証明を含めることができなかった場合、ネットワーク接続の喪失、ストレージ障害、または悪意のある動作が原因で失敗となります。 セクターに障害が登録されると、Filecoin ネットワークはそのセクターを保存するはずのストレージ マイナーを大幅に削減します。つまり、保管誓約を守らなかったマイナーに対して罰金を課すことになります(罰金はマイナーが直面している担保から支払われます)。 部門別内訳料金には次の 3 種類があります。 1. セクター障害料金:セクターが障害状態にある場合、この料金はセクターごとに 1 日あたり支払われます。手数料の額は、業界が毎日受け取ると予想されるブロック報酬の額よりもわずかに大きくなります。あるセクターが 2 週間連続して故障したままの場合、そのセクターは解約料を支払い、チェーンから除外されます。 2. セクター障害検出料金:マイナーが不正に障害を報告し、ブロックチェーンが報告されていない障害を発見した場合、これは障害が発生したときに支払われる 1 回限りの料金です。 PoSt チェックの確率的な性質を考慮すると、これにより、特定のセクターが数日以内に獲得すると予想されるブロック報酬が設定されます。 3. セクター終了手数料:セクターは、自動障害またはマイナーの決定により、有効期限前に終了される場合があります。解約手数料が請求されます。この金額は原則として、ユニットがこれまでに得た収益に相当しますが、長い耐用年数に影響を与えないように一定の上限が設けられています。 この投稿では、Filecoin でのデータの保存と取得に関連するいくつかの概念、これを実現するためにクライアントとマイナーが参加するプロトコル、およびプロセスに関係するさまざまな証明と保証について説明します。この文書では、クライアントとマイナーの観点から見たトランザクションの保存と取得のプロセス、およびいずれかの当事者が不正行為を行った場合に Filecoin プロトコルが適用する罰則について詳しく説明します。 要約すると、 Filecoin プロトコルが Filecoin ネットワークを管理して、信頼性が高く信頼できない分散型ストレージ ネットワークを形成する方法の基礎の一部について概説しています。 - 終わり - 注:この記事はInterstellar Visionによって翻訳・編集されています。無断転載はご遠慮ください。 |
<<: ビットコインは「国家レベル」のプレイヤーの参加を歓迎しており、2つの新しいプレイ方法があります。
>>: 国内上場企業によるビットコインの公開購入に関する意見
Google トレンドによると、ビットコインへの関心は薄れつつあり、DeFi への関心と同様に、検索...
著者: Huobi Blockchain Research Center の Justin_Zhan...
分散化を提唱し、ブロックチェーンの精神を支持するプロジェクトは、新たな発展の道を見つけるために、前例...
1. 価格動向25日の分析では「2850円台は市場の投資家の買いによるものではないか」と示唆し、2...
翻訳: spring_zqyイーサリアムのテクニカル分析 - これは反落か?イーサリアムの価格は現在...
8月、米国の信用組合は分散型台帳技術(DLT)を研究するための最初の会議を開催し、R3CEVの銀行ブ...
ARK InvestのCEO、キャシー・ウッド氏は最近、ビットコイン(BTC)が同社の過去の強気相場...
Bitcoin XT は時間内に意図した目標に到達できるでしょうか?おそらくそうではないでしょう!...
ロイターが引用した中央アメリカ大学(UCA)の世論調査によると、調査対象となった1,281人のうち少...
まとめEthereum の Pectra アップグレード Sepolia テストで空ブロックの問題が...
EOS Gravity Weiboによると、EOSメインネットは正常に立ち上げられ、最初の21個のス...
グレイスケールは創業以来、暗号通貨の世界における購入機関の重要な代表であり、最大の暗号通貨「オープン...
2度の強気相場を経験した多くの人は、今回の強気相場における市場の主な発展方向は依然としてDeFi、...
最近、グレイスケールの保有資産は業界内外から注目を集めています。グレイスケールのマネージングディレク...
テンセントテクノロジーニュース、1月18日、ユニオンスクエアベンチャーズのパートナーであるフレッドウ...