Filecoinにおけるブロックチェーンの基礎
Filecoinブロックチェーンは、コンピュータノードのネットワーク間で共有される複雑な分散データベースです。 各ノードはブロックチェーンのコピーを保持し、ネットワーク内のすべてのトランザクションと契約上の義務が記録され、不変であることを保証します。 これにより、Filecoinエコシステム内のすべての活動の信頼性が高く安全な台帳が提供されます。
アクター:ファイルコインのブロックチェーンの主力製品
ファイルコインのブロックチェーン上のアクターは、イーサリアム仮想マシンのスマートコントラクトに相当する役割を果たします。 各アクターは、Filecoinネットワークと対話するための一連の状態変数とメソッドをカプセル化します。 これらは基本的に、ストレージ取引の管理や取引の円滑化など、ブロックチェーン上でアクションを実行するエージェントです。
ビルトイン システム アクタ
Filecoinのネットワークは、重要な機能を処理するいくつかの組み込みシステムアクターによって支えられています。
- System Actor: 一般的なネットワーク操作を実行します。
- Init Actor (初期化アクタ): 新しいアクタの初期化とネットワーク命名規則の管理を担当します。
- Cron Actor: ネットワークのスケジューラーとして機能し、各エポックで重要な機能をトリガーします。
- Account Actor: シングルトン パターンの範囲を超えてユーザー アカウントを管理します。
- Storage Miner アクタ: ストレージ マイニング操作を調整し、ストレージの証明を検証します。
- Storage Market Actor:ネットワークのマーケットプレイス内のストレージ取引を管理します。
- Multisig Actor: Filecoinのマルチシグウォレットに関連する操作を処理します。
- Payment Channel Actor: 支払チャネルの確立と決済を管理します。
- Datacap Actor: データcap トークンの割り振りと管理を監督します。
- Verified Registry Actor: ネットワーク内の検証済みクライアントを管理します。
- EVMアカウントアクター:外部のイーサリアムIDを表し、イーサリアムベースのシステムとの相互運用性を促進します。
ユーザーがプログラム可能なアクター
Filecoin仮想マシン(FVM)が成熟するにつれて、開発者は他のブロックチェーンのスマートコントラクトと同様に、独自のアクターを作成してデプロイする機会が得られます。 これらのユーザーがプログラム可能なアクターは、エクスポートされたAPIを介してビルトインアクターと対話できるため、Filecoinネットワーク上に幅広いアプリケーションやサービスを構築することができます。
Filecoinにおける分散ランダム性
Filecoinは、ブロック生成中のリーダー選出のランダム性のソースとして、Drandとして知られる分散型で公的に検証可能なランダム性プロトコルを利用しています。 このランダム性は、プロセスが予測不可能で、偏りがなく、検証可能であることを確認し、マイニングプロセスの公平性と安全性を維持するために不可欠です。
ノードとその役割
Filecoinネットワーク上のノードは、主に提供するサービスによって分類されます。
- チェーン検証ノード:ブロックチェーンを検証し、コンセンサスルールを適用します。
- クライアントノード:ネットワークと対話して、データを保存および取得します。
- ストレージプロバイダーノード:ネットワークにストレージ容量を提供し、ストレージの継続性を証明します。
- 取得プロバイダー ノード: 要求に応じて、保存されたデータを迅速かつ確実に提供します。
- Filecoinプロトコルの複数の実装が共存することで、ネットワークのセキュリティと回復力を強化し、単一障害点を排除し、健全な分散化を促進します。
アドレス:Filecoinのアクターの識別

