# Zebra 1.0.0 Stable Release

**URL:** <https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867>\
**Category:** Zebra\
**Created:** [June 14, 2023, 6:58pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867 "2023-06-14T18:58:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dodger](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dodger/32/3021_2.png) [@Dodger](https://forum.zcashcommunity.com/u/Dodger)\
**Post date:** [June 14, 2023, 6:58pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/1 "2023-06-14T18:58:58Z")

</div>

We’ve just announced [the first stable release of Zebra](https://zfnd.org/zebra-stable-release/).

![zebra-logo-256](https://global.discourse-cdn.com/zcash/original/3X/1/b/1b83959635d978c5df3068a30394eeb423efde64.png)

Zebra has been audited by NCC Group, who found no major issues (and only one medium issue), and it currently has the following functionality:

- it joins the Zcash peer-to-peer network, validates the blockchain, maintains a mempool, and gossips new transactions and blocks
- it can act as a back-end to lightwalletd
- it can generate block templates for miners

I invite everyone who reads this to [download and run Zebra](https://zfnd.org/zebra/download), and let us know how it performs. As with any major software engineering project (the core Zebra repository contains [nearly 100,000 lines of Rust code](https://api.codetabs.com/v1/loc/?github=zcashfoundation/zebra), with thousands more in dependencies), there will inevitably be bugs and issues so please [report them on Github](https://github.com/ZcashFoundation/zebra/issues/new?assignees=&labels=C-bug%2C+S-needs-triage&projects=&template=bug_report.yml&title=).

I want to give a huge shout out to everyone who has contributed to Zebra’s progress to date:

- the ZF team (including former team members), for whom this has been a long, difficult journey to reach this milestone
- the ECC team, who have provided much-needed technical help, support and advice, as well as [moral support](https://forum.zcashcommunity.com/t/how-does-zec-fit-into-the-zcash-foundations-long-term-strategy/41512/44) ❤
- the many community members who have downloaded and tested Zebra throughout its development, reported bugs and issues, and [contributed to the Zebra codebase](https://github.com/ZcashFoundation/zebra/graphs/contributors).

It’s also important to acknowledge that Zebra relies on a bunch of libraries developed and maintained by ECC.

I also want to thank the Zcash community for their support, and in particular for their decision to fund ZF through the Dev Fund. Without a reliable and stable source of funding, it would not have been possible for ZF to create Zebra.

While this is a major milestone for Zebra (and ZF), there is more to do before Zebra can fulfill all the use cases that the zcashd node is currently used for.

In the short term, our next priority is to upgrade Zebra to support the changes that ECC are adding to zcashd and lightwalletd to [allow light wallets to implement the DAGsync algorithm](https://forum.zcashcommunity.com/t/all-ecc-teams-focused-on-wallet-performance/42860/74).

Beyond that, while we have our own ideas about [what functionality we could add to Zebra next](https://www.youtube.com/watch?v=S3uGdNEMymI&t=1066s), we want to hear from the Zcash community—especially people who currently run a zcashd node—so please complete this poll, and tell us below 👇 what functionality you think we should add to Zebra next!

_Poll ([view on site](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/1))_

---

<div class="post-metadata">

**Author:** ![dconnolly](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dconnolly/32/12620_2.png) [@dconnolly](https://forum.zcashcommunity.com/u/dconnolly)\
**Post date:** [June 14, 2023, 7:00pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/2 "2023-06-14T19:00:51Z")

</div>

Super proud to have our 1.0.0 release out in the world ☺ ✨ 🦓

---

<div class="post-metadata">

**Author:** ![ebfull](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/ebfull/32/34_2.png) [@ebfull](https://forum.zcashcommunity.com/u/ebfull)\
**Post date:** [June 14, 2023, 7:34pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/3 "2023-06-14T19:34:09Z")

</div>

Great job on the release! 🥂

I’m looking forward to contributing to Zebra development.

---

<div class="post-metadata">

**Author:** ![aiyadt](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@aiyadt](https://forum.zcashcommunity.com/u/aiyadt)\
**Post date:** [June 14, 2023, 8:44pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/4 "2023-06-14T20:44:04Z")

</div>

Congratulations to the Zcash Foundation on the successful stable release of Zebra 1.0.0  
It’s truly a remarkable achievement by the ZF team of engineers to have developed Zebra from the ground up.

I have been running and exploring Zebra release candidates over the past year and reviewing its light resource usage when deployed on cloud-based infrastructure. Not only does this bode well for efficiency and performance, but it also means significant savings on infrastructure costs.

We at Nighthawk Apps are thrilled to hear about this development, as it aligns perfectly with our roadmap. We have planned for one mainnet lightwalletd node to be powered by Zebra, and we eagerly anticipate making it public. The robustness and reliability of Zebra will undoubtedly contribute to a seamless and secure experience for our users.

---

<div class="post-metadata">

**Author:** ![earthrise](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/earthrise/32/11887_2.png) [@earthrise](https://forum.zcashcommunity.com/u/earthrise)\
**Post date:** [June 14, 2023, 9:08pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/5 "2023-06-14T21:08:56Z")

</div>

Congrats!! 🥳

Are there plans to publish the audit report? It sounds like it would be a fun read!

---

<div class="post-metadata">

**Author:** ![lexaleth](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/lexaleth/32/28304_2.png) [@lexaleth](https://forum.zcashcommunity.com/u/lexaleth)\
**Post date:** [June 14, 2023, 9:40pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/6 "2023-06-14T21:40:19Z")

</div>

Excellent performance. I can’t imagine all the journey to achieve this achievement, but it sure was worth all the effort

---

<div class="post-metadata">

**Author:** ![ZecProphet](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/zecprophet/32/18637_2.png) [@ZecProphet](https://forum.zcashcommunity.com/u/ZecProphet)\
**Post date:** [June 14, 2023, 9:45pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/7 "2023-06-14T21:45:04Z")

</div>

Awesome news! Zcash devs rock!

---

<div class="post-metadata">

**Author:** ![Dodger](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dodger/32/3021_2.png) [@Dodger](https://forum.zcashcommunity.com/u/Dodger)\
**Post date:** [June 14, 2023, 10:28pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/8 "2023-06-14T22:28:02Z")

</div>

> [@earthrise](#):
>
> Are there plans to publish the audit report? It sounds like it would be a fun read!

Definitely yes. We’re just awaiting final review and sign-off.

---

<div class="post-metadata">

**Author:** ![nathan-at-least](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/nathan-at-least/32/8_2.png) [@nathan-at-least](https://forum.zcashcommunity.com/u/nathan-at-least)\
**Post date:** [June 15, 2023, 2:04am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/9 "2023-06-15T02:04:37Z")

</div>

Huge congrats!

Zebrad engineering is top-notch and we’re extremely fortunate to have that team in Zcash!

The step from one node implementation to \>1 is a huge boon to Zcash decentralization and resilience. This is a major milestone for Zcash easily on par with major network upgrades.

I’m elated. \<3

---

<div class="post-metadata">

**Author:** ![kayabaNerve](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/kayabanerve/32/27977_2.png) [@kayabaNerve](https://forum.zcashcommunity.com/u/kayabaNerve)\
**Post date:** [June 15, 2023, 5:25pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/10 "2023-06-15T17:25:59Z")

</div>

Congratulations on the accomplishment! I understand how much work this was, and how much effort went into it.

Are comparative performance of the following available?

1. Time to sync the full chain, without partial sig/proof verification/any checkpointing
2. Time to intake a new block
3. Peak mem usage during both 1 and 2

I also look forward to the audit being released.

---

<div class="post-metadata">

**Author:** ![dismad](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dismad/32/18432_2.png) [@dismad](https://forum.zcashcommunity.com/u/dismad)\
**Post date:** [June 15, 2023, 11:21pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/11 "2023-06-15T23:21:18Z")

</div>

Rough snapshot: I’m about a day into syncing (main drive an ssd)

![specs5](https://global.discourse-cdn.com/zcash/original/3X/1/5/153e601850c3292ddd5ac7683bd519369a5e55db.png)

 ![Screenshot_2023-06-15_16-18-20](https://global.discourse-cdn.com/zcash/original/3X/d/e/de2be8d99ecc98714065a8ad08c56e8d546cefb3.jpeg)

---

<div class="post-metadata">

**Author:** ![Autotunafish](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/autotunafish/32/7827_2.png) [@Autotunafish](https://forum.zcashcommunity.com/u/Autotunafish)\
**Post date:** [June 15, 2023, 11:38pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/12 "2023-06-15T23:38:39Z")

</div>

Yep, 1.7m in 1 day and then a few days leading up to just past 1.9m and then it’ll pick up more speed coming out the spam. It does have 8 logic threads so that’ll definitely help over having just 6 or 4

---

<div class="post-metadata">

**Author:** ![dismad](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dismad/32/18432_2.png) [@dismad](https://forum.zcashcommunity.com/u/dismad)\
**Post date:** [June 15, 2023, 11:41pm UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/13 "2023-06-15T23:41:41Z")

</div>

![Screenshot_2023-06-15_16-41-18](https://global.discourse-cdn.com/zcash/original/3X/b/8/b8cd9ca099ae59b830f3576a698e85bde994aacb.png)  
🕶

---

<div class="post-metadata">

**Author:** ![miodragpop](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/miodragpop/32/27414_2.png) [@miodragpop](https://forum.zcashcommunity.com/u/miodragpop)\
**Post date:** [June 16, 2023, 7:48am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/14 "2023-06-16T07:48:43Z")

</div>

When benchmarking zebrad against zcashd, keep in mind that zebra doesn’t maintain local wallet db (someone correct me if I’m wrong). Fair comparison would be zebrad vs. zcashd built with --disable-wallet configure flag. Anyway, I expect “C++ hellscape” zcashd to win in both resource usage and speed.

---

<div class="post-metadata">

**Author:** ![zkcroc](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/zkcroc/32/26962_2.png) [@zkcroc](https://forum.zcashcommunity.com/u/zkcroc)\
**Post date:** [June 17, 2023, 3:05am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/15 "2023-06-17T03:05:35Z")

</div>

Is there a decent guide for a non technical person to follow to set up a node?

---

<div class="post-metadata">

**Author:** ![Autotunafish](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/autotunafish/32/7827_2.png) [@Autotunafish](https://forum.zcashcommunity.com/u/Autotunafish)\
**Post date:** [June 17, 2023, 3:44am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/16 "2023-06-17T03:44:53Z")

</div>

Let me know if you have any more questions

[https://zebra.zfnd.org/user/requirements.html](https://zebra.zfnd.org/user/requirements.html)

[![](https://global.discourse-cdn.com/zcash/original/3X/c/5/c57eba269c4e4aee622dcb9e4ee0102dd4f73401.jpeg "Zebrad for Linux Tutorial #1") ](https://www.youtube.com/watch?v=7cPKf4hobeI)

---

<div class="post-metadata">

**Author:** ![james\_katz](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/james_katz/32/26780_2.png) [@james\_katz](https://forum.zcashcommunity.com/u/james_katz)\
**Post date:** [June 17, 2023, 8:08am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/17 "2023-06-17T08:08:28Z")

</div>

Specs:

```auto
CPU: AMD Ryzen 3 3200G
RAM: 16gb
OS: Linux Mint 21 vanessa 5.15.0-41-generic x86_64

```

 ![Captura de tela_2023-06-17_04-53-00](https://global.discourse-cdn.com/zcash/original/3X/5/4/54788d35285ae2a1d9fe4ffdae6c31e09c687b05.png)

Roughly 14 to 15 hours on and off (12 hours the first day, ~3 hours the second day) got to 82% (block 1753639)

Unfortunately I had to stop the sync because I realized I don’t have enough disk space left 😅

I’ll buy a new ssd from china and will try again.

My experience so far:

- It’s quite CPU intensive.
- No crashes.
- UI is not that friendly, but I was informed there’s a `progress-bar` option that makes the UI prettier.
- Really easy to install (I installed with `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0 zebrad` command)

---

<div class="post-metadata">

**Author:** ![teor](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/teor/32/17846_2.png) [@teor](https://forum.zcashcommunity.com/u/teor)\
**Post date:** [June 19, 2023, 1:40am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/18 "2023-06-19T01:40:18Z")

</div>

> [@kayabaNerve](#):
>
> Congratulations on the accomplishment! I understand how much work this was, and how much effort went into it.
> 
> Are comparative performance of the following available?

Good question! We haven’t done a lot of optimisation on Zebra yet, or set up many performance tests. But I’ll link to what we have so far.

> [@kayabaNerve](#):
>
> 1. Time to sync the full chain, without partial sig/proof verification/any checkpointing

Zebra takes about 2-4 days to fully sync the chain, depending on CPU and network latency. Here’s one of our weekly scheduled full sync tests which took 2 days and 4 hours:

```auto
2023-06-18T15:22:32.445047Z INFO {net="Main"}: zebrad::components::sync::progress: finished initial sync to chain tip, using gossiped blocks sync_percent=100.000% current_height=Height(2125997) network_upgrade=Nu5 remaining_sync_blocks=1 time_since_last_state_block=0s
test full_sync_mainnet ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 40 filtered out; finished in 184268.60s

```

[https://github.com/ZcashFoundation/zebra/actions/runs/5289726397/jobs/9600566501#step:8:20240](https://github.com/ZcashFoundation/zebra/actions/runs/5289726397/jobs/9600566501#step:8:20240)

We don’t measure memory usage during this sync test yet.

Network upgrade checkpoints are required by the [Zcash specification](https://zips.z.cash/protocol/protocol.pdf#blockchain). Zebra implements additional checkpoints for security, correctness, and performance.

Zebra requires a checkpoint shortly after Canopy, because it lets us skip implementing some legacy consensus rules.

Using checkpoints for older blocks is more secure than full verification, because transaction data is verified using block header commitments, and then block hashes are verified against the social consensus chain. (The chain we all roughly agree on.)

Is there a specific reason you want to turn off checkpoints? Or is it just to compare performance using the same operations?

> [@kayabaNerve](#):
>
> 1. Time to intake a new block
> 2. Peak mem usage during both 1 and 2

It’s tricky to measure the download and verification times for new blocks, because Zebra does most block verification in parallel. This includes batch verification of most proofs and signatures.

Here’s my local instance verifying 3 blocks within about 600ms.  
(I don’t have the times when the download or verification was started, Zebra doesn’t log them.)

```auto
2023-06-19T01:07:23.300274Z INFO {zebrad="23cb29a" net="Main"}:{peer=Out("v4redacted:8233")}:msg_as_req{msg="inv"}:inbound:download_and_verify{hash=0000000000de8cbc262e4bd4adf0bc1252bf0439b24f34022d3dcb07ac010c8d}: zebrad::components::inbound::downloads: downloaded and verified gossiped block height=Height(2126465)
2023-06-19T01:07:23.584663Z INFO {zebrad="23cb29a" net="Main"}:{peer=Out("v4redacted:8836")}:msg_as_req{msg="inv"}:inbound:download_and_verify{hash=0000000001c5a640d4e2e7ed0bbe41cf2bdd63c7475bf810883f668e318cead8}: zebrad::components::inbound::downloads: downloaded and verified gossiped block height=Height(2126466)
2023-06-19T01:07:23.934685Z INFO {zebrad="23cb29a" net="Main"}:{peer=Out("v4redacted:8233")}:msg_as_req{msg="inv"}:inbound:download_and_verify{hash=00000000012ab71e7292bb0844439a6ccf44f36b6568463a890f7a67bc405ff1}: zebrad::components::inbound::downloads: downloaded and verified gossiped block height=Height(2126467)

```

In my synced instance, I see memory usage around 10 GB. But my machine has a lot of memory, so Zebra’s database likely has a very large memory cache. On a machine with less memory, it should be around 4-8 GB.

I’m also running Zebra with prometheus metrics, which takes extra memory.

---

<div class="post-metadata">

**Author:** ![teor](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/teor/32/17846_2.png) [@teor](https://forum.zcashcommunity.com/u/teor)\
**Post date:** [June 19, 2023, 1:43am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/19 "2023-06-19T01:43:30Z")

</div>

Also, Zebra takes about 6-7 hours to fully sync lightwalletd:

```auto
{"app":"lightwalletd","level":"info","msg":"Waiting for block: 2126326","time":"2023-06-18T22:23:46Z"}
2023-06-18T22:24:38.273710Z INFO {net="Main"}: zebrad::components::sync::progress: finished initial sync to chain tip, using gossiped blocks sync_percent=100.000% current_height=Height(2126325) network_upgrade=Nu5 remaining_sync_blocks=0 time_since_last_state_block=0s
test lightwalletd_full_sync ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 40 filtered out; finished in 24364.56s

```

[https://github.com/ZcashFoundation/zebra/actions/runs/5289726397/jobs/9602805363#step:8:9617](https://github.com/ZcashFoundation/zebra/actions/runs/5289726397/jobs/9602805363#step:8:9617)

---

<div class="post-metadata">

**Author:** ![Dodger](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/dodger/32/3021_2.png) [@Dodger](https://forum.zcashcommunity.com/u/Dodger)\
**Post date:** [June 19, 2023, 10:21am UTC](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867/20 "2023-06-19T10:21:09Z")

</div>

> [@Dodger](#):
>
> Beyond that, while we have our own ideas about [what functionality we could add to Zebra next](https://www.youtube.com/watch?v=S3uGdNEMymI&t=1066s), we want to hear from the Zcash community—especially people who currently run a zcashd node—so please complete this poll, and tell us below 👇 what functionality you think we should add to Zebra next!

I want to bump this request for feedback, ideas or suggestions for **what functionality should we add to Zebra next?**

[Next page](https://forum.zcashcommunity.com/t/zebra-1-0-0-stable-release/44867.md?page=2)
