Dominic Tarr is a hacker who resides on a sailboat, usually found in New Zealand’s beautiful Hauraki Gulf. In recent years he has risen to fame as the creator of the Secure Scuttlebutt protocol, Scuttlebutt for short. Scuttlebutt is comprised of a standardized message format and a subjective append only log stored locally by users.
The first application has been a multi-client decentralized social media platform that is an absolute joy to use, and I encourage everyone to download my favourite desktop client, Patchwork, or Manyverse for Android. As an autonomous software system, like Bitcoin, Scuttlebutt rewards the provisioning of resources to support the network, only rather than a point system and money myth, Scuttlebutt offers something far more valuable, conversation. This mostly covers the origin of the protocol but I will definitely conduct more interviews with Dom and others close to the project, which is today one of the most impressive, and well used decentralized applications in existence.
Visit scuttlebutt.nz for more information,
History of Secure Scuttlebutt
- The name is coincidental. It comes from an old amazon paper describing a subsystem of the amazon dynamo database that used a gossip protocol.
- Gossip protocols are robust because, like human gossip, messages can be passed through third parties ensuring that if a network is disrupted communication can still take place.
- However as the message is passed from party to party there is the opportunity to manipulate its contents. This is easily countered using cryptography
What is secure scuttlebutt?
- Came from looking at the problem of getting two databases to store the same information.
- Dom was looking at building something like IPFS he called Cyphernet
- Cyberspace is the space made by signals, cypherspace is the space made by algorithms
- Hyperlinks tell you where to go to find a piece of information, a hash is the primary identifier in cypherspace. The hash tells you what the thing is once you have found it but not where to find it.
- With hyperlinks the server can give you anything. With a hash you always know you have the right thing but another system is required to help you find the thing.
- Dom found that in private software development there was an incentive to make poor software because that results in more billable hours for the service industry
- This is because software contains a power structure encoded in it
- Today we live in an age of digital feudalism
From reading the Dynamo paper and learning node.js dominic became recognised as a distributed systems expert.
- This was the toolkit needed for the data replication he imagined.
- He got a job at a company, nearform, to build a distributed database. Through this project the idea for secure scuttlebut emerged and dom gained the skills he needed to build it
- Perkeep, Cryptosphere – distributed file storage system
- Learned from Cryptosphere’s design philosophy that included a credit system that powered a reputation system. Realised that if this was used as a feed for a social network there was no need for the reputation system because users would only follow feeds they trusted and wanted to. This also provided sybil resistance.
- Using a system like this you could separate the protocol, and information feed from the application preventing platform risk experienced by businesses building on platforms like facebook.
- The obvious first choice was a social media application
- By building a social media application the properties of the protocol could be discussed in that context
- First contributor – Paul Frizee now works on the beaker browser
- Paul worked on the front end, Dom worked on the back end
- Now there is a large community and a number of applications using the protocol
- Some describe it as the internet in the early 90s
- Consensus Algos are slow and expensive. Dom learned this from seeing how Web 2.0 systems scaled. We should design things not to need consensus.
- Instead use eventual consistency
- Avoid strict message ordering wherever possible. This makes the system much lighter weight.
The client ecosystem
- At least 5 clients to the social network app
- Manyverse: Android client by Andre Staltz
- Git SSB: back end for Git
- Anything can be built as long as the message format supports a type field and the messages fit in 8KB
- Separate client instances use different keys
- Clients can identify themselves as belonging to the same identity
- In the case of key theft the community can sort out which is the legitimate account
- This implements a variant of the web of trust model from the PGP days
Disappointment with blockchain
- There is so much potential in cypherlinks – hashes and signatures – an opportunity to create a “third web”
- In the early days of the internet everything worked so well just being free, why would you make everything cost money?
- Insisting on strict ordering makes it really hard to “get life done”
Additional third web projects
The Third Web is a completely new space where you can invent a new thing and the opportunity to build things that work is huge