Which ZEC explorer is realtime & correct?

Is there an explorer which shows in real time or with minimal lag the the circulating supply and the exact distribution within the transparent, sprout and sapling pools?

or in other words how accurate is each of these explorers:
zcha.in for spout and sapling values?
zecmate.com for circulating supply and transparent adresses.

When i add the sapling and sprout value from zcha.com and add the transparent amount from zecmate i get a discrepance of about 40k ZEC to the total circulating supply at zecmate which makes me think that at least one explorer is not real time…

Numbers taken:
Sapling: 204,300 ZEC from zha.in taken
Sprout: 166,200 ZEC from zha.in taken
Transparent 6,925,234 ZEC from zecmate taken
Total: ‭7,295,734.ZEC

Circulating supply at time i took the numbers: 7,334,338 ZEC due zecmate

I took the numbers about 15 minutes ago. As they don’t fit up i think one of these explorers is lagging and/or not showing correct numbers. Which one of both?

3 Likes

Interesting, 20 chars
Coinmarketcap 7,240,894 ZEC
Zcash.tokenview 7,240,510.91
Nomics 7,240,806
Onchainfx 7,239,944
:man_shrugging:
Sounds like zecmate is wrong

Basically 12.5 x blockheight, as of post 7,366,325

Maybe Zecmate is right
:man_shrugging:

1 Like

That’s why i’am asking. Coinmarketcap wasn’t important to me as i have no idea where they get their numbers from so i concentrated on the explorers.

Any other explorers, not market sites, that show real time info?

1 Like

Ok, i checked all ZEC explorers i could find. The Blockheight, right now at time of writting is:
589343
and all block explorers show the same block height, including zecmate and zcha.in.

Means right now the circulating supply should be: 589,343 x 12.5 = 7,366,787.5

Checked now again at zec mate the transparent amount compared to my initial post some hours ago:
4 hours ago: 6,925,234
now: 6,926,668 ZEC
means it’s updating for sure at zecmate, but of course i don’t know if it’s lagging or real time.

Now checking again the zch.in explorer, the only one i’am able to find information about the sprout and sapling pools posted:

Sapling 4 hours ago: 204,300 ZEC
Sapling now: 204,100 ZEC

Sapling is actually decreasing in these 4 hours.

Sprout 4 hours ago: 166,200 ZEC
Sprout now: 166,200 ZEC

No change within the last 4 hours.

The zch.in explorer showed 4 hours ago and now 6.9m and that’s the reason why i didn’t use the transparency balance from zch.in as it wasn’t accurate enough, but took the one from zecmate.com

I realy thought there are more sprout/sapling pool infos around but i wasn’t able to find any other stats of these expect the one from zch.in. If these work correct, which i’am not sure without any official feedback and the zecmate transparent pool values are correct as well than there is a difference of about 40k ZEC btw. the pools.

I guess it’s a glitch somehow somewhere or due some lagging or incorrect explorer but i think these should be absolute as correct as possible, not?

1 Like

No, there was a slow start so the number is slightly lower https://z.cash/support/faq/#what-is-slow-start-mining.

Looking at my node right now these are the correct values for value pools:

  "valuePools": [
    {
      "id": "sprout",
      "monitored": true,
      "chainValue": 166198.25885037,
      "chainValueZat": 16619825885037
    },
    {
      "id": "sapling",
      "monitored": true,
      "chainValue": 204142.49878231,
      "chainValueZat": 20414249878231
    }
  ]

To get the transparent supply you’d need to calculate the total supply from the block height (taking into account slow start) and then subtracting those two values above.

3 Likes

Actually no, i get the transparent supply from all ZEC values in all transparent adresses, which was some minutes ago:

6,926,668 ZEC (transparent)
+166198 ZEC (sprout from your node)
+204142 ZEC (sapling from your node)
= 7,297,008 this should be the total amount in circulation than.

I guess you mixed transparent amount with total amount in the hurry.

1 Like

Ok, i made some calculations and it’s possible i’am not aware of some fact or i made a mistake somewhere. But in case my calculation is near to correct there is somehow a problem.

Known values from my last post at the time of writting it:

Blockheight: 589,343
6,926,668 ZEC (transparent amount): sum of all ZEC hold in all transparent adresses due Zecmate.
166,198 ZEC (sprout realtime from gareths node)
204,142 ZEC (sapling realtime from gareths node)
= 7,297,008 this is currently the total amount in circulation than.