Filecoinのアドレスは、ネットワーク上のアクターやユーザーを一意に識別する英数字の文字列であり、トランザクションやスマートコントラクトの実行などの相互作用を容易にします。 これらのアドレスにはいくつかの形式があり、それらが表すさまざまなタイプのアクターを反映しています。
- ID アドレス (f0): アクターの数値識別子で、ネットワーク参加者を参照するための人間が判読できる方法を提供します。
- Secp256k1アドレス(f1): ウォレットに一般的に使用されるsecp256k1暗号化標準を使用して公開鍵から導出されます。
- アクターアドレス(f2):スマートコントラクトに割り当てられ、ネットワークフォーク間で堅牢性を保ちます。
- BLSアドレス(f3): BLS公開鍵から生成され、BLS暗号化を使用するウォレットに使用されます。
- ユーザー定義のアクター アドレス (f4): ユーザー定義可能なアドレス管理アクターによって割り当てることができる柔軟なアドレスで、カスタムで拡張可能なアドレス指定スキームを可能にします。
- 各アドレスタイプは、トランザクションの促進からスマートコントラクトやユーザーインタラクションの管理まで、Filecoinのエコシステム内で特定の目的を果たします。
ヒントセットとブロック
ファイルコインのブロックチェーンは、ブロックの線形シーケンスの規範から逸脱しています。 ここでは、ブロックは「ヒントセット」にグループ化され、各エポック、またはブロックチェーン用語で固定された時間間隔でのネットワーク状態のスナップショットと考えることができます。 このモデルでは、複数の有効なブロックを同時に生成できるようにすることで、より柔軟で効率的なブロックチェーンが可能になります。
ファイルコインブロックの解剖学
Filecoinの各ブロックは、ヘッダーと、取引や契約上の合意など、アクターが行ったアクションを表す一連のメッセージを含むバンドルです。 ブロックヘッダーには、マイナーのアドレス、チケット(プルーフ・オブ・ワーク)、親ブロックのCIDなどのメタデータが含まれています。 メッセージはブロックの要であり、トークンの転送やコントラクト呼び出しなどの状態変化を記録します。 ブロックは少なくとも1つの親ブロックにリンクされ、ジェネシスブロックに戻る連続したチェーンを形成します。
ブロックタイム:ネットワークのパルスを同期させる
Filecoinのブロックタイムは平均30秒に設定されています。 この間隔は、ネットワークの応答性と運用の実用性のバランスをとるために戦略的に選択されました。 ブロックタイムを短くすると、ネットワークの速度は向上しますが、ハードウェアの要求も大きくなり、ブロックタイム障害の頻度が高くなる可能性があります。 30秒のブロックタイムにより、ストレージプロバイダーは、ハードウェアに過度の負担をかけることなく、セクターのシーリングやプルーフの生成など、必要な操作を実行するのに十分な時間を確保できます。
ヒントセット:効率と報酬の最大化
特定のエポックでは、複数のストレージプロバイダーがブロックのマイニングに成功する可能性があります。 Filecoinのティップセット構造は、同じ高さと親を持つすべての有効なブロックを1つのグループにバンドルすることで、これに対応します。 これは、すべての有効な作業がネットワークの状態に貢献し、報酬を得ることを意味し、マイナー間の参加とコラボレーションを促進する重要な機能です。 また、ネットワークがフォークを効率的に処理し、正規チェーンのコンセンサスに迅速に到達できるようにします。
チップセットシステムには、従来のブロックチェーンに比べていくつかの利点があります。
- ネットワークスループットの向上:すべての有効なブロックを使用してネットワークの状態を判断することで、Filecoinは各エポックでより多くのデータとトランザクションを処理できます。
- 有効な作業に報いる:有効なブロックを生成したすべてのストレージプロバイダーは報酬を受け取るため、マイナーがネットワークに貢献するインセンティブを与え、中央集権化を阻止します。
- 競争よりもコラボレーション:チップセット構造は、ネットワークの成長に有益な可能性のあるブロックの差し控えを阻止するため、潜在的なブロックプロデューサーは協力することが奨励されます。
- フォークに対するレジリエンス:チップセットアーキテクチャにより、Filecoinはフォーク中のコンバージェンスを高速化し、ネットワークの安定性を確保します。
- イーサリアムJSON-RPCとファイルコイン
Filecoin EVMランタイムの統合とイーサリアムJSON-RPC標準の採用により、「チップセット」の概念がさらにユーザーフレンドリーになったことは注目に値します。 この文脈では、イーサリアムJSON-RPCで「ブロックハッシュ」について話すとき、実際にはチップセットのハッシュを指しており、そのチップセット内のすべてのブロックから結合された状態変化を包含しています。
Filecoinのブロックチェーンを探求し続ける中で、これらのコンポーネントがどのように相互作用して、堅牢で効率的で、将来の成長に備えた分散型ストレージネットワークを構築するかを見ていきます。
ファイルコインコンセンサス
Expected Consensus(EC)として知られるFilecoinのコンセンサスメカニズムは、分散型ストレージネットワークの基盤となっています。 この章では、ECの運用原理、技術仕様、Filecoinネットワークの完全性と信頼性を維持する上でECが果たす役割について紹介します。
Filecoinは、Expected Consensus(EC)と呼ばれる独自のコンセンサスメカニズムで動作します。 プルーフ・オブ・ワーク(PoW)やプルーフ・オブ・ステーク(PoS)に依存することが多い従来のブロックチェーンプロトコルとは異なり、ECはランダム性、ストレージパワー、確率的ビザンチンフォールトトレランスの要素を融合させています。 ECは、その中核をなすものとして、Filecoinの主な目的である「効率的かつ確実にデータを保存する」ことにインセンティブを合わせるように設計されています。
ECの本質
- 分散化と信頼性:ECの主な目的は、データの保存と検索が信頼性と検証性の両方を備えた分散型環境を促進することです。
- ストレージ中心のアプローチ:計算能力やコインの保有量に重点を置いた従来のブロックチェーンとは異なり、FilecoinのECはストレージパワー、つまりデータを保存する容量を優先します。
期待されるコンセンサスの中核となる仕組み
ECの運用フレームワークは、いくつかの主要コンポーネントを中心に展開しており、それぞれがネットワークの機能において重要な役割を果たしています。
- 確率的ビザンチンフォールトトレランス:
- ECにはビザンチンフォールトトレランスメカニズムが組み込まれており、ノードが悪意を持って動作したり、オフラインになったりするなど、さまざまな敵対的な条件に対して回復力があります。
- リーダー選出とブロック制作:
- ECの中心にあるのは、リーダーの選出プロセスです。 他のブロックチェーンで見られる決定論的なプロセスとは異なり、ECは確率論的方法を採用して、ブロック作成を担当するリーダーまたはマイナーを選択します。
- 当選が証明されるまでの匿名性:
- EC内のマイナーは、「ElectionProof」を通じて選挙状況を証明できるまで匿名のままです。 この証明は、ブロック生成における公平性と予測不可能性を確保するために極めて重要です。
- 保管証明:
- マイナーは、ネットワークのストレージ容量への貢献を検証する「WinningPoSt」(時空の証明)を提出する必要があります。
ECの技術仕様
ECの技術的基盤は、その革新性が真に輝くところです。 ここでは、このコンセンサスメカニズムを定義する主要な仕様のいくつかを探ります。
DRANDによるランダム性:
- ECは、外部の偏りのないランダム性ビーコンであるDRANDを使用して、リーダーの選出を含むプロトコルのさまざまな側面を促進します。
検証可能なランダム関数(VRF):
- マイナーは、DRANDから得られるランダム性とともにVRFを利用して、ElectionProofを生成します。
ElectionProof と VRF チェーン:
- ElectionProofは、マイナーがブロックを生成するために正当に選出されたことを証明するために重要です。
- 連続した VRF チェーンが維持され、新しいブロックが生成されるたびに拡張されます。
ストレージパワーとWinCount:
- ネットワークにおけるマイナーのパワーは、ストレージ容量に比例します。
- WinCountは、マイナーが生成できるブロックの数を、ストレージパワーとVRFの結果に基づいて決定します。
- コンセンサス、セキュリティ、公平性
ECではセキュリティと公平性が最も重要であり、これらの原則を保護するためのいくつかのメカニズムが整備されています。
コンセンサスの欠陥とペナルティ:
ECは、特定のタイプのコンセンサスフォールト(ダブルフォークマイニング、タイムオフセットマイニングなど)を定義し、悪意のある行動を抑止するためのペナルティを課します。



