# ZEC vs BTC mining question

**URL:** <https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574>\
**Category:** Mining\
**Created:** [December 3, 2024, 5:35pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574 "2024-12-03T17:35:12Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tief](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@Tief](https://forum.zcashcommunity.com/u/Tief)\
**Post date:** [December 3, 2024, 5:35pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/1 "2024-12-03T17:35:12Z")

</div>

I was doing a little research with venice.ai today on the difficulty adjustment and differences between the proof of work mining between BTC and ZEC. There a a few results I’m not 100% sure are correct, therefore before assuming anything I’d like to get any feedback on the below…

Equihash requires a significant amount of memory to solve, making it more difficult for ASICs to dominate the network. This allows for a more decentralized network and greater participation from individual miners using GPUs.

Bitcoin’s difficulty adjustment algorithm is based on a simple moving average of the time it took to mine the previous 2016 blocks. The algorithm adjusts the difficulty every 2016 blocks, or approximately every two weeks, to maintain a target block time of 10 minutes. The adjustment is based on the ratio of the actual time it took to mine the previous 2016 blocks to the target time of 20160 minutes (2016 blocks x 10 minutes per block).

Zcash, on the other hand, uses a difficulty adjustment algorithm called the “Digishield” algorithm, which is a modified version of the “Kimoto Gravity Well” algorithm. The Digishield algorithm adjusts the difficulty every block, rather than every 2016 blocks like Bitcoin. The algorithm uses a more complex formula that takes into account the time it took to mine the previous blocks, as well as the block time of the previous 17 blocks.

The Digishield algorithm is designed to be more responsive to changes in the network’s hash rate, which can help to prevent large fluctuations in the block time. This is particularly important for Zcash, which has a much smaller market capitalization and hash rate compared to Bitcoin, making it more vulnerable to 51% attacks.

In summary, the main difference between Zcash’s difficulty adjustment and Bitcoin’s difficulty adjustment is the frequency of adjustments (every block vs. every 2016 blocks) and the algorithm used (Digishield vs. simple moving average).

---

<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:** [December 3, 2024, 5:55pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/2 "2024-12-03T17:55:46Z")

</div>

Yeah you shouldn’t rely on ai summarizations for accurate data. The part about Equihash is vastly outdated. The part about Digishield is actually new to me, I’m not sure but may be truthy?

---

<div class="post-metadata">

**Author:** ![Tief](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@Tief](https://forum.zcashcommunity.com/u/Tief)\
**Post date:** [December 3, 2024, 5:57pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/3 "2024-12-03T17:57:44Z")

</div>

Yeah, I’m trying to understand the difficulty adjustment in Zcash and how it works. Agree, re: AI.

---

<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:** [December 3, 2024, 6:07pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/4 "2024-12-03T18:07:38Z")

</div>

A quick search here, apparently yes it is a Digishield thing. The github links to a discussion, quik scroll thru (kinda long) I see a post mentioning the behavior follows a damped harmonic oscillator, which doesnt say much about the code (have to peruse a little more) but maybe just about how it behaves. The thread is old and the target block time has since changed to 75 secs vs 150

> [@What the relation with mining difficulty and target](https://forum.zcashcommunity.com/t/what-the-relation-with-mining-difficulty-and-target/18012/3):
>
> In Zcash the difficulty Algorithm is not like any other coin (except zcash forks, of course) it’s a modified version of Digishield V3, you can read more here: [select difficulty adjustment algorithm · Issue #147 · zcash/zcash · GitHub](https://github.com/zcash/zcash/issues/147)

> <https://github.com/zcash/zcash/issues/147#issuecomment-244988899>
>
> Are there improvements to availability if difficulty is adjusted each block? Is …there any larger vulnerability (eg: DOSing a nodes peer connections to starve it of blocks lowering it's local belief about difficulty)?
> 
> Are there any known advantages or risks which clearly make this worthwhile to spend time on or avoid?
> 
> We suspect this may be important in the long term, because PoW mining may eventually lead to cascading exit of miners when their margins go \<= 0 (Brad Templeton Death Spiral, #95), or during sudden-withdrawal infanticide, or during sudden withdrawal due to side-chain knock-on effects (see #146). This \_may\_ help with availability during those kinds of events (although it won't mitigate those events directly).
> 
> Is the implementation complexity low? (It would seem like changing a single constant K to 1 in "calculate difficulty every K blocks".)

---

<div class="post-metadata">

**Author:** ![Tief](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@Tief](https://forum.zcashcommunity.com/u/Tief)\
**Post date:** [December 3, 2024, 6:12pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/5 "2024-12-03T18:12:43Z")

</div>

Thank you for pulling this up. So this is very old and based on the github it does appear the difficult updates with every block but I’m not sure that is still true.

---

<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:** [December 3, 2024, 6:33pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/6 "2024-12-03T18:33:23Z")

</div>

If you run a full node e.g. zebra or zcashd, then you can actually get that info on-demand with a getdifficulty call. There are other ways that dont require you to host your own node, such as explorers and public, or otherwise hosted, nodes. After that you could examine or collect difficulty data and maybe graph trends. You can see the block difficulties in the individual block.  
[https://mainnet.zcashexplorer.app/](https://mainnet.zcashexplorer.app/)  
zebhub may have this data, hangon. Ok no but they do host tx volume data so thats cool.

> **[Dashboard](https://zechub.wiki/dashboard)**
>
> The goal of ZecHub is to provide an educational platform where community members can work together on creating, validating, and promoting content that supports the Zcash & Privacy technology ecosystems.

---

<div class="post-metadata">

**Author:** ![conradoplg](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/conradoplg/32/42878_2.png) [@conradoplg](https://forum.zcashcommunity.com/u/conradoplg)\
**Post date:** [December 4, 2024, 4:28pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/7 "2024-12-04T16:28:18Z")

</div>

I’m not familiar with the details of difficulty adjustment algorithms, but for reference, the Zcash one is specified here: [https://zips.z.cash/protocol/protocol.pdf#diffadjustment](https://zips.z.cash/protocol/protocol.pdf#diffadjustment)

---

<div class="post-metadata">

**Author:** ![conradoplg](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/conradoplg/32/42878_2.png) [@conradoplg](https://forum.zcashcommunity.com/u/conradoplg)\
**Post date:** [December 4, 2024, 4:29pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/8 "2024-12-04T16:29:38Z")

</div>

> [@Tief](#):
>
> Equihash requires a significant amount of memory to solve, making it more difficult for ASICs to dominate the network. This allows for a more decentralized network and greater participation from individual miners using GPUs.

This is outdated BTW. ASICs can efficiently run Equihash now so it’s now unfeasible to mine using GPUs.

---

<div class="post-metadata">

**Author:** ![Tief](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@Tief](https://forum.zcashcommunity.com/u/Tief)\
**Post date:** [December 4, 2024, 6:10pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/9 "2024-12-04T18:10:56Z")

</div>

Excellent. Thanks for sharing. The reference says, “Let ToTarget be as defined in 7.7.4 ‘nBits conversion’ on 133.  
Difficulty is defined in terms of a target threshold, which is adjusted for **each block** according to the algorithm  
defined in 7.7.3 ‘Difficulty adjustment’ on 131.  
The difficulty filter is unchanged from Bitcoin, and is calculated using SHA-256d on the whole block header (including  
solutionSize and solution). The result is interpreted as a 256-bit integer represented in little-endian byte order,  
which MUST be less than or equal to the target threshold given by ToTarget(nBits).”  
Therefore, I can confidently say the difficulty is adjusted “each block”

---

<div class="post-metadata">

**Author:** ![DZ88812](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@DZ88812](https://forum.zcashcommunity.com/u/DZ88812)\
**Post date:** [December 16, 2024, 3:47am UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/10 "2024-12-16T03:47:12Z")

</div>

Anyone have ever try mining with Apple M Chip?

---

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [December 16, 2024, 10:22am UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/11 "2024-12-16T10:22:32Z")

</div>

> [@DZ88812](#):
>
> mining with Apple M Chip

You could try, the hard pert will be finding a Equihash miner that still works. EWBF Cuda and others were designed for graphics cards rather than CPUs.

It’s likely to be wildly unprofitable though since ASICs can get 420k Sols/sec at the high end, 40k at the low. Even in the Zcash mining heyday the best high end GPUs only got a few hundred Sols/sec.

---

<div class="post-metadata">

**Author:** ![daviddumont](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/daviddumont/32/43426_2.png) [@daviddumont](https://forum.zcashcommunity.com/u/daviddumont)\
**Post date:** [February 28, 2026, 3:07pm UTC](https://forum.zcashcommunity.com/t/zec-vs-btc-mining-question/49574/12 "2026-02-28T15:07:38Z")

</div>

You’re mostly right, just a couple tweaks:

- **Equihash** was _designed_ to be memory-hard and ASIC-resistant, but in reality ZEC is ASIC-dominated now. GPUs had their window early on, but that’s no longer the case.

- **BTC difficulty** : correct — adjusts every 2016 blocks (~2 weeks), based on actual time vs expected time. Slow but stable.

- **ZEC difficulty** : yes, it adjusts every block. That’s the key difference. It’s more responsive to hash rate swings. But calling it straight “Digishield/KGW” is a bit outdated — it’s evolved from those ideas.

Big picture:  
BTC = slower, predictable retarget.  
ZEC = faster, per-block retarget for smaller/more volatile hash rate.

Conceptually you’re on track just the ASIC decentralization point is more historical than current reality.
