Income taxes are also inefficient, however, because people respond by substituting leisure and home production for wages. But this inefficiency need only apply if we assume that we cannot cheaply monitor time spent working for wages. As the technology of surveillance improves, it should get easier to monitor this.
The government could randomly check on each person say ten times a year, and see if they are working for wages at that moment. Each person's taxes would then depend both on their income, and on the fraction of times that they were found to be working for wages, when checked over the last few years. That is, each person could be taxed at so many hours per day of work, with the dollar amount of the tax calculated by multiplying this number of hours owed times a wage rate calculated by dividing their hours worked into total income.
Of course to implement this each person would, when working for wages, need to be quickly contactable at random times, such as by staying at a desk, or having a cell phone or a beeper. But since most people will have such things for other reasons, the presumption could be that the exceptions are doing it to avoid taxes, and so failure to contact will be coded as not working for wages.