Balaji Profile picture
Author of the Network State. Founder of the Network School.

Sep 20, 2020, 6 tweets

An important corollary is that blockchains can be part of a protocol rather than the whole thing.

Many protocol designs become easier if you can assume that all peers read and write to the same global database.

From MVC to CBC, client-blockchain-client?

MVC: model-view-controller, dominant paradigm for web apps. You have an ORM on top of a relational database (the model) that processes commands from users (the controller) to render requests (the view). en.wikipedia.org/wiki/Model%E2%…

CBC: client-blockchain-client

An alternative paradigm where every client has a local crypto wallet, some coins, and a local relational DB. It leans on a central blockchain to find other clients and route messages to them. The local relational DB is used to cache & index state.

In the CBC model, clients often read and sometimes write to a central blockchain. Writes are costly and cost coins.

One tricky part is that there are also other nodes (miners, stakers, farmers) that host the B of the CBC. But using an existing public chain may obviate this.

The basic idea is that CBC is much easier to design for than pure P2P.

With pure P2P, problems like discovery, indexing, or contentious global state (eg leaderboards) become difficult. There are workarounds like magnet links. But also failures like this: ansuz.sooke.bc.ca/entry/335

Another concept is that we may want to distribute a block explorer with a wallet as a part of the client software.

The block explorer is the desktop application which allows the user to view what's happening on chain. Or it's a piece of such an application.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling