BIP47 is a new secret-sharing protocol which succeeds BIP64 (stealth addresses).

The test vectors are here.

I am stuck on part 2.iv. We multiply S0 = B0 * a0 (024ce8e3b04ea205ff49f529950616c3db615b1e37753858cc60c1ce64d17e2ad8 * 8d6a8ecd8ee5e0042ad0cb56e3a971c760b5145c3917a8e7beaf0ed92d7a520c = 03f5bb84706ee366052471e6139e6a9a969d586e5fe6471a9b96c3d8caefe86fef).

From that we are looking for:

s = HMAC-SHA512(x, o)
"x" is the x value of the secret point
"o" is the outpoint being spent by the first pubkey-exposing input of the transaction.

What does HMAC-SHA512(x, o) mean, first of all? What is o specifically? And how does this factor in with the test vector values?

  • I've just had a thought: is it as simple as being the notation for HMAC-SHA512(passphrase, salt)? Dec 17, 2015 at 12:50

1 Answer 1


Per the creator of BIP47 (Justus Ranvier), it's RFC2014 notation:



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.