Apparently the new smear campaign drk troll is running is that a private ledger has no value because it can't be audited. I explained (linked) the viewkey, but he insists that it still can't be audited and get this response (accounting yuck):
Every transaction involves two keys: a public spend key, and a public view key. The destination for an output in a transaction is actually a one-time public key computed from these two keys. The formula used for calculating this is:
P = Hs(rA)G + B (where H
s is a hash function, r is a random, G is a basepoint, A is the public view key, B is the public spend key).
When scanning incoming transactions
every transaction is scanned to see if is for "you". To do this, your wallet computes
P' = Hs(aR)G + B (following the same definitions as before, except that a is your private view key, and R = rG, which is packed elsewhere into the transaction). Notice that this only requires your private view key and your public spend key, and this check is immutable and cannot be faked.
You cannot receive transactions and identify them without the corresponding private view key.In order to spend the funds you have to compute a one-time private spend key for that output using
Hs(aR) + b (where b is your private spend key), so it's impossible to spend the funds without it. Literally that's all the cryptography you need to understand, but I guess when your aim is to deflect attention from an instamined scam it helps to call it a "mountain of cryptography".
From this we can also determine that it is possible to enumerate all the view keys, but as the key space is 2
256 it's not possible unless you have more processing power than all the energy in the universe, and more time than the universe has existed.
The upshot of this is that an auditor only needs your private view key to identify all of your transactions. On the other hand, with Bitcoin and its clones you would typically need to sign every address you own (or for something like Electrum you'd be able to provide your master public key). In some ways the private view key is like the Electrum master public key, in that with both you can view every transaction for that account, and there's no way to fake that data. As with any audit, though, you could always have a second wallet for your secret transactions, but typically auditors would uncover that through other mechanisms.
The claim that the auditor has to "see the balances in the sending addresses" is ludicrous - if I, as a company, receive a payment from Microsoft Inc. do my auditors go and ask Microsoft for their bank balance?