What is BTFS?

BTFS Overview

BitTorrent File System (BTFS) is a next-generation file sharing protocol in the BitTorrent ecosystem. Current mainstream public blockchains mostly focus on computational tasks but lack cost-effective, scalable, and high-performing file storage and sharing solutions. In the meantime, centralized storage systems are troubled by many intrinsic problems:

  • Centralized trust
  • Prone to censorship
  • High maintenance costs
  • Lock-in effect
  • Low fault tolerance

These are exactly what BTFS aims to clear up. Besides, underpinned by BTTC, BTFS enables cross-chain connectivity and multi-channel payments, making itself a more convenient choice. The intgration of BTFS, BitTorrent, and the BTTC network will boost DApp developers' efficiency in serving a wider market.

Architecture

1600

Architecture

The BTFS network is primarily composed of BTFS nodes, including renters and hosts. Renters can upload files by paying WBTT while hosts provide storage in the network for BTT rewards.

Official Contract

We have added some smart contracts to enable node recommendation, payment, airdrops, among other features, mainly including:

  • Vault Contract
  • OnlineProof Service
  • Staking Contract
  • Proof-of-StorageContract
  • Airdrop Contract
  • Price Contract

You can view the latest mainnet and testnet addresses of these contracts on BTFS Scan Official Contracts page

Below is the description of these contracts:

Vault Contract

This contract is designed for payment for the storage of uploaded files. Renters who have uploaded a file can pay for the storage service by sending a cheque of a specific sum to hosts via the vault, and hosts are allowed to withdraw the funds to their wallets.

Online Proof contract

The node will get online proof from the online signature service, and report it to online proof contract. This contract is designed to store the latest online proof data for each node.

Staking Contract

Every storage node (host) in the BTFS network has to stake BTT. Files uploaded by renters will be sent to hosts, recommended based on their staking amount or staking rate, or in a random way, for storage.

Proof-of-Storage Contract

This contract is designed to prove hosts' continuous storage of contract files. Hosts, when starting to host files, are required to generate a proof of file storage periodically and submit it to the proof-of-storage contract, and are subject to punishment if they miss the deadline for submission.

Airdrop Contract

Hosts will receive BTT airdrops from BTFS according to the size of files and the duration of their storage. The airdrop contract and proof-of-storage contract combined decide the amount of BTT to be airdropped.

Price Oracle Contract

This contract is designed for timely updating the storage prices in the whole network.

BTFS Pricing

WBTT Price

Renter Charge(WBTT)Host Reward (WBTT)
125 WBTT (GB/Month)125 WBTT (GB/Month)

Other Token Price

After BTFS 2.3, multi-token (TRX, USDD_t, USDT_t) is supported to pay BTFS cheques, and the
price of other token will be converted to BTT based on the current exchange rate. The specific price can be queried in Price Oracle Contract

📘

Note: When uploading files, renters can set the number of redundant files (excluding original files) to --copy=num. For instance, if num equals 2, it means that three files have been uploaded with one original file and two redundant files.The pricing structure shown above is still under test and is subject to further changes. The team will work to introduce a more advanced pricing structure in the near future.