anonymity defies the blockchain principles because it defies general knowledge of transaction
You don't need to know the transaction details (like on bitcoin). You only need to know that the transaction is legit. The legitimity of the transaction can come from direct verification, like on bitcoin, or from cryptographic proof, like with ZCASH and cryptonote. In as much as the cryptography itself is legit, the cryptographic proof of the legitimity of the transaction is just as credible as the direct verification.
This is in fact the same principle as a digital signature, or a hash.
Consider the following situation: Joe has a document, and Jack claims that he has that document too. For Mary it is important to know whether Jack's claim is right. But Mary is not supposed to be able to read said document. Joe wants Mary to find out whether Jack has the document, as he claims, but doesn't want to give the document to Mary (nor does Jack).
Joe can give a hash of the document to Mary, and Mary can ask Jack to provide her with that hash too. If Jack can produce the hash of the document, then that's proof enough to Mary that Jack has the same document as Joe.
This is a way of cryptographically verifying the validity of a claim, without being able to verify the claim directly. The direct verification would be that Mary asks Joe and Jack to produce the document so that she can compare. But Joe doesn't want this document to get in Jack's (if he's lying) or Mary's hands. He only wants to verify the claim of Jack that he has the document without showing the document.
One could do more sophisticated tests.
Joe could give a random string to Mary and Jack, and Jack could give another random string to Mary and Joe, so that everyone has both random strings. They could mix them, say, by XORing them. This would then be a "public" key of which nobody has a private key.
Joe could now encrypt the document with this public key, and Jack could do the same. Both could give their encrypted copy to Mary, who can verify that they are identical, but without being able to read them.
There are ways to prove cryptographically that something is true/valid/legit without being able to verify it directly.