For wallets wanting to get a head start on implementing human-readable bitcoin names, here’s a library that handles all the DNS parts!
* resolves against a local (/remote) TCP/53 resolver
* resolves against a DoH/DoT resolver
* creates/validates proofs
https://docs.rs/dnssec-prover/
It can even be run in WASM on a web page (and resolve via DoH directly)!
https://http-dns-prover.as397444.net
You could totally use the same spec for ecash/nuts/whatever. That’s not lightning, of course, but the point of the design here is it’s totally extensible any way that you can build a bitcoin: URI.
There are proposals to add proprietary APIs for, eg exchanges to expose the ability to pay their users but not users of other wallets, at least in specific contexts.
It’s time bitcoin had a way to specify human-readable names for payment instructions.
LN Address has demonstrated the utility of such names, but it’s time to take it beyond just lightning and remove the dependence on HTTPS/CAs.
https://github.com/bitcoin/bips/pull/1551
It could, but luckily we don’t actually need any transport encryption to send money to people over bitcoin :)
That prover does support TLSS though, if it want to use DANE for something.
Yep! Just gotta define a bitcoin: URI query parameter. Best thing is you can even do both - one URI/name that resolves to lightning + on chain + BIP47….. sender will just pick what they support and pay it!
Because there’s like 50 totally trusted and totally sketchy CAs that you have to rely on? Also DNS is quite simple, HTTPS+CAs+TLS on top is a *lot* more complexity that you can just…. Not have.
I meannnnnn it’s actually probably mostly fine. There’s some analysis basically concluding the known attacks against SHA-1 don’t really apply to DNSSEC, but, yea, not great.
Querying DNS in a fully self-validating manner is pretty trivial, so much so you can shove it in a small webpage :)
Shove Bitcoin payment instructions in TXT records and now you can get easy internet-less self-validated proofs of payment instructions! A hardware wallet can even check it and display a nice human-readable name for payments, talk about awesome UX.
https://http-dns-prover.as397444.net
Test looking up matt.user._bitcoin-payment.mattcorallo.com. TXT :)
A hardware wallet or device wanting to query privately may want to get a proof that doesn’t require trusting a third party server or a long list of CAs.
Sure, but you get to pick the state you trust. More generally, explicit public key trust is definitely better, but if you want a human readable name that doesn’t help.
TLS you cannot provide a proof for (it’s asymmetric in the cert but used to derive symmetric keys, so you can forge a transcript). DNS is not, so like you say you can avoid all the complexity, and a totally untrusted device can provide a proof to a totally offline device (eg a hardware wallet).
It’d be a big miss to add transaction introspection (covanents) and not enable lightning to remove anchors entirely. Allowing the transaction broadcaster to simply reduce their balance to pay fees at broadcast-time would solve one of the biggest pain points for LN.
Sadly I’m not sure that any covanent opcodes currently proposed would enable that - you need the ability to sign all outputs except the value of one, but still ensure the value is over some threshold.
This is your yearly reminder to never, ever use GoDaddy. In an a race to the bottom industry with tons of sketchy players, they differentiate as “we ran some commercials with hot women in the early 2000s when that was still kinda acceptable and people still remember our name”.
They have high prices, and gouge in any possible way they can, with incredibly sketchy practices and support agents who lie to your face.
To be fair, the best way to make yourself unplayable is to let anyone open a channel to you and be a big node. You end up with a few thousand channels, all of which are saturated, and only senders with a ton of volume who can try each channel open open a direct channel can pay you.
Never know when you might be able to sell an ad to “unfit people who don’t move all day”. Okay, actually they probably do know, it’s probably in fact a big target demographic. Ozempic ads inbound…
Never know when you might be able to sell an ad to “unfit people who don’t move all day”. Okay, actually they probably do know, it’s probably in fact a big target demographic. Ozempic ads inbound…
There’s relatively little tech in this episode? It’s mostly a retelling of Jeremy’s experience with CTV from his PoV (which I think is borderline conspiratorial in its interpretations of the actions of others).
“Listen to this Pod and you'll learn a hundred times more about Bitcoin than by listening to the 500th podcast episode about [nonsense]” sounds like a ringing endorsement to me :)
I definitely empathize with Jeremy, he definitely did get a lot of conflicting signals and that’s hard. I also value his contribution in normalizing covanents and the idea of adding them to Bitcoin. But he assumes certain malintent on the part of others that just contributes to a culture of “fuck the devs” which just isn’t healthy.
Dunno, I’m absolutely sure there are some developers who were very rude to Jeremy, there’s a million developers who work on bitcoin in one way or another (though in context at Scaling Bitcoin it may not have been a relevant topic?). The discussion seems to heavily imply that all, most, or core developers are all rude or somehow stonewalling, which I find to be absurd.
In a two party mutual-authentication protocol, should I have
O(N^2) CPU + O(N^2) communication and if one side doesn’t trust the other neither learns anything or,
O(N^2) CPU + O(1) communication and if one side doesn’t trust the other they may still learn that the other side trusts them?
Not to burst anyone’s bubble, but the court ruling that forced the SEC to accept bitcoin ETFs is going to apply equally to ETH. Expect an ETH ETF soon.
Yea, dunno, gensler may use staking as an excuse to reject an ETF so maybe they won’t. If the custodian gets to decide I’m sure they’ll stake. Free profit (and own the network lol).
When the post was made, on-chain fees were zero and lightning was starting to take off. Today, people have an understanding of lightning and the liquid trust model much better. The popular discourse on its use makes more sense than it used to, though the federation set is…not commonly discussed so it’d be nice if that were more front-and-center in the discussion.
Not entirely, AFAIU. Canada tried to force Google/facebook/etc to pay media companies every time someone viewed news content via social media or search sites. In response, various social media sites simply stopped displaying any news to avoid having to pay. It was ultimately settled with a substantially watered down bill very recently, but I’m not sure if everything has been updated.
An old android phone (preferably one still getting security updates, but either way keep it offline), maybe the cheapest laptop you can buy in person at Walmart.
Yea, basically this. It makes it incredibly difficult, and possibly impossible in practice. Let alone with the available resources for this kind of thing (which is not much).
This is not true. Bitcoin Core does not try to “maximize the user experience of…transfers”. It has filtered transactions for various reasons, and maybe that previously, but that hasn’t been true in a long time.
Indeed, the system only works if miners are including transactions on the basis of fee alone; anything else is a slippery slope towards broad censorship. The fact that the protocol doesn’t enforce this is one of the biggest failings of bitcoin.
Ethereum is even working on fixing this, while we’re talking about whether it’s okay to live with it 😭.
There’s a great deep dive on all things policy at https://brink.dev/podcast/1-mempool-policy/nostr:note108kxq3j38nk9dt5369ltwappamcn354u3ysw6l5ynl22kud2q3ms838h8k
No I’m saying your comment implied bitcoin core (developers) made some decision about prioritizing transactions which transfer value. No such decision was made.
You should read the linked post on why standard transactions exist, it’s not around normal transactions at all, really. Also, any script (in segwit) is standard! You can use any opcode freely.
Notes by matt | export