  We discuss the problem of facilitating tax auditing assuming "programmable
money", i.e., digital monetary instruments that are managed by an underlying
distributed ledger. We explore how a taxation authority can verify the declared
returns of its citizens and create a counter-incentive to tax evasion by two
distinct mechanisms. First, we describe a design which enables auditing it as a
built-in feature with minimal changes on the underlying ledger's consensus
protocol. Second, we offer an application-layer extension, which requires no
modification in the underlying ledger's design. Both solutions provide a high
level of privacy, ensuring that, apart from specific limited data given to the
taxation authority, no additional information - beyond the information already
published on the underlying ledger - is leaked.
