ETHNET: A Global, Experimental Data Storage Protocol on Ethereum

0xInuarashi
5 min readJun 21, 2023

--

Abstract

ETHNET introduces a novel protocol designed to act as an arbitrary data storage layer on Ethereum, taking advantage of indexed EVENT data. The protocol employs a smart contract to create an “ETHNET,” a data network that allows for the submission of data, which can be further interpreted as users see fit. While not exactly a new technology, ETHNET is an innovative approach that repurposes existing implementations to deliver an open, unbiased, global data storage smart contract leveraging event data.

The protocol is envisaged to spark creativity and experimental implementations. However, it’s essential to note that ETHNET, as it stands, is an experimental network. It’s therefore discouraged for use in high reliability, robust, or financial applications, for which Ethereum’s STATE storage should be used. ETHNET is designed for arbitrary data without executional functionality, where the data is stored onto the Ethereum blockchain in a decentralized way through event data. Interpretations on top of ETHNET data are inherently more centralized than traditional on-chain smart contract implementations due to the requirement of indexers and interpreters.

1. Introduction

ETHNET opens the door for endless possibilities, serving as an open protocol that anyone can push data to and interpret in any way they wish. By submitting data to the ETHNET contract, a unique hash identifier and nonce — an incremental number based on the submitter — are returned. These can be used for a variety of purposes, including, but not limited to, the numbering of an NFT protocol that mints a token each time data is submitted.

The protocol doesn’t distinguish between tokenizable and non-tokenizable data, providing opportunities for both to thrive. Example applications include, but are not limited to, ERC721 NFTs based on ETHNET data and non-tokenized applications such as a public wall anyone can write to or a social network.

2. Data Categorization and Retrieval

ETHNET supports data categorization through the use of a “protocol” or “identifier,” allowing users to label their data and facilitating easy data lookup through this identifier. The submitted data, categorized via the identifier, is transformed into indexed EVENT data on the Ethereum blockchain, making it available for indexing from the smart contract.

2.1 Quick User Guide

When submitting data to ETHNET, you can use the submit() function with the arguments: <string> identifier, and <string> data.

Identifier is used as a “category” or “protocol” label for easier indexing.

Data is suggested to be uploaded in base64 format with a
data:<data/type>;base64,<base64data> for high compatibility, although this is not required.

Users may submit() or use the equivalent in programming to submit the data to ETHNET.

The event data emitted is named Data() with the following indexes:

ID <bytes32> — A bytes32 identifier for the Data object
Identifier <string> — A bytes32 (string) representation of the identifier
Creator <address> — The creator address of the Data object

In such way, filters can be created to Data() by using the contract.filters.Data(id, identifier, creator) method, and queried from the smart contract through the contract.queryFilter(filter) method.

Example Queries

Lets assume that a user implements a protocol named “communication” to ETHNET.

Indexers and browsers are able to call contract.filers.Data(null, “communication”, null) in order to get the entire Data history of the identifier “communication” on ETHNET.

Creating a filter consisting of “communication” and a wallet address will scope the filtering to return all “communication” messages sent to ETHNET from a specific address.

Unique Identifier

Each Data object has its own unique ID which is a bytes32 identifier. These unique IDs can be linked to additional protocols or queried from ETHNET in a simple and easy way through a contract.filters.Data(id, null null) which will return the Data object to the requester.

Additionally, submit() returns the user nonce and unique ID, which allows smart contracts built on top of ETHNET to store such data into state (or event) storage for easy retrieval and lookup.

A smart contract that stores entries and their unique ID to STATE storage

2.2 Possibilities

In such composable and rule-free way, people can use, interpret, as well as build upon (with other smart contracts) the data on ETHNET as they please.

Example things that can be built:
- A social wall
- A messaging service
- An NFT protocol
- Various Meta-Protocols
- Archiving Services
- … and more

3. Disclaimers and Recommendations

While ETHNET provides a platform for creativity and experimentation, it’s critical to underscore its experimental nature. ETHNET is designed for arbitrary data storage without any executional functionality. Therefore, it isn’t suitable for high-reliability, robust, or financial implementations, which are better served by Ethereum’s STATE storage — executable and hence, more robust.

Implementations on ETHNET require indexers and interpreters, making them inherently more centralized than traditional on-chain smart contract implementations. Developers intending to build on ETHNET should be aware of this aspect and ensure transparency about the network’s experimental nature.

Lastly, given its arbitrary and experimental nature, it’s strongly advised not to place any financial investments onto ETHNET.

4. Conclusion

ETHNET represents an innovative leap towards global, open, and experimental data storage on the Ethereum blockchain. By combining existing implementations in a unique way, it unlocks a wealth of potential for developers and users alike to interact with data in novel ways. However, it’s essential to keep in mind the experimental and arbitrary nature of ETHNET and its intended use cases, ensuring it’s used in the spirit it was designed for — experimentation and creativity.

The future of ETHNET, like all technologies, lies in the hands of those who choose to interact with, build upon, and innovate within its framework. This litepaper serves as an initial exploration and explanation of its potential and limitations, providing a foundation for future endeavors.

Links

https://etherscan.io/address/0xA906669374D4ED40d8dE5614b6c81ADce1c91ab7

--

--

0xInuarashi
0xInuarashi

Written by 0xInuarashi

Crypto Enthusiast, Writer, Developer. (Moved to substack @0xInuarashi)

No responses yet