I'm not too familiar with Monero's and X-Cash's tech, all what I know is that you can't see on blockexplorer what's inside a wallet. Whan I don't understand is what actually you can see on the blockeplorer, in other words where does the privacy end there. Moreover, I know that X-cash is now planning to give users the chance to chose whether to make their transactions public or not - how will that be reflected in the blockexplorer? Will the content of wallets become visible in case of public transactions?
This is a good question
This will be a long post, but I think this needs to be explained in a simple yet still technical way to understand public txs
Public tx were created to solve 2 issues
#1 Allow the user to send public or private tx from the same wallet on the same blockchain
#2 Allow the user to prove who was the sender.
(1) Our public tx allow someone at send time, to make it public to assist them in proving that they paid X person Y amount. That is the purpose we had in mind when building them, since our coin is a privacy blockchain at its core.
(2) Currently on any cryptonote coin their is a way to prove that X amount was sent to Y address, but there is no way to prove what address was the sender and what address was the receiver. You could only prove the addresses and the amounts in that tx, but could not prove which address initiated the transfer.
Example lets use this tx hash as our example (these are my two test accounts I use for testing on the live mainchain)
https://explorer.x-cash.org/Transaction?data=7ecd79d7ead6c2f23cb404409aca01f8c9e30d7b07bcd4e9332a1c4872d1dd93if you decode this tx for both addresses involved you can see that
XCA1kzoR3ZLNg5zxNmxrY8FYKtgEvPZqC2xoRpm1axCpQcrrZfoKTSkSNsASDspdt3j1WcEnQJyuuB5
VPSB56WWy36A4sQtQhe got paid 62,995.273
XCA1cH8Qs5hLYnzQTDuJqkJiQEZbgQsUM3BgA6vBod5T5Eindas5sikKJaLbkhM3YBW7PtoJY6BtNLk
ZuahksLFX5eSPDcmCLL got paid 5
But this does no good in the sense of who is the sender and who is the receiver? We cant tell since in regular cryptonote that is not possible.
But if you go to
https://explorer.x-cash.org/Transaction?data=7ecd79d7ead6c2f23cb404409aca01f8c9e30d7b07bcd4e9332a1c4872d1dd93 you can clearly see it will say that
XCA1kzoR3ZLNg5zxNmxrY8FYKtgEvPZqC2xoRpm1axCpQcrrZfoKTSkSNsASDspdt3j1WcEnQJyuuB5
VPSB56WWy36A4sQtQhe sent 5 to
XCA1cH8Qs5hLYnzQTDuJqkJiQEZbgQsUM3BgA6vBod5T5Eindas5sikKJaLbkhM3YBW7PtoJY6BtNLk
ZuahksLFX5eSPDcmCLL
So how we can tell this is accurate? well you can use a function to verify the sender
https://explorer.x-cash.org/VerifySender?public_address=XCA1kzoR3ZLNg5zxNmxrY8FYKtgEvPZqC2xoRpm1axCpQcrrZfoKTSkSNsASDspdt3j1WcEnQJyuuB5VPSB56WWy36A4sQtQhe&tx_private_key=4a5fb3c39caf223eacfe4bcc2db84811c333b52ea30df5c16a6d62b0163cce0b&tx_signature=SigV1Fog4nV3sThaLbVDQDnyo2xSNt4Qx4vZz5Ln1AAz3CJe3NVWJzuorWRzR7WTV4FxtycjccJ2DLdkSDWES8bPDUQvKWe will be releasing a yellow paper on public tx soon.
As for the question about does your balance get revealed on the explorer now.
In our public tx we kept two aspects of privacy (ringCT and stealth addresses)
this allows for two things
#1 the balance cant be shown
#2 the inputs of the tx are not shown (meaning no one can go back in the explorer and see that X address sent you those funds that you spent public) This is the major non privacy aspect of Bitcoin.
We felt that these two things still needed to be in public TX to still keep the privacy of the sender
(1)
https://explorer.x-cash.org/TXSearchResults?data=public_address%7CXCA1cH8Qs5hLYnzQTDuJqkJiQEZbgQsUM3BgA6vBod5T5Eindas5sikKJaLbkhM3YBW7PtoJY6BtNLkZuahksLFX5eSPDcmCLLas you can see, you can see all the PUBLIC tx I have made and received but not any of my PRIVATE tx show up
again looking at the balance it shows I received 122 XCASH yet my balance right now on this test wallet is 56.206675
(2) looking at our example tx
https://explorer.x-cash.org/Transaction?data=7ecd79d7ead6c2f23cb404409aca01f8c9e30d7b07bcd4e9332a1c4872d1dd93we can see we still have the mixins, meaning you cant see from which input I spent or received the actual XCASH from.
I have also included all of the pictures I took for this post at
https://imgur.com/a/iWm2iVQyou can also look at the 2 pictures for decoding and verifying a tx in the CLI wallet, to show that our explorer is accurate.
I hope this clarifies public tx at least the purpose, privacy, use case, and mechanics of them.
Thanks for this asnwer which is truly excellent indeed. I'll now impatiently wait for the yellow paper for getting a n even better understanding.