There is a lot more to bitcoin than just how addresses are computed. The byzantine agreement algorithm bitcoin uses is novel and was the missing piece that prevented bitcoin from being invented in the 90s.
Exactly. There are essentially two problems to a distributed currency
1) ensure transaction is valid - very easy to solve w/ private keys.
2) ensure coins are only spent one - very difficulty to solve. Bitcoin uses the proof of work and placing transactions into blocks to reach consensus on the location of all coins at any particular point in time.