Ziggurat 2.0

Hey everybody, Mark here from Equilibrium. We’re happy to announce that we have submitted a proposal for Ziggurat 2.0, a continuation of the testing and stability work we performed on the network layer last year.

In addition to further testing of Zebra and zcashd, we’re also going to write new tests and create a network crawler. This will allow us to test beyond a single node in devnet and learn about the health of the network as a whole.

See the proposal and more here

11 Likes

My concern is around total payout. 30,000$ per developer seems high, given part of the work involves web application development & leveraging existing infra that was already built!

I’ve been seeing high payout requests for new grant applications. Not sure if @ZcashGrants feels the same. I’m curious hear what @Souptacular thinks (given his Ethereum experience)

Thank you for the proposal @aphelionz

Please paste the contents of the proposal in your post for ease of discussion on the forum.

4 Likes

Super glad to see this proposal! I listened to the last Arborist call and all the core devs from ECC and ZF seemed super stoked for this proposal :))

Really happy to see experienced folks applying to (continually) bring their work to Zcash land.

I’d recommend ppl commenting on this grant to watch the recent arborist call where this was discussed.

7 Likes

This work can’t happen soon enough. Essential!

3 Likes

Thanks for sharing the video. I loved watching the whole thing.

I understand Ziggurat 2.0 more now. It’s clear what they are building is highly valuable to Zcash ecosystem. I’m not sure how to evaluate the cost without talking to them about what actually goes into building it.

4 Likes

I read somewhere that Ethereum devs were unhappy they werent being paid enough… :roll_eyes:

1 Like

I definitely think any discussion of people’s proposed salaries shouldn’t be based on “feeling”. It’s not really a numbers game where the expected amount for each grant can be weighed based on other grants submitted around the same time (recent grants were large, so next ones should be small). We should all attempt to evaluate things from first principles.

In my mind, there are four main things that should be considered when evaluating a grant and it’s price tag: 1) is there enough money to safely commit to ZCG paying for it (if yes, go to 2). 2) is the work proposed concretely beneficial to Zcash (if yes, go to 3), 3) Is the budget reflective of the work that goes in and the experience of the team (if yes, go to 4), 4) what is the opportunity cost of not funding this grant?

I think point 4 should be heavily weighted. Unless the budget is supremely unreasonable, the few thousands of dollars saved by negotiating with proposals to lower their costs is small compared to opportunity cost of not funding more projects and people that are beneficial to Zcash.

Right now, it feels like we are operating under a “failure is not an option” approach where every grantee has to have every detail worked out to the nth degree to get approved. Failure is not an option came from NASA when they were literally launching people to the moon and people’s lives were in the line.

I personally think we should be taking a “fail as fast as possible” strategy where ideas are quickly tried and discarded if they don’t work while good ideas survive. This is the motto of the lab of George Church, one of the more inventive and successful biotechnology labs in the world, it is also the motto of SpaceX, the pioneering rocket company (how many rocket crashes have we seen from them??). Obviously failure is not an option for launching software for people to rely on but for finding teams to fill out the third party ecosystem and build a robust network of developers outside of ECC and ZF, we need to be iterating as much as possible.

Just my 2 zats while on the bus to work

6 Likes

@David_Heisenberg this should be:

  • Pinned
  • A seperate post
  • Printed
  • Hung on the wall
  • Repeated every morning
2 Likes

Hello @aphelionz & Zcash Community, I am happy to announce that @ZcashGrants has unanimously voted to approve this grant!

7 Likes

Hooray! As always, we are thrilled and honored.

We will post our updates here ASAP.

THANK YOU!

7 Likes

Hey everybody, just wanted to update you all on what the Ziggurat team has been up to over the last couple of months.

Context: These updates are based on the deliverables detailed in the original grant proposal. The relevant deliverables here are the re-testing of Zebra and zcashd, and the network crawler.

If an item is omitted here, it is not yet in progress.

Progress as of July 2022

By our estimation, we are roughly 50% of the way through the grant. Below are details regarding specific deliverables.

Pre-flight checks

