Decentralized Storage - Phần 2: The Landscape

Blockchain tồn tại với mục đính chính là value transfer (trao đổi giá trị), Decentralized Storage System tồn tại với mục đích lưu trữ nội dung dù vậy hiện giờ cũng có rất nhiều Decentralized Storage System tận dụng khả năng của blockchain để lưu lại và theo dõi những Storage Orders (đơn hàng lưu trữ), nơi mà giá trị được trao đổi qua lại.

Có nhiều dự án tiếp cận những phương pháp khác mới mẽ hơn, sáng tạo hơn. Dưới đây mình sẽ tổng hợp những đặc tính mà mình cho là đáng lưu ý khi nhìn vào một Decentralized Storage System.

Những thành phần cần lưu ý khi nhìn vào một Decentralized Storage Systems:

  • Data storage format: Định dạng lưu trữ (toàn bộ file hay chia nhỏ)
  • Replication of data: Bao nhiêu nodes sẽ chứa bản sao của file/ shard.
  • Storage tracking: Cách mà hệ thống truy xuất dữ liệu của người dùng.
  • Proof of data stored: Cách để kiểm tra node có thật sự lưu data của người dùng, và data có toàn vẹn hay không.
  • Data availability over time: Data sẽ tồn tại trong thời gian bao lâu.
  • Storage price discovery: Cách định giá cho dịch vụ storage.
  • Persistent data redundancy: Khi có node rời bỏ mạng lưới, thì việc đảm bảo data toàn vẹn như thế nào.
  • Data transmission: Chi phí truy xuất data.
  • Network tokenomics design: Network sẽ tồn tại lâu dài như thế nào.

Một số khái niệm bổ trợ

  • Replication: Replication chính là việc nhân bản data ra thành các bản sao và gửi cho các nodes.

Replication đối với Decentralized Storage sẽ hoạt động hơi khác một chút đó là thay vì lấy các bản sao gửi về cho người dùng thì mạng lưới sẽ lấy từng mảnh nhỏ từ các bản sao để ghép lại thành mảnh chính, việc này sẽ làm tăng tốc độ truy xuất file.

  • Erasure Encoding: Erasure Encoding là phương pháp chia nhỏ dữ liệu mà trong đó dữ liệu sẽ được chia nhỏ ra thành từng mảnh bằng nhau nhưng kèm theo phần nhỏ dữ liệu của một mảnh khác. Như vậy để ghép lại thành một file hoàn chỉnh thì không nhất thiết phải cần toàn bộ dữ liệu.

Ví dụ file pzo.pdf được chia thành 10 mảnh thì lúc ghép lại chi cần 6-8 mảnh là có thể hoàn thành lại file.

  • Storage Miners: Là các thợ đào của network, mục đích chính là cho mượn bộ nhớ để lưu trữ dữ liệu và được trả thưởng bằng block rewards và phí users trả.

Dưới đây sẽ là một vài dự án liên quan. Hãy cùng nhìn xem chúng có gì nổi bật:

Filecoin (FIL)

Trước hết chúng ta sẽ nói tới Filecoin ($FIL). Filecoin có blockchain riêng của mình và build trên nền tảng của IFPS (một giao thức trao đổi dữ liệu mã nguồn mở). Vậy chính xác Filecoin hoạt động như thế nào ?

Filecoin cho phép Storage miner lưu trữ data dưới dạng những đơn vị sectors, mỗi sector (64gb hay 32gb) sẽ chứa các mảnh data của các khối data khác nhau cho tới khi đầy thì thôi.

