I got Lightning donations working as again on the https://alice.btc.calendar.opentimestamps.org/ and https://bob.btc.calendar.opentimestamps.org/ OpenTimestamps calendars.

If you'd like to donate, go to either of those URLs and use the Lightning invoice on the page. That's much appreciated, as tx fees and VPS servers all cost me money.

...the only catch is the way those invoices are implemented is hilariously shoddy: I have a watch job that makes a new LN invoice every few seconds. And I turned on garbage collection of expired invoices¹ in my lnd configuration. So there is a small chance that you'll get an invoice that was shown to someone else already.

I didn't want to generate a new invoice on every visit, as I'd need to figure out how to properly rate limit it so as to not open up a DoS attack. In practice people don't donate anywhere near frequently enough for this to matter. So good enough for now.

1) gc-cancelled-invoices-on-the-fly=true

Reply to this note

Please Login to reply.

Discussion

Makes sense!

I have a similar setting for subscription payments in which I can't reuse the invoice as I attach user info to the invoice internally while polling it. But this urged me to question if a verified user would try a DoS. Ok, I shall reuse the invoice for the same user.

Yes, it's particularly bad for OTS calendars I do want the invoice to be right there to make it easy to donate. But I don't want to enable third parties to trigger disk IO as they run on cheap VPS's with relatively bad disk performance.

I was more worried about memory as I may end up polling a large number of invoices. Does lnd write each invoice to disk? I didn't know that.

I would expect invoice creation to result in a disk IO, as I'd expect it to write the invoice data synchronously to disk as a power outage at the wrong time could otherwise cause issues. But maybe it delays that until payment happens. Maybe.

This thread encouraged me to explore open timestamps further.

wonder if there is any precedence of opentimestamps accepted as evidence in a say copyright lawsuit?

Any usage metrics?

BTW, a cost saving workflow I discovered recently. moved my full Bitcoin node & lightning node to my home (Proxmox) lab where storage cost is nothing (mirrored ZFS, some fault tolerance). Got a cheap VPS which runs my ln address server (I could have left it at home server as well) etc. Established a tunnel using wireguard. works great, next step is signed heartbeat calls from home to vps to update ISP provided IP address if that ever changes. Works great so far.

As far as I can tell timestamps have pretty much never come up officially in the US federal court system. But that doesn't mean they're worthless. Quite the contrary! It probably means they're so strong that no-one has been foolish enough to contest one in court rather than just settling.

Re: usage, people are likely making something like 1 to 10 timestamps per second average with OpenTimestamps. I can't tell for sure though, as people making large numbers of timestamps per second can (and should!) aggregate their timestamps with merkle trees on their end.

Add a button for donation maybe? Generate only on click.

Yes, there's probably a perfectly good way to do that. I'm not a front end dev though, so I haven't spent the time to figure it out.

You might want to try 🤙 widgets.twentyuno.net

Its pretty easy to generate invoices on a website with CLN + lnsocket. I have a demo on https://jb55.com

Just went down the OpenTimestamps rabbit hole... amazing idea! I wonder what most people are using it for.

I wonder too! OpenTimestamps has quite good privacy. So I have very little insight into what it gets used for.

#[1]

I use it few times as my "public notary"

👍⚡