At PR review club I learned about BIP-50 where a change from BerkeleyDB to LevelDB unintentionally caused a chain split because LevelDB could handle blocks w more to inputs.

Incidents like these explain why core development is so conservative but as a developer, I do find it comforting that even the best projects make mistakes. A rite of passage for every young engineer is to accidentally break prod (for me this was at an AdTech company so maybe it was actually a good thing?)

@staciewaleyko I’d rather not have every new developer break production, thanks 🤣

@BitcoinAustrian wait I thought SV’s motto was “build fast and break things”?

@staciewaleyko breaking prod in a serious way will really make you learn the importance of thinking about bigger picture.

@staciewaleyko it wasn't clear at the time BIP50 was written, but the BDB issue had been causing some nodes to fall out of consensus for almost a year before the 0.8 release with the leveldb change. The issue had just never affected a large miner before. If things were a little bit different, it could've blown up before the 0.8 release, or maybe everyone could've updated to leveldb and the bug never discovered until it was irrelevant.

@harding @staciewaleyko iirc this is a topic of conversation in one of the chaincode labs podcasts. Can't remember if it's episode 1 or 2, though they're short and both worth a listen anyways.

Sign in to participate in the conversation
Bitcoin Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!