ZcashFoundation / GrantProposals-2017Q4

Submission site for Zcash Foundation grant proposals
25 stars 3 forks source link

Improved proving key download infrastructure #20

Open radix42 opened 6 years ago

radix42 commented 6 years ago

I currently host a mirror of the sprout proving key that is used by various wallet releases and ports for zcash and a number of its forks. That mirror is delivered via the somewhat expensive, high quality CDN operated by AWS, CloudFront. The default url used by zcash4win was switched back to the slower, less reliable endpoint hosted by zcashco on AWS s3 due to its high cost of delivery via CloudFront.

This grant proposal is for improvements to the proving key download infrastructure via the following improvements:

-add additional, geographically diverse mirrors via low cost vps and download providers -create a dns namespace that points to various mirrors in an organized fashion that may be relied on by wallets and similar systems such as verifiers, similar to the naming schemes used by various open source projects for mirror namespaces (eu.mirror.project.org, us.mirror.project.org, etc and similar) -co-ordinate with other existing mirrors run by other projects and act as hostmaster to maintain the above subdomain system -explore options for key delivery in locales where existing urls may be blocked -run ipfs nodes with the proving key pinned to their cache for deliver via ipfs protocol and via web gateway to it in multiple locations

tromer commented 6 years ago

Please add the missing details (budget, prviacy, risk etc.) and try to elaborate on the points left open.

Regarding privacy, keep in mind that there are precedents where merely installing an app put people in trouble (https://amp.theguardian.com/world/2017/sep/11/turks-detained-encrypted-bylock-messaging-app-human-rights-breached).

arcalinea commented 6 years ago

There's a PR close to being merged that modifies the fetch-params script to pull the parameters from ipfs. Both the proving and verifying key are now pinned on gateways. More redundancy is always good though. https://github.com/zcash/zcash/pull/2597

whyrusleeping commented 6 years ago

If the ipfs team can help out in any way, let us know.

tromer commented 6 years ago

@radix42 How difficult is it to integrate IPFS fetching into your Windows and Mac installers?

acityinohio commented 6 years ago

Every informal proposal has multiple reviews by the review committee. The reviews are being collected and discussed in a private google doc (the 5 reviewers all have edit access to it, no one else can view it). By way of early, informal feedback, the reviewers have made a list of projects that they consider leading candidates for grant funding.

In that vein, your project was selected as one of the leading candidates, and the review committee encourages you to submit a full proposal by October 6th and looks forward to reviewing it.

acityinohio commented 6 years ago

I know you're probably already aware @radix42, but just in case: note that the submission deadline is October 6th! Please endeavor to have a final proposal submitted by then, as an attachment to this issue (and yes, it can be October 6th anywhere in the world).

radix42 commented 6 years ago

In light of increased use of either raw ipfs or web gatewayed ipfs to fetch the proving key, both by zcash and forked coin distros, I'm closing this proposal (ETOOMANYTHINGS as they say, and to free up budget for other proposals.