[Proposal] Trustless bridging for Zcash

Hey @abdel! Thank you for the message, and thank you for editing it – the new version sounds more polite :slight_smile:

First of all, this proposal is not a critique of yours; as stated at the beginning of the post, I am trying to look at the problem from a different angle. I did not see the discussion regarding censorship resistance and liquidity fragmentation in the previous threads, and I believe that these are valid topics to be discussed.

In the latest edit you write “or rather I think it should be a parallel path not instead path”, but there is nothing in my proposal that suggests accepting it instead of yours; it’s quite the opposite – the proposal starts with “In this post, we present a proposal that extends these ideas with a more generic approach.”. My perspective is that, as a result of the discussion, we should end up with a solution that provides the most benefits to Zcash, and it’s much less about “who suggested what exactly”.

The reason why I suggest considering Halo2 is that it is already used in Zcash. Utilizing it would result in the technical stack (and thus overall complexity) of Zcash not increasing. If/when quantum resistance becomes a concern, Zcash will need to solve it anyway.

Regarding the “making Zcash a vassal” argument: I think that you missed the core point of the proposal. The core part is a generic TZE that allows expressing both the bridge and L2. Ethereum is not a prerequisite, and it was suggested because a) we know for a fact that Ethereum consensus can be efficiently ZK-proven, b) Ethereum is one of the most active DeFi ecosystems, and c) frankly, it’s something that we have expertise in, so we can provide an implementation if Zcash community agrees with the proposal.

Finally, this is not a ZIP, but a proposal that asks for feedback, so if you see any weak/controversial points here, I’ll be happy to discuss.