[zeromq-dev] Anonymizing networks

Pieter Hintjens ph at imatix.com
Tue Feb 14 18:16:19 CET 2012


On Tue, Feb 14, 2012 at 8:19 AM, Jorge Timón <timon.elviejo at gmail.com> wrote:

> I see. I could identify the patterns in which I need Tor and only
> implement those.
>
> But you say making it fast is hard. Doesn't VTX take advantage of zmq
> optimizations?

Nope. The design of an inprocess bridge is that it speaks some
arbitrary protocol at one side, and exposes an inproc socket at the
other side. What you then do is reimplement whatever socket patterns
you need to make (PUB, SUB, REQ, etc.) and handle all queuing and
batching and everything else. You can see how this works in
https://github.com/imatix/vtx/blob/master/v3/vtx_udp.c.

So in effect you end up rewriting large chunks of 0MQ, and if you want
to make it really fast, there is significant work. But for the kinds
of networks you talked about, that'd not be a major issue.

I'd expect that you can get a minimal proof of concept over Tor or i2p
in a few days, and a full implementation in a week or two. The UDP
implementation took me about that long. The hard part is, like I said,
making it fast.

-Pieter



More information about the zeromq-dev mailing list