Preservation
The Changeset
Managing and exporting state for a large network scales with the number of users and assets. Building a network that manages millions of assets and preserves them on IPFS with checksums in ETH would be prohibitively expensive.
This is why we've developed the Tephra Changeset — a global log of all the operations required to re-construct the state at any point in time. In fact, the current state of the network is not stored anywhere in the Tephra infrastructure. All queries are run directly against the operations in the Changeset. We've crafted it so that answering questions like does X asset exist, when was it minted, who owns it, who owned it at Y point in time, can all be answered in a single lightweight query.
Tephra Preserves
Unlike "state," which is a snapshot of an entire network, the Changeset is a series of operations that can be chunked by time range and stored independently. This makes it possible to preserve an accurate record of the state of Tephra across all time while only storing each owner-asset relationship exactly once.
At each preservation cycle, the global Changeset is chunked and the chunk is uploaded to IPFS. Its hash is preserved in the Ethereum Main Net to serve as a public timestamp / checksum. Since these chunks contain all entries since the last preservation, the state of the entire network can be reconstructed by anyone for any given point in time. We're building an open source project to make the process of querying a validated copy of the Changeset simple (without any intervention from Tephra).
The contents of a Tephra preserve in IPFS are: the date of preservation, the entries since the last preservation, a link to the last preserve in IPFS. As the network expands, we may also provide links to "shortcuts", requiring considerably less compute when you're interested in the state changes during a specific time range for example.
Last updated
Was this helpful?