anoma / anoma-archive

Reference implementation of the Anoma protocols in Rust.
https://anoma.net
GNU General Public License v3.0
425 stars 177 forks source link

Storage data sharing #285

Open tzemanovic opened 3 years ago

tzemanovic commented 3 years ago

Because we chose to separate the merkle tree from the data storage (and more specifically account storage sub-spaces), we don't have data sharing that is implied by merklelized storage. In some cases it would be preferable to store the data in shared space.

For example, it should be fairly common that a lot of users' validity predicates are the same. Another example is the planned feature for data schema described in data-schema.md.

Open questions:

┆Issue is synchronized with this Asana task by Unito

cwgoes commented 3 years ago

If we can do automated sharing of e.g. validity predicate code via something like hash-consing, that would be quite nice.

Would it be useful to generalize this concept? It would be nice if Anoma users can also benefit from it

What specifically do you mean - who are users in this context? Users of some particular validity predicate?

tzemanovic commented 3 years ago

What specifically do you mean - who are users in this context? Users of some particular validity predicate?

In this context, it’s the accounts and their sub-spaces. That is transactions would write some custom data that may be common to many accounts and understood by custom VPs