Lead Core Lightning, Standards Wrangler, Bitcoin Script Restoration ponderer, coder. Full time employed on Free and Open Source Software since 1998. Joyous hacking with others for over 25 years.
Public Key
npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Profile Code
nprofile1qqs0zuj4s6jq9sr2ajqc69rc53d25rwpd3afcjrfm97r2qek69hcuscpz4mhxue69uhhyetvv9ujumn0wd68ytnwv46qz8rhwden5te0dehhxarj9e3xjarrda5kuetj9eek7cmfv9kq2h3udq
Show more details
Published at
2024-06-08T03:44:48Z Event JSON
{
"id": "2a2f9df4a08077b41de1ca2ec3dd7d072ca45729a1f8debdf711e46de1586e6b" ,
"pubkey": "f1725586a402c06aec818d1478a45aaa0dc16c7a9c4869d97c350336d16f8e43" ,
"created_at": 1717818288 ,
"kind": 0 ,
"tags": [
[
"alt",
"User profile for Rusty Russell"
]
],
"content": "{\"name\":\"Rusty Russell\",\"display_name\":\"Rusty Russell\",\"website\":\"https://rusty.ozlabs.org\",\"about\":\"Lead Core Lightning, Standards Wrangler, Bitcoin Script Restoration ponderer, coder. Full time employed on Free and Open Source Software since 1998. Joyous hacking with others for over 25 years.\",\"lud16\":\"npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s@npub.cash\",\"nip05\":\"[email protected] \",\"picture\":\"https://rusty.ozlabs.org/images/Rusty_Russell-lca2011+crop.jpg\"}" ,
"sig": "16ded7f3f6efc75faa92bca1936052a0244e479662f36393857d45acceeca06f47ccdc61e1156b673c7a06ae17ff1804ac8177da28aecb38b1d4dba8e3b7b8ef"
}
Last Notes npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Hi from https://cashu.centurymetadata.org npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I take birthdays seriously! https://npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s.blossom.band/dd4c1dec153d7b2619e2c115b344d4d250ad89832f94f25a7bfd1d38b0dc127a.jpgbirthday npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Time for a Rocky Horror / Muppet Treasure Island double feature! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Don't confuse a 2 week embargo with closed source. They're in a hard place. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Manager of the Lightning Team, she signed the last 5 releases? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell You can also restart with --developer --dev-no-version-checks --subdaemon=openingd:/DNE --subdaemon=dualopend:/DNE This prevents new channels from opening (by telling it to use subdaemons which don't exist: the dev option stops it checking at startup). If you think your node is unlikely to be messed up by existing peers, and you're just worried about new ones. #nevent1q…uk05 npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Calle misread. It says upgrade when the release comes, or go --offline. It absolutely did not recommend "shut down NOW" 😕 npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Was he actually malicious? I disagreed with him, but there is a difference. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Very few builders in this space are actually malicious. But many need to get out and touch grass. Myself not excepted! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Yes, classical C has the problem that operations are low-level, so if you overrun the end of a buffer, instead of a crash report the attacker can make arbitrary commands run. Also, manually deallocating memory can be omitted (oops, program grows over time, crashes) or done twice (also classically tricked into running arbitrary code). Also, the standard routines are minimal, forcing programmers generally to deal with these issues everywhere. CLN has a *lot* of internal infrastructure to avoid code having to do this. Firstly, the tal hierarchical allocator removes most manual deallocating, and all the infrastructure relies on it. Second, all the wire demarshaling routines are generated from spec files, and all come down to two hard-to-misuse routines (note: the bolt11 parsing was hand-coded by me, didn't use this, and had serious bugs!). Finally, we use patterns designed to highlight issues early, including running test cases under Valgrind (a memory debugger) and internal memory leak detection. But as one developer said "It's not coding in C, it's coding in Rusty's C"! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Yet last I heard, libsecp256k1 held up pretty well? On a less vague - posting note, I had Kimi work through CCAN for bugs, resulting in about 100 commits. I'll go through this morning and see how many are C mistakes, but I don't recall many (and yes, I reviewed each one carefully). But it's mostly my code, and I've got a fairly defensive style built over a long career of mistakes. I should probably post about that... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Oh, winning! Pretty good stats on a really cheap die. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Here's something I've been working on along similar lines: https://github.com/rustyrussell/bip39dice Haven't published it yet, since it needs a helper video and some serious analysis (i.e. how biased are normal dice, and how biased is hand rolling) and of course concrete recommendations for the final word fixup. But being able to *verify* that your phrase is random is far better than other approaches, if you're going to roll... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Day 3 of grinding kimi to do a complete CCAN audit (CCAN is the repo of C snippets I maintain, used by many projects including Core Lightning). So far, some minor issues: mainly for weird corner cases not used by any codebase I'm aware of. But many of them, and this is battle-tested code. It's impressive how cheap this is: I'm still under $50 spend, and less than 8 hours of my own time. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell No: if the grid is the entropy it's just a memorized wallet. The point is that the grid is low enough entropy that you can remember it. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I have not found a correlation between developer attitude and brilliance, regretfully. The rise of Free & Open Source Software added a bias, though: developers who played well with others made more progress in the long term. That and the internet made software a social activity. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I don't think burying Coinkite is the right answer, BTW. But reality rarely listens to my opinions! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell No, you got a convincing-looking letter in the mail and upgraded your firmware, coins lost. Oops. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell But it won't stop someone like this who doesn't use it. Perhaps a secure_rng() API which refused to fall back? But that would have to be plumbed though all the Python libs too. And maybe they would have hacked it out anyway, in the hurry to remove GPL code? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Patterns are the enemy of entropy. Because this is harder to evaluate, it looks better at first glance. If you assume people draw contiguous patterns, what is the actual entropy? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I disagree with nvk on several things, but I like his uncompromising approach to hardware and shipping. Testing for weak entropy is hard, this is absolutely a mistake I could have made, and I would also be furious if this lost my funds. I've been trying to come up with a witty name though. Stolecard? Goxbox? "MicroSiphon inside"? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I once printed out all 4096 BIP39 words across eight pages, and used a bazillion dice rolls in pairs (red die higher, choose left, white die higher, choose right, same value re-roll), based on the method described in BIP 93 (apparently this method is due Von Neumann, figures!). First three choices were between pages, then 4 columns, then rows (I made another sheet with a tree on it to do the rows, for my own sanity). Used a coldcard to fix up the final word. Then burned the sheets I used, which had pencil marks on them. This was mainly to see how long it would take. The answer: long enough that I've never, ever, ever recommended this method to anyone! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Because it was a fake letter sent to their home address based on the ledger leak and in fact was instructing them to install malware that stole all their coins :( npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Today's side quest: Great Speculations (greatspectations.com). Useful tool for checking source code quotes against a document: I used this in CLN and it improved compliance *and* the spec itself, as well as making it easy to follow spec changes. This is the polished and published version which handles RFCs, BIPS, and any other markdown or other docs. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell What a horrible day. I am haunted by the fear that a normal Bitcoin use can do everything right, only to lose everything because you didn't hand-roll your entropy, or upgraded your firmware because "Ledger" sent you a warning email. 😢 npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Wow! Congratulations, both of you! ❤️ npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell That's great! I hope some of them work out. I imagine there are numerous companies who decided to keep treasury in Bitcoin and are now seeking both capital, and frankly, reassurance? If so, your timing here is excellent* *Unless it's not. We will know in three years. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell The problem with this is that well-run, boring, positive cash flow companies are really hard to find. All the obvious ones were snarfed up by previous variants of this play. It *sounds* great, until you get to the messy reality that the firms you want don't need you. So you have to find and pitch them. And why would they say yes? Because they're looking for an exit, which is the opposite of what you said you wanted. This is not to say it's impossible, but there's a reasonable case that it's going to be far harder than VCs think, who are used to people approaching them. #nevent1q…77pv npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://media.someecards.com/someecards/usercards/MjAxMi03YWRiNGEzM2U2NWExNjkz.png npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Wild huh? Let's be friends. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Apparently the idea that we should be our best online, not our worst, is radically outside the mainstream? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell As a Free Software developer, I've followed expansion of IP law quite closely. "Home taping is killing music", et. al. The Internet turned a monopoly on duplication into a monopoly on distribution. DMCA created a ban on white-market copying assistance. The trend was all one-way: copying was harder, monopolies ossified and were further normalized. Then the AI train drove through and ignored copyright. And, so far, it's ok. Nobody is going to shut them down, and they're going to get better at copycatting. So now there's actual competition to the monopolies. Should be fun! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Copyright was important and unassailable until there was Real Hot Money in ignoring it. I'm not *happy* that intellectual property got broken by greed, but TBH I'm pretty happy... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell This was fun! Good chat about finer grained control and incentives to mirror.... #nevent1q…ewts npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Not kernel, but he was Debian Project Leader at one time! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Sometimes I forget there are old pictures of me on the internet... https://lwn.net/Articles/66669/ npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell More like "Bitcoin ALREADY HAS cured cancer, you just don't know about it yet!!!!" npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell At #OsloFF several people asked when Shit Bitcoiners Say would be back, so let me put it on the record: it's hibernating during the bear market. The account serves me as a balance, to keep things grounded. It's not there to kick people when they're down, it's to serve as a reality check. When Bitcoin is a grind it should be offering free hugs or something. When people are extrapolating to infinity and you feel the urge to research low-gravity espresso machines for your inevitable Bitcoin moon-citadel: I'll be back! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Hey @nprofile…6z2t should I be pitching @nprofile…g954 to OpenSats? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I'm back wearing a Pebble watch! I loved the original, and wanted to support the reboot. Let's see how we go after a month... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell This is my new Century Metadata account. I'll try to remember to post CM stuff there, not here! #note1fx9…kelx npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell This is really touching! I loved working on #bitcoinlightning and #CLN over the years, and I leave both in excellent hands. Lightning is going to be so much more than it is now... #nevent1q…f93p npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I don't understand why @nprofile…jp2l, @nprofile…6z2t and @nprofile…64cf hate each other, and at this point I'm afraid to ask... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Official Bitcoin Twitter Self-Worth Chart $70k: your hairline recedes. $60k: gangrene develops. $50k: you lose the ability to make coherent sentences, and all you can say to your panicked loved ones is "Bitcoin is digital energy". $150k: erectile dysfunction vanishes. $250k: your wife returns with the kids, saying she made a terrible mistake. $500k: your long-dead father rises from the grave, tells you that he was wrong and you were right, and he's proud of you. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Starting the long walk to Vienna! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I think it's the logical, conservative approach. I wouldn't be upset with a wholesale replacement, but I would be dissatisfied if we didn't have a fair comparison. TBH, I don't know what "championing" would look like. I'm not going to hand-to-hand combat with anyone who disagrees! Nor am I going to spend all my time on it. If enough skilled people think it's the way forward, they will make it happen. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell So I'm leaving Blockstream at the end of the month, to try to start up Century Metadata. A non -profit to store and serve a small amount of encrypted data for 100 years, for a small one -time payment. Lots of fun problems in doing this, only half of then technical. I'll be talking about it at BTC++ in Vienna, and I'll also be attending the Oslo Freedom Forum just afterwards. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell The main benefit of LLMs is that you don't need to apologize or justify when you clean up their mediocre code. It's a bit like having an insomniac coding intern who really likes to type. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I've been thinking about taking profits from a Sztorc Fork. I wouldn't sell someone a lemon face-to-face, even with full disclosure. Sure, they're adults, but the world is a better place when we care for each other: that is not who I want to be. Do not enable bad things. The anonymity of the marketplace does not absolve this. So, no. I will not encourage it, talk about it, or handle it. And I'll sleep great. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Guess in getting up for 5:30am then. #nevent1q…0790 npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Don't support things you don't want to see more of. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell So, we're debating paying kids pocket money in sats. Since we're talking a few dollars a week, I'm thinking ecash, using https://cashu.centurymetadata.org/ But what client? They have Android devices... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://youtu.be/iDzV_jESwGA Indeed. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell #CLN We're finally deprecating pay (in favor of xpay) in the next release: Greenlight has conclusively demonstrated that it's more effective across the board. That begins the 12 month window to removal. We've long had `xpay-as-pay` for xpay to take over pay commands. Flipping that to default true and running the tests has been eye-opening. Given our commitment to not breaking users, I'm re-learning things about pay. For example, if you try to pay the same invoice twice, pay "succeeds", whereas xpay says you've already paid. So when acting as pay, xpay needs to do that too. Mostly, the xpay error messages are much more informative and readable. But in a couple of cases they didn't use the correct error *code* (eg. There's a specific one for "route too expensive") so that's fixed. After this, I'll get back to my new "repeatpay" command and plug-in, which is a higher-level way to deal with recurring offers (an experimental option for now). npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I wish! No, it rolls back the database, deletes the gossip store if the format has changed, and checks of you've used any new features which would prevent downgrade. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell We pushed it a bit on this one: There are some clients who may have trouble staying connected to you: LNDK nodes and some people who are running an older git version of LND. You can set message-padding=false if this happens. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell The idea of an activation challenge is interesting. But my preferred form would be an on-chain reward. A tx which uses its first input's txid to generate the puzzle NUMS, so you can't just copy it. Not sure how to generate such a challenge, maybe GSR, OP_TX plus cleverness... This would start a month-long (4032 block) countdown to disabling vulnerable spend paths, as a final shot across the bow. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell To be clear, you're thinking of deriving a second (hardened) key, for which a signature is checked in tapscript, assuming that the keypath spends will eventually get disabled? To do that we need a BIP32 path standard, and get this advice into BIP-0341 instead of the current advice on unspendable script path selection, then get wallets to implement it. Things which actually use tapscripts need to decide whether they need to do this (is the loss of keypath spend fatal, or merely inconvenient?). This also needs a clear warning: that you should anticipate loss of the keyspend path... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Yes. #nevent1q…vary npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I've been through tech hype cycles before. They always have a grain of truth in them (otherwise they're trivially refuted) but they don't always work out. I have been through three VR waves, for example. I can't tell where Quantum Computing will land, though it has all the signs of needing a few more decades of occasional hype cycles. But I *can* tell that all the proposed mitigating signature schemes for Bitcoin suck hard: they're technically impressive because they're 10x better than I expected, but they're still 10x worse than what we have now. This means two things: I applaud and support the continuing research. And I won't support a soft fork any new cryptographic schemes until the someone demonstrates an extant QC that can factor faster than a classical one. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Americans trying to get back to the moon and missed. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Wow, that's some lunch with the mayor! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell No, it's all agentic payments! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I'm hearing them, not listening to them :) And I've been hearing about the premise of "regulatory clarity" and various TradFi acceptance for over 5 years. Today it's Clarity Act and Morgan Stanley's ETF. Before it was ETFs and accounting rules, etc. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I keep hearing about all the billions left on the sidelines, which will come rushing into Bitcoin when some legislative or regulatory event occurs. Here's some history: - Bitcoin futures ETFs. October 2021, price $61k - Bitcoin spot ETFs. January 2024, price $42k - March 2026, price $70k Now, maybe it's still coming, but at this point you might want to start doubting this narrative. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Hmm, stuck in "processing". npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Actually, I'm not sure how. cashu.me doesn't seem to give me an option. I see my node made a 5000 sat bolt12 outgoing psyment about 6 hours ago though... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Let me try... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Now I serve a web page at that URL. Probably presents too much info. @nprofile…xnfk might have suggestions for what I should put here? #nevent1q…eekl npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Fired up a cashu mint today: should exercise my CLN node a bit more! https://cashu.centurymetadata.org npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Token bucket filter for the win: most occasional posters are not *regular*. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Finally read BIP-54 (mirror at https://bips.dev/54/) and it is straightforward,minimal and thorough. At this point I can endorse it as a good idea and worth doing. There's no rush, but I am looking forward to activation. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Here are two of my favorites: Vaults, where your coins can only be spent with a delay, so if you see your coins move and it wasn't you, you can force them to emergency backup address instead. Lightning and other layer 2 protocols get simpler and more efficient. In the case of Ark, it sheds some cases where you need to trust the provider. These ideas came up long after the script stuff was disabled. There are certainly more npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://json5.org/ I *want* JSON5 to take over the world because it allows trailing commas. But I have to accept that most people are just excited because it sounds like a boy band. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Each Bitcoin you send has a "script" which says how it can be spent: usually just a signature for the owner's key. There's lots of other stuff yo can do though. Back in 2010, Satoshi ripped out a pile of Bitcoin script because it had no limits and you could make coin spends which would blow up nodes. Putting reasonable limits in means we can put all those back, so you can make your Bitcoin do fancy tricks, if you want (need?). npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://github.com/bitcoin/bips/pull/2118 Finally, the PR to assign BIP numbers to the first two BIPs of the "script restoration quartet". Here's the corresponding bitcoin-dev the mailing list post: Hi all, I've submitted a PR to the BIPs repo to merge the first two drafts of the previously posted[1] "A Bitcoin Scripting Proposal BIP Quartet": https://github.com/bitcoin/bips/pull/2118 The only substantive change since the last discussion is that the costs have increased for some operations (hashing and copying bytes), as a result of benchmarking on a wider array of machines[2]. This follows our conservative approach to make the worst-case validation times no worse than they are presently, on any viable hardware. The remaining two BIPs (OP_TX, and new opcodes) are not submitted: they are mainly useful to provide a roadmap what functional gaps remain after the script extensions, and do not have full implementations. Cheers! Rusty & Julian. [1] https://groups.google.com/g/bitcoindev/c/GisTcPb8Jco/m/8znWcWwKAQAJ [2] https://github.com/jmoik/varopsData npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Kick the can down the road? I cannot see the appeal from any direction... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell You are minmaxing again. Enjoy the scenery and sense of wonder! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://rusty-lightning.medium.com/the-three-economic-eras-of-bitcoin-d43bf0cf058a This is still the best piece I ever wrote on Bitcoin. It occasionally gets referenced somewhere, and I reread it. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell To check the signature, you hash the transaction. So the only cost that OP_RETURN is doing is the cost to download and hash it. If it's data in the annex you don't even need fi hash it, just download it. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell You only have to download and hash: you don't have to check extra signatures (our most expensive operation) or put them in the UTXO set (our most constrained memory resource). npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell You will not be at peace until you understand the truth: every non-coinbase bitcoin transaction which does not eventually send funds to me is spam. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell So, OP_RETURN is fine, as is annex data which don't increase validation burden? And cutting off OP_RETURN and driving those uses to fake pubkeys, which does increase future validation costs, is a threat? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell It adds an entire transaction! Every time it does that, it uses up farmore space than an 80-byte OP_RETURN. So your conclusion is that it's not spam if it looks like a normal transaction to you? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell OTS transactions only exist to put non-financial data in the Bitcoin blockchain. Is that ok? npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Indeed. Lightning commitment transactions stash the commitment number in the nSequence and nLocktime. Is that spam? OpenTimestamps uses full transactions to timestamp data, is that spam? Samurai (IIRC) had a method of obscured payment addresses which required an initial seed tx. Was that spam? You can encode data in the key used when you use a taproot script spend path. Is that spam? (Can you tell?) npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell None of those celebrating her departure are Bitcoiners. Because clearly they neither understand or like Bitcoin. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Reading comments on Gloria's departure from people who have never contributed anything is stepping in an enraging sticky fecal mess. The only appropriate response: keep building, keep unashamedly celebrating those who do. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Suggesting such things means you're clearly not a Real Bitcoiner! npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell My brain keeps conflating "Ghislaine" with "Gharlane of Eddore", the bad guy from the 50s sci-fi pulp Lensman series. No insight gained, sorry. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I have been having way too much fun reading moltbook.com As one wit on HN (I think) pointed out, these AIs are trained on Reddit posts, so they have exactly the same style. My wife keeps looking at me funny as I LOL at some breathless word salad... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Damn, there was a proposal for BOLT spec changes to enable fixed-size messages, and now I have to implement it to show it's unnecessary... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell https://rusty.ozlabs.org/2011/05/19/if-you-didnt-run-code-written-by-assholes-your-machine-wouldnt-boot.html I wrote this over 15 years ago, and it still rings true: separate the art from the artist. It's a key stabilizing principle for me when navigating Bitcoin developers. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Paused my reading of The Mandibles for Xmas day: It's not exactly holiday reading. It's one thing to know nothing stops this train. It's another thing to read through a detailed description of what the slow inevitable crash looks like: It's like the right brain equivalent of When Money Dies. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell 1. No, I'm not reading your article on quantum. 2. Yes, all choices are bad. That's what "breaking" means. 3. I'm glad smart people are thinking about technical mitigations. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell BROKEN: Full KYC. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell @nprofile…xxx2 recently posted on X about the danger of "store and forget" for Bitcoin over decades. Unfortunately he's right. Originally I stored my raw private keys and UTXOs (on paper, care taken) figuring that was standard. Then bitcoin core stopped supporting them! Other wallets tend only to support them for sweeping, and I wonder how long. If I were storing funds today I would use BIP39. BIP93 is cool and more general, but not widely supported, and I don't know what support will look like in a decade. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I think finding a bug where printf("%*.s") was used instead of printf(".*s") was the point at which I realized that some C issues cannot be mitigated with better tooling... npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell I hate price talk, but if you're going to do it, please understand that "market cap" is a very rough *ceiling* on current value. It's neither the amount of money which has gone in, nor the amount of money which can come out. So the order of magnitude is useful to compare against other assets. But abusing it in terms of profits and losses is a category error, and I assume done mainly because it's so easy to measure. Grump over. npub179e9tp4yqtqx4myp35283fz64gxuzmr6n3yxnktux5pnd5t03eps0elz4s Rusty Russell Don't suggest a developer resign unless you're the one who will shoulder the load. And if any bitcoin developer is thinking of stepping down over the current drama, *please * reach out to me: I've been a FOSS dev full time for over 25 years and I've been there! I'm not going to judge, but I may have a useful perspective. ❤️