Zcash is Moving to Zebra!

Just a minor correction: the only support left in the zcashd wallet for interacting with the Sprout pool at all is the z_setmigration RPC method. This can be used for automatic migration of Sprout funds into the Sapling pool. Sprout is no longer supported by z_sendmany and so you can’t even deshield to the transparent pool. Sprout is not supported at all in the v5 transaction format, and so once/if support for v4 transactions is removed, all Sprout funds will be essentially permanently frozen (though a future network upgrade could be implemented to make them spendable again.)

It’s my personal opinion that if the ZSF proposal is activated in a network upgrade, that the consensus rules should also be modified to impose a “holding fee” on Sprout funds such that transfers out of the Sprout pool must pay out a percentage of their value into the ZSF when migrating. This percentage should start at zero with 4 months of “grace period” after the activation of the network upgrade that imposes this rule, and then increase in a linear fashion over the following 20 months at a rate of 5% per month. Under this algorithm, after two years from the network upgrade that imposes this rule, any funds remaining in the Sprout pool can be fully swept into the ZSF and all Sprout-related code can be deleted from consensus node software.

(EDIT: I forgot that if you want to use your own software to manually construct a raw transaction that spends Sprout funds, that’s also still possible and you can use zcashd to submit that transaction to the network. But I am not aware of any wallet software that makes that possible, and that will also cease to be an avenue if/when support for the v4 transaction format is removed from consensus.)

4 Likes