Posts

Showing posts with the label consensus

The One Where You *Know* You’re Right

Image
Let’s set the scene. You’re at work, and there’s one of  those things happening, where Alice (or Bob) have come to a decision that is  self-evidently dumb  as far as you’re concerned. You  know you’re right, and you  know  they’re   wrong. Or, it could be a bigger thing. This could be a design meeting, and the rest of the team is going down a road that you just don’t agree with. Or even worse, it could be the tech-lead (or product-manager, or your boss) handing down a decision from on-how to do this  clearly  stupid thing. Soooo, what do you do? • “ F**k-it, it’s not my problem ”? If so, you’re probably seriously burned out, in which case you should move on. Or, you might be in a “collecting a paycheck” kinda place, in which case the rest of this post really isn’t for you. • “ Yup, let’s get it  on ! ” Ok, maybe not quite this phrasing, but it does bring up the question of how forcefully you should argue, and/or get into the f...

Don’t Roll Your Own Consensus

Image
Rolling Your Own Consensus  is clearly the blockchain version of  Rolling Your Own Crypto. Reasons for doing so that I have seen include, • I have a Better Way To Do Things  (No. You don’t.) • It shouldn’t be hard, therefore it isn’t  (Why? also, Yes, it is.) • What could possibly go wrong?  (Yup) • We’re on AWS, so net-splits aren’t a thing  (Oh yes they are) • Or outages  (Ha. ha. ha. ha. ha) • Who cares what the academics think, this is the real world  (Yikes) • We use redis for co-ordination  (Sigh) • Actually, redis-cluster  (Double sigh) Next time you’re faced with one of these, I recommend running away. Immediately. With vigor. Mind you, if you  can’t  run away, try asking some combination of 1) Is it proven? 2) Really? 3) With Math? 4) And peer-reviewed papers? For extra credit, ask if they redid Paxos or Raft,  without the un-necessary parts. And  then , run away. Immediately. With v...