Iâve reviewed the NSM ZIPs (not to my usual security audit standards, but enough to understand them) and I fully support something like the NSM being added to Zcash at some point. That said, Iâm not sure about including it in NU7 specifically.
Aside (on taxes)
First of all, I donât see this as a tax. Itâs a fair cost for the functionality Zcash provides. When I pay my ISP for internet access, or I pay a cloud provider to serve my website to its visitors, or I pay for a VPN to protect my privacy, Iâm paying for the functionality theyâre providing me. I donât see that as a tax. Itâs totally different from having to pay a 5% tax whenever I buy some eggs from the convenience store. There, the government is taking money from me and the store despite having done little to help facilitate that transaction, compared to my ISP needing to maintain cable lines running to my house, or the VPN needing to provide me with bandwidth.
Paying for a Zcash transaction is more like paying for Internet access and less like having money forcibly taken away from me when I buy eggs. Selfishly, I want to pay for access to the Zcash network (because that can make Zcash better), but I donât want to pay taxes on eggs (because that doesnât make it any easier for me to buy eggs).
In other words, my definition of whether something is a tax or is the fair cost of a service is: if the money goes to support that service, itâs a fair cost; if the money goes somewhere else and does not support that service, itâs a tax. So, as long as NSM funds improve Zcash, itâs not a tax, itâs a fair cost of using the network. Itâs the same as how mining is not a tax, Iâm paying for the security of the network.
NSM in NU7?
I like that:
- We are thinking ahead about how Zcash will sustain itself, since without something like the NSM, block rewards lessen, and the whole project becomes unsustainable without unrealistic assumptions about increases in the ZEC price (same as for Bitcoin).
- The sustainability of Zcash becomes related to the value that Zcash is providing for its users, as determined by how much its users are willing to pay to use it (in the form of transaction fees). This is ultimately the only way that Zcash can be sustained.
However, I dislike that:
- Thereâs minimal benefit to doing this now compared to opportunity costs. We wonât gain much ZEC to fund future development by implementing this now rather than later. Zcash is in a critical period where we need to focus all of our efforts on adoption and bringing the stuff weâve built to real people. Adding complexity to an NU (which incurs a cost on ECC, ZF, and security auditors) is a distraction, despite how much I think itâs a good idea. I understand that one of the rationales for doing it now is being in a better position to negotiate for a higher fraction of transaction fees, but that assumes that, as transaction fees grow, miners will have a bias towards the status quo and wonât re-negotiate for a larger fraction. That may end up being the case, but itâs a questionable assumption.
- This is an example of the kind of protocol change that Iâve spoke against a lot; Iâll admit the ZIPs are simple, theyâre probably relatively easy to implement in full nodes, but it just doesnât have any positive impact at all for the Zcash end-user; itâs adding protocol complexity, itâs making wallets harder to build; itâs good in the long term, but itâs a distraction from whatâs important right now.
In the context of voting whether or not to include the NSM in NU7, I think an important question to ask is: what would Shielded Labs focus on if the communityâs answer were no? If the answer were ânothingâ, then obviously it makes sense to vote yes, because working on something is always better than working on nothing. But what are we potentially giving up by voting âyesâ?
I would really like to see a mechanism where the incentive is for entrepreneursâwho see a way to create value by building on top of Zcashâcan profit from building their thing, and some of that value also comes back to support Zcash.
One way to do that is to establish a social norm that some fraction of the transaction fee goes to the developer of the software that generated it, but if that project is open source it can always be forked to send that fee back to the user. I donât think that will be an issue in practice, since for example I pay my ISP more so that I can watch YouTube videos in 4K, even though YouTube is taking advantage of the free and open platform of the Internet. My ISP is able to capture some of the value theyâre providing by giving me fast-enough Internet to watch 4K videos; Zcash needs to do the same. Zcash needs to eventually profit from for-profit businesses building things on its infrastructure, the same way as my ISP does. The NSM gets us a step closer to that, but I donât know if itâs the right time.
edit: grammar