Hi everyone I had some questions about monero I was hoping people could help me out with.
So currently monero hides both addresses in a transaction but the amount is visible? And is this mathematically proven anonymity or is it more of a mixing type anonymity?
It's not really that it hides, it's that every single output has a one time address. Each one time address is generated in such a way that only the recipient's private keys can use them. So you don't see addresses on the blockchain, which you can call hidden, but it goes further than putting them on the blockchain in a hidden way. The amount is not directly visible, it is hidden, as in a number of ouputs are sent, some subset (possibly empty) is change, some subets go to other addresses. Outputs are quantized to powers of 10 multiplied by 1-9 so you get a large number of possible amounts. So you can rule out certain amounts (eg, if a tx ouputs are amounts 3, 1, 4, 7, 7, 4, and 9, then you can be sure the tx is not for 6, as there's no way to get 6 from adding up any subset of them), but you can't tell the actual amount in the general case.
Also I read that monero is implementing confidential transactions. Would this hide the amount in addition to hiding both addresses? Would this lead to problems that currencies like zcash have?
Thanks for explaining!
This will hide the amount totally, as well as greatly increasing the anonimity set of each output. It's not clear what you mean by "Would this lead to problems that currencies like zcash have?". If you mean the ability to create coins out of thin air without anyone knowing, then I guess it goes in that direction, though with much more mature crypto, there is a lot less stuff that can go wrong. How to quantify such things is subjective though.