z2z Public Messages

Disclaimer: Independent side project — 100% Sonya and 0% Zcash Foundation.

I was going to include a screenshot but image uploads are broken on the forum right now, so… you’ll have to click through!

Not a replacement for ZBoard (RIP), but definitely inspired by it <3

@amiller volunteered to help me provide a viewing key!

3 Likes

It bugs me that Discourse won’t let me title this thread “z2z Public Messages,” it keeps changing the title to “Z2z Public Messages” UGH

1 Like

OK so… sapling viewing keys aren’t supported in any of the official software yet. But in keeping with the spirit of 100% personal 0% foundation experiments in this thread… I took the work-in-progress viewing key code by bmlis from here and used it to import a viewing key:
https://github.com/zcash/zcash/pull/3822 (I had to modify a couple of lines and rebuild it as discussed in the PR)

The viewing key for the z2z Public Messages address is:
zivks1yssjra4ln5uc25xgjaej332jc0xc5wc7qjhkyxn5ctzluas4auzq6h2pgv

To import it, use the following:

src/zcash-cli z_importviewingkey zivks1yssjra4ln5uc25xgjaej332jc0xc5wc7qjhkyxn5ctzluas4auzq6h2pgv yes 590000 zs19detzz6l3yag6fjwu2vtjg2p5dv8lfs8hw70mt29g378l2kgvt796plhhlyzyfzjndww6mtt7ag

(parameters are the incoming view key ivk, yes to recan, 590000 as a height to rescan from, then the sapling zs address). To check it,

$ src/zcash-cli z_listaddresses true
[
  "zs19detzz6l3yag6fjwu2vtjg2p5dv8lfs8hw70mt29g378l2kgvt796plhhlyzyfzjndww6mtt7ag"
]

(true means include “watch only” addresses like this one)

Now anyone can follow along with Sonya using the following one-liner:

$ src/zcash-cli z_listreceivedbyaddress zs19detzz6l3yag6fjwu2vtjg2p5dv8lfs8hw70mt29g378l2kgvt796plhhlyzyfzjndww6mtt7ag | python -c "import json, sys; print [r['memo'].decode('hex').strip('\x00') for r in json.load(sys.stdin) if r['amount'] >= 0.005]"
['Trump is bae', "The sky's alive with turned on television sets\nI walk the streets and seek another vision yet\nThe echo makes me turn to see that last frontier\nThe edge of time closes down as I disappear\n\nThe time that's best is when surroundings fade away\nThe presence of another world comes close to me\nIt's time for me to throw away this paper knife\nI'm not alone in reaching for a perfect life", "I'm in love with a stripper \xe2\x99\xaa\xe2\x99\xab\xe2\x99\xac", 'I testify that there is no more worthy god than my future self, and that Libertology heralds my apotheosis. \xf0\x9f\x8c\x8c Ascend the MESCATOMic bridge at AppliedExtropy.org!']

Basically using the incoming viewkey, anyone could mirror a zboard like service, but only Sonya with the full private key can forward the donation on to openpriv :slight_smile:

5 Likes

That was a test. please don’t ban me. I didn’t mean to. :confused: sorry. I didn’t think it would let me, I mean, why would it let me?

I even fixed it for you. z2z plz no ban.

1 Like

THIS IS SO COOL

4 Likes

Thinking out loud… a failure mode is if people send t->z to this and leave a tracing trail they weren’t expecting. I mean, I don’t know how this could be labelled “z2z” any clearer, but it would be better if the script above just ignores anything that isn’t fully z2z.

3 Likes

Why would you even do t2z though? You can’t send a shielded memo. So it’d have to be intentional, or a severe misunderstanding.

You can add shielded memos to t2z, because the memo is associated with the shielded output, not the transparent input.

1 Like

I stand corrected! I didn’t realize, since you can’t include a memo z2t.

I wonder what the z2z equivalent of satoshi’s place would be? hmm… https://satoshis.place

2 Likes

Maybe it’s worth really digging into the memo feature to be used as a messaging system. It seems Signal’s history on your phone could be decrypted rather easily :frowning:

Nadim Kobeissi (@kaepora) a tweeté : Even Signal’s conversation history is vulnerable to extraction through a variety of vectors, available to a determined attacker with network or physical device access. A good summary that goes from exploiting lack of key auth, to device storage: https://blog.elcomsoft.com/2019/08/how-to-extract-and-decrypt-signal-conversation-history-from-the-iphone/

2 Likes

Yes! It’s not that expensive, even.

I have ideas about a messaging UI for ZecWallet, as a view of transactions that could be toggled to.

2 Likes

Update!

3 Likes

Sounds like you’re definitely getting the bugs worked out! Super cool!

1 Like