Pinned Tweet
Join me Friday morning for the first weekly rbitcoin engineering spaces!
xitter.twitterapi.xyz/i/spaces/1LProvoKZQERE…
on specs, implementations, and clankers
Replying to @andrew_s_toth @nitesh_btc
a tricky aspect of spec <-> code on all implementations hits whenever things are done in parallel or in batches.
of the past 5 (all very difficult to impossible to hit in practice) consensus divergences in rbitcoin 3 have been only possible due to batching. so the raw consensus rules matched perfectly in those 3 cases but under batch verification one could slip.
categorically, this is similar to the liquid hack situation. the rules were all correct if applied sequentially but with an optimization (batching / caching) one can be elided by a clever hacker.
so we need not only a proof that the sequential rules of an implementation match the spec but also a proof that all performance optimizations do not introduce drift from that spec. that latter part is difficult. very difficult. and more advanced clankers definitely make a difference on it.
rbitcoin 0.9.2 coming probably today with important fixes. one being a difficult to trigger consensus split.
triggering it requires specifically crafted consensus invalid block sequences that happen to hit in the same confirmation batch in rbitcoin during IBD. it cannot be triggered on a node that is already at tip.
this is one of the motivations behind rbitcoin too. the focus in rbitcoin is on the quality of the tests even more than the quality of the code because the tests are what ends up defining the critical consensus behaviors. I need to do a pass over rbitcoin to make sure the tests are well organized, but we have a catalog of consensus critical tests already which cross-maps those tests to some of the attempts at consensus specs happening in the industry.
Thinking about hosting a weekly rbitcoin spaces. Which rough time of day works best?
35%14:00-16:00 UTC
35%18:00-20:00 UTC
25%22:00-00:00 UTC
5%Other (comment)
20 votes • Final resultsrbitcoin 0.9.0 is released!
Production Ready, unincorporated.
* For those running prior releases: a 0.8 data directory opens unchanged.
* New with 0.9.0, docker builds: `docker pull ghcr.io/rbitcoin-org/rbitcoi…` (no v on the tag).
* Mainnet now skips historical script checks through block 966143, the same anchor as Bitcoin Core 32.1.
* Now including testnet4 support.
* Much much more!
since 0.8, rbitcoin's consensus engine has been subject to much scrutiny under a variety of lenses. it was used to add an additional rule and refine other rules of @HornetNode 's consensus spec; used to cross-validate @Rob1Ham 's btc-lean spec and contribute to that effort to fully specify bitcoin consensus; subjected to an attempted proof of equivalence in the LLVM IR by @TheBlueMatt ; and much more. honestly, it's fared remarkably well throughout. for that reason, we're revising how we talk about rbitcoin starting with the 0.9 release tomorrow.
rbitcoin 0.9 will be Production Ready, unincorporated rather than Production Ready™️. this is a major step toward the real goal of a 1.0 software release that we can proudly call simply production ready.
when I started rbitcoin this summer (as some combination of a joke and just to see if I could), I couldn't have imagined that it would come this far or attract so much positive attention. rbitcoin now has commits from 18 people, plus audits, scans, or reviews from many others. it's grown to over 200,000 lines of production code and another 200,000 lines of test code. it's contributed not only to the consensus specification efforts mentioned above, but to a new way of handling esplora and electrum wallet synchronization, additional testing in bitcoin core, bug fixes in rust-bitcoin, and probably more I'm forgetting.
to say that I'm thrilled with the progress on rbitcoin would be a massive understatement. so, to everyone who has encouraged my AI psychosis, discouraged it, contributed to it, or contributed to rbitcoin in any way; thank you!
special thanks to bitcoin CEO @Rob1Ham who basically strong-armed me into realizing the possibilities of LLM-assisted coding, and to @ProductionReady for still not forking the repo.
not to put too fine a point on it, but the tokens for rbitcoin and my travel to @tabconf and the rust-bitcoin summit were funded by donations for rbitcoin. all of my time in building rbitcoin to date has been donated by me.
since 0.8, rbitcoin's consensus engine has been subject to much scrutiny under a variety of lenses. it was used to add an additional rule and refine other rules of @HornetNode 's consensus spec; used to cross-validate @Rob1Ham 's btc-lean spec and contribute to that effort to fully specify bitcoin consensus; subjected to an attempted proof of equivalence in the LLVM IR by @TheBlueMatt ; and much more. honestly, it's fared remarkably well throughout. for that reason, we're revising how we talk about rbitcoin starting with the 0.9 release tomorrow.
rbitcoin 0.9 will be Production Ready, unincorporated rather than Production Ready™️. this is a major step toward the real goal of a 1.0 software release that we can proudly call simply production ready.
when I started rbitcoin this summer (as some combination of a joke and just to see if I could), I couldn't have imagined that it would come this far or attract so much positive attention. rbitcoin now has commits from 18 people, plus audits, scans, or reviews from many others. it's grown to over 200,000 lines of production code and another 200,000 lines of test code. it's contributed not only to the consensus specification efforts mentioned above, but to a new way of handling esplora and electrum wallet synchronization, additional testing in bitcoin core, bug fixes in rust-bitcoin, and probably more I'm forgetting.
to say that I'm thrilled with the progress on rbitcoin would be a massive understatement. so, to everyone who has encouraged my AI psychosis, discouraged it, contributed to it, or contributed to rbitcoin in any way; thank you!
special thanks to bitcoin CEO @Rob1Ham who basically strong-armed me into realizing the possibilities of LLM-assisted coding, and to @ProductionReady for still not forking the repo.
not to put too fine a point on it, but the tokens for rbitcoin and my travel to @tabconf and the rust-bitcoin summit were funded by donations for rbitcoin. all of my time in building rbitcoin to date has been donated by me.
rbitcoin development has moved to the new rbitcoin-org organization on github. redirects should work
Thanks to @nitesh_btc , @rbitcoin_org now has testnet4 support.
If you're into that kind of thing, you can to it now.
Thanks to new contributor @punithbtc !
One step toward supporting NBXplorer, now we just need them to support BIP324 :)
Had a great chat with @christine_dkim here, check it out to learn some of my less well known history and thoughts!
We covered a lot of ground about me and @rbitcoin_org in a short time.
Replying to @ready4merge
Check out the full interview, out now on all R4M podcast channels! 👾
YouTube: youtube.com/@Ready4Merge/
Spotify: open.spotify.com/show/6Xbgyi…
Apple Podcasts: podcasts.apple.com/us/podcas…
Substack: christinedkim.substack.com/p…
Thanks for your continued contributions @Naomi_nayy !
Privacy fix on master: with --onion set and no --proxy, rbitcoin could send your own transaction to a clearnet peer straight from your real IP when it knew fewer than 2 onion peers. Isolated broadcast now never dials a peer directly. Thanks to Naomi-Gift. github.com/reardencode/rbitc…
Most recent rbitcoin mainnet IBD on my laptop with default milestone of 840k and all indexes enabled took 10h36m from start to serving wallets. New record for that configuration.
I love the label meat proxy. Good vibes being a meat proxy to a clanker and developing great software.
In my role as meat proxy, I just skimmed some of my clanker's code fixing a bug, realized that it was unnecessarily complicated, quizzed the clanker on alternatives and trade-offs, selected an alternative approach and instructed the clanker to redo the code that way.
The symbiosis between meat proxies and clankers is remarkably effective, and both should be considered terms of endearment.
SI is not an LLM on its own, nor is it a human on its own. Only through the meat proxy / clanker symbiosis do we realize SI.
so many improvements going into rbitcoin today. mostly small things that improve the stability and resilience of the node or make it more compatible with various client software. truly exciting times. I can really sense a shift in the development to more refinement and less big features and changes.
rbitcoin 0.9 delayed until next week while we work on some additional bugs and refinements. too many changes flowing for me to be reasonably confident in a release this week.









