On 27 April 2018 at 19:48, Damian Johnson <atagar@torproject.org> wrote:
> OnionBalance requires STEM support for V3

Hi Alec, would you mind clarifying what you need from Stem? As far as
I'm aware Stem supports v3 onion service creation...
...
I'm unaware of the ball being in my court on any v3 Onion Service
stuff. If there's something I should have on my radar then please let
me know!

Hi Damian!

That's awesome, and good to know - I first wrote that text a few months ago (on the basis of David's comments in that ticket) and haven't revised it since, so I am heartened to see progress.

However I am also not the best person to say what else will be needed, because that would probably be Donncha re: the future of OnionBalance for v3.

At the moment in OnionBalance the v2 Introduction Points of the (predetermined) worker onions are passively scraped from the HSDir; the descriptors are parsed, the IPs are blended and re-combined and re-signed under the master onion key (eg: nytimes3xbfgragh) and then published back to the HSDirs, with the result that NewYorkTimes-browsing clients end up communicating with 1 of N possible "worker" daemons, thereby sharing the load.

My understanding - and please jump in, if I am wrong - is that the synthesis of a v3 descriptor which blends the introduction points of several independent v3 "worker" Tor daemons will be a more complex affair than the existing process, because (?) the "worker" tor daemons will somehow have to be more actively involved - apparently they may have to sign the v3 Introduction Points themselves, though I am not sure how that will work for a blended descriptor? Multiple/distinct signatures, perhaps? The last opportunity I had to speak with anyone (re: this) was more than 1 year ago, so I am rusty, and I apologise if I have gotten some details wrong.

So: OnionBalance relies heavily upon Stem (https://github.com/DonnchaC/onionbalance/tree/develop/onionbalance) and I am not qualified to say what, if any, additional v3 Stem features will be useful or outstanding to support the descriptor-blending that is needed for loadbalanced configurations.

But OnionBalance for v3 will certainly be necessary. :-)

    -a

--