Frequently Asked Questions
Find in-depth information about BTFS here
BitTorrent Inc. introduced a TRON TRC-10 cryptographic token called BitTorrent Token (BTT). BTT acts as a general purpose mechanism for transacting in computing resources shared between BitTorrent clients and a liquid market of service requesters and service providers. BTT is the unit denominating transactions for the provision of services in the BTT-enabled BitTorrent ecosystem. BTT is available as a divisible token, allowing for granular pricing. Adding a BTT token extends the familiar protocol to create a token-based economy for network resources, bandwidth, and storage resources on an existing BitTorrent network, giving network members the opportunity to appreciate the value of bandwidth and storage sharing.
When BTFS uploads a file to the network, the files are broken into blocks of max 256 KB size. As a host, you will only store a few blocks of a file. This way, no host can piece together any file from the blocks stored on their drive. Additionally, hosts are unable to view a file unless they happen to have all the blocks corresponding to a file, so it would be impossible for them to view even the partial file.
BTFS is a fork of IPFS. However, BTFS hosts a variety of unique features. For example, BTFS has native support for both file removal and file encryption/decryption. This allows users to easily remove illegal or copyrighted material on their nodes as well as securely transfer and store files. BTFS is also uniquely integrated with the TRON blockchain, as users can initiate nodes via wallets that support TRON.
Users can upload files to the BTFS network via a BTFS daemon. When non-pinned files are stored in cache, they remain stored until either the node stops running or the stored amount exceeds the garbage collection limit. Files are duplicated when they are requested by another BTFS node.
While the file transfer performance of using BTFS is comparable to other centralized services, BTFS has the added guarantee of secure P2P transfers. Centralized file storage repositories could potentially be compromised, leading to confidential files being exposed, stolen, or corrupted.
If enabled, BTFS can be disabled at any time via the BT Client by going to Options → Preferences, un-checking the Enable BTFS box, and hitting ‘Apply’. Alternatively, shutting down the BT Client also shuts down BTFS.
You can clear your BTFS cache by deleting the file blocks located under the directory C: → Users → btfs → .btfs → blocks.
As with any running process, BTFS requires some resource usage. Due to the nature of DHT requests, there may be some moderate memory usage. If you wish to reset the memory usage, you can reset BTFS via the Preferences dialog by disabling and then enabling it. Additionally the DHT network requests may cause mild bandwidth usage increase.
There are two ways to remove the BTFS binary. Manually remove the binary by removing the file contents of C: → Users → btfs → AppData → Roaming → BitTorrent → btfs. Alternatively, completely uninstalling the BitTorrent Client will automatically remove the BTFS binary as well.
When adding a file via BTFS, the files are broken into blocks and arranged in a tree-like structure using `link nodes` to tie them together. A file’s hash value is essentially the hash of the root node in the Merkle DAG.
A label used to point to material in BTFS. The content identifier (CID) does not indicate the content location. Rather, it is hashed from the bytecode of the partitioned file.
A distributed key-value pair mapping that BTFS queries to locate specified CIDs.
Elliptic Curve Digital Signature Algorithm is a variant of the Digital Signature Algorithm which uses elliptic curve cryptography.
IPLD stands for Interplanetary Linked Data. After an uploaded file has been broken into 256 kB chunks, each chunk is then hashed. IPLD is the template for linking all the data chunks which constitute a file.
Merkle DAG refers to Merkle directed acyclic graph.
BTFS allows for a wide array of flexible protocols to future-proof for changes in the system. Multihash, multiaddr, multibase, multicodec, and other protocols allow BTFS to adapt to changes in hashing algorithms, codecs, and other libraries.
The Mutable File System (MFS) is a tool that allows users to treat files like a normal name-based filesystem. Users can add, remove, move, and edit MFS files.
Pinning ensures objects are stored in the node’s local storage. This helps to persist files.