Without the slow start mining for the first 34 days the calculation would be 589,343 x 12.5 = 7,366,787.5, but this is not true as there was a slow start, so best ignore this number. Just adding it here for reference as it was mentioned above!!

My next step is to calculate the amount without the slow start. As the slow start was 20,000 Blocks it’s an easy calculation:

589,343 - 20,000 = 569,343 Blocks (this is the number of all blocks with a full Block reward of 12.5 ZEC)
569,343 Blocks x 12.5 ZEC = 7,116,787.5 ZEC (this should be the ZEC amount created by all blocks after the slow start, it’s a fixed number i guess now as well)

Next step, if we substract the known amount in all pools from the known mined amount of 569,343 Blocks we get the following:

7,297,008 (total circulating ZEC)
-7,116,787.5 ZEC (regular mined blocks)
= 180,220.5 ZEC that must have been mined in slow start

Now the hard part to calculate the ZEC rewards for the 20,000 blocks in the slow start, so let’s start with the known facts:

  • first block was 0 ZEC and last of the 20.000 blocks was 12.5 ZEC
  • I was able to dig out this old post and graphic from 2016:

Over the slow-start period, the
block reward will gradually and linearly increase until it reaches the
full 12.5 ZEC at the 20,000th block.

means over the course of ~34 days/20,000 blocks the block reward increased linear from 0 to 12.5 which should result in an estiminate like this:

Day Amount per 24h
01 211.68
02 423.36
03 635.04‬
04 846.72
05 1,058.4
06 1270.08
07 1,481.76
08 1,693.44
09 1905.12
10 2,116.8
11 2,328.48‬
12 2,540.16
13 2,751.84
14 2,963.52
15 3,175.2
16 3,386.88‬
17 3,598.56
18 3,810.24
19 4,021.92
20 4,233.6
21 4,445.28
22 4,656.96‬
23 4,868.64‬
24 5,080.32
25 5,292
26 5,503.68
27 5,715.36
28 5,927.04
29 6,138.72‬
30 6,350.4
31 6,562.08
32 6,773.76
32 6,985.44
33 7,197.12
Total sum: ~125,949.6‬ ZEC (not 100% accurate but should be pretty close if the above parameters given are correct).

The problem that results here is that due the total circulating amount there should have been mined 180,220.5 ZEC, but the roughly linear calculation comes only to ~126,000 ZEC.
The deficit from the calculation is about: 54,270.9 ZEC.

I tried to make another approach for the slow start mining period and used the 180,220.5 ZEC that must have been mined in this period IF all above is correct and it would result in an average 5,300 ZEC per day, but this no longer would fit in any way into the linear from 0 calculation.

Where did i make a mistake that i come to an estiminated surplus of about 54,270.9 ZEC???

Edit: Adding for reference even there is no need the normal regular block calculation:
12.5 ZEC every 2.5 min.
50 ZEC every 10 min.
300 ZEC = 1h
7,200 ZEC = 24h

1 Like

I haven’t fully read your post but here’s the calculation directly from zcashd which is going to be the most reliable.

For now we’ll ignore the slow start and add that fix in at the end. For every block there are 12.5 ZEC produced. Where these move with regards to other transparent addresses doesn’t matter so you could sum all the ZEC in all addressees if you went through each transaction but there are far simpler ways of achieving it. All we care about is movement into and out of the shielded pools which, while we can calculate, is helpfully monitored by zcashd via the getblockchaininfo method.

At the time of posting the blockheight is 589,417. The slow start was 20,000 blocks so that’s (569,417 x 12.5) + slow start ZEC.

That chart shows it was a linear increase so I think we can simplify that as 20,000 x 12.5/2 = 125,000 ZEC mined in slow start period.

So the total amount of ZEC in circulation is (569,417 x 12.5) + 125,000 = 7242712.5

Now, from zcashd which monitors the amounts going into and out of the shielded pool, the Sprout pool is 166008.8 and Sapling 204165.5. That leaves the transparent pool to be 6872538.2

Now hopefully someone checks my work :laughing:

3 Likes

