Update: Milestone 1 Complete
Shielded Labs is happy to announce that we have completed Milestone 1 on the above Crosslink roadmap. We started in early March and made the official announcement on yesterday’s Arborist call, which puts us 1 week ahead of schedule
Demo: Finality by Fiat
In our demo, finality is simply set via an RPC call. The intention of this milestone was to get our hands dirty with Zebra and its constellation of tooling, and perform the full “Vertical Slice” described in the roadmap around this RPC call.
Here’s what it looks like in practice:
- 0:00 Clockwise from the bottom left is Zcash Devtool, Zaino, and Zebra. Each of them have a bit of Crosslink sprinkled into their functionality.
- 0:06 Zaino starts.
- 0:31
zcash_devtool set-finality
is run, which triggers Zaino to forward the parameters to Zebra. Note the log lines in zebra: “final set to… etc” about halfway up the page. - 0:51 The same command is run again with a different block hash, demonstrating a finality change.
- 1:01 Idempotency is demonstrated by running the second command two more times. Zebra takes no action because there is no state change.
- 1:13 Finally, a finality rollback is attempted by sending the first hash again. This is rejected, and Zebra produces an error message.
Links and references
- The main branch at our ShieldedLabs/zebra-crosslink fork contains the code for this, available to try via
cargo run
. - There is now a placeholder for the ZIP Draft. It’s not much right now, but you can expect to see it come alive as the milestones progress.
- We landed one pull request upstream to Zebra. While this PR is more related to Shielded Lab’s NSM work, it was made with the intention to test-drive our process and start to build a relationship with the upstream teams.
Finally, we have begun outreach to ecosystem partners such as wallet developers. More to come!