When trying to reason about whether SOL transactions provide certain types of privacy, it would be very helpful to have a complete list of the information accessible to each party in the basic (minimal) Solana cryptocurrency network.
For example, the complete list of (PARTY : HAS ACCESS TO) pairs might be something like:
- sender : public and private key of sender, public key of receiver, timestamp of transaction, and quantity of transacted SOL
- receiver : public and private key of receiver, public key of sender, timestamp of transaction, and quantity of transacted SOL
- validator : a complete history of SOL transactions, where each transaction appears as the public key of sender, public key of receiver, timestamp of transaction, and possibly quantity of SOL transacted. If the transaction is a "confidential transfer," then the quantity of SOL is not accessible to the validator. If not, then it is.
- Solana network administrator : same access as the validator?
- Solana developer/programmer : same access as the validator?
- Solana founders : same access as the validator?
In constructing the above pairs, let's assume for simplicity that there is no exchange of information outside of the Solana network. So, for example, we ignore the identifying information that vendors collect about their customers outside of the Solana network. And we ignore widgets like Solscan, which make the full chain of transactions searchable to everyone, including the sender and receiver.
On one level, this is an elementary question. But completeness is important, so a detailed understanding of the Solana architecture may be needed to answer it. For example, are there any other relevant parties besides those listed above? Can validators or administrators access the IP addresses, MAC addresses, or other packet-related data of senders and receivers? Is the creation of a key or key pair itself an event that sends information to validators or other participants in the network?
Nevertheless, there is just one central question here: What is a complete version of the above list of (PARTY : HAS ACCESS TO) pairs?