Telos Dapp developers will be able to start using TIPFS decentralized storage imminently with a simple migration path to a Telos-Filecoin bridge when available
By Douglas Horn
Decentralized Storage for Telos
EOS.IO chains currently lack a native system for decentralized file storage. IPFS (Interplanetary File System) has long been seen as a solution to this important missing feature. Block One published a white paper on IPFS storage for EOS.IO in September of 2017, so it has long been an aim of the EOS.IO community. https://steemit.com/eos/@eosio/eos-io-storage-white-paper-now-available
GoodBlock, Telos Miami, and Telos Voyager worked together to create a form of EOS.IO smart contract-controlled IPFS for Telos that we call Telos IPFS or TIPFS. This was an addition late in the Telos development process to allow governance documents, worker proposals, and arbitration submissions to be stored on decentralized servers. It has been running successfully since before the Telos mainnet launch. If you have looked at a Telos arbitrator candidate’s candidacy information or a worker proposal, you have seen TIPFS in use. It has already extended the functionality of Telos.
The Telos Core Developers have been working on building an economic model around TIPFS to allow anyone to use it. This would allow dapp developers or users to store files directly controlled by smart contracts on the Telos blockchain using a special system resource token. This token would be paid by users uploading files and received by the operators of the decentralized storage nodes on the TIPFS network. We have made a lot of great progress in building this system and app developers have told us that they are eager to use it.
The IPFS Landscape
While we had been making strong progress on this, we were also keeping track of the development landscape because there are a number of similar projects in development. The goal for Telos is to have the best decentralized storage solution available, not to necessarily “roll our own” solution. So we have kept track of what has been on offer from liquidApps, but even more on longer established projects like Filecoin, Storj, and Sia. These projects have spent many months with the sole focus of solving the problems we were also trying to solve. In fact, the economic solution that GoodBlock developed ended up bearing many similarities to Filecoin.
In March, Filecoin launched their testnet. We dove deep into what they were doing and how they solved problems that we were also approaching. GoodBlock joined the Filecoin testnet and has been communicating with the developers about their plans for interacting with EOS.IO. As a result of all of this study, we have come to the conclusion that continuing to develop our own economic model for TIPFS would use a lot of the Telos Core Developers’ limited resources and most likely generate a solution no better than Filecoin itself. And since Filecoin is certain to attract many more storage nodes than TIPFS would, it will have a clear advantage, even if TIPFS is “as good” as Filecoin. When the GoodBlock development team seriously considered which solution we would use for our own apps, assuming both solutions were similar, we decided we would choose the more broadly supported Filecoin than TIPFS. If we would use it, with all our ties to the development of TIPFS, we doubted that anyone else would choose differently. There’s really nothing to gain from building the first wheel next to someone else who is already building a bicycle.
On top of all of this, Block One is promising to unveil their development roadmap for the coming year very soon and there’s every chance that there is an IPFS implementation on it. With this in mind, the Telos Core Devs working on TIPFS recently decided that we should dedicate our development to other projects until we know more. Again, there’s no prize for building what others already built and there are many exciting projects that we could be working on in its place.
The future of Decentralized Storage for Telos
Filecoin is still several months away. TCD members are engaged with their development team and believe the best action for Telos is to shift development to helping to create a Filecoin-Telos/EOS bridge. This is far better than building our own competing system from the ground up.
In the meantime, there’s no reason to delay offering the current TIPFS to developers who could use it right now. You see, the current TIPFS actually works really well. And our work with the Filecoin teams has confirmed that we could deploy documents on TIPFS and then seamlessly migrate them all to Filecoin without losing files or needing to change filenames in order to work with their system. The good news, then, is that Telos can start offering TIPFS storage right now as private service providers.
Already, several block producers and other node operators have signed up to operate TIPFS nodes as service providers. Together, there will be more than enough nodes to ensure decentralized protection of all files. Any apps that wish to utilize this service can simply pay a fee to the service providers to open up write access to the TIPFS system. This is the same way as LiquidApps offers its vRAM services. (FYI: TIPFS and vRAM services are very different, even though both utilize IPFS.) Though not fully decentralized, this approach to TIPFS offers developers the ability to start using IPFS almost immediately as an interim solution.
Our continued work with the Filecoin team to develop a Filecoin-Telos/EOS bridge will help ensure that stored files will remain compatible for migration. We can start this right away. This gives us both a currently working system and an upgrade path for the future.
TIPFS From Here
The initial list of TIPFS node operators include: 21 Zephyr, BlindBlockArt, EOSphere, EOSza, GoodBlock, Infinitybloc, Octagon Labs, TelosDAC, TelosGlobal, Telos Green, Telos Miami, Telos UK, Telos Vancouver, and TheTeloscope.
Any node operators who wish to become a part of the paid TIPFS network should contact the TCD about joining the system. Any apps that wish to use decentralized storage solutions can also contact us. Together, both sides will negotiate an access fee that is worthwhile for everyone involved. We will ensure that the system can upgrade to Filecoin when its mainnet goes online or when a Telos-Filecoin bridge is ready.
While this approach is different than what we originally envisioned for Telos IPFS, it is a very good outcome. It means we can offer the service to apps right away. It provides smart contract-controlled IPFS to many apps that sorely need it — which is another important differentiator for Telos development. And it ensures a clear migration path for the future. Our goal was never to invent the perfect IPFS solution — there are other projects that specialize in this. Our goal was to offer Telos developers a way to take advantage of this capability as soon as possible and with a clear eye towards maintaining a long-lasting and useful solution. We feel we have this now and we’re excited to see apps start to use it.
About the author: Douglas Horn is the Telos architect and whitepaper author, and the founder of GoodBlock, a block producer and app developer for the Telos Blockchain Network.
More about GoodBlock can be found at: www.goodblock.io
Join us on Twitter @GoodBlockio
Vote for GoodBlock on the Telos Blockchain Network @goodblocktls