Don't want to keep a list of all previous owners, just the current one ;
Wouldn't it be much easier & compact to have only one simple map of ; and keep updating the wallet address as bitcoins change owners.
Lot more simpler to scale than the system we have now.
It will be a fixed sized map ; a 2 dimensional array (or map for c++ programmers).
In terms of OOP, in this case the object becomes the coin (not the wallet address as in the current system).