everything is in the title :
are the ERC721 smart contracts compatible with Zk-SNARKs?
since Zk-SNARKs is being used "grosso modo" to make transactions "private", can we use it with the ERC721 type of smart contracts to create a non fungible private transactions/token? or should we wait until the erc721 get normalized and Zk-SNARKs gets implemented?
My understanding is that current token contracts do not make use of zkSNARKs to hide balances or sender/receiver information. Contracts wishing to do so need to have zkSNARKs functionality explicitly coded into them for them to hide things.
Right now zkSNARKs code is not easy to write, nor is it easy for users to interact with. It is also very expensive. I think these are the reasons why it is currently possible, but not done, at the moment.
Can someone confirm all this?