3 ms·
You are describing blockchain applications. “Dapps” (decentralized apps) provide frontends to data which is stored on-chain. The blockchains themselves are (ide
by seibelj 4y ago
You are describing blockchain applications. “Dapps” (decentralized apps) provide frontends to data which is stored on-chain. The blockchains themselves are (ideally) run by neutral nodes that validate state transformations (transactions) and assemble them into blocks. The blockchain is a never ending series of state transitions.
Many firms and projects are trying to build a new internet based on such principles. For example Verite is a protocol for decentralized identity which has very significant backers https://www.centre.io/verite https://www.centre.io/verite
- pclmulqdq 4y agoThe problem is that these firms are trying to do inherently networked tasks with a framework that allows a lot of local-first computation. A local-first CRDT framework makes sense for document editing, and not really for social networking (mastodon), loans, or money transfers. Those really need to be networked.
- nvrspyx 4y agoI'm a little late replying to this, sorry. To preface, I'm not super familiar with the underpinnings of blockchains or CRDTs, so the below is just my current understanding. I wish I had more time to dig into them further. Blockchains require consensus to propagate to all nodes before a change is solidified into the chain. This is useful for transactional data, but it also means one transaction can be completely dropped if there's a conflict and the other wins. For something like document editing, for example, we don't necessarily need consensus and don't want to have to require another node to be online or reachable for a change to stick. Instead, we just need the merging of changes to be deterministic and consistent. With CRDTs, in theory, if two people go offline and edit the same document, each will merge the other's changes when they come online to resynchronize and they will ultimately end up with the same document. It doesn't matter who made the change first or what version of the document they have. It's like an automatic git merge. While they're similar in some aspects, I think both blockchains and CRDTs have their place in specific scenarios where one makes more sense than the other.