Mỗi sector khi được “seal” tức là xác minh thành công (không gian lận và có chứa data thật, data không bị hư) thì sẽ được nhận Miner Storage Power. Các miners càng có nhiều Miner Storage Power thì sẽ càng có nhiều lợi thế trong block mining và khả năng được nhận nhiều rewards hơn. Bên dưới sẽ là những điểm lưu ý chính của Filecoin.

  • Data storage format: Filecoin sử dụng Erasure Encoding để phân tách data thành những mảnh nhỏ, số lượng mảnh và phần mở rộng của mỗi mảnh được network quyết định. Data của Filecoin sẽ không được encrypted nhưng bạn cũng có thể chọn lưu data đã được encrypted cho Filecoin
  • Storage price discovery: Filecoin dùng Storage Markets để định giá. Storage providers/miners sẽ set giá cho service của mình, kèm theo các tham số khác nhau mà giá sẽ thay đổi (thời gian lưu, bản sao) … người dùng sẽ lựa chọn mức giá phù hơp nhất giữa các storage miners để trả phí. Phí này sẽ kéo dài cho tới khi hết hạn lưu trữ dữ liệu.
  • Replication of data: Filecoin cho phép người dùng chọn số lượng bản copy (toàn bộ mảnh data) trên các thiết bị khác nhau của miner trong 01 deal bằng cách điền Replication factor trước khi thực hiện. Lưu ý : Replication này chỉ thực hiện đối với 01 miner duy nhất và có thể set là 01 (tức là không cần copy). Nếu muốn user có thể mở 01 deal với 01 storage miner khác để lưu thêm bản sao data cho chắc ăn.
  • Storage tracking: Filecoin dùng blockchain để track lại lịch sử giao dịch giữa users và data providers. Storage nodes cũng sẽ lưu một bản đồ location của data. Khi nào cần lấy data thì network sẽ sử dụng bản đồ này + thêm hash đính cùng vào data để truy xuất dữ liệu.
  • Proof of data stored: Các nodes của Filecoin Chain sẽ liên tục check hash để tạo block mới. Chỉ cần mã hash bị thay đổi thì tức là data lưu trữ giữa các nodes đã bị hư hoặc mất. Như vậy sẽ đảm bảo cho việc data sẽ toàn vẹn và số lương bản sao sẽ là chính xác. Trong trường hợp hash bị sai và data bị mất/hư hao thì nodes đó sẽ bị phạt phí phạt sẽ được refund cho users.
  • Data availability over time: Ban đầu khi giao dịch giữa users với storage providers, users có quyền chọn thời gian mà data của mình được lưu trữ (càng lâu càng mắc). Hashes được tạo ra bởi blockchain của Filecoin sẽ đảm bảo điều này.
  • Persistent data redundancy: Trong trường hợp nodes rời bỏ mạng lưới. Các mảnh dữ liệu bị mất đi tới mức quy định của network. Storage deal sẽ được tự động đưa lên markets và kiếm miners mới.
  • Data transmission: Users sẽ trả khoản phí để thu hồi data của mình, nodes sẽ thực hiện việc này và nhận lại phí.
  • Network tokenomics designs: Miner được khuyến khích mở nhiều sectors để có thể nhận phí từ storage deal và cơ hội nhận block rewards. Để có thể tạo một sector và sector được sealed thì Miners sẽ phải stake một lượng Filecoin cho sector đó của mình. Mỗi Epoch sẽ có khoảng 05 block được mined và 75% rewards sẽ được trả theo vesting trong vòng 180 ngày và 25% là transferable ngay lập tức.

Nhận định

Tokenomics của Filecoin khuyến khích storage miners cung cấp nhiều storage space cho hệ thống và users sẽ có nhiều lựa chọn hơn. Khuyến khích cho việc trích xuất dữ liệu chưa thật sự mạnh và store data lâu dài hoặc vĩnh cữu không phải là điểm mạnh của Filecoin do việc kiếm được miners mới khi miners cũ bỏ đi vẫn là vấn đề rủi ro. Dù vậy, giá cả để lưu trữ data của Filecoin cũng rất cạnh tranh và phù hợp lưu những dữ liệu không nhạy cảm (không được encrypted) trong một khoảng thời gian tương đối.

