Scuttlebot: Peer-to-peer database, identity provider, and messaging system
Scuttlebutt is a neat concept, burdened by a bad protocol.  Signing a message involves serializing a json object, signing it, adding the signature as a field on that json object, and then serializing it again.  To verify, you deserialize the message into an object, remove the signature field, and then reserialize it, and verify the signature against that new serialization.  This means that all the clients have to have a json serialization that 100% matches the node.js serialization that the majority (totality?) of current clients use.  Any other implementation (I wrote one in Go) becomes a nightmare of chasing rarer and rarer differences that prevent verification, and if you miss one before you serialize your own message with it, suddenly you've poisoned your own journal...<p>All in all, it's something to study and learn from, but I strongly recommend not becoming involved unless you are 100% happy with being tied into node.js.