HashCloak is a privacy and scalability R&D lab headquartered in Toronto but with a global team. Our focus is on building and researching areas of blockchain privacy and scalability that we feel are underexplored. Our mission is to bring full-stack privacy to blockchain networks in scalable and usable ways. As such, HashCloak is a young team. Our current team members have worked on projects such as Shyft, ETH2.0 and Althea and to the development of optimistic rollups. We bring a well-rounded approach to R&D.
The goal of our proposed project is to research how combining mix networks (mixnets) and information theoretic private information retrieval (IT-PIR) can be used for building privacy-preserving lightweight clients for Zcash.
Our motivation comes from the fact that currently, in Zcash, there is no straightforward way to privately read from the Zcash blockchain, despite the fact that there is a way to privately write to the Zcash blockchain (through the enabling Tor functionality in Zcashd). With Tor enabled, light clients can read from the Zcash blockchain to detect payments. This means that an observer won't be able to tell which light client read from the blockchain but they can tell what was queried for (e.g which payments the light client wanted to detect). As Zcash is a privacy-preserving cryptocurrency, this is of concern since one of the goals is to keep both the query and querier private.
As Zcash is well-known for making previously unpractical cryptography primitives such as zero-knowledge proofs practical, we believe that Zcash is well-suited to bring a previously well-studied anonymous networking protocols such as mixnets and private information retrieval protocols into production.
We aim to pursue the following approaches for a mixnet and PIR based light client design:
We propose to construct improvements to reading and writing from the Zcash blockchain using modern techniques from PIR and mixnets. We will be using the following primitives in an attempt to build such a system:
Note that the above list is non-exhaustive and we hope to use any useful primitives come about throughout our research.
As there is a large research component, things might take longer than original anticipated. Further, we may stumble upon results that prevent certain goals from being possible. Another potential execution risks is with respect to implementing these changes into Zcash directly. It is possible that what we proposed doesn't get implemented into Zcash proper due to a variety of factors such as the Zcash roadmap.
The main downsides we foresee are the following:
Our evaluation plan has to two components. First, we will provide constructions using formal cryptographic definitions and proofs. This will enable us to show that our construction satisfies a certain level of security and privacy in accordance with Zcash's goals. It will also provide us with theoretical bounds on bandwidth, latency, etc. The second component will be an implementation of the proposed construction. This will allow us to show that the construction is feasible in practice and we can confirm that bandwidth costs, latencies, etc are within the theoretical bounds.
(3 months) Initial designs and specifications (6 months) Prototype implementation (3 months) Improvements and refinements to the protocol specification and implementation
We are asking for $50K for a 12 months worth of research, broken up as follows: