You could prevent multi-registration by increasing your identity proofing (See OMB M-04-04). Of course by doing so, registration is now much more difficult for your legitimate customers. So while you could prevent multi-registration, you probably don't want to. (Please note, I'm not seriously suggesting that you upgrade your identity proofing. Increased identity proofing answers the specific question you asked, but I don't think it is a practical solution to your problem).
I believe your real challenge is to design a registration system that discourages fraudulent users but is relatively transparent to legitimate users. If I were in your shoes I would probably @Mark Mullin's suggestion that you bind some reputation to the account with federated identity. Federated identity means that you don't register users; you allow them to use credentials generated by a third party. For example, I use my google credentials to log into stack exchange. The "how to" on federated identity is a bit more complicated than I think is appropriate in a Stack Exchange answer, but you may wish to consult Google's Relying Party site. Two of the primary implementations are OpenID, and Shibboleth, and I know that Kingsley Idehen has posted extensively on "how to", including code samples (that last link is to his G+ profile; I don't have a better way to contact him).
I think that there is much merit in Mr. Mullin's suggestion that you create reputation and link it to the user's account. Assign a reputation score based on the number of transactions the user has participated in, or the total value of the transactions, or like ebay, on the feedback from other participants in the transaction.
And to echo someone else's comment, no, it is not possible to make a website 100% secure. That is a fundamental principle of security; the best you can hope for is to mitigate the risk to an acceptable level. If you're really doing security design for a website that involves monetary transactions, I would urge you to obtain a security architect. Security is complicated. Your security architect needs to have a lot of fundamental knowledge that can't be picked up through google searches. If you are conducting monetary transactions without a security architect you are exposing your company to considerable risk. The risk of losing money, the risk of being sued by customers who have lost money or personal data, and potentially criminal liability, depending on where you're located. This isn't something that can be learned through a month of internet research.