Avatar
Arjen
bbb5dda0e15567979f0543407bdc2033d6f0bbb30f72512a981cfdb2f09e2747
#SovEng SEC-03/04/05 - Tollgate - Nostr networking stuff - SugarDaddy.Cash Avid through-hiker, over 3500km of the Pacific Crest Trail hiked and counting πŸ₯Ύ. I hate ads and leafblowers I don't read DM's

It's absolutely mesmerizing, can't wait to explore the rest of the island, any recommendations?

#foodstr #ratstr #madeiraWildlife

Oelalaaa Madeira!! #photography

These nature walks are inspiring... It just gifts you fresh ideas

Lovely Madeira two nights ago #photography

Our WIP:

NERP (Nostr Epoxy Reverse Proxy), which you can put in front of any relay to support proxying: https://github.com/ArjenStens/nostr-epoxy-reverse-proxy

Client: https://github.com/hzrd149/nostr-epoxy-client

We're building Epoxy. Basically a way to proxy to a relay through one or more other relays. The cool thing here is those proxies can support tor/i2p/hyper as well. Meaning you can technically connect to a TOR relay from clearnet, like on iphone.

Using these proxies helps hide the requester's IP from the destination server and vice versa along with blurring the line between clearweb/tor/i2p. It will all seem like one network to the end user.

We want to address relays by pubkey (NIP-66), encrypt the Nostr requests going to the final relay to that relay's pubkey, that way the intermediate proxy relays can't read the contents.

Replying to Avatar Max

In the early days of ecash a common narrative was that it provides "theoretically perfect anonymity", but there's more nuance to this.

It's correct that when the client presents an unblinded signed message, the mint cannot link this to any specific blinded cyphertext that it signed previously.

However, there is still three pieces of critical metadata that the client does reveal:

1. The number of inputs and outputs of the ecash transaction. Transactions with many inputs reveal that the same user got paid many times in the past. Transactions with many outputs reveal that one user is making many payments.

2. The value of each input and output. The mint uses a different key for each denomination value of the tokens. Thus a token worth 5 units is easily differentiated from a token worth 10 units. The anonymity set of a token depends on the number of tokens generated, so if a user is the only one with that specific denomination he has no privacy.

3. The IP address that connects to the mint to send the transaction api request. If the same IP address makes multiple payments, it's likely the same user, and his geolocation is also revealed.

Problems 1 and 2 can be mitigated on client side, but this adds substantial complexity in utxo management and transaction structure. If these mitigation are not specified and different clients have slightly different solutions, this opens up additional client fingerprinting attacks.

WabiSabi is designed to solve problems 1 and 2 on a protocol level. A WabiSabi transaction is required to have exactly two inputs and two outputs, and homomorphic value commitments hide the amounts of each input and output. The tradeoff is that the mint has to issue 0 value credentials, a user needs to make more transactions to prepare his desired amounts, and the proof size and creation time is larger.

Problem 3 is addressed by a client side networking anonymity layer. A VPN at least hides the actual users IP address, but if only one client uses this VPN to talk to this mint, it's still one IP per user. Tor is incredibly useful here, as it allows the creation of anonymous onion routes through the network with different exit IP addresses. A client can get a new IP for each api request! This does however increase bandwidth and latency cost.

We should assume "everyone knows what the mint knows", and so we need to be hardcore about privacy protections best baked into the protocol. If the protocol doesn't ensure the security of the user, client devs have to do an exponentially larger amount of research and development to fix the issues client side.

Nostr is the machine.

Bitcoin is the oil.

Haha ik juich alle btc payments toe :) Denk dat eCash het nΓ³g cooler en sneller gaat maken. Nu mee bezig en het is echt bizar wat we in no-time kunnen bouwen met eCash TOV Lightning!

Replying to Avatar Peter

As spoken by nostr:nprofile1qqs0tlt4fptsgmehatjcexpd0gyerwsgext0tveep73t44r77fccmmgpz9mhxue69uhkummnw3ezuamfdejj79hkwj4 during his keynote at #btcamsterdam "Use it or lose it": using Lightning Network to pay for delicious specialty coffee at hummingbird in Amsterdam

Nice! Wen eCash? πŸ™ƒ

Yes it does, It allows us to address the relay through whatever means they themselves have shared, which can be TOE, I2P or the open internet. Their address can change but you can still follow the changes and use their new endpoints.

Like this:

nostr:nevent1qqsr7wsz96842kyejtkd0fjz96gm9aes0fc77lmdgt66ksls5rjy97gpzemhxue69uhhyetvv9ujuum5v4h8xtnyv4mz7q3qhw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarsxpqqqqqqz9pkdp2