UPDATE July 2024:
- Moving to “In Review”
The latest version of the ERC can be found here: ERC-7208: On-Chain Data Container
/******************* About This ERC ********************************/
Hello Magicians,
Today we are excited to introduce ERC-7208, a set of interfaces that we call the On-Chain Adapters:
- DataIndex (DI) → indexes information and approvals of DataManagers to DataPoints through DataObjects
- DataManager (DM) → interfaces with user, implements business logic or “high-level” data management
- DataObject (DO) → logic implementing "low-level data management
- DataPoint (DP) → indexed low-level data storage (bytes32)
- DataPoint Registry (DPR) → defines a space of data point compatibility/access management
Abstract
“On-chain Data Containers” (ODCs) are a series of interfaces used for indexing and managing data in Smart Contracts called “Data Object” (DO). Information stored in Data Objects can be accessed and modified by implementing smart contracts called “Data Manager” (DM). This ERC defines a series of interfaces for the separation of the storage of data from the implementation of the logic functions that govern such data. We introduce the interfaces for access management through “Data Index” (DI) implementations, the structures associated with “Data Points” (DP) for abstracting storage, the Data Managers to access or modify the data, and finally the “Data Point Registries” (DPR) interfaces for compatibility that enable data portability (horizontal mobility) between different implementations of this ERC.
Motivation
As the Ethereum ecosystem grows, so does the demand for on-chain functionalities. The market encourages a desire for broader adoption through more complex systems and there is a constant need for improved efficiency. We have seen times where the market hype has driven an explosion of new standard token proposals. While each standard serves its purpose, most often requires more flexibility to manage interoperability with other standards.
While the diversity of standards spurs innovation, different projects will implement their bespoke solutions for interoperability, resulting in a highly fragmented landscape. The lack of a unified mechanism for adapting interaction between assets issued through different ERC standards is accentuating interoperability issues that lead to fragmentation.
We recognize there is no “one size fits all” solution to solve the standardization and interoperability challenges. Most assets - Fungible, Non-Fungible, Digital Twins, Real-world Assets, DePin, etc - have multiple mechanisms for representing them as on-chain tokens, using different standard interfaces. However, for those assets to be exchanged, traded, or interacted with, protocols must implement compatibility with those standards before accessing and modifying the on-chain data. Moreover, the immutability of smart contracts plays a role in future-proofing their implementations by supporting new tokenization standards. A collaborative effort must enable interaction between assets tokenized under different standards. The current ERC provides the tools for developing such on-chain adapters.
We aim to abstract the on-chain data handling from both the logical implementation and the ERC interfaces exposing the underlying data. This ERC proposes a series of interfaces for storing and accessing data on-chain, codifying the underlying assets as generic “Data Points” that may be associated with multiple interoperable and even concurrent ERC interfaces. This proposal is designed to work by coexisting with previous and future token standards, providing a flexible, efficient, and coherent mechanism to manage asset interoperability.
-
Data Abstraction: We propose a standardized interface for enabling developers to separate the data storage code from the underlying token utility logic, reducing the need for supporting and implementing multiple inherited -and often clashing- interfaces to achieve asset compatibility. The data (and therefore the assets) can be stored independently of the logic that governs such data.
-
Standard Neutrality: A neutral approach must enable the underlying data of any tokenized asset to transition seamlessly between different token standards. This will significantly improve interoperability among different standards, reducing fragmentation in the landscape. Our proposal aims to separate the storage of data representing an underlying asset from the standard interface used for representing the token.
-
Consistent Interface: A uniform interface of primitive functions abstracts the data storage from the use case, irrespective of the underlying token’s standard or the interface used for exposing such data. Both data as well as metadata can be stored on-chain, and exposed through the same functions.
-
Data Portability: We provide a mechanism for the Horizontal Mobility of data between implementations of this standard, incentivizing the implementation of interoperable solutions and standard adapters.
While we are working on a few reference implementations, this standard is moving to “IN REVIEW” and will likely be amended with the community’s input. We’re eager to hear your thoughts and feedback on this technology. Your insights will be invaluable in refining this standard!
We are looking forward to a lively and insightful discussion!