FIL.VN — Data Availability & Decentralized Storage
Trang chủ ZRO.VN
⚡ Kiến thức nền tảng · Cluster A3

Proof of Spacetime Là Gì?
Cơ Chế PoRep & PoSt
Của Filecoin Giải Thích Chi Tiết

Làm thế nào blockchain biết một Storage Provider thực sự đang lưu dữ liệu của bạn — không phải chỉ nói vậy? Đây là bài toán mà Proof of Replication và Proof of Spacetime giải quyết, tạo ra cơ chế đồng thuận dựa trên không gian lưu trữ thực sự.

FIL.VN Knowledge Base Cập nhật: 2025 Thời gian đọc: ~16 phút Lĩnh vực: Blockchain Consensus
Tóm tắt nhanh

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.

🎯 Câu hỏi kỹ thuật cốt lõi

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:

PC1

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)
PC2

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)
C1

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)
C2

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)
Thiết kế có chủ ý: Sealing chậm và tốn kém không phải là bug. Nếu sealing nhanh, SP có thể xóa dữ liệu rồi re-seal khi cần submit proof — fake lưu trữ. Độ chậm của sealing (đặc biệt PC1) là cơ chế bảo mật: nó đảm bảo proof gắn với lịch sử vật lý thực của dữ liệu trên phần cứng.
// Cấu trúc PoRep proof (đơn giản hóa) PoRepProof = { comm_d: CommD, // Commitment của original data comm_r: CommR, // Commitment của encoded data (sealed) proof: SNARKProof, // zk-SNARK ~192 bytes miner: MinerID, // Gắn với node cụ thể — không thể transfer sector: SectorID, // Sector identifier } // CommR = f(CommD, MinerID, SectorID) // → Proof của SP A không thể dùng cho SP B // → Proof của sector 1 không thể dùng cho sector 2

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

Giờ 0
✓ Active
Sector healthy, WindowPoSt đã submit đúng hạn
Giờ 24
⚠ Faulty
SP miss deadline. Sector bị đánh dấu faulty. Không có doanh thu từ sector này
Ngày 2–7
⚠ Grace Period
SP có thể recover bằng cách submit proof hợp lệ. Không bị slashed nếu recover kịp
Ngày 42
✗ Terminated
Quá max fault age. Sector bị terminate. Collateral bị slash (~3.51× block reward)
Tại sao 42 ngày? Đây là thời gian đủ để SP xử lý sự cố phần cứng, mất điện, hoặc các vấn đề kỹ thuật hợp lý. Đủ dài để không phạt oan, đủ ngắn để không để SP "abandon" sector mà không chịu hậu quả.

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
// Xác suất được chọn tạo block: P(SP_i được chọn) = QAP(SP_i) / TotalNetworkQAP // Quality-Adjusted Power tính theo: QAP = RawBytePower × QualityMultiplier // QualityMultiplier dựa trên loại deal: Committed Capacity (CC): multiplier = 1× Regular Deal: multiplier = 1× Verified Client Deal: multiplier = 10× // → Lưu data từ Filecoin Plus verified clients // → được tính power gấp 10 lần → incentive lưu dữ liệu thực

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ạmHậ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

CollateralMục đíchKhi 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
Tại sao vesting block reward? Nếu SP nhận 100% block reward ngay lập tức, họ có thể lấy tiền rồi shutdown node. Vesting 180 ngày đảm bảo SP có incentive tiếp tục hoạt động — họ chưa nhận hết tiền.

5So sánh PoSt với PoW và PoS

⛏ Proof of Work (Bitcoin)
Resource: Compute (hash power)
Output có ích: Không (hash bỏ đi)
Chi phí tấn công: Mua hash power > 50%
Verify: Tức thì (check hash)
Reward: Tỷ lệ hash power
Ảnh hưởng môi trường: Rất cao
🥩 Proof of Stake (Ethereum)
Resource: Token stake (ETH)
Output có ích: Bảo mật mạng
Chi phí tấn công: Mua > 33% token
Verify: Tức thì (check stake)
Reward: Tỷ lệ stake
Ảnh hưởng môi trường: Rất thấp
💾 Proof of Spacetime (Filecoin)
Resource: Disk space + sealing compute
Output có ích: Lưu trữ dữ liệu thực
Chi phí tấn công: Kiểm soát disk + sealing compute
Verify: Định kỳ 24h (WindowPoSt)
Reward: Tỷ lệ storage power
Ảnh hưởng môi trường: Trung bình (HDD > SSD)