Sia(SC)

  • Data storage format: Sia sử dụng cũng Erasure encoding để phân tích data thành những mảnh nhỏ, số lượng mảnh và phần mở rộng của mỗi mảnh sẽ được network quyết định. Data sẽ được encrypted trước khi được lưu trữ.
  • Storage price discovery: Sia dùng storage markets để định giá. Storage providers/miners (Sia gọi là host) sẽ set giá cho service của mình. Khi renter (users) đồng ý với mức giá thì sẽ kích hoạt và tạo ra một smart contracts gọi là Service-Level Agreements (SLAs).
  • Replication of data: Sia không cho phép renters tạo nhiều bản sao mà chỉ phân mảnh và mã hóa data của renters. Các mảnh này sẽ được lưu trữ phân tán trên tất cả các node của Sia.
  • Storage tracking: Cũng giống như Filecoin, Sia dùng blockchain của mình để track lại lịch sử giao dịch giữa renters và hosts.
  • Proof of data stored: Vào cuối thời hạn của một SLA, host phải chứng minh rằng mình vẫn giữ mảnh data của renters bằng cách gửi transaction có chứa Storage proof (có thể hiểu là bằng chứng còn lưu trữ). Nếu proof này được chấp nhận bởi Sia chain thì host sẽ nhận được khoản tiền của renters. Nếu không, thì không nhận lại gì cả và còn mất đi khoản thế chấp ban đầu để chạy nodes. Storage proofs dùng cấu trúc dữ liệu Merkle tree để chứng minh mảnh data của host đang giữ là một phần của khối data chính mà renters đưa vào.
  • Data availability over time: Sia chạy thuật toán để đánh giá xác nhận ngẫu nhiên các mảnh data khắp các nodes vào các khoảng thời gian cố định và báo cáo lại tình trạng của data bằng một cơ chế thống nhất tự động. Ngoài ra việc bắt các storage nodes phải đặt cọc một khoản tiền lớn sẽ phần nào giảm thiểu rủi ro các nodes tự ý làm mất data.
  • Persistent data redundancy: Khi nodes rời bỏ mạng lưới, thì các mảnh data sẽ mất đi. Để đảm bảo tính toàn vẹn của data thì Sia sẽ gom các mảnh data để khôi phục data gốc và chia lại các mảnh data cho các nodes. Việc này đòi hỏi sự có mặt của renters thường xuyên log vào account của mình để khôi phục data do data đã được mã hóa và không xác định thứ tự mảnh.
  • Data transmission: Users sẽ trả khoản phí để thu hồi data của mình, nodes sẽ thực hiện việc này và nhận lại phí.
  • Network tokenomics designs: Host phải trả thế chấp một khoản tiền để được tham gia mạng lưới và sẽ burn một lượng token của mình để chứng minh mình là real, burn càng nhiều thì càng được người dùng tin tưởng mà gửi file. Siacoin không có giới hạn supply, được sinh ra một cách lạm phát dựa trên block rewards (giống như Proof-of-Work của Bitcoin). Người dùng sẽ mua Siacoin để trả cho service mình cần.

Nhận định

Điểm mạnh nhất của Siacoin chính là encrypted data, dự liệu sẽ được bảo mật tốt. Network hoạt động gần như tương tự như Filecoin. Cơ chế để đảm bảo data được lưu trữ toàn vẹn và tính linh hoạt của hệ thống của Sia nhìn chung tương đối chặt chẽ. Tuy nhiên, Tokenomic chưa thật sự khuyến khích sự tăng trưởng trong việc cung cấp thêm storage cho mạng lưới. Cơ chế hấp thu inflation cũng chưa thật sự thuyết phục. Do sự dụng Proof-of-Work nên về tốc độ ghi nhận đơn hàng dịch vụ cũng vị vậy mà bị giới hạn khá nhiều.

Tiếp tục với Phần 3 nhé!