Announcing: Nighthawk Wallet for Zcash 🛫

I think we should also keep in mind programmatic usage of memos, like the “Savings circle” app I’m writing right now that needs to download all memos without user interaction because they are programmatic.

Also! Kudos again to Nighthawk! Maybe we shouldn’t nerd out on memos in this thread because it takes away from their accomplishment?

1 Like

Are you sure about this? I mean I agree you can’t just scan everything scalably, once you hit some number to txs per second, but how about adding a field to block headers that would let you know if a tx to you was in the last x number of blocks? I think this could be done in a way that still preserves your privacy about your tx being in those blocks.

Thinking about this some more, I’m beginning to see why it’s a hard problem…

1 Like

Zcash came out of what ended up being my PhD thesis. I started on that in part because anonymous messaging seemed hard. It had been around a long time and people hadn’t solved it. Private decentralized payments were hard too (they foiled Satoshi ), but … easier than that. Its been nearly 10 years since I made that choice and the best practical deployed metadata resistant (which is weaker than anonymous) system anyone has is Signal’s and their approach is basically have a server and don’t keep logs.

1 Like

Great thread, keep it going.

@gmale thanks for sharing the background. It is hard to debug & find root cause without logging & crash reports.

Yes! I didn’t want folks making a big deal out of it. If the open source ECC wallet doesn’t use those analytics libraries, then it is worth removing those dependencies.

4 Likes

I’m confident that we could deploy (or reuse) a suitable mixnet if we decided that we needed one. And I do take the point you’ve made elsewhere about needing all associated communication to also be anonymous.

1 Like

It took 2+ years to ship a wallet, over a year to do sapling. And those are things where the academic underpinnings were settled years ago. So even if there was an existing solution that met our needs, had been designed, fully vetted, and worked, it would be a major challenge when most of our attention is focused elsewhere. In reality, almost none of those things hold. I’m not joking when I said I started the whole line of research that underpins Zcash because I thought it was easier than anonymous communication and ~10 years later I still do.

There’s a reason I’m arguing strenuously for fixing the problem now by either 1) not fetching by default or 2) adding that as an option and defaulting to fetching all memos.

1 Like

Can you elaborate a bit on option 2? Because, to me, that sounds about the same as putting it back into the compact block, which is considerable bandwidth but maybe worth it for some users.

Personally, I’m really a fan of “option 3” that you suggested elsewhere of iterating on payment detection. As a wallet dev, pulling down all these blocks and doing all this scanning and managing the associated state is overly cumbersome.

There … has to . . . be . . . a better way!

1 Like

Oh yeah, that is the same thing, mostly. Though you might want to let someone who never gets memos turn it off for bandwidth reasons. And if we get much more z2z usage, bandwidth on mobile would be an issue. Sticking it in the compact block format could make that tricky, I think? If not, totally the same.

And I’m all for iterating after we have a stop gap fix. The possible stop gaps are 1) download all memos (either in compact block or separately) 2) default to not fetching memos. Oh, 3) change the wallet protocol to accept singed flat files for blocks . Then you can fetch from services that plausibly don’t log like CDNs or do it p2p.

The current situation is not acceptable. And as I keep pointing out, having been working on this for 10 years, it takes longer than people think to do anything fancy. So we shouldn’t wait

1 Like

Good idea. paywithz.cash now has a filter carousel at the top so users can select from stores/non-profits that have a z-address. There’s also a dedicated page for this feature at https://paywithz.cash/z2z

4 Likes

Perhaps I agree with you, if you look at the current situation, it turns out that time is playing in the wrong direction, the longer you wait, the more chances that everything will change.

1 Like

I’m happy to see this great work and the discussion around it.
However - it’s absolutely wrong to use a killing machine as a symbol.

1 Like

@NighthawkApps Is the “Shielded User” screen with the big yellow spaceship logo an “About us” screen? It appears so, with the yellow at Nighthawk button. Have you considered adding ‘send’ and ‘receive’ buttons? It’s not clear to me how to send and receive Zcash.

2 Likes

(It’s not a spaceship it’s an F-117 Stealth fighter)

2 Likes

Space Force Episode 1

2 Likes

I am personally not seeing a “killing machine” as a symbol of this wallet software. I am seeing a “defence machine” instead. To me it is bringing an image of something that is protecting me.

6 Likes

. . . and, perhaps most importantly, the concept of being “off the radar!”

9 Likes

I’m with @mika here, and I’d like to thank her for pointing it out. That’s a machine for bombing civilians.

2 Likes

Lets not do this. Names aside, 80s stealth tech is a cool aesthetic for a maximum privacy wallet and better than the green cyberpunk generics someone might have done.

The attribute the F117 is being used for here is stealth, not its ability to drop bombs. It’s a tool.

And finally, it was designed to hit heavily defended military targets, primarily in a conventional ground war in Europe in which the USSR invaded. It’s not meant to bomb civilians nor does it have the payload or range. It was not nuclear capable. So it was used to take out command and control bunkers in e.g. the intervention in Serbia to stop genocide.

Of course, there’s ambiguity in this. In the first gulf war the US accidentally bombed a civilian air raid bunker they thought was a command and control site. But I wouldn’t be so eager to set the standard of “worst possible use” defining something, seeing as we all work on a privacy preserving cryptocurrency and, however rare, it will be used for evil.

You can disagree with the name and are free not to use it, but lets not pile on other people for choosing it or liking it.

7 Likes

Personally I think name is synonymous with “stealth” or “skunk works” moreso than it being a military weapon.

6 Likes