Filecoin sử dụng hai cơ chế proof độc đáo: Proof of Replication (PoRep) chứng minh Storage Provider đã tạo bản sao vật lý độc đáo của dữ liệu, và Proof of Spacetime (PoSt) chứng minh dữ liệu đó vẫn còn tồn tại theo thời gian. Kết hợp lại, chúng tạo ra hệ thống lưu trữ có thể xác minh mà không cần tin tưởng nhà cung cấp — SP mất dữ liệu đồng nghĩa mất collateral FIL (slashing). Đây là điểm khác biệt cốt lõi với mọi giải pháp lưu trữ tập trung.
1Bài toán cần giải quyết: Làm sao tin SP?
Hãy thử đặt mình vào vị trí một người muốn lưu dữ liệu trên Filecoin. Bạn gửi file đến một Storage Provider (SP) và trả FIL. SP nói "tôi đang lưu file của bạn". Câu hỏi đặt ra ngay lập tức:
- Làm sao bạn biết SP không xóa file ngay sau khi nhận tiền?
- Làm sao biết SP không "fake" lưu trữ — chỉ lưu metadata nhưng không có dữ liệu thực?
- Làm sao biết SP không chia sẻ một bản sao vật lý cho 100 deal khác nhau?
Trong hệ thống tập trung (AWS S3, Google Drive), bạn tin tưởng công ty vì họ có reputation, SLA, và hậu quả pháp lý nếu vi phạm. Nhưng trong hệ thống phi tập trung, không có thực thể nào để tin — cần một cơ chế cryptographic.
Làm thế nào để prove rằng một node đang lưu trữ đúng dữ liệu D tại thời điểm T, mà không cần gửi lại toàn bộ D?
Đây là bài toán mà không có giải pháp rõ ràng trong nhiều thập kỷ của lý thuyết cryptography. Filecoin giải quyết nó bằng hai proof: PoRep (chứng minh bản sao vật lý) và PoSt (chứng minh theo thời gian).
2Proof of Replication (PoRep) — Chứng minh bản sao vật lý
PoRep là proof đầu tiên, được tạo ra một lần khi SP onboard một sector dữ liệu mới. Nó chứng minh: "Tôi đã tạo một bản sao vật lý độc đáo của dữ liệu này, gắn liền với phần cứng của tôi."
Tại sao cần "vật lý độc đáo"?
Nếu 10 SP cùng cam kết lưu cùng một file, họ có thể về lý thuyết chỉ cần một bản sao thực sự và chia sẻ nhau để tạo proof. Điều này phá vỡ toàn bộ mô hình redundancy của mạng. PoRep ngăn điều này bằng cách đảm bảo mỗi proof gắn liền với một node cụ thể — không thể copy-paste proof từ SP này sang SP khác.
Quá trình Sealing — Từng bước
Sealing là quá trình tạo PoRep. Mỗi sector (32 GB hoặc 64 GB) phải được seal trước khi nhận deal. Quá trình gồm 4 giai đoạn:
PreCommit Phase 1 — SDR Encoding
Dữ liệu gốc được encode bằng Stacked DRG (Depth Robust Graph) — một graph cryptographic nhiều lớp. Mỗi node trong graph phụ thuộc vào nhiều node trước đó, khiến toàn bộ quá trình không thể song song hóa. Đây là lý do PC1 chậm. Output là một chuỗi "column" chứng minh dependency.
⏱ ~10–12 giờ/sector (CPU-bound, single-thread)PreCommit Phase 2 — Poseidon Hashing
Tạo Merkle tree của toàn bộ encoded data sử dụng Poseidon hash function (ZK-friendly). Kết quả là một commitment root — giá trị tóm tắt toàn bộ encoded sector. Giai đoạn này GPU-accelerated.
⏱ ~1–2 giờ/sector (GPU-accelerated)Commit Phase 1 — Witness Generation
Chuẩn bị witness data cho zk-SNARK proof. Kiểm tra consistency giữa PC1 và PC2 output.
⏱ ~20 phút (CPU)Commit Phase 2 — zk-SNARK Proof Generation
Tạo zk-SNARK proof cuối cùng (~192 bytes) chứng minh toàn bộ quá trình sealing đúng. Proof này được submit lên Filecoin blockchain và có thể verify bởi bất kỳ node nào trong vài milliseconds.
⏱ ~30 phút (GPU-accelerated)3Proof of Spacetime (PoSt) — Chứng minh dữ liệu vẫn còn
PoRep chứng minh dữ liệu từng được seal. Nhưng không đảm bảo dữ liệu vẫn còn tồn tại sau đó. PoSt giải quyết vấn đề này: SP phải định kỳ prove rằng dữ liệu vẫn có trên disk của họ.
Filecoin có hai loại PoSt với mục đích khác nhau:
WindowPoSt — Maintenance Proof (mỗi 24h)
Đây là proof "duy trì hoạt động". Mỗi 24 giờ, SP phải submit WindowPoSt cho toàn bộ sectors đang active của mình. Nếu không submit hoặc submit proof sai, sector bị đánh dấu faulty.
Timeline của WindowPoSt Fault và Slashing
WinningPoSt — Block Production Lottery
Đây là cơ chế Filecoin chọn ai được tạo block tiếp theo (và nhận block reward). Khác hoàn toàn với PoW hay PoS:
- Filecoin sử dụng Expected Consensus (EC) — mỗi epoch (30 giây), một hoặc nhiều SP được chọn ngẫu nhiên
- Xác suất được chọn tỷ lệ với Quality-Adjusted Power (QAP) — lượng storage đang active và đã chứng minh
- SP được chọn submit WinningPoSt — sample ngẫu nhiên một sector, prove nó vẫn còn
- Nếu proof hợp lệ → tạo block → nhận block reward
4Slashing — Hậu quả kinh tế khi vi phạm
Slashing là cơ chế mà collateral FIL của SP bị tịch thu khi họ vi phạm cam kết. Đây là điểm tạo nên trustless storage — không cần tin SP vì họ mất tiền nếu mất dữ liệu.
| Loại vi phạm | Hậu quả | Mức độ slashing |
|---|---|---|
| WindowPoSt fail (sector faulty) | Mất doanh thu từ sector, không bị slash ngay | ⚠ Tạm thời |
| Sector fault quá 42 ngày | Sector terminated, mất deal collateral | ⚠ ~3.51× daily block reward |
| Consensus fault (double-mining) | Tạo hai block trên cùng height — phá đồng thuận | ✗ Toàn bộ initial pledge |
| Storage deal violation | Deal expire trước hạn do sector fault | ⚠ Deal collateral proportional |
Ba loại collateral SP phải lock
| Collateral | Mục đích | Khi nào unlock |
|---|---|---|
| Initial Pledge | Cam kết khi onboard sector — tỷ lệ với expected block reward | Sau khi sector hết hạn (deal end) |
| Deal Collateral | Đảm bảo SP giữ dữ liệu theo đúng deal terms | Sau khi deal hoàn thành thành công |
| Vesting Block Reward | Block reward được vested dần (20% ngay, 80% vested 180 ngày) | Theo schedule vesting |
5So sánh PoSt với PoW và PoS
Điểm khác biệt quan trọng nhất: trong PoW, compute power tiêu thụ không tạo ra giá trị gì ngoài bảo mật mạng. Trong PoSt, disk space tiêu thụ tạo ra giá trị thực sự cho người dùng — dữ liệu được lưu trữ. Đây là lý do Filecoin thường được mô tả là "useful Proof of Work".
6Filecoin Plus — Amplified Power cho dữ liệu thực
Một vấn đề thực tế với PoSt: SP có thể seal dữ liệu rác (random bytes) để tăng QAP và nhận block reward, không cần lưu dữ liệu có ích gì. Đây gọi là Committed Capacity (CC) sector.
Filecoin Plus (Fil+) là cơ chế giải quyết vấn đề này:
- Clients có thể được cấp DataCap — một loại credential từ các notaries được Filecoin Foundation ủy quyền
- Khi SP lưu dữ liệu từ verified client (dùng DataCap), sector đó nhận QAP multiplier 10×
- 10× QAP → 10× block reward → SP có incentive mạnh để lưu dữ liệu thực thay vì CC
7PoSt và tác động lên FIL tokenomics
Cơ chế PoSt ảnh hưởng trực tiếp đến supply và demand của FIL token:
Block Reward — Nguồn FIL mới
Filecoin phân phối block reward theo đường cong giảm dần, tương tự Bitcoin halving nhưng dựa trên lượng storage được onboard. Tổng supply tối đa là 2 tỷ FIL, trong đó 55% (1.1 tỷ FIL) được phân phối dần cho block reward theo thời gian.
Collateral Lock — FIL bị lock khỏi thị trường
Để onboard mỗi sector, SP phải lock một lượng FIL làm initial pledge. Lượng FIL bị lock tỷ lệ với tổng network storage power. Khi storage power tăng, nhiều FIL bị lock → giảm circulating supply.
Burn — FIL bị đốt
Một phần base fee của mọi giao dịch Filecoin bị burn (tương tự EIP-1559 của Ethereum). Slashing cũng đốt một phần FIL thay vì chuyển cho người khác.
Để hiểu đầy đủ cách PoSt liên kết với kiến trúc modular blockchain và vai trò của Filecoin trong hệ sinh thái DA + Storage, xem bài tổng quan tại FIL.VN – Data Availability & Decentralized Storage.
8Thách thức kỹ thuật và hướng phát triển
Sealing cost — Rào cản gia nhập
Chi phí sealing (đặc biệt PC1 cần CPU mạnh, C2 cần GPU) tạo rào cản gia nhập đáng kể cho SP nhỏ. Một số giải pháp đang triển khai:
- SupraSeal: Sealing pipeline mới tối ưu hóa PC1 speed lên đến 3–4×
- Sealing-as-a-Service: SP có thể thuê sealing capacity từ bên thứ ba
- Sector sizes nhỏ hơn: Thảo luận về 8 GB sectors để giảm time-to-first-sector
WindowPoSt overhead
SP lớn với hàng petabyte storage phải submit WindowPoSt cho hàng chục nghìn sectors mỗi 24h. Đây là chi phí compute và bandwidth đáng kể. Batched proof submission (gộp nhiều sector vào một proof) đã giảm đáng kể overhead này.
Retrieval — Vấn đề chưa giải quyết hoàn toàn
PoSt chứng minh dữ liệu được lưu, nhưng không có slashing cho retrieval chậm. SP có thể lưu dữ liệu nhưng serve retrieval cực kỳ chậm mà không bị phạt. Đây là lý do retrieval vẫn là bottleneck của Filecoin — được giải quyết bởi Saturn CDN (xem bài Saturn CDN).