2
I am creating a bitcoin website. I would rather the bitcoin didn't go through my website to prevent any security issues.
What happens is one user pays another user, and when that happens my website delivers the digital goods instantly.
All I need to do is check if the one user pays the other user. But the problem I can't find a way to do that easily.
I was going to use the blockchain api to check, but if they pay through a website like cryptsy, I can't check because it goes through multiple addresses.
The only solution I've found so far is to make them use the bitcoin wallet, or use an escrow service.
Escrow is my last option, because it always has a fee, and I really want this to be user to user.
I could really use some suggestions!
Thanks!(:
1You can try to get the user's master public key based in BIP32. Then you can generate public keys for them without knowing their private keys and it solves your problem too. – abeikverdi – 2015-03-24T08:37:59.613
@abeikverdi, you don't need their master public key, there's no reason to give away the public key at the root of the HD wallet tree. The wallet could just as easily give away a sub-branch to the service and still have branches to use for other purposes. – morsecoder – 2015-03-24T12:18:14.703
@StephenM347 How is that possible? How can you generate the next address without knowing the master public key? Can you illuminate me? – abeikverdi – 2015-03-25T07:52:37.373
@abeikverdi, it's just the master public key of a sub branch, basically. It's an element of the HD tree that is master of everything under it, but unlike the root element, has elements above it. I'm not a BIP32 expert, but I'm pretty sure it basically applies that each key in the tree is master of the sub ranch of which it is the root. – morsecoder – 2015-03-25T12:54:04.277
@StephenM347 this is first time that I've heard something like this. I thought that there is only one master public key and you can generate child's public key based on the public key. Didn't know that a child's public key can be user as a master public key for its children. Assuming that this is correct, then everyone can calculate your public keys? – abeikverdi – 2015-03-25T15:41:15.763