I’d like to discuss the possibility for a new data type for the network. I’m aware this will be controversial, especially for the potential for abuse. However, I believe that the benefits outweigh the risks, and that the risks can be mitigated.
We have two types so far, with the following characteristics:
-
Immutable Data
- has no owner
- large chunks
- pay once
- live forever
- guaranteed storage
- content-addressed
- best-effort caching
-
Mutable Data
- signed by owner
- smaller chunks
- pay on create and (undecided?) on change
- mutable and/or versionable
- deletable by owner
- guaranteed storage
- address is assigned (selectable? I’m not sure)
- limited caching (because mutable)
I believe we could use another type:
-
Free Data
- signed by owner
- very limited size (under half K or similar)
- free to create (PoW signature to limit abuse)
- immutable but deleteable by owner
- can explicitly expire
- no guaranteed storage (“cache only storage” but read the notes below)
- content-addressed (primary ID for caching)
- addressed by owner id (“signed by”)
- optional secondary addresses (“link” or “index” types)
- extensively cached (the size limit helps here)
As this data type would not incur storage cost for its creator, it could serve as the backbone for search indexes, among other things. The index could be searched by a mix of keywords (secondary address) and creator ids (index providers) so users could freely choose between sources they trust.
Safecoin and similar transactions could also use this type, making them free without having to use an exception for MD. For this, however, PoW should come in two flavors: one with low complexity, matching the description as it is outlined above, and another with high complexity, that would guarantee storage forever. The requirements for these two levels would be negotiated within sections based on recent usage patterns, similarly to how PUT costs are calculated.
Since the size of this type would be very limited and entries could be freely disposed of (starting with those with low value, LRU) their cost to create, paid in CPU cycles, would be much lower than what would justify handling Safecoin transactions for. It would also explicitly remove the potential problem of “paying with Safecoin to pay with Safecoin” cycle.
Problems:
- I’m not sure how to incentivize caching this type of data or disincentivize early deletion.
- (more may be added as they come up in discussion)