Not a gringo thing. Peruvians have to produce their DNI as identification as well. Sometimes they ask for DNI even when paying cash, this you can refuse. Solution: as above, just carry a copy of your passport, a good idea for other reasons anyway. I've never had a problem using a copy.