Avatar
Decentony⚡
084b886cb4d572e164714ea2a3d7636978a1421b1e41551aa35ae2578b761c95
Developer, bitcoiner, a curious mind learning and creating everyday | Running nostr.decentony.com

Meanwhile the cost of serving US debt (interest payment) is now larger than US defense budget (greatest in the world).

Biden is asking $14 billion for Israel from Congress as part of his $100 billion request.

Picture is likely from a protest against Israeli bombing of civilians.

While American tax payers seem to side with humanity, the government feels obliged to pick a side that is doing genocide under the guise of self-defense 🤷

No doubt about that.

Again #bitcoin solves this.

#Bitcoin solves this ⤵️

That goes into my bucket list, why not? 🤿🐟

That said, I haven't met a bitcoiner in real life yet despite being in a very tech savvy area. Fortunately nostr is bringing us together. Looking forward to joining a Bitcoin & nostr event soon.

GM ☀️

prepping the swimming pool for summer ⛱️

coding some nostr stuff 💜

getting my daily steps 👣

#plebchain

Why isn't there much zapping going on anymore? I see very good posts from a lot of people which are suffering from lack of zaps. Am I missing something?

I believe zaps must go on. Couple sats will not bankrupt any of us. At least zap the new users on global.

⚡💜

I see such things only in my Microsoft email account. After all these AI announcements from them, I am still patiently waiting Microsoft to sort out spam filtering 🤣

Haven't looked into that yet.

Overall it will be nice to have a proof of concept implementation for testnet.

There are certain things WabiSabi can't/doesn't solve today such as needing additional blame round to collect signatures after non-cooperative participants. I wonder how Ark is solving that.

Results will definitely benefit wasabi team while providing an off chain alternative.

Replying to Avatar Rijndael

Here's my understanding of ARK. I hope nostr:npub18aq8s3z9xl87e74twfk93mljxq6alv4a79yheadx33t9np4g2wkqrtmask can correct me where I mess things up or miss something important :)

Lets ignore getting money into and out of the system for a minute and just talk about what happens once you have money in the system.

In ark, you have a a virtual utxo or a VTXO. The core operation you do is sending a vtxo to someone else

Every 5 seconds the ASP does a coinjoin round. The way you send someone a vtxo is through the coinjoin: you provide an input, they get an output. This happens every 5 seconds so that a mobile user can take out their phone, hit "send" and be done with it. Because coinjoins involve multiple interactive steps for input registration, output registration, and signing, the ASP does them very freqently so that end users dont have to sit there with their phone open for minutes at a time.

At the Ark-layer, the abstraction is that I just send you a vtxo via this coinjoin. Now you have a vtxo and you can hold it, spend it, etc.

What happens at the bitcoin layer is that the ASP created an L1 bitcoin transaction that has one (or more) input and three outputs. The input(s) are provided by the ASP. The outputs are: one for the ASPs change, a "connector output", and a vtxo commitment. the connector output and the vtxo commitment are both CTV commitments to many outputs.

So when I send you vtxos, what that actually means is that in the vtxo-commitment output for that particular coinjoin transaction, there is a spend-path that would let you get your money out onchain after 24 hours (more on this later). This is the unilateral exit path. If I send you money, and you want out of ark, you can reveal a transaction committed to in the vtxo commitment output, and get an onchain payment.

Now, not everyone will want to take onchain payment. Most people will want to take their VTXO and use it in a future pool (coinjoin) transaction to send it to someone else or to self-send it. So, the way that works is when you want to spend your VTXO, you and the ASP sign a 2/2 key path that sends that VTXO to the recipient (via their new VTXO). That transaction also includes an output from the new pools connector commitment. This make the whole thing atomic in a dispute-resolution.

So you have a ton of users who all have VTXOs committed in these outputs. Most want to spend them in ARK. So what happens is the vtxocommitment output can be redeemed onchain by the recipient whenever, can be refunded after two weeks, and can be swept by the ASP after 4 weeks. The idea being that after everyone who is going to claim their onchain funds does, the ASP can sweep that output and use it to fund a new coinjoin/pool round (remember the ASP provides all the inputs, so eventually those inputs should be coming from old pool rounds).

That means that users will need to self-send or move funds every four weeks by creating new vtxos. not a huge deal, but something to build into wallets.

What happens if a user tries to double-spend? well, on the unilateral redeem path, the idea is that if the user has previously signed away that vtxo, then the ASP could reveal that transaction onchain before the user is able to collect their funds.

Because these coinjoins happen every 5 seconds, payment is fast and easy and non-interactive for the receiver. and that coinjoin/pool transaction should end up in the next block. So there is some temporary mempool-doublespend risk where the ASP could double-spend a vtxo between when a payment was sent and when it ends up in a block. You can mitigate that risk by usinga vtxo to pay an LN invoice or something, or just treat it as an unconfirmed transaction and wait for a block.

Overall it's a really interesting design. There are high liquidity requirements (the ASP has to provide onchain liquidity for all the transactions happening in a 4 week perioid until they can sweep old vtxo commitments) and there's the onchain footprint of a 1+ input, 3 output tx every 5 seconds. So we won't have a TON of these, but I think they could be a really interesting way to scale end-user wallets. a hypthetical future might be that end-users use fedimint/cashu type wallets or Ark wallets and then the clearing between ASPs and mints is over lightning.

I think I hit the high-level points. Tell me what I got wrong. Thanks!

That's my understanding as well. Thank you for the summary.

Once I was leading a scuba dive, one guy disappeared. Intuitively I went back to the last starfish we saw, there he was, mesmerized by the starfish ⭐🐠 Thankfully, not a fish one needs to chase.

Yes, definitely sensory experience 😀

Not necessarily. You still need to check depth gauge. Things can go terribly wrong if you start chasing fish to the bottom.

You will never hear these things from a president or a presidential candidate again.

Accurate analysis on:

Ramifications of removing Saddam Hussein

Taking down the first democratic Iranian regime

Fixing CIA

...

Nothing new for me, but shocking relevations for most Americans.

This guy should be protected against the deep state at all cost.

https://youtu.be/8y2pPQXiuz0?t=360

The first US presidential candidate, nostr:npub1hq0kkf67h5n63uz0l5zac94un73jnjudn3ryh3aahagx3qvwq0qq8wf9mp to accept campaign donations via Bitcoin lightning ⚡

After today's speech, he has my full support. And I am donating to a presidential campaign for the first time 👀

Hopefully he will have a cabinet worthy of him (definitely not Elizabeth Warren).

https://youtu.be/fz7FPl065II

I couldn't even arrive at choosing a host step. The file browser shows up upon clocking upload media icon on Amethyst, I tap on video file and boom crash.

Latest amethyst is failing for me when I try to upload a video for the last couple of days. I couldn't try myself.

Thank you for bringing nip-94 and nip-95 to us quickly though. I had no idea.

So you are saying that the client will not check the hash when they retrieve the file data back? There are pros and cons for that.

Pros: transcoding allowed.

Cons: evil relay operator can claim bad content belongs to you.

I just read the nip and the conversation.

Cuinking is not mentioned in the nip yet, right?

Also I assume nip implies that relay should store the file as-is. Especially for video this is not ideal. A transcoding on the relay would be more beneficial for non-encrypted media so that clients can play it without issues.

Any document about nip-95? I have been searching for a while.

Kudos to whoever created and installed these signages!

#nocdbc

I just implemented the bolt11 pay part of it using Lnbits APIs after decrypting the message from amethyst. Nothing worth open sourcing.

I will use your sdk for other integrations to create the invoice etc.