Press Release: Announcing a Partnership with Parity Technologies


#1

On October 30, the Zcash Foundation and Parity Technologies announced a technical partnership to build a consensus-compatible Zcash node. Both organizations understand the importance of robust financial privacy, and believe that a cryptocurrency built around zero-knowledge proofs can help secure that fundamental freedom.

“Technologies that prioritize privacy allow all people to transact without fear of censorship or reprisal,” said Zcash Foundation Executive Director Josh Cincinnati. “An independent node implementation provides more options for Zcash miners and users, which promotes healthy decentralization of the cryptocurrency protocol as it matures.” Parity’s experience building multiple client implementations will combine with the innovative cryptography of Zcash in service of that mission.

Parity plans to devote significant development resources to the project, using Parity Bitcoin as a starting point and writing in the Rust programming language. The Zcash Foundation will contribute its own engineers as the organization’s hiring and community funding processes allow. After the node implementation is finished and successfully syncs to the mainnet, Parity will transfer responsibility for long-term code maintenance to the Zcash Foundation.

Parity CTO Fredrik Harrysson said, “Our technical collaboration with the Zcash Foundation will bolster the cryptocurrency as a tool for financial privacy. We’re excited to leverage the time and expertise that we’ve already invested in Parity Bitcoin, while familiarizing our engineers with zero-knowledge cryptography and building a foundation for a Polkadot Zcash bridge.”

Zcash community members can expect a number of benefits. Currently, zcashd is the only full node software available. The existence of two consensus-compatible node implementations will increase Zcash network security — if one node has a bug, the other may not. Ideally, the joint project will also inspire more experimentation with zero-knowledge proofs beyond the aegises of academia and the Zcash Company. Everyone in the space would like to see a proliferation of ambitious undertakings alongs the lines of Coda Protocol and StarkWare.

Perhaps most importantly, the software that Parity is going to build for the Foundation will meaningfully change the power dynamics of the Zcash ecosystem. The Foundation’s nascent governance leadership will carry more weight once there are users relying on the organization’s node implementation to interact with the protocol. Furthermore, the Zcash Foundation and the Zcash Company will need to agree on which features to add to Zcash — or subtract from it — in the future.

The Foundation having “software in the game,” so to speak, will draw influence away from the Zcash Company. From the perspective of both entities, it’s a good thing that control is starting to become decentralized. When Zcash Company CEO Zooko Wilcox announced the formation of the Foundation as a separate nonprofit entity, in early 2017, he wrote that “it would not be appropriate for a single for-profit company to have this much power over the evolution of the Zcash technology [indefinitely].”

In partnering with Parity, the Zcash Foundation is taking another step toward fulfilling its central promise, to build privacy infrastructure for the good of the public at large. And Parity is furthering its own mission, to use engineering excellence in service of a world with better institutions.


The Zcash Foundation is a 501©3 nonprofit that focuses on financial privacy. The organization is devoted to building internet payment and privacy infrastructure for the public good.

Parity Technologies is a core blockchain infrastructure company, founded by Ethereum co-founder Gavin Wood and Jutta Steiner, focusing on decentralized protocol development and tooling for developers. Parity is writing the first implementation of Polkadot, a blockchain network designed to connect blockchains together in a trustless way.


Originally posted on the Foundation’s website.


#2

CoinDesk coverage: https://www.coindesk.com/parity-zcash-crypto/


#3

That is great news. Parity already maintains an excellent Ethereum Node implementation and I am confident that they will deliver the same kind of quality for Zcash.

Such an official partnership warrants one question. Assuming 50% of the total network hashrate is using the Zcash company client and 50% is using the Parity client and there is a consensus issue between both clients (for whatever reason) that causes a chain split. What will be the deciding factor that determines which chain will become the canonical one?


#4

Parity is a perfect fit for Zcash. This is super exciting! More implementations will mean another layer of protection against any potential zero day.


#5

Newsletter sent! https://buttondown.email/zcashfoundation/archive/db752d7b-a8e9-484c-a918-1bb15e683162


#6

That’s a good question. @acityinohio is currently busy at Devcon, but I’ll ping Zcash Company people to see if they have an answer.


#7

If by “canonical chain” you mean “the chain called Zcash”, that would come down to the trademark policy, and thus the parties responsible for making the decision would be those who manage the trademark. As to how the parties (currently only ZcashCo) would make the decision, I don’t have any official insight, but it would naturally depend on the specific context around the consensus issue. I expect that consensus issues due to bugs would simply be fixed in the relevant client, and the ecosystem would upgrade to avoid or orphan the buggy chain, like was done for the consensus-related bugs in Bitcoin Core releases 0.3.7, 0.8.0, and 0.15-0.16.2.

One of the things I would love to see come out of the Parity-based node development is infrastructure for doing inter-node compatibility testing, with a focus on consensus rule interoperability tests. That would greatly help to identify and squash any incompatibilities early in the development process. Similar infrastructure was used during the development of the three main Lightning Network implementations.


#8

I would want this to be determined primarily by security considerations in each case.

Note that unlike Bitcoin, Zcash consensus is not defined simply by the code of the majority implementation. We essentially already have two “implementations”: the spec and the code. Whenever there has been a discrepancy (and there have been a few), we’ve needed to decide whether the spec or the code was wrong. In practice that has not been difficult — in most cases there has been a clearly preferable choice. Having three “implementations”, i.e. the spec, zcashd, and Parity-Zcash, will be no different in principle, except that it will be developers/security experts from both ZcashCo and the Foundation making the decision.