pull down to refresh

when not rugging, custodial apps are quite pleasant
  • offline receive
  • receive small amounts
  • no need to manage liquidity
I have no words.
reply
100 sats \ 3 replies \ @ek 14 Nov
Why not?
Sure, it sucks to potentially lose money, but you can limit the amount you're willing to lose for these quite nice properties though, no?
I’m not trying to advocate for custodial wallets, but I acknowledge that their UX is unmatched by any non-custodial wallet.
reply
Remember I'm 2013 class. We're here to remove intermediaries. That was in the whitepaper and that is what drives us. Peer to peer. Not peer to bank to peer. FUCK THE BANKS
reply
100 sats \ 1 reply \ @ek 14 Nov
FUCK THE BANKS
This had serious HACK THE PLANET vibes
reply
it was intended more like this:
reply
honestly, i wouldn't mind if SN just went custodial again haha
reply
SN is a platform where you spend sats and receive interaction. It is not custodial because it is not a wallet. SN is my counterparty, not whomever I "zap", because I zap something to make it more visible.
This probably goes fully against this latest release of k00b's work and I should just shut up.
reply
this aligns with Darth's slogan: pay to post.
But it's not as simple as SN is the counterparty. You pay the territory owner (who pays SN) and SN.
Also you might pay (zap) the post or comment creator to encourage them to write more of such things.
reply
No. I pay SN (check your lightning invoices)
SN just has a very generous revenue share agreement with posters, territory "owners" (sponsors) and the rewards pool.
(but like I said i should shut up so I'm not going further lol)
reply
202 sats \ 4 replies \ @k00b 15 Nov
It's a bit more complicated than that for noncustodial zaps. (As a metaphor it's fair though.)
We request an invoice from the receiver, extract the hash, then construct an invoice paid to SN's node with that same hash. Importantly, when you push money to SN's node, "paying" this invoice, we do not have the preimage to claim your payment.
To claim your payment, SN risks its own money paying the receiver to get the preimage. SN then uses this preimage to claim the money you pushed to SN.
It's an atomic split payment - part to SN, part to the receiver, and SN only gets paid if the receiver does. As far as the sats are concern, SN does what a lightning routing node does when it forwards funds.
As far as the sender can tell, they're paying SN - which is awesome because it protects the privacy/pubkey of the receiver's node/wallet. But, this also means that the sender must trust that the invoice SN serves is a wrapped invoice from the receiver.
reply
200 sats \ 0 replies \ @Scoresby 22h
This is something I need to write out to wrap my head around. It's kinda what I think of when you say SN is bleeding edge. That little zap button does a heck of a job.
reply
202 sats \ 2 replies \ @k00b 15 Nov
SN's noncustodial zaps have worked this way since mid-2024.
The recent work just generalizes the underlying state machine. Now we handle all payments - custodial ones, JIT non-custodial payments directly to SN, JIT non-custodial zaps atomically forwarded to other stackers, etc - using the same code.
Non-custodial zaps are one of the weirdest state flows that we have, but we also have atomic refunds for some things (like territory payments). ie if you push us money, we claim the money if and only if we are able to complete the action that you're paying for. ie us settling the invoice is atomic with us mutating SN in the way that you're paying us to; otherwise, we cancel the payment and all the pending htlcs, the pending changes to the channel balances, along the route to our node are reverted as if the payment never happened.
reply
Not to be pedantic but is this really considered "atomic" or does it just try to simulate atomicity from the perspective of the user?
Not a critique of the method but rather a nerdy computer question
Then again, thinking about it more carefully, what is truly atomic anyway?
reply
232 sats \ 0 replies \ @k00b 15 Nov
It depends on what you mean by atomic, but fwiw I don't mean to use the term lightly.
The lightning forward is what I'd call game theoretically atomic. We cannot claim the sender's money without paying the receiver, and once we've paid the receiver we certainly want to claim the sender's money. If we are unable to (or simply don't) claim the sender's money, the incoming payment becomes "delinquent" and the channel the payment is on will be force closed.
As for atomic refunds, we settle the incoming invoice within the database transaction that mutates SN. If the mutation fails before we settle the invoice, we cancel the payment without claiming it and the upstream channel balances revert. Even if there's some kind of mistake after the invoice is settled, SN's state machine can flow in only one direction: toward successfully completing the mutation. Even if errors/mistakes continue SN will try to complete the mutation indefinitely until it succeeds.
Perhaps one should claim that all of this is relatively atomic, but as far as computers are concerned, anything but a bit flip is relatively atomic.
I am very sucky at reading LN invoices, but my mental model of this was that SN wrapped the invoice a little like Phoenix's LSP does for payments to Phoenix users. I'll check on this independently (respecting your reluctance to go further).
reply
102 sats \ 1 reply \ @optimism 14 Nov
Thanks, I just don't want to be a pain in the butt to the SN team.
reply
They have to deal with AI generated PRs. I'm sure any pain in the butt you might cause is like a tickle compared to that, haha
reply