I've read the rend-spec-v3.txt document which is supposed to be the specification for the v3 hidden service protocol. The document makes several references to a key blinding function that takes in an ed25519 key pair/public key and a nonce and gives a new key pair/public key which is used to determine the hidden service's position in the hash ring. In Appendix A1 however, it just describes the scheme but doesn't define a specific function. I know for certain the protocol has been implemented because we've been able to use the new 56 character addresses for a while now. So, is there a specification or document I'm missing? Is the current implementation a placeholder? How exactly does the current protocol handle addresses and find where the descriptors are stored?

P.S. The specification also says there's a new flag "HSDirV3" but it's nowhere to be found in the consensus. Has that flag been discarded?

1 Answer 1


I've messaged one of the tor developpers and he's been kind enough to answer. In the rend-spec-v3.txt document, the function is actually specified in appendix A2. And the "HSDirV3" flag never existed. It'll be removed from the specification.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .