The database is the protocol. Reflections on a 20 year tradition of re-inventing the wheel

Caleb James DeLisle

The database is the protocol.
Reflections on a 20 year tradition of re-inventing the wheel.
Caleb James DeLisle

From UseNet to ActivityPub, every protocol solves the same problems over again.

  • How do we discover nodes?
  • How do we deal with network partitions?
  • How do we define bad behavior and how do we prevent it?

The algorithms which solve these problems are present in almost every decentralized protocol. They are also famous for being very difficult to get right!
In this lecture I will to propose an alternative. Why can’t we let the database do the replication and stick to writing the rules? When a node is a finite state automaton, all we need is an SQL-like language to define the set of all legal state transitions.

Questions & Answers available!

Q&A Session ‚Äď The database is the protocol
⬡ Hooray, the live Questions & Answers are available here

3 Likes

Cool ideas!

A plug of something I am very interested in and think is related to what you were talking about: Dedalus which uses Datalog as a language to define behaviour of distributed systems. There’s a nice StrangeLoop talk on the topic: https://www.youtube.com/watch?v=R2Aa4PivG0g

Maybe this goes in the direction of what you are thinking of as ‚Äúa new way of programming‚ÄĚ?

2 Likes

FYI I see Datalog db‚Äôs popping up ‚Äėeverywhere‚Äô. I posted 3 candidates to delightful databases.

2 Likes

Brilliant video, seems their current status is they changed the syntax of Dedalus and the new language is called Bloom ( http://bloom-lang.net ), but seems not quite ready for prime time just yet. Definitely something I’ll be keeping an eye on though…

With a quick search I also found disorderly labs and programmable storage. Might be interesting?