Oddbean new post about | logout

Notes by AVERAGE_GARY | export

 Block Height 870,000 
 nostr:nprofile1qqs2fj6373scelx3dvknzuwyvctehmvwr97y8wze3q3mqn0zvm80zyqpremhxue69uhkummnw3ez6ur4vgh8wetvd3hhyer9wghxuet59uzrnkwv your bot broke 
 https://heartandsoil.co/
Worth every sat until we get more farmy 
 We need more mining tech grant/bug bounties. 
 #asknostr

Best way to help focus throughout the day for ADHD? 
 Smoke during the day? 
 We're closer then before but I still work at a corporation so sometimes 😫😐 
 I'll circle back to a pomodore timer to see how it goes.  
 I'll take music tips.  
 I should try it again.  
 nostr:nprofile1qqs0svka3er6njw946l9m0kfqfzxdqlcz24cxzkzml4q7396l49zalcpz4mhxue69uhkummnw3ezummcw3ezuer9wchswnh508 should follow nostr:nprofile1qqszw48usckkhs9hcwt3q3np9k2z2c73s8qc0gu3uxqw66cqlq88ukcpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzynhwden5te0wfjkccte9enrw73wd9hszgmhwden5te0wfjkccte9eek7an9wfjkjemwv4hxw6twv4jhy6twvuhxjmczv5ddh

V/R,
CTIC  
 Just joined!!! Bye forever X. 

#introductions 
 Welcome! 
 nostr:nprofile1qqsthhkl7d66efnxevsdc8kjc8lhehlc0kr6au82248sq7900xnj2asjp09qr
You are what you eat. 😂 
 Bullish thanksgiving Bitcoin conversations are back on the menu.  
 I still think the tradFi advisor in-laws won't say a damn thing to me. 😂 
 Tempted to do another impromptu #TitcoinTalk Nostr-only nostr:npub10qrssqjsydd38j8mv7h27dq0ynpns3... 
 Yo.  
 Do it  
 Testing WoT relay - Take 3 
 I see this 
 nostr:nprofile1qqszw48usckkhs9hcwt3q3np9k2z2c73s8qc0gu3uxqw66cqlq88ukcpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzynhwden5te0wfjkccte9enrw73wd9hszgmhwden5te0wfjkccte9eek7an9wfjkjemwv4hxw6twv4jhy6twvuhxjmczv5ddh 
 This is the part when you realize you don't have enough Bitcoin. 
 Fuck don't I know it.  
 Ripped from Xitter and shared here for my nostrich homies... Thnx nostr:nprofile1qqsf2ds69dp2ympzhtpmdd46f3w2cnfkjphtpnaesf5xs8z95vqu2xqpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcny8cm0 for the great breakdown. 

Let’s talk about Cluster Mempool!

 Each of our full nodes stores unconfirmed transactions in its mempool. This cache is an important resource for the node and enables the p2p transaction relay network. By learning about and validating most transactions before a block is announced, blocks relay quickly.
https://i.nostr.build/MQVruI7vEFueE0i1.jpg
By observing which transactions first appear in the mempool and later get published in blocks, a node can unilaterally estimate the necessary feerate to make a successful bid on blockspace to get a transaction confirmed.
https://i.nostr.build/VphLCxvWigXQ033X.png
 Nodes relaying transactions to all peers is indispensable for user privacy and censorship-resistance in the network. Quick and unfettered access to unconfirmed transactions allows anyone to build competitive block templates and permissionlessly become a miner.
https://i.nostr.build/DplIUleHRBlGCSVH.png
Currently, Bitcoin Core tracks each transaction in the context of its ancestors. A block template is greedily assembled by picking the ancestor set with the highest ancestor set feerate into the block, updating the ancestor sets of all affected descendants, repeat.
https://i.nostr.build/fv2LSarCtDlVe5DP.jpg
This approach has the downside that we need to update transaction data as we build the block template, and that we can only predict a transaction’s mining score (the feerate at which it will be picked into a block), after taking into account all of its relatives.

Sometimes demand for blockspace is so high that our node receives more transactions than it can cache in its limited mempool. Whenever the mempool overflows, we would like to evict the transactions that are least attractive for mining.
https://i.nostr.build/jGo5qdMiAc3jx1uw.jpg
Unfortunately, the dependency of transactions on their relatives means that we can only accurately predict which transaction would be mined last, by calculating all the transactions that we would pick before it. We cannot afford this computation for each eviction.

 So, instead we use a heuristic to imperfectly asses which transaction should be evicted first. We additionally track each transaction in the context of its descendant set, and use the lowest descendant set score of transactions as an indicator for eviction.
