190 sats \ 30 replies \ @justin_shocknet 26 Mar \ on: Hedgehog: A protocol for asynchronous layer two bitcoin payments bitcoin
As an equal opportunity downer, I have to challenge Super's use of language here, this is not an asynchronous payment any more than the K1 in a LNURL-Withdraw link or trusted shitcoin swap is.
Since the receiver must come online to sweep the state, it's not asynchronous, it's a promise not unlike any centralized solution.
The internet does not work asynchronously, it works through re-attempts and re-signaling.
I think it's fair to say I've paid you if I've given you everything you need to collect the payment at your leisure (but before a timelock expires). It's a bit like giving you a check. If I was at a grocery store and I gave the clerk a check, then later someone asks me "But did you pay them?" I would say yes. And instead of a bank account, these "checks" are redeemed from a multisig where the recipient is a keyholder and can enforce the redemption.
reply
Fair to say
That's my point, language matters.
Are LNURL-W's an async payment?
Does lightning have async payments already?
If the answer to either of those is no, then the same is true of Hedgehog
reply
Are LNURL-W's an async payment?
Yes, they are an async payment where you have to trust someone's word until you redeem it
Does lightning have async payments already?
Yes, through lnurlw. But they require trusting a server until you redeem them. Hedgehog fixes this.
If the answer to either of those is no, then the same is true of Hedgehog
The answer to both is yes
reply
Hedgehog doesn't obviate trust, so what does it fix exactly?
reply
It reduces the trust requirements. Basically lnurlw except you don't need to trust the sender or a third party server.
reply
But until you sweep it, you are trusting the sender not to close.
I don't see how that reduces the trust requirement, you're just using the word server instead of sender.
reply
until you sweep it, you are trusting the sender not to close
if they close, you can enforce the latest state as long as you do so within 2016 blocks
not the same with lnurlw
if an lnurlw server closes before you redeem your lnurlw, you lose everything
Hedgehog gives you a window of time to redeem it unilaterally because closing isn't done until the 2016 blocks are up
reply
@supertestnet congrats on improving, solving even, a major issue and threat that LNURL-W does not solve. You have provided a solution that offers a robust expiration date of 2016 blocks and removed the threat of channel closures that can and do steal funds.
Going from funds being lost a millisecond after payment or some arbitrary channel closure time to funds being lost after 2016 blocks (~ two weeks) is a win for the LN community. We should celebrate this improvement (and test it obviously).
If the Hedgehog thesis holds up, I think it will accelerate LN usage and infrastructure build out. LN operators can sigh a collective relief that their channel liquidity will not get rugged immediately by channel closures, now they have 2 weeks notice.
On twitter you confirmed the opposite, but even so that gets back to it not being asynchronous because the receiver being offline (without latest state) is trusting the sender to provide the promise