Đ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
Tình trạng thực tế 2024–2025: Khoảng 60–70% storage power trên Filecoin mainnet là từ Fil+ verified deals. Cơ chế notary và DataCap vẫn có điểm yếu về centralization — một số notary cấp DataCap quá dễ, dẫn đến một số deal không có dữ liệu thực. Đây là vấn đề đang được cộng đồng Filecoin tích cực giải quyết qua Direct Data Onboarding và Smart Contract DataCap.

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).

Tóm lại: PoRep + PoSt tạo ra hệ thống lưu trữ verifiable by design — không cần tin tưởng SP, chỉ cần tin vào toán học. Slashing mechanism biến lời hứa lưu trữ thành cam kết kinh tế có hậu quả thực. Đây là nền tảng kỹ thuật cho toàn bộ giá trị của Filecoin như một mạng lưu trữ phi tập trung.
❓ Câu hỏi thường gặp về Proof of Spacetime
Proof of Spacetime khác Proof of Work như thế nào?
PoW (Bitcoin) tiêu thụ compute power để tạo hash — resource đó không tạo ra giá trị thực sau khi block được mine. PoSt (Filecoin) tiêu thụ disk space để lưu dữ liệu thực của người dùng — resource đó tạo ra giá trị thực sự. PoW là tiêu tốn compute vô ích ("useful work" là phụ phẩm); PoSt là tiêu tốn disk space có ích (lưu trữ là mục đích chính).
Sealing trong Filecoin là gì và tại sao mất nhiều giờ?
Sealing là quá trình tạo Proof of Replication (PoRep) — chứng minh SP đã tạo một bản sao vật lý độc đáo của dữ liệu trên phần cứng của họ. Quá trình mất 1–2 giờ cho PC1+PC2+C1+C2 vì thiết kế có chủ ý: tốc độ chậm (đặc biệt PC1 dùng SDR encoding) đảm bảo SP không thể fake proof bằng cách generate on-demand hay chia sẻ một bản sao vật lý cho nhiều deal khác nhau.
WindowPoSt fail thì SP bị mất bao nhiêu FIL?
Khi WindowPoSt fail, sector bị đánh dấu "faulty" — SP mất doanh thu từ sector đó nhưng chưa bị slash ngay. SP có thời gian recover (submit proof mới trong deadline tiếp theo). Nếu không recover trong 42 ngày (max fault age), sector bị "terminated" và deal collateral bị slashed khoảng 3.51× daily block reward của sector đó. Consensus fault (double-mining) bị slash toàn bộ initial pledge — nghiêm trọng nhất.
WinningPoSt khác WindowPoSt như thế nào?
WindowPoSt là proof định kỳ mỗi 24h — SP phải prove toàn bộ sectors đang active. Đây là "maintenance proof" để chứng minh dữ liệu vẫn còn. WinningPoSt là proof để tạo block mới — SP được chọn ngẫu nhiên tỷ lệ với Quality-Adjusted Power của họ. SP thắng WinningPoSt nhận block reward. WindowPoSt là bắt buộc cho tất cả SP; WinningPoSt là lottery.
SP nhỏ có thể cạnh tranh với SP lớn trên Filecoin không?
Chi phí sealing tạo lợi thế quy mô cho SP lớn có ASIC/GPU chuyên dụng. Tuy nhiên block reward phân phối tỷ lệ với storage power — SP nhỏ vẫn có thu nhập proportional với storage. Thách thức chính là chi phí upfront: pledge collateral và sealing hardware. Các giải pháp như SP pooling, sealing-as-a-service đang giúp giảm rào cản. Xu hướng thực tế là SP chuyên nghiệp trung quy mô (10–50 PiB) là phân khúc phổ biến nhất.
Khi SP mất điện đột ngột, dữ liệu client có bị mất không?
Dữ liệu không bị xóa ngay khi SP mất điện. Khi SP online trở lại, họ có thể submit proof và recover sector. Nếu mất điện kéo dài qua WindowPoSt deadline (24h), sector bị đánh dấu faulty nhưng vẫn chưa bị xóa. SP cần recover trong 42 ngày. Nếu quá thời hạn, sector bị terminated và collateral bị slashed — nhưng dữ liệu có thể vẫn còn trên phần cứng của SP, chỉ không còn được đảm bảo bởi protocol.

ZRO Research

Phân tích kỹ thuật sâu về cơ chế đồng thuận blockchain, Proof of Spacetime và hệ sinh thái Filecoin. Nguồn tham khảo: Filecoin Spec (spec.filecoin.io), Protocol Labs research papers.

Filecoin Consensus PoRep / PoSt Cryptographic Proofs fil.vn