Introducing Chronicle — A Permanode Solution
The IOTA protocol is a permissionless trust layer for the Internet of Things which enables a frictionless exchange of value between machines and humans. Anyone can secure data on the Tangle and make it verifiable to third parties for free.
For node owners with limited storage, transactions can quickly fill up their database. This presents a problem for the Internet of Things, where IOTA is working on integration with low-level, resource-constrained devices. We introduced local snapshots for this reason, allowing node owners to delete old transactions and keep their Tangle database small.
However, for many business use cases, data needs to be stored for long periods of time. For example, financial data must be stored for 10 years in some cases, and identity data needs to be kept for the lifetime of the identity. In order to enable these types of use cases, the IOTA Foundation has been working on one crucial building block: a Permanode.
Chronicle is the IOTA Foundation’s official permanode solution. It makes it easy for node owners to store all IOTA transactions in a fast, secure, scalable, and distributed database. Chronicle is used to store the unbounded data flow of the Tangle and make it queryable. In other words, a permanode enables indefinite storage of the Tangle’s entire history and makes that data easily accessible at scale.
Chronicle is a distributed fault-tolerant permanode that scales out and up, designed and developed in a battle-tested Elixir/Erlang ecosystem. The project will now be ported to Rust and become an official production-ready building block maintained by the Foundation.
What makes Chronicle so unique is the opportunity for community members and even businesses to offer the Tangle data “query as a service”. With some minor additional development, node owners could earn money by charging IOTA tokens to access historical Tangle data. By querying a quorum of internal and external nodes the absolute truthfulness of the data could be ensured.
The functionality can be extended further through Multiplex networks, building microservices for each layer that can communicate with public and private dataset(s) under different policies.
Learn how to get started and set up your own permanode here.
What are the next steps for Chronicle?
Going forwards, Chronicle will share its runtime environment with Bee, our next generation of node software. With today’s release marking its first iteration, work will begin immediately on porting Chronicle into the Rust programming language to run alongside Bee. As with the release of Trinity, Chronicle will undergo a third-party audit, as part of the Bee framework, to ensure it is water tight before then being declared production-ready.
As part of our work to further extend the functionality and capabilities of Chronicle, we also invite the community to take part in this work. We intend to issue grants in developing and expanding the notion of permanodes, with a grant already recently awarded to a community-made selective permanode implementation.
We encourage people to view the repo on GitHub. The system architecture can be viewed here, detailing the data model, data flow and the backend storage database(ScyllaDB).
Lastly, please join our Discord to engage directly with the dev team behind Chronicle.