https://i.nostr.build/z6kZ3Q3qpLRQl8N1.jpg
If a single transactions or a leaf transaction has the lowest descendant set feerate in our mempool, this result is accurate. However, this heuristic may fail to correctly identify the transaction that would be picked into a block template last.
https://i.nostr.build/QoyEzOgI2VXbkb7S.png
In this example transaction graph, J’s ancestor set has the highest ancestor set feerate and would be mined next with its ancestor F, but F has the lowest descendant set feerate and would be evicted with all its descendants including J.
https://i.nostr.build/jONAutb9SnrRxBqg.jpg
Finally, it is well-known that the BIP125-inspired RBF rules used by Bitcoin Core do not always lead to incentive compatible replacements. We know of cases where replacements get accepted but do not improve the mempool, and cases that get rejected but would improve it.
https://i.nostr.build/fQixhvLMgSIYmdLD.png
Enter the Cluster Mempool proposal (H/T to Suhas Daftuar and Pieter Wuille): What if we were able to always know the order of the entire mempool and could always read off the mining score of every transaction?
https://i.nostr.build/a2atGGKr5YSVZbpf.png
Instead of tracking each transaction in the context of its ancestor set and its descendant set, we track each transaction in the context of its _cluster_, its entire "family" of related transactions!
https://i.nostr.build/NwwjXzkA2CTMBzxu.jpg
 Each transaction only belongs to a single cluster. We find clusters by starting with any transaction and adding all its children and parents, and the children and parents of its children and parents, and so forth, until there is nothing left to add.

We then "linearize" each cluster: we convert the transaction graph into a list by sorting them in the order in which the cluster’s transactions would be picked into a block template.
https://i.nostr.build/mvTXK183OrjeTueR.jpg
 For now, you can think about a cluster linearization as running a block building algorithm on the cluster and recording the order in which the transactions get picked into the block. 

Calculating the linearization of big complicated clusters can be computationally expensive.

 The computational cost of operations on clusters limits their size. We will leave it at that for the moment, but if you want to learn more, @pwuille wrote a treatise on how to efficiently linearize clusters on Delving Bitcoin: https://delvingbitcoin.org/t/introduction-to-cluster-linearization/1032

Previously, we used ancestor sets to notice when e.g. a child in a CPFP constellation made it attractive to pick a package of parent and child together into our block template.
https://i.nostr.build/QOrj9jDUnAMybOrN.jpg
Our cluster linearization allows us to easily identify segments of transactions that will naturally be included in blocks together. Whenever higher-feerate transactions follow lower-feerate transactions, we group them together into _Chunks_.
https://i.nostr.build/Kqd3atec0rirKkBZ.jpg
These chunks have marvelous advantages over ancestor sets: 1) Multiple children with higher feerates than their parent can naturally form a chunk with a higher chunk feerate than any child’s ancestor set feerate!
https://i.nostr.build/zGjFgdGbZg2SALjl.png
The chunk feerate only depends on the transactions in the chunk. The chunk feerate remains the same even when ancestors are picked into a block template—we can precompute the chunk feerates and read them off as the mining score of all of the chunk’s transactions!

Block building simply becomes repeatedly picking the chunk with the highest feerate across all clusters until the block template is full. 
This also provides us an implicit total order of the entire mempool.
https://i.nostr.build/W148MpiOzBLSZoa2.jpg
This also means that we know exactly which chunks we will mine last. 
Eviction simply becomes kicking out the chunk with the lowest feerate across all clusters.
https://i.nostr.build/0biXDrQY2DDcysTy.jpg
In conclusion, Cluster Mempool offers us:

• Faster block building
• Always available mining scores
• Near-optimal eviction
• A better framework for thinking about Package RBF via so-called feerate diagrams

at the mere cost of some pre-computation and a cluster limit.
https://i.nostr.build/y6JuVTCCz00QBLeA.png 
 No images are loading for me on  nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sy... 
 #DitchPrimal 
 Coracle.social
Damus if you're on M series.
Iris.to

Primal tries to cache everything and doesn't really implement nostr 
 nostr:nprofile1qqsp4lsvwn3aw7zwh2f6tcl6249xa6cpj2x3yuu6azaysvncdqywxmgprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvq9n8wumn8ghj7enfd36x2u3wdehhxarj9emkjmn99ah8qatzx9e8gmr3vdsnsu3kv96hjcthx4hr26pnds6ngv3jv3kngumj0y6kg7nxv4jngd3exen8zefcwvm8zem4v34hxdmydf6xvuelvfex7ctyvdshxapaw3e82egpzpmhxue69uhkummnw3ezuamfdejs5mzk3a https://i.nostr.build/N8xr6dCBHg4LJZgW.jpg
😐
 
 Now I feel dumb falling for it. 🤔 
 Bus driver talking about 80k bitcoin but then dives into XMR and finally said he was following Roger Ver for sometime. Sounded like he read Roger's book about how bitcoin has been captured and isn't p2p anymore.  
 There is a fine line between this very correct statement down here, and the edgy incel pseudo-sto... 
 Lol. Incels don't have kids.  
 GM
Get after it today. Be more peaceful.  
 Devs, Please fork this repo and republish so an IP ambulance chaser can eat rocks.
