There is only one surefire cure for selfishness: getting even better at it.
Suppose your tribe lives in a small village. The neighboring village catches fire. What do you do?
You can be selfish. You can tell yourself you didn’t start this fire, so it’s not your responsibility to put it out. Maybe you never even liked that neighboring tribe much anyway. So you let them deal with their own mistakes. Fair enough.
Or you can be selfless. You can run over to help your neighbors at the first sign of smoke. Why would you put yourself in potential danger? Is this because you’re a “better” person than your tribe members who don’t lend a hand?
From a certain way of looking things, there is simply no such thing as selfish or selfless. When the neighboring village catches fire, it’s not so much about the right thing to do as it is keeping your own village safe from fire. Consider that everyone, including you, is 100% motivated by selfish motives. You could argue that the most effectively self-serving people see the bigger picture. They see how things are connected in infinitely complex ways. If I’m going to keep me safe and happy, then I have to keep others safe and happy as well.
A selfless person is simply a selfish person who has learned his or her “self” is much bigger than it initially seems.