James Barry, Co-Founder & CTO, Taekion
The Taekion File System (TFS), our blockchain-based file system, was born out of a unique challenge. We were awarded a small business grant by the US Department of Energy to build secure enclaves for critical national infrastructure. The necessary solution would store attributes for a variety of different systems with various storage methods designed to last for decades. The intent was a blockchain-based application that was usable with a variety of devices.
The Challenge
Like any industry, energy infrastructure utilizes an array of hardware technologies, but many of the technologies are hardware constrained with security as an afterthought. Building API interfaces for every type of device or expecting administrators to configure those same systems to interface with our API was unreasonable. Energy devices use file systems for storage, but changing their communication and storage protocols is difficult or impossible. The data and settings on these devices is vulnerable to remote tampering and only as secure as the most recent backup. A file system layer transparent to the devices could solve the integration issues and a blockchain could solve the data and configuration issues.
The key challenge remained: blockchain is not a file system.
Why didn’t a blockchain-based file system exist already?
We realized if we used a file system, everyone knows how to place and retrieve their files already. But, how could we do that with blockchain at the core?
At the time, the state of the art for a "blockchain-based file system" was to store the file on a datastore, usually a database,then store a “hash” of the file on a blockchain. The hash would give cryptographic proof the file was the same one as when the hash was created. It was a comparison point, so if you needed to see if a file had been changed, you compared the hash on the blockchain to the file on the datastore.
However, this process isn’t simple and would require operating changes for potential customers, and it still didn’t offer an immutable record of changes unless you repeated the process to have hashes from over time. Even that process would not tell you what changes actually occurred, just that the file had been changed. Further, a hash would not give you the ability to restore a file to a prior state if there were undesirable changes.
The Solution
Our challenge was to make a blockchain transparent to the end user by using a file system interface. The entire file and a record of it’s changes needed to be stored on the blockchain.
Our initial exploration of public blockchains showed they were not suitable for our needs. Scaling for enterprises was difficult, public blockchains left security holes, and they were incapable of handling the volume of transactions generated by a file system. Further, public blockchains governance models weren’t suitable for data that needed to last for decades. We quickly pivoted to exploring private, enterprise-grade blockchains like Hyperledger Sawtooth. The private Sawtooth blockchain had the foundation we needed, based on a private blockchain. Sawtooth had another awesome feature. Files could be of any arbitrary size, which has become a desirable feature for our clients.
Our challenge was to make a blockchain transparent to the end user by using a file system interface. The entire file and a record of it’s changes needed to be stored on the blockchain.
Our initial exploration of public blockchains showed they were not suitable for our needs. Scaling for enterprises was difficult, public blockchains left security holes, and they were incapable of handling the volume of transactions generated by a file system. Further, public blockchains governance models weren’t suitable for data that needed to last for decades. We quickly pivoted to exploring private, enterprise-grade blockchains like Hyperledger Sawtooth. The private Sawtooth blockchain had the foundation we needed, based on a private blockchain. Sawtooth had another awesome feature. Files could be of any arbitrary size, which has become a desirable feature for our clients.
The result of our research and development was a journaling file system which writes to a private blockchain. A file can be edited by an end user, but every change and every version of the file will exist on the blockchain. This means restoring backups in case of corrupted or modified files can be greatly simplified. Auditing changes to files can be greatly simplified. Deploying distributed secure backups can be greatly simplified.
Taekion delivered.
The result was the Taekion File System, a journaling file system backed by a private blockchain.The entire file is on blockchain, but all normal operations are available to the end user like editing, taking snapshots, creating, or deleting files.
With our TFS Beta under development, our design goal is being met. We had a usable blockchain that worked with a variety of use cases that, to a user, seems like any other file system. Now, we are proud to introduce our immutable Taekion File System to the world.