I wanted to look at some metrics for measuring shielded adoption for a baseline now that some developer tooling is becoming available and there is already a mobile wallet offering shielded tx (Shielded Guarda).
This data isn’t particularly easy to get, at least with the granularity I wanted, without some custom scripts. I used BlockSci together with an edited version of a script @str4d created to detect the transaction type. The script I used is here: https://gist.github.com/garethtdavies/5acc0cfa1ed4ac0a653663740a7703e8 which outputs this: https://gist.github.com/garethtdavies/f28042d93615f77858e196a2a79827bf if anyone else wants to do this. It’s up to today (Sept 21) so Sept is lower as the month isn’t over…
Given Sapling, I was somewhat surprised that the total number of tx including some shielded component has not increased (in fact it’s gone down a lot assuming the script logic is correct). I also threw together a few charts from this output.
All Zcash transactions by type:
This next chart shows the transaction type as a % of total transactions in a month.
This next chart is filtered to include any transaction with a shielded component (shielded, deshielding and shielding).
Just fully shielded transactions:
Cumulative fully shielded tx:
Shielded pool size:
Edited up to Nov 30th 2020
Very good stuff, thumbs up. Excellent!
Any chance you keep this topic alive and post once a month an update? This would really be usefull in my opinion.
This is not that surprising to me. The only mobile wallet (Guarda) is not at all reliable, just read the Google app reviews.
T̶h̶e̶r̶e̶b̶y̶ ̶u̶s̶e̶r̶s̶ ̶a̶r̶e̶ ̶_̶s̶t̶i̶l̶l̶_̶ ̶r̶e̶q̶u̶i̶r̶e̶d̶ ̶t̶o̶ ̶d̶o̶w̶n̶l̶o̶a̶d̶ ̶t̶h̶e̶ ̶e̶n̶t̶i̶r̶e̶ ̶B̶l̶o̶c̶k̶c̶h̶a̶i̶n̶ ̶t̶o̶ ̶u̶t̶i̶l̶i̶z̶e̶ ̶Z̶-̶a̶d̶d̶r̶e̶s̶s̶e̶s̶.̶ ̶ [this is no longer true since ZecWallet lite does not require a full node to run] Until this changes the numbers will stay low.
Sapling was great progress in the efficiency of the engine of the car, but we are is still missing the transmission, some wheels, and a gas tank.
EDIT: ZecWallet now has a lite wallet! We are making progress.
To be clear, I’m surprised that there were more tx with shielded components (not just fully shielded tx) when it required 4GB of RAM and of the order of minutes to send as opposed to 40MB and a few seconds. I think everyone would have wagered that Sapling would have some impact on shielded tx adoption just due to that. I fully agree that light wallets will help with adoption.
Sure and I also published how I did it so anyone can easily replicate this.
yes and prior there was also winZEC and zec4mac from Radix which no longer works. So it was much easier before imo… Yes as to your point there are not many wallets. The only way to use Z addresses is to download zecwallet from github binary or from zcash-cli pretty much. So this is a huge barrier for the 99%
Now we have better: ZecWallet and Zepio are available for both Windows and Mac with a GUI. Though they are both still full nodes and not lite wallets.
EDIT: WinZec now offers a lite wallet version, allowing you to sync in less than a minute.
I believe that z2z adoption can only improve if merchants will start accepting z transactions. Even the zcash foundation doesn’t accept sapling donations (at least till 2 weeks ago, the sprouts were disabled).
I have no idea where to use my zcash in an anonymous way. Really.
just tested mobile shielded guarda. this is another ux disaster. imagine user hadn’t immediately backed up private keys. and tried to receive some zec. upon logout… it offes to backup private keys. ( to store plain text keys on phone? or manually write them down every time?) once reopen, it doesnt save keys, it offers to restore or create new keys! instant minus one user who wanted just to try it and lost money at 1st attempt.
any chance you post and include data for the last 2 months so the graphs are up to date?
I edited the original post. I left November in but it’s obviously not over yet so I’ll update again soon.
I edited the original post so data now includes up to the end of January 2020.
I added stats up to end of March. March 2020 saw more than a double in the number of fully shielded tx sent in a month
Added stats for April 2020. New record high of fully shielded tx in April of 8721 (now representing 6% of all tx).
The tweet is blowing up again, nice work @garethtdavies
And to everyone using z2z
Updated for May which had a record with over 11k fully shielded tx.
I’ve also added a chart for the shielded pool values over time (for Sprout and Sapling). I’ll likely update this chart layout later but I’ve used a monthly average and currently around ~5% of total ZEC are in the combined shielded pools.
(Note, for those playing close attention there is a very small discrepancy with prior months as this is now correctly using UTC)
Thanks so much for this! Very helpful. What would it take to have these stats automatically updated on a dedicated public website?
Sorry, I missed this reply. It would be relatively trivial to have this update in real-time it’s more the infrastructure setup and ongoing maintenance. There are some funded Foundation grants where something similar could likely be easily incorporated if already extracting data from a full node.
Anyway, I updated the initial post for June. Again a new all-time high for shielded tx and also the shielded pool size - this is a monthly average, and at the time of typing, the Sapling pool was ~390k.
Updated the first post charts for July during which there was a significant decrease in shielded usage
I’ll add in the charts next time, but as has been mentioned on this thread there are still 0 shielded coinbase transactions. For context, there have been ~20,000 blocks mined since Heartwood activation.
I also took a look in July at the breakdown of fully shielded transactions included in blocks. Just 3,133 blocks (that’s 8.8%) had at least one fully shielded transaction (i.e. z2z). So that’s 91.2% of all Zcash blocks mined in July did not contain any fully shielded transactions.
Breaking down those 3,133 blocks that contained fully shielded transactions, most contained just 1.
Also, for context, here’s a breakdown of the number of transactions in each block - there were 7910 (~22%) empty Zcash blocks in July (as the coinbase transaction is also included here).