Technical RFC: ZEC-NAM shielded airdrop mechanism

Hello Zcashers,

The Heliax team (developing Anoma & Namada) would like to reach out to you again for an update on the shielded airdrop, previously discussed here. In the time since that post, we have come up with a more detailed protocol design and a small demo to proof-of-concept the most important aspect of the airdrop transaction, and we would like to show it to you and collect feedback.

Both the protocol details and the demo can be found in this GitHub repo.

We would be enthusiastic about any technical feedback you wish to discuss with us concerning protocol correctness, privacy-preservation, and ease of integration into wallets etc. If you wish to discuss the airdrop program please reply to the former post - let’s keep this thread to technical details and discussions only.

Best wishes,
Carlo

22 Likes

This looks like a great solution for the Namada airdrop to Zcash holders.

I’m surprised nobody who has the technical knowledge has chimed in?

CC: @hanh @daira @nuttycom

2 Likes

I’m intending to review the protocol in detail next week.

Sorry, I’d answered on Twitter and didn’t see this thread.

4 Likes

Thank you for working so hard to support shielded airdrops

I think you could set a good example for other developers (and Zcash users) by working equally as hard to exclude any support for non shielded airdrops.

Specifically, I think any support of non shielded t address airdrops are a net harm to the community by enabling those that don’t support the core principle of Zcash. Privacy

1 Like

until now there has been no hardware wallet support to keep ZEC in the shielded pool.
+there’s different reasons why someone holds their ZEC in the transparent pool at a certain point in time.

1 Like

I reviewed this today with @str4d and @nuttycom.

A brief summary: we have some concerns about the assumption of a private channel between the Zcash and Namada wallets to send \mathsf{rcv^{Sapling}}, and a suggestion that would remove reliance on that.

It should also be noted that the protocol relies on \mathsf{nsk} being private (or else it is not secure against a full viewing key holder). This would prevent it from being applied straightforwardly to Orchard which does not have \mathsf{nsk}.

I’ll clean up our notes and post them tomorrow on Monday.

9 Likes

Thanks - really looking forward to read your notes!

4 Likes

Sorry I got derailed from finishing this earlier!

9 Likes

Thank you (and @str4d and @nuttycom) for the comprehensive and clear feedback! :blush:

We will go through this internally and make sure we understand and address all the points (which may take a bit of time), then follow up again here.

6 Likes

Just wanted to drop a brief update here - we’re continuing to work on this - in particular, in addition to addressing the ECC’s excellent feedback, we’ve decided to try to generalize the protocol so that:

  • it will also work with Orchard, which seems to be desired by the Zcash community (and we wouldn’t want to accidentally create an incentive for people not to move to Orchard)
  • the protocol (or parts of the protocol) can easily be used in the future by other teams and projects who might also wish to airdrop to ZEC - which I personally think actually might happen a lot more if it were just technically easier to execute

We will drop another update soon when we have a fully updated proposal and have completed our internal review.

19 Likes

Please look here for a status update :slight_smile:

1 Like