One of the issues is that there is no such thing as a real name. There's the obvious difficulty: the "real" part, which can be defined any which way and by picking one reality can exclude other valid realities. But there's also the fact that not everyone
has a name. See the third comment on
http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...One of those possible realities is that "real name" is defined as "legal name" and you'll find a long history of people rejecting that: hacker nicknames, author pen names, rebels' noms de guerre. (A survey in film: The Matrix, "Goodbye, Mr. Anderson" "My name is Neo."; X-Men, "What's your name?" "John." "What's your real name, John?" "Pyro."; Pirates of the Carribean, "Captain. Captain Jack Sparrow.")
Authenticity is a wonderful sounding goal, but it still doesn't provide a very strong comprehension of your goals. So if you get past the problematic concept of a "real name", you still don't have enough to really design for it. For instance, it's arguable that "Yuhong Bao" is less authentic than writing it in Chinese. It's also arguable that it's more authentic.
What's in a name? A name is just a pointer. The functional difference between a real name and a fake name is, in the end, just taste.