Co-author of the Bitcoin Optech weekly newsletter (2018-) and the third edition of Mastering Bitcoin (2023). Brink.dev grant committee member (2022-) and former board member (2020-22). Lives in Hilo, Hawaii. All opinions are my own.
Public Key
npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu Profile Code
nprofile1qqsgz07wf388du08kn6xj7l3qv9fpudqk7plrp7n9xqq5nwcd9lewkgprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqyf8wumn8ghj7mmxve3ksctfdch8qatzyqqnqq
Show more details
Published at
2024-12-31T03:04:19Z Event JSON
{
"id": "2975f7e5e1f079f48ad491caef5441a768d159f74cf440a3c0c20dab57575d89" ,
"pubkey": "813fce4c4e76f1e7b4f4697bf1030a90f1a0b783f187d329800a4dd8697f9759" ,
"created_at": 1735614259 ,
"kind": 0 ,
"tags": [
[
"alt",
"User profile for David A. Harding"
]
],
"content": "{\"name\":\"David A. Harding\",\"picture\":\"https://dtrt.org/img/me-2021-10-15-waterfall.jpg\",\"nip05\":\"[email protected] \",\"about\":\"Co-author of the Bitcoin Optech weekly newsletter (2018-) and the third edition of Mastering Bitcoin (2023). Brink.dev grant committee member (2022-) and former board member (2020-22). Lives in Hilo, Hawaii. All opinions are my own.\",\"display_name\":\"David A. Harding\",\"website\":\"https://dtrt org/\"}" ,
"sig": "6d38d95a8c64c2a36a3671c35ddf0c296dc2eb0efa50a9500a0c02bc2544194794552c1baeddb88b587fa8c6697dce836ce8f870fc11a6ec0bd3d82f9f030edc"
}
Last Notes npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Instead of having to whitelist people, you could probably have a simple naive Bayesian classifier in your client that you train on the type of comments you don't like. It would hide future similar comments in the future, with you able to tweak the threshold as your mood changed (e.g., you could risk seeing more junk on a day where you were bored). You could still whitelist your friends so they would pass through the filter. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Yrah, but there's no social aspect to Twitter muting. What you described (as I understood it) is Alice's client influencing which posts Bob sees. In that case, once one person we like violates the protocol, it incentivizes other people in the social group to violate the protocol, quickly rendering it moot. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Opt in ignoring in a social contexts always eventually degrades to nobody opting in. Imagine you have Alice and Bob, who like each other, and Unlikable Urkle. Alice initially ignores Urkle but Bob replies to one of his comments, stoking her curiosity, so she unignores him. This is why /ignore on IRC and similar systems don't work. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What crucial role do they play? (Honest question.) For content creators, I think it's probably better to convert readers into subscribers (e.g. BOLT12 recurring invoices), in the patreon model. For content consumers, the patronage model is also probably better at intelligently funding the kind of stuff that's good for you rather than a dopaminergic ad hoc process of zapping. For algorithms, my understanding is that zaps are just an unverifiable statement between two people, e.g. you and I could sign a zap saying that one of us paid the other 1M BTC without even a single sat changing hands. If they were verifiable, they'd seem to give algorithmic advantage to rich people and that doesn't particularly interest me. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Re: not using LNURL, it's mainly because I don't like hosting dynamic website code. It requires installing stuff on a server (requiring either a dedicated server or taking a risk with other stuff on the same server), breaks often in my experience, and is just not what I want to spend my time on. BIP353 looks promising because I'll just be able add a field to my existing DNS. All that said, I haven't actually set up either LNURL or BIP353, so I could be confused about what they actually entail. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Agreed about the possible use cases. And I also realize that I probably oversimplified things in my previous post. A normal part of my conversations, which are maybe not normal conversations for other people 😜, is suggesting that we make small wagers when we disagree about something easily provable either now or in the near future (my wife and I even use a website, fatebook.io , that let's us collaborate on questions and compare our Brier scores). Zaps would be great for resolving those small bets, rather than having to email LN invoices around like I did for https://x.com/jxpcsnmz/status/1839444666988757306 npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Totally agree that there are a bunch of confounding variables that limit correlation. However, I think every other proxy we've had for personal key management has failed to achieve popular use: PGP, personal browser certificates, years of DID attempts, etc. So the default assumption at this point might need to be that everyday people can't or won't manage their own keys. Accepting that assumption would have a significant effect on either _how_ we build Bitcoin software or _who_ we build it for. If, instead, we want to continue to build for an anticipated highly self custodied future, it would be really nice to have Nostr to point to as a counterexample of lots of typical people controlling their own keys. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding AFAIK, zapping currently requires using LNURL, and I'm not interested in either self hosting that infrastructure or outsourcing it. When BOLT12 zapping (perhaps through BIP353 addresses) becomes a thing, I may set it up. Tbh, though, mixing money and social interactions doesn't excite me. I'm not opposed to it, but to me the currency of a good conversation isn't money---its acknowledgement in the form of smiles, laughs, retorts, and the like. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Controlling your own key on Bitcoin comes with significant costs, from the cost to create a UTXO, to the eventual cost to spend it, to the potentially high cost of losing your key and the money associated with it. On nostr, controlling your own key has basically zero cost. It's one of my favorite things about nostr. If widespread control of personal keys can be made to work here, there's hope for widespread control of personal keys on Bitcoin. But if nostr fails, then I think it weakens the standard case for Bitcoin. That may sound negative, but I think it's great to be able to test individual properties of Bitcoin separately from the heavy confounding factor of it being money. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding No, but I take a cheap unflavored nicotine lozenge each time I ride my indoor bike rollers for habit reinforcement. I think it helps but I wonder if there's an easy way to blind test it (n=1). Maybe having my wife apply nicotine patches vs similar sized bandaids to my back? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I've [thought](https://github.com/jamesob/assumeutxo-docs/blob/master/proposal/feedback-david-harding.txt#L172 ) since the start that the background validation added a lot of complication for not much benefit (maybe even negative benefit). It seems to me like it would be a lot simpler to just allow loading a UTXO snapshot or sync from genesis but not try to do both. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Hawaii residents unaffected npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding After much hand wringing and signing of forms, I was allowed to "withdraw" it as cash (no cash was actually touched) and made a cash "deposit" into the escrow account. Honestly scares me to be performing ad hoc rituals with a big chunk of our savings. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding You would not believe how normie this situation is. My wife and I are buying a home and the escrow company required the final deposit to be made by wire transfer. However, I use the same local bank as the escrow company and they don't allow internal wires. Working around that situation has required multiple emails, multiple calls, an in person bank visit, and both my wife and I to sign a specially prepared document. Everyone has been really nice but also acting like they're doing me a favor. I've managed not to shout at any of the clerks who had nothing to do with failing to anticipate this obvious edge case, but I had to vent somewhere. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I fucking hate dealing with banks. Most days if you ask me why I work on Bitcoin, I'll probably say something about eliminating the temptation for the state to print money, with all of its disastrous effects. But every time I have to deal with a bank and must grovel to use my own fucking money, I feel the urge to hoist the black flag and start slitting throats. On days like today my work writing about Bitcoin technology is fueled entirely by rage and spite. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Congrats on the new podcast! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding The Wire npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Giving it a try now, thanks! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What's the best non-custodial Lightning wallet for Android for a U.S.-based user? I love Phoenix but they withdrew from the U.S. and it's time for me to move on. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Lol, like Bitcoiners will give you BTC. They'd rather give you anything else they own but bitcoin. 😀 npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I bought stainless steel a few years ago and am never going back. My after cooking ritual now is to... put it in the dishwasher. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Thanks for your answer! I'll have to think about that. I've been using joinpool/coinpool/payment pool interchangeably for any trustless UTXO sharing (with a carve out for channel factories since that idea became popular before coinpools even though it's slso UTXO sharing). However, we do have an increasing number of timeout tree protocols (mostly sketches, I think Ark is the only implemented one) that have roughly similar properties to what you mention. Since all timeout trees are coinpools or channel factories, it may be sufficient to describe Ark as a "timeout tree protocol". npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Why isn't it a payment pool? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Happy to see you here! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Good news is that you can be very efficient about using it because it's embarrassingly parallel. Bad news is that people won't realize that you're smart because the process is memory free. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I see. Maybe another way of thinking about that is that trampoline routing is also an option, as it is on BTC-LN. E.g., Alice and Zed don't care about the specific hops between them: they only care that the money arrives, that the total forwarding fee is less than x, and (for some users) that no third party can easily learn the identity of both the spender and the receiver. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Correct, I'm baffled by your article. What's the point? I feel like I'm missing some context, which is why I mentioned not knowing anything about Asset Universes. The fact that other people _can_ have virtual channels only seems useful if they _want_ to have virtual channels. So why would they want to advertise support for relaying payments denominated in a CSV token that they don't own (because if they did own it, they wouldn't need a virtual channel)? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I don't know anything about Asset Universes. I thought TA was basically refusing the existing LN by only resolving assets at the endpoints. E.g., A to B is foocoin, B to C is BTC, C to D is foocoin. It sounds like you're proposing A to B is trustless foocoin, B to C is two parties claiming to xfer foocoin but really looking up the foocoin exchange rate and swapping an equivalent amount of BTC instead, and C to D is trustless foocoin. That seems fine but the TA method seems to have a larger network and so stronger network effects, especially for rarely used assets. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding FYI: virtual channels are implemented since 2022 in LDK for [load balancing](https://bitcoinops.org/en/newsletters/2022/02/23/#ldk-1199) and [JIT channels](https://bitcoinops.org/en/newsletters/2022/12/14/#ldk-1835). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I don't know about Primal, but lots of other Nostr apps support detached signing. I use Amber for Amethyst. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding This is possible on Bitcoin (without anything more fancy than merkle trees), see Utreexo. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding First paragraph doesn't sound like fraud to me. Second paragraph does sound like false advertising. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Didn't watch the video, but if replacing a referral code is wire fraud for depriving a content creator of money, then deleting a code is also fraud, which seems to imply that I, as an individual, can't edit out a referral code from a URL I receive. I think referral codes are a sales device and there's no guarantee that just because one sales person put in the effort of convincing a person to buy, it's still allowed for that person to buy from someone offering a cheaper price (which is what I gather Honey did by finding coupons). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I live on Big Island and a crazy thing is that even though the major islands are 20 to 30 miles apart, they're also massive and tall, so you can easily see at least the next isle over if not several islands. I love coming around a corner and seeing Haleakala on East Maui in the distance, or visiting a friend on Maui and being able to see home. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I thought I had this figured out but it was good hearing my assumptions confirmed by professionals. Thanks! #nevent1q…8gg6 npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I skimmed parts but thought the rest was very good. Learned a few things. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Brink accepts LN donations, see https://brink.dev/donate , but I don't think there's an LNURL address. @nprofile…f4ja might know more npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Each morning when I check nostr, there's plenty of content in my timeline but it's almost all low-key stuff. It's not boring, but it's also not exciting. I love it. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding FWIW, DLCs for multivariate contract types (e.g., price on 2025-01-01 will be {1, 2, ..., 100_000, ..., 999_999, 1_000_000}) work by presigning large numbers of transaction variants, only one of which will become a valid transaction when the oracle commits to the actual value. To me, this seems very similar to the functionality for presigned transaction trees for currently deployable small group covenants (e.g. presigned vaults for individual users). The comparison is less apt for large group covenants where one of the advantages to consensus changes is removal of the coordination problem where getting hundreds or thousands of people to all cosign the same transaction tree is prone to repeated accidental or deliberate failure. E.g., look at the high failure rate of large coinjoin attempts, and those top out at 1,000 users and one cosigned transaction. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Yeah, many of my illustrations for the past couple years have been rough drafted by ChatGPT in a diagram language I was familiar with (but no expert), with me then tweaking it manually until I was happy. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Obviously, if either the pedestrian or the driver does something stupid, the other party should not be held to blame. However, even in places where jaywalking is illegal, a driver who strikes a pedestrian is at fault if the driver could reasonably have stopped. This is the legal principle of last clear chance: whoever has the last clear chance to avoid harm is ultimately responsible for doing so. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I still use Strava. I acknowledge that it reduces my privacy and I hate using a closed platform, but I feel like I personally get a lot of benefit from seeing the activities of other people in my area, both friends and strangers. If I benefit from them, they may benefit from seeing my activity. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Seems like a win for freedom, letting people cross the road anywhere when they personally think it's safe. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I'm getting married in a few weeks. We met three years ago through a dating app (Bumble). Before we met, I had several other normal dates with normal women I met through apps. I thought the apps were great, but maybe I'm an outlier. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Ah, I'll add an alias. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding https://bitcoinops.org/en/topics/channel-announcements/ npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I think this has been the most influential piece of Szabo's on my thinking about Bitcoin, LN, and related tech. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Looks like LMNT is about 1/35th the amount of salt as seawater. The rule against drinking ocean water is for long-term hydration. If you ingest excess salt, your body purges it by purging water. Seawater is about 3.5% salt. Saline used for human transfusion is about 0.9% salt and that's roughly the max rate at which your body can purge water. So if your drink 1 liter of seawater while your blood sodium is already balanced, you will need to pee or sweat about 3.5 liters of water. Obviously that's going to quickly lead to dehydration. A quick search says LMNT is 1 gram salt, or about 0.1% if added to a liter (kilogram) of water, so even if your blood sodium is fully balanced, your body will only need to purge about 10% of that liter. That allows you to hydrate while replenishing any salt you sweated out during exercise. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding This was my favorite thing to have co-authored this year. The obvious audience for this report is current and prospective donors to Brink, and I think it does a great job of communicating how Brink's engineers help strengthen and enhance the network. But I also wanted to write a report that the engineers could show to their families to help communicate how meaningful the work they do is. The families of many engineers don't really understand their loved one's work. They can't tell the difference between world-changing development and goofing off at the computer. What would be great is to give Bitcoin contributors industry-leading salaries, more than megacorps pay for soul-crushing work. If your parents or partner knows you make $500,000/year, they won't think you're goofing off. But every satoshi spent on one contributor is a sat Brink can't spend on another talented contributor who wants to do the work but also needs an income. Instead, Brink provides more modest grant amounts and focuses on giving engineers the opportunity to work on projects they personally find highly meaningful. For many people, that's a tradeoff they'll happily take. But if your parents or partner or friends have high expectations of you, it can be hard to communicate that you're just as much at the top of your game as a dev at a top-10 tech company even though you make less money. Where that problem exists, I hope this report will help. Engineers receiving grants from Brink did so many extraordinary things this year. I was overcome with pride of being even a tiny part of the team. I hope both the objective set of accomplishments and the subjective awe will shine through to anyone reading about each engineer's accomplishments, especially their family. #nevent1q…j53y #nevent1q…0hcn npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Thanks! I didn't actually see that in my quick search. That's a decent price. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Oh, really? I just quick skimmed Amazon and saw they still want a prescription, but I guess I'll have to dig deeper. https://image.nostr.build/9c5c72e3ff07374bf772b1e9b158943074048f942d1247b4581c8953d5d9843f.jpg npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding It's really annoying to me that you can't buy one without a prescription (or by circumventing normal procurement). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding For Mastering Bitcoin, the publisher wanted to go with Bitcoin-the-network and bitcoin-the-currency. I was fine with that, as its what I normally used, but I discovered when working with the non-Bitcoiner editor and proofreaders that they had a hard time guessing which was which. I got a lot of queries about whether I really meant to use caps (or vice versa for lowercase), especially since I did occasionally use the wrong case. Next time I work with normies, I'll probably ask to just use common noun casing throughout. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding ♥️ npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding @nprofile…sl3l noted in discussion on Delving that you only need a proof of transaction contents (e.g. the coinbase outpoint) if the tx is exactly 64 bytes. Otherwise, a proof of tx size is sufficient, which is compatible with SHA midstate verification (i.e., ~100 bytes max data). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Are you sure about this answer? I thought a default node would keep stale blocks it downloaded indefinitely, only deleting them from disk if it was configured to prune. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding It's very imprecise. Worse, it's only useful for individuals who contribute large amounts of hashrate, i.e. those who could reasonably solo mine. @nprofile…sl3l makes the point that the difficulty of preventing block withholding could be a significant contributor to limiting pool options: https://mailing-list.bitcoindevs.xyz/bitcoindev/Zp%[email protected] / npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding That seems like it could be compatible with banning withholders. Thanks! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding You detect it with statistical analysis. If Mallory is excessively unlucky, e.g. she's submitted 3x as many shares as necessary to find a block but none of her shares were blocks, you ban her. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What auditability? I thought @nprofile…7cz8 was talking about eliminating miner identity, which prevents eviction of misbehaving miners. I'm all for anon mining, but pools that allow it now put themselves at risk of block withholding. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding If there's no traceability, there's no way to ban miners who perform block withholding attacks. @nprofile…sl3l has recently written about this problem and potential solutions (e.g. oblivious shares, which alas requires an invasive hard fork). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I ground slept for about 10 years and thought it was great---except when I was sick and wanted some place to lay when feeling miserable. Alas, my fiancee insists on a bed. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Ejecting garbage into space during battles and fleet maneuvers could damage their own ships, so they had to be prepared to store it for hours or days. But trash is bulky, so they compacted it. Also, maybe compaction was followed by incineration or some other processes to destroy any potentially classified material that accidentally got thrown away. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Amethyst npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding So you save 50 kb on the query but may receive a response that's bloated by potentially more than 50 kb of unwanted data? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Isn't that 0.01% error rate over the total number of public keys in the set? E.g. if I follow 1,000 out of the 1 million publeys on nostr, I'll get guaranteed updates from my 1k follows plus updates from about 100 random people (1e6 x 0.0001)? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Congratulations!!! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding We'll be covering Dark Skippy in Friday's Optech Newsletter. I'm guessing @nprofile…f4ja would be happy to have you as a guest on the subsequent Recap podcast next Tuesday. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I have an Amazon Basics wireless mouse that's starting to fail, with the scroll wheel having worn down. Looks like I paid $13.99 four years ago, so $3.50/year. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I'm unaware of any evidence of long term storage in any prehistoric society of large amounts of honey or fat. The quantities needed to significantly extend human life during famine are huge and preservation using prehistoric methods was difficult and unreliable. It's much easier to keep animals alive than to store their fat. It's much easier to have bees guard their own honey against predation than to have humans guard it. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Yeah, 1 kg/day in modern times to maintain weight and full fitness sounds right to me. In prehistoric times, the average human was significantly shorter (so lower BMI) and the body will down regulate calorie burn as it enters starvation, so I guessed the minimum requirement during a prehistoric famine was about half, i e. 0.5 kg. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I dunno, you need rather large amounts of them to significantly prolong life during famine, about 0.5 kg/day/person, and you need to protect them from spoilage and insect/animal predation. That only sounds plausible for a static society, but before domestication, only nomadic societies were likely to obtain regular access to honey and non-fish meat. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding How will vbytes and varops interact? There were a lot of problems when we had both bytes and sigops, e.g. invalid block templates. Now, in taproot, we size transactions as max(vbytes, sigops*50 - 50). Which model will varops use? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I use Frigate. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding No, but it might be useful to track overall address reuse, e.g. what percentage of total BTC supply is in output scripts that have been spent from before. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Anything technical? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding If our civilization is interplanetary, mining will occur when electricity is the cheapest, i.e. near the sun (not the earth). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I'm jealous. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Yeah, I'll put that on my todo list. Gonna need a bigger home server closet. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I don't understand why I've haven't been able to buy a router in the past decade that just works well continuously and supports more than 4 clients. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Do you think using a donor directed fund would be easier? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Had to send the funds from my Phoenix wallet somewhere and SNI is a resource I frequently use. Can't wait to see the redesign! https://image.nostr.build/3afd2538b3564897fe6bff7136fad114846862ec1930a7949164ae5aa87d45bd.jpg npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I don't think LN-penalty is the main problem here, as the most powerful form of the attack starts by filling channels with as many expiring HTLCs as possible, which is a problem for any channel design. The only solutions I'm aware of are (1) temporary dynamic block size increases, which only increase the cost of the attack by a small multiple, (2) some form of time stop, although that increases the risk of capital losses from the time value of money, and (3) various bond designs, although they upfront accept losses to the time value of money. Of those options, I think bonds may be under explored but I also think that the main downsides of time stop may be almost entirely mitigated by John Law's hierarchical channel factories design, which would involve channels being opened by three parties, with two preferred partners being able to continue exchanging funds in the channel even if the third counterparty initiated a force close that was taking forever due to a time stop. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding The attack you describe was called "forced expiration spam" in the original LN paper. I usually call it an "expiration flood". Other people have other names for it. See https://bitcoinops.org/en/topics/expiration-floods/ npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Re: testnet drama. Last I checked, there was about 1 EH (1,000 PH) of sha256d hashrate for rent through on an easy API. If you really oppose what @npub17u5…t4tp is doing, you can do the following: - Set up a testnet node. - On that node, use the invalidateblock RPC to locally reject blocks that you think Lopp created. - Setup a Stratum v1 server and connect it to your testnet node. - Rent hashrate and point it at your stratum server. That should be enough, but if someone tries to exploit the testnet difficulty drop to create long reorgs, set the time on your testnet node to 119 minutes in the future. But, if you want to be productive, I suggest just switching to signet. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding BIP63 stealth addresses also has a number but no content. The basic idea is simple but one part was problematic and there was no agreement how to work around it. BIP47 payment codes is one way (that many people don't like); proposed BIP352 silent payments is a modern take on the problem that has broader support (but still comes with tradeoffs). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Man, that's not what I associate the abbreviation GCC with. 🤣 npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding For not the first time, I tried to get Nostr running on my Linux desktop with Firefox and failed. The nos2x-fox extension pegs one of my cores at 100% and the Alby extension wants full access to my LN node to do anything. So, for now, it will continue to be the case that the only time I post or reply on Nostr is when I'm stuck somewhere with only my phone to entertain me. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Suggestions: - Really experiment with public transit in a new place. In places with good taxi service, you can't get stranded, so it's reasonable to just yolo it and not do any route planning when taking the bus/tram/whatever. You'll often discover cool places and nice routes that way. - Find the parks. People in cities do all sorts of cool things in parks that people with large houses and backyards only rarely do in public. There's something magical about being in a public space with thousands of people all having fun and living the best parts of their lives. - Look for a public events calendar, check Meetup, and (if you are willing) Facebook. Lots of people means lots of things happening. - Figure out how to do the things you love even if they seem foreign to the place you are. It's your chance to find amazing people who enjoy those things so much that they're willing to go against the local culture to do them. - Oh, and if you can, go up the stairs and not an elevator. It's good exercise, gives you a sense of agency, and you'll feel awesome each time you reach your floor. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What about swap in potentiam, which can already used with Phoenix today IIUC? https://bitcoinops.org/en/newsletters/2023/12/20/#:~:text=ZmnSCPxj%20and%20Jesse%20Posner%20proposed,transaction%20while%20it%20is%20offline. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding VanEck also donating: https://www.google.com/amp/s/www.coindesk.com/business/2024/01/05/vaneck-to-donate-5-of-profits-from-btc-etf-to-bitcoin-core-developers/amp/ Disclosure: I'm a member of Brink's grant committee (unpaid). npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding There's an archive here based on the public api: https://github.com/jamesob/delving-bitcoin-archive Code for mirroring yourself: https://github.com/jamesob/discourse-archive This was discussed on the ML: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-November/022142.html npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What's the fundamental difference between the forum and the existing (centralized) dev mailing lists, which have worked reasonably well for over a decade? npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Using gpt4all with "mistral openorca" which is currently on mistral 7b. I did some quick tests with a hosted version of mistral 8x7b and I was super impressed, so I'm really looking forward to getting that locally when it becomes available. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Usually I don't find generative AI useful for writing @npub1hku…432p newsletters. I often don't start out fully understanding the ideas we cover and so I can't tell if what the AI writes is accurate or nonsense. Writing it myself forces me to really think about it, and I can just keep iterating on my draft until it feels accurate (and then it gets peer reviewed). However, this week I'm writing the year in review newsletter and it's fun just pasting in my text from earlier in the year into a LLM running privately on my laptop and asking it to summarize everything into a single paragraph. I can just edit, add links, and I'm done! Whee! npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020242.html npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding There's a history of discussion and implementation here: https://bitcoinops.org/en/topics/anchor-outputs/ The summaries aren't detailed, especially not about motivation, but they do point to some conversations that may have been important at the time but would be a bit hard to find now (e.g., they used the old "simplified commitments" name). See also: https://bitcoinops.org/en/topics/cpfp-carve-out/ npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding I'm pleased to announce that Mastering Bitcoin (3rd edition), co-authored by @aantonop and myself, has been sent to the printer. Ebooks should be available around Nov 15th. Print books should be available by early December. https://dtrt.org/posts/mb3e-announcement/ New chapters and sections of the book cover schnorr signatures, scriptless multisignatures, MAST, P2C, taproot, tapscript, bech32(m), fee management, scriptless threshold signatures, compact block filters, compact blocks, and more. Updates in the third edition include the evolution of Bitcoin scripting, terminology updates, RGB and taproot assets, much more backup and recovery info, and complete witness transaction serialization. Compared to my initial draft, the book has been much improved thanks to comprehensive technical reviews from npub1j5mp526z5fkz9wkrk6mt5nzu43xndyrwkr8mnqngdqwytgcpc5vqcnsd5c Olaoluwa Osuntokun and René Pickhardt. I can't fully express how much gratitude I have for them. All of my royalties from Mastering Bitcoin (3rd ed.) will be donated to @bitcoinbrink to support Bitcoin developers. It's impossible to write about Bitcoin technology without wanting to support the people who build it and then give it to the world for free. This updated book wouldn't have happened without my editors at O'Reilly: Angela Rufino, Michelle Smith, Kristen Brown, and Clare Laylock. Their commitment to giving readers the best possible book shines in every one of the over 500 emails we exchanged during the past 10 months. I also owe a huge thanks to the inimitable Adam Jonas, who did the scariest thing possible to an educational author: introduced me to teachers such as Femi Longe and Dulce Villarreal who will be depending on the book for their classes. Femi, Dulce: I hope it meets expectations! Finally, I have to confess that updating the book took more out of me than I expected. I don't think I could've finished if it hadn't been for the unreserved support and encouragement of my incredible partner. Thank you, Amanda. I love you. npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding Status update #2 on Mastering Bitcoin, 3rd edition: I sent my editor the first draft of Chapter 9 about transaction fees. This chapter consists of 90% new material. It describes the basic principles of Bitcoin's fee (block space) market, fee estimation, fee bumping (both CPFP and RBF, with a infobox about opt-in RBF vs full RBF), transaction pinning, CPFP carve out, and package relay. Sections from the previous edition's Transactions chapter about fees being implicit in a transaction and (anti) fee sniping are moved to this chapter. This is the last planned major change from the 2nd edition, so I'm hoping to finish the remaining chapters pretty quick. https://nostr.build/i/c6852d791e2c80b3d1cc31833be2ec878f8736d16a42ae413802b6314d615c1b.jpg npub1syluunzwwmc70d85d9alzqc2jrc6pdur7xrax2vqpfxas6tljavsa46ksu David A. Harding What prevents an image server from adding an identical-appearing watermark to an alternative image?