The huge wallet is to pay all the lawyers to read patents.
Part of the point of this experiment is that even if it were cheap to license all the patents, the cost of actually figuring out which patents you probably infringe is enormous. This is actually a significant difference between software and, for example, medicines. Medicines have a natural etymology - the chemicals that make them up. That means that keyword searching is a reliable means of narrowing down from the whole patent database to a short list of possibles to read. Keyword searching is much harder in software. A program's logic is in its structure, not the names of its variables. There are frequently several English words which can be used for the same concept (find, get, look up, retrieve, etc). Different communities often reinvent the same technique and call it by different names. Areas which have been around longer, such as automotive, settle on the same terminology over the years.
In principle, you could set up a system whereby pharmaceutical patents were described in a machine readable form, and you could search it to see if your new invention is already there, without paying any lawyers at all. Try to do the same for software, however, and I think you run into the halting problem (or more accurately, Rice's theorem: http://en.wikipedia.org/wiki/Rice%27s_theorem)
The fundamental question is whether the patent system, seen as a datastructure, *scales*. The real property system scales as the number of properties increases, because in the event of disputes, you only have to consider neighbouring properties, not potentially all other properties in the registration system.