openEngiadina wiki

Mutable data

Content-addressed storage solves the problem of availability. However it imposes immutability of data.

Mutability is required in dynamic systems. How can it be implemented securely and decentralized?

Previous work

Datashards / Crystal

Conflicts can arise when multiple writers write uncoordinated. This is considered to be a necessary trade-off (see CAP theorem).

They do mention eventual consistency as solution, however consider the cost of such systems too high:

For systems such as distributed social networks, the cost of eventual consistency is simply too high, but for other systems, the cost might be the only way forward while preserving core design decisions.

Spritely Crystal

Maybe the cost of eventual consistency is not as high when using CRDTs.


Similar to Datashards they require coordination between writers.

See The Prime Coordination Directive: “Don’t Do That”.