I’m trying to understand in a simple way the improvements of Sapling over Sprout. I tried to read this document but it’s very verbose and complicated.
I believe it’s quicker to prove and verify shielded transactions, but why is it quicker, did you change some hash functions?
I also see that addresses and keys is different. The sapling scheme has a lot of keys; proof keys, transmission keys, spend key, extended spending key, viewing keys, and on… what is the actual point functionally for a user?
From a high level, I understand that you make a commitment - a perdersen hash - that you stick on a merkle tree… then later come spending time, you supply the corresponding hashed nullifier and a generated merkle proof. What else? Has anyone done a simpler document than ^ that one?