Hi Wollum, congratulations on the study. I browsed through your report and the web site. There is one thing that I couldn’t find.
You are talking about benchmarking the implementation. But do you have a way for us to see if the proofs, synchronization data, etc. are correct? I think it’s important to ensure the solution is functional first. For example, how about a website where the user can enter a seed phrase and it would scan 1 month back, and allow them to do a test transaction (limited to a small amount).
That would be a free trial of sorts.
Hi Hanh, Be sure to check out the repo as well GitHub - ChainSafe/zcash-wasm-benchmark.
For the tree sync it checks that the final calculated root is the same as the one from lightwalletd so we can be very confident that is correct.
For trial-decryption I have a parameter set aside to allow a user to supply a view key. I didn’t end up exposing it in the page though. We don’t have keys to test with and I wouldn’t encourage anyone to give their key to our demo code. Feel free to add it in though it should be pretty easy!
There are other things to check than the root. Everything could be checked by making a transaction.
I’d be fine with entering the seed phrase of a test wallet with a few zats in it.
I understand you’d like us to get involved in the code, but to validate the proposal, it’d be great if there was an end-to-end demo.
Our GRPC-web proxy is up and running so you can now benchmark on your own machine just by visiting this page ZCash Webwallet Benchmarking
Would love to see some results posted here for different machines, browsers and internet connections
One thing we did in zebra to test our blockchain scanner was to use the zecpages viewing key: ZECpages
I’d also be fine with this.
Thanks for this!
TL;DR: I have implemented a trial decryption scanner for the ZECpages anonymous memo board. Look at the browser’s console log.
@hanh @GGuy We have written most of our code to be isolated benchmarks to test specific parts of a wallet which could present potential bottlenecks. As a result, it would require significant refactoring of benchmark code to do a whole end to end transaction test.
As @Wollum-ChainSafe has pointed out, we check the correctness of tree syncing by calculating the root and comparing against what we get from lightwalletd.
As for trial decryption, I have spent some time over the last couple days implementing something similar to what @pili has linked. Given a viewing key, we will trial decrypt the all the CompactTxs and for ones that succeed, we download the full Tx and decrypt the memo and log that.
I hope this is sufficient to demonstrate that we are correctly trial decrypting transactions.
I’ve decided to not deploy it because the initial idea was to have the page show isolated benchmarks of specific functions, so if you wanna try this out, please checkout this branch: ec2/view-key-scan and run just run
and that should build and serve the page.
Here is an example of some of the latest posts:
Interesingly, I can’t seem to see some of these messages on the board, so I’m assuming some filtering is going on.
This assumption is correct
Makes sense. I seen some… “interesting” messages there through my scanner…
I am not sure I understand why it is too hard to put the pieces together to make a transaction. It would be a sure way to verify that your work is correct. There are literally hundreds of nodes that would check.
Hello, does the delivery of the feasibility study can be formally accepted? What are the next steps for the payment of the Grant?
As a recap, the Grant entailed various tests including Network Test, Wasm test, and load test, all of which have been successfully provided.
Here’s a summary of what we’ve delivered:
- A complete research Report with our findings
- Benchmarking POC Website
- Wallet Benchmarking POC code source
In our understanding, we’ve not only fulfilled the agreed-upon deliverables outlined in the grant but have also gone beyond expectations. Moreover, we’ve achieved some promising results that could potentially pave the way for a Zcash Snap!
At Chainsafe, we hold a deep appreciation for open-source and strongly resonate with Zcash’s privacy vision. However, while we’re more than willing to address any general queries you may have, I must emphasize that additional development tasks beyond the scope of the initial feasibility study would require another grant.
Your guidance on the next steps regarding the payment process would be much appreciated. I am more than happy to discuss any questions you may have regarding our deliverables or future projects.
Thank you
Hi @Redoudou. I apologize for any confusion. Just to clarify, we have communicated with Bryant Soorkia, both via email on April 8th and during a Google Meet call on April 11th, confirming that Chainsafe has completed the agreed-upon deliverables and can proceed with the payment request.
Please reach out to admin@zfnd.org for further steps. You can also cc me at aquietinvestor@gmail.com, and I’ll confirm that everything is in order for the payment.
Thank you very much
Will send you a mail shortly.
Payment was received. This grant can be closed !
Thank you all for your participation.