https://github.com/Codextor/zed-material-theme/issues/1 
 If I don’t have time to learn and set up my own lightning channels from my
Home node before I h... 
 See you're well handled here 
 You heard it here first: Qatar is buying #Bitcoin. Unsure, if they’ll announce it soon, but the... 
 nostr:nprofile1qqsqrh0w9zd35t5ssax2xs520fq5we9xetg6h74fshpqrea2mgtd8rqpz9mhxue69uhkummnw3ezuamfdejj7qgnwaehxw309ac82unsd3jhqct89ejhxtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsy9h0te 
 Thinking closer to .01btc/hr 
 0.01BTC/hr is the market pleb consulting rate for anyone that asks. 
nostr:nevent1qqsgmk0lc6zm6wvdskdqxrvzc5hc2689g0akyacr74zfvnf6pzswe9spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygr84k5wx3zn9jlc9u88qfrjufx839hqu8ykyd02ew42fwrpvpfpwypsgqqqqqqsx6rq95 
 Two different people texted me about bitcoin today out of the blue.  
 My first time it happened and it was two! Completely unrelated to each other socially.  
 150k/hr. Lets set an pleb standard now. Haha 
 Atleast 69,420 
 This is my policy. But it's a good filter and hook for the meetup. I can charge you or you can just come to the meetup for free.  
 Hopefully.  
 Devs are the new lawyers of the future bitcoin standard. Good pivot, IMHO.  
 It's unclear who's good or bad. But maybe that's the point.  
 Top two good. Bottom two bad. Bottom two are looking down slightly but so is top left. However, he has a light color background, like top right.

Now I will name them, top to bottom. Left to right.

Gareth
LiMei (lee-may)
Viv (short for Vivianna)
Freeman 
 It does change perception a bit (again the head angle) but I like the first picture. He's more serious and looks ready to have dirty hands while doing clean work.  
 Peaceful, not harmless.  
 I’m debating doing stand-up 
 What's the pros and cons? 
 Give your kids as many reasons as possible to think you're awesome.  
 Dave talked about Ross the day after the election. Great show about where that came from. #FreeRoss

(Wish 


(Wish he had zaps)

https://fountain.fm/episode/5WzBOcjVcDa4ieT2vhIU 
 He's not a diehard maxi and has some iirc 
 Honored to be part of the bitcoin conspiracy with all you people. 🫂

https://fountain.fm/episode/Fz3cmCjbT8jXtLnfhlyT

nostr:nevent1qvzqqqpxquqzp5n5xhsetxq3n3ghs9ard2uuuj23fnkc3hk2k6uwmkerl3d87d8yvmzfvj 
 Excellent!!! 
 An entrepreneurial #dev might be able to look into https://github.com/braiins/farm-proxy
Grab worker insights from the Prometheus endpoints and popualte a sub-pool database for #bitaxes 
 Find a local community organization and offer to sponsor it as "Bitcoin".
My LLC will be sponsoring this event for a few hundred dollare.  https://i.nostr.build/EuZz2oZhwX7QOCln.jpg 
 Come to the event or start your own! 
 Yo nostr where can I buy a bitaxe? 
Ty #asknostr 
 Sup. I ship for $10 flat rate within the US. Have BitAxe Supras to $145 
 A lego set that can be built which functions as a multifaceted machine that does below?
-connects... 
 Need a good USB to LoRa bridge. 🤔 
 nostr:nprofile1qqszw48usckkhs9hcwt3q3np9k2z2c73s8qc0gu3uxqw66cqlq88ukcpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzynhwden5te0wfjkccte9enrw73wd9hszgmhwden5te0wfjkccte9eek7an9wfjkjemwv4hxw6twv4jhy6twvuhxjmczv5ddh 
 TBD winding down? 
 Like the web5 thing?  
 Context missing. Curiosity intensifies.
Interesting nonetheless.  
 Two months later, we do indeed have the manuscript. 120k words.

Currently revising, getting feed... 
 That seems like a very short time to write such things. 

PS Need any reviewers? I have zero qualifications to speak of but have many PRs to repos to fix a typo or grammatical correction.  
 Do I need a M&P 2.0?
#gunstr 
 Need? Probably not unless you're not already armed. Im of the opinion that if you don't train with it, you don't need it.  
 Nostrnests reset my profile. Ugh 
 Point to point microwave.  
 Is there a place to find Ross's court records? Had a coworker give me the "yea but he murdered someone" narrative.
#asknostr 
 More likely is a magnetic pole shift that allows CMEs to fry modern electronics due to decrease EM protection 
 Sick. I will go full benevolent warlord if EMP hits.  
 What is that? Am I Shadow banned now? And which word that I used is on the nip blacklist?
#asknos... 
 Easy to do to self with bad relay management or caching (looking at your Primal) 
 Have a strong urge to orange pill the city government of Detroit.  
 Do it. Become mayor along the way 
 Strong roots necessary.  
 Fix the money,
Save the world. 
 Yes