Avatar
JSKitty
d133ecb09963a7f7a705bf250324a226fcacbf51eba6f0b1b97df8c09338a4c8
💚 Founder of Vector Messenger. npub1hrujuc08r4zcdtn0u6ts7u7apldcjqgftz0z7stmaaz9hwaf9jxs66f3yh 🛠️ Nostr Developer 🐱 Cyber Cat.
Replying to Avatar Vitor Pamplona

Alright, Nostr fam, what's a "Zap"?

Are we just slapping the word on any digital tip jar, or are we sticking to a core value? Because frankly, if I wanted vague financial gestures, I'd use Venmo.

Words are important. And our users need definitions.

Here are some options:

- 1: The "Participation Trophy" definition:

Oh, you sent value, any value as a reaction to a post? That's a Zap! Doesn't matter if it's sats, seashells, or your grandma's IOU. You can "Zap" anything, through any means: on-chain, lightning, cashu, whatever. It only has to transfer value.

Pros: Everyone gets a gold star! (Even if they don't deserve it.)

Cons: Turns "Zap" into meaningless digital confetti. (Isn't confetti fun?)

- 2: The "Bitcoin Or Bust" definition:

It's gotta be Bitcoin! It can use any chain, any L2, lightning, cashu and even BTC bank accounts, either custodial or self-custody. The method is irrelevant as long as it is valued in BTC.

Pros: Bitcoin-centric

Cons: Custodial shenanigans.

- 3: The "Any Lightning" definition:

If it didn't come through the Lightning Network, it's not a Zap. Period. However, Taproot assets count as lightning. So, It can be any token.

Pros: No other L2 shenanigans

Cons: Cashu is out. Might hurt nostr:nprofile1qqs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgkwaehxw309a5xjum59ehx7um5wghxcctwvshszrnhwden5te0dehhxtnvdakz7qrxnfk's feelings

- 4: The "Lightning and BTC" definition:

"Bitcoin, Lightning, no exceptions. If you're not doing it this way, you're doing it wrong."

Pros: Clarity. Precision. Dictatorship.

Cons: Still hurting nostr:nprofile1qqs9pk20ctv9srrg9vr354p03v0rrgsqkpggh2u45va77zz4mu5p6ccpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgkwaehxw309a5xjum59ehx7um5wghxcctwvshszrnhwden5te0dehhxtnvdakz7qrxnfk

--

So, which is it? Are we watering down "Zap" until it's just another internet high-five, or are we maintaining some semblance of integrity?

How would you define the boundaries of what a zap is and isn't? Should a cashu zap count as a zap? Or should we name it something else?

3-4 is the sensible definition of a Zap.

Using the Lightning-only standard may limit TOO MUCH the potential of improved alternate protocols, but imo, we need to be strict on not letting “false assets”, I,e; non-Bitcoin-backed assets, being defined as Zaps.

eCash should remain totally separate, Zaps and Nuts, no correlation — fine if you want to use it, but clients must separate them.

Super awesome, starting to get sick of the “music streaming” paradigm, or streaming as a whole… we should own our media again!

The one advantage physical discs had.

Demanding a 3 second time refund, where’s the manager?

Replying to Avatar Yuki Kishimoto

I've started working on it here: https://github.com/rust-nostr/nostr/pull/797

For now I've only implemented the algorithm for NIP117. Soon I'll add also support for persistent session state and integration with the nostr-sdk library.

Seriously awesome, I’ll keep an eye out. 🙏🔥

Replying to Avatar Ch!llN0w1

😂😂😂

Love is the Law.

The future is bright, frens. #nostr #grownostr

I am so excited to be working on Nostr, building the future of human communication for the better. 🙏💚

Nothing like a day of #coding followed by #VR golf, eh? ⛳️🏌️‍♂️

#nostr #golfing #memes https://video.nostr.build/b42052cd5c5d79c5cc361d9e649b6d554bc0b93ad9f32e4573bab7c130a3565b.mp4

Nightmare fuel. 😂 nostr:note130n4q5f8dfa2c062huqwmm7k5svak0g7ceprxfqcc6s82mr6p2gqaj3fkk

Replying to Avatar Sirius

Double ratchet messaging is deployed on iris.to. Try sending me a message at https://iris.to/sirius ! Thanks to Human Rights Foundation for supporting the project!

"Add to home screen" on iOS to enable push notifications.

The point of double ratchet is 1) hiding message metadata (who you're messaging and when) and 2) keeping your past and future message history safe in case your main Nostr key is revealed.

I'll write a nip for it. Basically it's Signal's "double ratchet with header encryption", but using Nostr keys instead of symmetric header key rotation. The algorithm is not too complicated. https://signal.org/docs/specifications/doubleratchet/

Typescript library, only uses cryptography from nostr-tools. https://github.com/mmalmi/nostr-double-ratchet

"Public invite" on your "new chat" page is published on Nostr. It's used when you first send message at someone's iris.to profile. Initial message to public invite is from anonymous sender, but publicly visible. From thereon, keys are rotated and stay hidden. "Private invite" is not published, so it's more private when shared over QR code or other channel.

Sometimes the chat sessions stop working at iris.to, probably it's incorrectly saving an old version of the ratchet session state. Working on it.

This is seriously awesome, Martti. 💚🔥

I am building a Nostr client in Rust focused on Private Messaging (initially with just NIP-17 but optional Double-Ratchet is on the roadmap).

I would be willing to donate where necessary to have this implementation in Rust (ideally in Nostr-SDK, if this gets formalised as a NIP? cc nostr:npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet).

I'll cross-reference and test using Iris, when I begin this. 🙏