I specifically designed the slow start to have no effect on the monetary supply aside from delaying its emission. The maximum-allowed emission over the 20,000-block slow start was identical to 10,000 non-slow start blocks (which is the reason that SlowStartShift in the protocol is 10,000), i.e. 125,000 ZEC. What actually was claimed by miners (causing the real supply to be lower), IDK.

4 Likes

I didn’t went through all transactions, i just took the value of ALL transparent values in transparent adresses at time of writting from zecmate which was:
6,926,668 ZEC (transparent amount): sum of all ZEC hold/present in all transparent adresses due Zecmat at time of writting the calculation.

Thx for clearing this up, means my calculation with 125,900 ZEC was pretty near.

Ok, this is the theoretical amount in circulation, but why do i get 7,297,008as the real amount in ZEC in circulation, that’s 55,220.5 ZEC more than there should be or in other words: 55,220.5 ZEC more in circulation than ever have been minded

Blockheight: 589,343
6,926,668 ZEC (transparent amount): sum of all ZEC hold in all transparent adresses due Zecmate.
166,198 ZEC (sprout realtime from gareths node)
204,142 ZEC (sapling realtime from gareths node)
= 7,297,008 this is currently the total amount in circulation than.

That’s quiete different, as in my calculation here the real supply is higher with about 55k ZEC.

That’s only in theory if you assume that sprout + spaling substracted from theoretical total so far mined ZEC leads to the transparent balance, but i was actually making the calculating sprout + sapling + transparent balance = total circulating supply, not just a theoretical calculation how it should be, but what i see currently.
and this shows that the transparent pool has 6,926,668 ZEC and not the theoretical 6872538.2 ZEC of your calculation.

While we know now that the soft start was exactly at most 125,000 ZEC i still have no idea why in the calculation i see 55,220.5 ZEC more in circulation than there should be.

I see only 2 possible options:
1.) The values of the sprout, sapling, transparent pool shown are incorrect.
2.) There are more ZEC in circulation than there should be.

@garethtdavies @str4d @arielgabizon @tromer

Updating my calculation to todays values and posting how i got to each value so it gets more clear what my calculation is based on:

Sprout pool today at time of writting: ~160,200 ZEC
Sapling pool today at time of writting: ~204, 300 ZEC
Transparent pool today at time of writting: 6,936,269 ZEC

Transparent Distribution Details at time of writting:

Balance Addresses % Addresses Coins % coins
0 - 0.001 (ZEC) 82,383 14.22% 28.78629033 (ZEC) 0%
0.001 - 0.01 (ZEC) 78,587 13.57% 415.22031958 (ZEC) 0.01%
0.01 - 0.1 (ZEC) 158,617 27.39% 5,371.43457245 (ZEC) 0.08%
0.1 - 1 (ZEC) 130,050 22.45% 54,253.85619404 (ZEC) 0.78%
1 - 10 (ZEC) 97,447 16.82% 329,297.79448208 (ZEC) 4.75%
10 - 100 (ZEC) 28,236 4.87% 781,180.67552009 (ZEC) 11.26%
100 - 1,000 (ZEC) 3,285 0.57% 886,074.30697938 (ZEC) 12.77%
1,000 - 10,000 (ZEC) 521 0.09% 1,612,450.80931929 (ZEC) 23.25%
10,000 - 100,000 (ZEC) 72 0.01% 1,897,231.52286752 (ZEC) 27.35%
100,000 - 1,000,000 (ZEC) 9 0% 1,369,965.37266642 (ZEC) 19.75%

Total: 6,936,269 ZEC in transparent adresses (pool)

Total circulating ZEC today: 6,936,269 + 160,200 + 204, 300 = 7,300,769 ZEC

Theoretical total supply calculation today based on blocks mined:

From Slow Start: Block 0-20,000 = 125,000 ZEC
From Block 20,001 - 589689 = 569,689 x 12.5 ZEC = 7,121,112.5 ZEC
= Total of 7,246,112.5 ZEC mined

7,300,769 - 7,246,112.5 = 54,656.5 ZEC difference or not mined ZEC in total circulating supply i see due the calculations above.

Again the question: IF the sapling, sprout and transparent values are correct the real current present supply is different from the supply that should be present by 54,656.5 ZEC.

Anybody mind to check against my calculation, double check it or find a mistake i made or check if the values shown/returned in the explorers are correct?

Is this data from Zecmate? I would consider this the most likely source of error, because we do not know how it is computing this data.

