With tonight’s Sapling activation, and growing wallet support in coming months, there’s going to be strong continuing discussion & media coverage of the Sapling performance improvements.
Many have used, and are likely to keep using, this graphic from the Zcash ‘Cultivating Sapling’ blog post:
Unfortunately, these radial gauges are weak at communicating the magnitude of the changes, and the usability implications. For example, there’s no proportional contrast between large- and small- RAM consumption - just pegged needles pointing ~180’ different directions. The 90’ difference in duration values is similarly arbitrary, based on choice-of-ranges. And dominating red-yellow-green colored-regions imply some ‘acceptability’ judgement, but based on unclear criteria, and unrelated to the space-taken-up.
This same info, in another graphic presentation, could be more impactful, and such a graphic likely get wide re-use among those reporting/blogging/tweeting about Sapling improvements.
I have some strong ideas for this alternative view, but not quite the graphical skills & time to get it right. So I wanted to share ideas here for those who might be able to take it up.
Durations are well-indicated linearly, such as by horizontal bars of contrasting proportional lengths. (Time is often naturally understood graphically as a left-to-right ‘timeline’.)
Resource utilization, as with RAM, is well-indicated as contrasting, inscribed areas. (This matches the physicality of memory-mediums, in chips or storage-media-surfaces, and the need for implementations to "fit inside’ a certain amount of ‘memory space’.)
But even further:
What is an acceptable transaction delay for payment applications? Well, the chip-card standard now rolled out at retail terminals in the US is called “EMV”. UL did a real-world study of chip-card transaction times, and found an average duration of 11 seconds.
What’s the most relevant RAM capacity for mass usage? Even low-end smartphones have 512MiB.
Adding these two outside benchmark values – perhaps as lower-contrast reference indicators – hammers home the messages: Sapling speed-to-transaction-visible-on-network is competitive with legacy centralized systems, and Sapling resource requirements fit within mass-market phones.
As a really-simple ascii-fication of this:
ZCASH SHIELDED-SEND TIME/MEMORY 'Sprout' (1st-gen October 2016) vs 'Sapling' (2nd-gen: October 2018) Transaction ('Proof') Creation Time Zcash Sapling: ******* 7 seconds EMV chip-cards: *********** 11 seconds Zcash Sprout: ************************************* 37 seconds Device Memory Required #Sapling##---------x---------x-+-------x---------x---------x #40 MiB### | | | | | | | | x x x | Phones | | | 512MiB | | |--------x---------x---------x-+ | | | x x | | | | | | | | x x | | | | | | | | x x | | | | | Sprout | | 3000MiB | x--------x---------x---------x---------x---------x---------x
Anyone up for making this as a pretty PNG that’s easy to embed elsewhere? (For example, a 1024x512 image that will be displayed unclipped in tweets?)