We refreshed the Ziggurat codebase with dependency updates, various refactors and improvements following the release of new Rust compiler versions, and updates to our implementation of the Zcash network protocol (Nu5). We’ve also improved the test specification by introducing a clearer symbolic language to describe test cases.

Re-testing zcashd@v4.7.0 and zcashd@v5.0.0

A top priority was to re-test the latest version(s) of zcashd. We sent a number of disclosures to the node developers, including but not limited to the following public issues.

The re-test of v5.0.0 is in progress, no disclosures yet.

Re-testing zebra@v1.0.0-beta.8-12

We decided to additionally re-test Zebra as well. This is currently in progress. We have sent disclosures for beta.8 privately and no official issues opened yet.

Once we hear back we will open issues and/or move on to beta.12

Network crawler: Alpha status

We completed a solid version of the network crawler. However, before we officially release anything we are liasing with the node developers to make sure the crawler is performant and the metrics returned are as meaningful as possible.

Once we’re confident in the state of the network crawler, we will provide instructions on how to use it.

3 Likes

Apologies for the above, I posted prematurely. :blush:

Another update from us, covering from the above post (July 4) to today-ish :slight_smile:

Context: These updates are based on the deliverables detailed in the original grant proposal . The relevant deliverables here are the re-testing of Zebra and zcashd, and the network crawler.

If an item is omitted here, it is not yet in progress.

Progress as of Mid-August 2022

By our estimation we are somewhere between 66% and 80% of the way through the grant. Below are details regarding specific deliverables.

Pre-flight check and repo-maintenance (cotd.)

Re-testing up to zcashd@v5.1.0 and zebra@v1.0.0-beta.8-12

Test results are available here

Summary

  • No changes between zcashd@v.4.4.1 and zcashd@v5.1.0.
  • Between zebra@1.0.0-alpha.11 and zebra@1.0.0-beta.11. Good job, dev team!
    • ZG-CONFORMANCE-003 + 004: The node ignores non-version messages sent inplace of version.
    • ZG-CONFORMANCE-005 + 006: The node ignores non-Verack message as a response to initial Verack it sent.

The latest versions of zebra and zcashd require testing. Our plan is to catch these via the Continuous Integration work currently in progress.

Relevant PRs:

Network crawler: Delivered, working through feedback

We initially released our crawler on testnet and submitted our findings to ZF/ECC. They gave us some good feedback on how to make the crawler more effective, and we’re about 90% of the way through implementing that feedback.

Some findings may currently be sensitive, but we will release more details as we work through comms with ZF/ECC. Sanitized and pseudo/anonymized findings will eventually end up being part of the GUI - the last part of the grant.

Continuous Integration and GUI

In progress, these will be the major deliverables for the next milestone.

1 Like

Ziggurat 2.0 Final Forum Post

Greetings everybody, here is our final update for this current grant.

Context: These updates are based on the deliverables detailed in the original grant proposal. The relevant deliverables here are the CI implementation, and the GUI for Ziggurat ZCash.

Progress as of Early October 2022

We are now 100% of the way through the grant. Below are details regarding specific deliverables.

Pre-flight check and repo-maintenance (cotd.)

Continuous Integration

Continuous integreation for the test suite is implemented here. It is currently a manual trigger meant to be run with each new release of zcashd and Zebra.

When triggered, the CI will run the test suite and upload the results as JSON to be consumed by the GUI

Bonus: Even though it was outside of the scope of the original proposal, we will write a similar workflow for the crawler and merge it into the codebase likely by the end of this week.

Graphical User Interface

You can now view the GUI for Ziggurat (zcashd) here.

At the top, you can see a breakdown of the client and network versions along with a count of crawler-reachable nodes from the crawler. Tooltips provide explanations of the nomenclature.

Below are the Conformance, Performance, and Resistance (CPR) tests. You can click on the tabs to select which test suite to view, and then scroll down to see the results. Again, tooltips explain each test by linking to the spec.

Similarly, Zebra tests are coming very soon.

Thank you!

We have once again been honored by the support from the ZCash Foundation and the opportunity to help the ecosystem we love. Here’s to the future!

7 Likes

Ziggurat is awesome!

Thanks @earthrise!