画像のソース:Filecoinのドキュメントはこちら: https://spec.filecoin.io/algorithms/expected_consensus/
チェーンの重み付けと選択:
- このプロトコルは、独自のチェーン重み付けシステムを採用しており、累積ストレージ容量が最も多いことを示す「最も重い」チェーンが優先されます。
ソフトファイナリティ:
- ECはソフトファイナリティの形式を採用しており、チェーンから大きく逸脱したブロックを拒否し、それによってネットワークの安定性を強化します。
Drand: Filecoinにおける分散ランダム性
Drand(Distributed Randomness)は、Filecoinのコンセンサスメカニズムの重要な要素であり、ネットワークの秘密のリーダー選出プロセスに不可欠な偏りのないエントロピーの源を提供します。 これは、決定論的で検証可能な一連のランダム値を生成するように設計された、公的に検証可能なランダムビーコンプロトコルです。
Drand のしくみ
- マルチパーティ計算 (MPC): Drand は一連の MPC を実行してランダムな値を生成します。 信頼できるセットアップ フェーズの後、既知の drand ノードのグループは、一定の間隔で発生する連続したラウンドで、しきい値 BLS 署名を使用して特定のメッセージに署名します。
- BLSシグニチャのしきい値:このプロセスでは、メッセージに署名するために最小数のノード(t-of-n)が必要です。 t 個のシグニチャを持つノードは、完全な BLS シグネチャを再構築できます。 この署名は、ハッシュされると、セットアップ段階から公開鍵に対して検証できる集合的なランダム値を生成します。
- セキュリティの仮定: Drand は、n 個のノードのうち少なくとも t 個が誠実でオンラインであると想定しています。 この閾値が破られると、敵対者はランダム性の生成を停止できますが、ランダム性にバイアスをかけることはできません。
Drand Randomness の出力
Drand Value Format: Filecoinノードは、特定の形式でdrand値を取得します。 主なコンポーネントは次のとおりです。
- 署名: 以前の署名値と現在の丸い番号の BLS 署名。
- PreviousSignature: 前回のドランド ラウンドの BLS シグネチャ。
- Round: Drand ネットワークによって生成されるシーケンスのランダム性のインデックス。
FilecoinでのDrandの使用
- リーダー選出:ドランドはFilecoinのリーダー選出に使用され、各エポックでランダムな値を提供します。 このランダム性は、期待コンセンサス(EC)アルゴリズムにとって重要であり、公正で予測不可能なリーダーの選択を保証します。
- Drand値の取得:Filecoinノードは、特定のエンドポイントを使用してDrandから最新のランダム性値を取得します。 この情報はオンチェーンデータと統合され、Filecoinのコンセンサスメカニズムをサポートします。
証拠:誠実さと信頼の確保
Filecoinのプルーフは、ストレージプロバイダーがネットワークの基準に従ってデータを適切に保存していることを検証するのに役立ちます。 これらの証明は、分散型ストレージシステムの完全性と信頼性を維持するために重要です。
Filecoinのプルーフの種類
- PoRep(Proof-of-Replication):PoRepは、初期データストレージ時に使用され、ストレージプロバイダーがデータの一意のコピーを作成して保存していることを確認します。
- Proof-of-Spacetime (PoSt): ストレージプロバイダーが保存されたデータを長期にわたって維持していることを継続的に検証します。 PoStはさらにWinningPoStとWindowPoStに分かれており、ネットワーク内で異なる検証目的を果たします。
PoRepとPoStの役割
- PoRep: ストレージ プロバイダーによるデータの初期レプリケーションを検証し、データが一意にエンコードおよび封印されていることを確認します。
- PoSt:WinningPoStはブロックコンセンサスプロセスで使用され、WindowPoStはストレージプロバイダーを継続的に監査し、ストレージ契約の継続的なコンプライアンスを確保します。
Filecoinのコンセンサスメカニズムは、EC、Drand、および暗号化証明の独自のブレンドにより、堅牢で信頼性の高い分散型ストレージネットワークのバックボーンを形成します。 これらの要素が連携して、ネットワークの安全性、効率性、公平性を確保し、データの整合性が最優先される環境を育みます。 Filecoinのブロックチェーンのニュアンスを深く掘り下げると、そのコンセンサスモデルの創意工夫と洗練さがますます明らかになり、デジタルストレージのランドスケープに革命を起こすネットワークの可能性が強調されます。