www.lesswrong.com/posts/MJCMsmyAfbXMcuj9b/privacy-vs-proof-of-character
1 correction found
there is a cryptocurrency called Monero that has the property that nobody can tell who anybody is transacting with or how much they are transacting for
This overstates Monero’s privacy. Monero hides transaction details from the public blockchain, but the sender and receiver can determine where a payment was sent, and Monero also supports view keys and transaction proofs that reveal transaction details to authorized parties.
Full reasoning
Monero does not make it so that nobody can tell who anyone is transacting with or for how much.
Official Monero documentation says that with stealth addresses, "only the sender and receiver can determine where a payment was sent." That directly contradicts the claim that "nobody can tell who anybody is transacting with." The same page also states that sending Monero requires entering the destination address and the amount, so the sender necessarily knows both.
Monero’s own documentation also says it is "private, optionally transparent" because accounts have a view key. By sharing a private view key, a user allows someone else to view every incoming transaction for that address. So it is also wrong to say that "nobody can tell ... how much they are transacting for": authorized parties can be shown incoming transaction amounts.
Monero additionally documents transaction-proof APIs such as check_tx_key and check_tx_proof, which verify a transaction against a destination address and report the received amount. That is further evidence that Monero hides transaction details from the general public, not from absolutely everyone.
So the accurate version would be something like: Monero obscures transaction counterparties and amounts from public observers by default, but the participants themselves—and anyone they authorize via view keys or proofs—can still verify transaction details.
3 sources
- Stealth Address | Moneropedia | Monero - secure, private, untraceable
By using stealth addresses, only the sender and receiver can determine where a payment was sent. ... Sending Monero is as easy as entering the destination address, the amount, and pressing Send.
- View Key | Moneropedia | Monero - secure, private, untraceable
Monero is said to be "private, optionally transparent". Every Monero address has a private viewkey which can be shared. By sharing a viewkey, a person is allowing access to view every incoming transaction for that address.
- Wallet RPC documentation - Monero Docs
`check_tx_key` ... Inputs: txid, tx_key, address ... Outputs: ... `received` - unsigned int; Amount of the transaction. `check_tx_proof` ... Outputs: ... `received` - unsigned int; Amount of the transaction.