You have an off-by-one error here. The slow start is the first 20,000 blocks, i.e. blocks 0-19,999. Thus there should be a maximum of 7,246,125‬ mined since slow start as of height 589689.

1 Like

There are two measures that matter here, and they should be equal:

  • The total generated supply: sum up the outputs of every coinbase transaction in the block chain, minus the fees from transactions in each block.
  • The total stored supply: sum the Sprout and Sapling value pools with the value of every transparent coin in the UTXO set.
    • This is what I assume Zecmate is attempting to calculate.
1 Like
  • yes, the data is from from Zecmate. It’s the only source i was able to find that shows transparent value. Zcha.in as well shows a value, but only with one digit behind the . which isn’t accurate enough for this calculation, no matter that both are close.
    6.9M ZEC by zcha.in versus 6,936,269 ZEC by zecmate.

What is the ECC/Zcash’s method of retrieving/getting the data for the transparent pool? Any other sources someone can look up the transparent pool in real time?

  • Yes, i was aware of the 12.5 ZEC error, but honestly too lazy to correct such minor issue after 2 hours of calculating, lol.

I’am not sure either how they calculate it or come to some different numbers like 7,340,425 ZEC as a total supply which is again totally different from any calculations we discuss but could be a result of the slow start not being including of course.

However, the detailed split in the transparent pool on zecmate which seems to be updated in reall time seems to take as a base the current value in transparency adresses. What would be another way to check against the zecmate transparent value to see if it differs from any other source about transparency balance (not just a calculated transparency balance)?

thx for taking the time by the way, i appreciate it and i think it’s important that the explorers should work as correct as possible.

Most likely is whoever coded that explorer messed up - nodes give identical data so all should agree.

Its a good github issue for zecmate.

can you post please the nodes data for the transparent pool?

Its rather big… you need to decode the coinbase txn from all 589760 blocks to verify exactly what was mined, ‘zcash-cli getblockchaininfo’ gives the current value of the sprout/sapling pools.

Every node has the same data, just needs a script to read it & add things up.

1 Like

Ok, so right now we only guess the transparent value here because we take the known easy to get sprout and sapling value and than substract these from the to be total supply but in my opinion to be absolute correct it should be:

sapling + sprout + transparent = real circulation supply and not just a to be one. I mean this would give the highest level of accuracy in my opinion not?

I mean there must be a script or tool that shows the actual value of the transparent pool or in other words the amount that is currently at a given time the amount of transparent ZEC’s hold in t adresses.

My assumption was that zecmate is using such tool/script hence they even can split it into different groups, but as i’am neither a programer nor a dev i can’t check this or check it against other data IF i don’t have other reliable sources for the transparent pool, hence asking for help to see where this difference exactly comes from.

Gareth calculated and it expalined it perfectly and there is no need for actually summing up all coinbases of every transaction to know circulating supply.
I don’t know why you find zecmate as trustworthy in reality xD

Trust only a full node for having the most accurate data. And actually counting all tx in every block to know the exact transparent ammount is a waste of time/resources: you’ll end up with the same exact ammount that can be easily calculated at any time with blockheight, sapling and sprout pool.

If you agree, I’d suggest in closing the thread since it can be wrongly interpreted.

He explained it indeed very good and it’s understandable but it’s not the approach i want to take to verify it. As he calculates the transparent amount which in my opinion leaves it as “to be” number, not a verified number which in my understand is different.

Hence my question, after we take verified numbers for sprout and sapling why not take as well the verified numbers for the transparent pool instead to calculate them only in theory what they should be?
Again, the idea is to check which explorer shows the most accurate information on these 3 pools.

I don’t have any other source for a transparent value that is not a result of a to-be-calculation? If you have another one i gladly would review that one as well and compare to the other explorers i’am checking, but at least me wasn’t able to find any.

If it’s a waste of time and resources can be said only after we know the result. An good example would be that you write down all your income and expenses and add/subsctract them to see what the final sum will be. But counting the final sum in your wallet in your pocket will finally proof if your calculation was correct or not. In my case i want to see if the zecmate transparent balance is correct or not. I would use the zcha.in transparent balance but it’s for some reason shortened to just show 6.9M insteal of a more correct amount.

Be sure i have wisely choosen the title of this topic so the content should not suggest something else and should not be wrongly interpreted