One of the principal challenges facing blockchain developers is data storage. Blockchains can only store the hashes of data, instead of actual files such as your photos, videos or other documents. Fortunately, a few pioneers have come up with alternative solutions and Thunder Chain File System (TCFS) is one of them.
At the recent ThunderChain Salon, ThunderChain R&D engineer gave a thorough presentation from a technical perspective, which revealed the internal framework, security policy and implementation process for TCFS. A few technical details of this “built-for-blockchain” file system are finally beginning to emerge.
File system built for blockchain
The internal framework of TCFS has three components, with up to 1.5 million storage nodes at the core of the system serving as the storage infrastructure. A file uploaded to TCFS will be divided into 36 slices and stored in 36 of these 1.5 million nodes based on a “cherry-picked” approach. Under any circumstances, the original file can be recovered as long as any 18 nodes remain valid.
To upload a file, users just need to log in the user module, which allows users to backup their file storage and get access to available storage nodes. The file is then sliced and encoded and the number of available nodes can be increased through PTV. These storage nodes are validated before file upload and such file is indexed after successful distribution to complete the upload process.
Similarly, the download process allows the file to be retrieved from any 18 nodes in the 36 slices and then decrypted and recovered.
Another important component is the scheduler module. TCFS has more than 1.5 million nodes, which requires a well-designed resource utilization mechanism to maximize efficiency. That’s why scheduling has a critical role to play. However, distributed scheduler is very different from conventional schedulers. Based on geographically distributed scheduling, a number of storage nodes in different cities are selected to achieve top-level efficiency. This function is enabled by the scheduler module.
Security policy focused on multi-factor authentication and information privacy
As a distributed file system, security is a top priority for TCFS. Multi-factor authentication and information privacy are at the heart of TCFS’s security policy.
File security requires, among others, file authenticity. TCFS verifies data uploaded by the file owner to ensure authenticity and confirms the user’s claimed identity to make sure such user has permissions for file download. In addition, data are encrypted for transfer in the process of data exchange.
As files are divided into 36 slices and stored in 36 different nodes with data slices being encoded, raw data are not accessible from the storage nodes. Decoding is only possible when data slices from at least 18 nodes are provided to retrieve the original file. However, these nodes are randomly appointed. With 1.5 million nodes, randomness required for secure storage is guaranteed.
Meanwhile, users may encrypt their files and upload files protected by encryption key to ensure multi-layered protection and data security.
TCFS can allow users to configure file authorization and get paid for sharing and selling files. The structure of such mechanism comprises key information such as expiry date, licensee address, signature and file path, etc.
This mechanism is an excellent match to blockchain characteristics, allowing TCFS to protect information privacy of its users.
And last but not the least, TCFS uses ThunderChain’s LinkToken as an incentive mechanism to ensure the reliability of storage nodes and make it possible to divvy up and utilize idle resources such as bandwidth and storage space, enabling low costs, high availability and rapid development of blockchain applications, closely combined with ThunderChain.