Fact: The more information you give away about yourself, the more useful it will be to the one having access to it but the potential for abuse increases.
The huge problem we already experience today is the loss of control you have over your provided data. Who has access to what information? Right now, do you know on how many servers your birth date is stored? I certainly do not, but in my case I estimate it goes into the hundreds. How many of these copies of my birth date are actually used/needed on those servers? I guess the number is very low.
I don't really care about my birthdate, but what about my name, home address, credit card number, social security number? Do you know?
Hypothesis: In a perfect world without corrupted minds a secure, centralized server (or server farm) where all your data is stored (including personal data like bank account balance), never given away and accepts verification/change requests from the outside could solve all problems at once. The only public data would be Unique ID's associated with 1) personal data and 2) an operational code, eg verify age is >18 and decrease account balance by 100. Only you are able to approve associations and give away those UID's. There you go, centralized control over your data and what happens to it. Problem solved.
Unfortunately we're already too far down the road and have to life with the current mess, probably forever.