The evolution of serine protease and its inhibitor are discussed with special reference to domain evolution. It is now known that most proteins are composed of more than one functional domain. Because serine proteases such as urokinase and plasminogen are made of various functional domains, these proteins are typical examples of the so-called mosaic proteins. When Kringle domains in serine proteases and a Kunitz-type protease inhibitor domain in the amyloid beta precursor protein in Alzheimer's disease patients were examined by the molecular evolutionary analysis, the phylogenetic trees constructed showed that these functional domains had undergone dynamic changes in the evolutionary process. In particular, these domains are evolutionarily movable. Thus, it is concluded that various functional domains evolved independently of each other and that they have been shuffled to create the existent mosaic proteins. This conclusion leads us to the reasonable speculation that those functional domains must have been minigenes possibly at the time of primordial life or the origin of life. We call these minigenes 'ancestral minigenes'. Every effort should be made to answer the question about the minimum set of ancestral minigenes that must have existed and must have been needed for maintaining life forms. The DNA sequence database is useful for making attempts to answer such difficult but significant questions.