I initially started with the same assumption and prototyped the early versions using the hypercore protocol (e.g., see https://github.com/indie-mirror/hypha-spike-multiwriter-2/tree/master). I thought at the time that a replicated directed acyclic graph could be core of such a system but it has a huge downside: the data structure must be replicated on all nodes. (2/5)