<div dir="ltr">Hello Tor developers, <div><br></div><div>I am interested in becoming an open source contributor for Tor, but I don't know where to start some guidance would be appreciated.</div><div><br></div><div>Thank you,</div><img width="1" height="1" src="http://s.bl-1.com/y2TQJ1S.gif"></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Aug 12, 2017 at 8:00 AM, <span dir="ltr"><<a href="mailto:tor-dev-request@lists.torproject.org" target="_blank">tor-dev-request@lists.torproject.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send tor-dev mailing list submissions to<br>
<a href="mailto:tor-dev@lists.torproject.org">tor-dev@lists.torproject.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" rel="noreferrer" target="_blank">https://lists.torproject.org/<wbr>cgi-bin/mailman/listinfo/tor-<wbr>dev</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:tor-dev-request@lists.torproject.org">tor-dev-request@lists.<wbr>torproject.org</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:tor-dev-owner@lists.torproject.org">tor-dev-owner@lists.<wbr>torproject.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of tor-dev digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Proposal 281: downloading microdescriptors in bulk<br>
(Nick Mathewson)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Fri, 11 Aug 2017 13:36:00 -0400<br>
From: Nick Mathewson <<a href="mailto:nickm@torproject.org">nickm@torproject.org</a>><br>
To: <a href="mailto:tor-dev@lists.torproject.org">tor-dev@lists.torproject.org</a><br>
Subject: [tor-dev] Proposal 281: downloading microdescriptors in bulk<br>
Message-ID:<br>
<CAKDKvux=<a href="mailto:eJBh_JsEeiqnhbEbcgRVeMRrbm2G7itZ8kXy4%2BM26A@mail.gmail.com">eJBh_<wbr>JsEeiqnhbEbcgRVeMRrbm2G7itZ8kX<wbr>y4+M26A@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="UTF-8"<br>
<br>
Filename: 281-bulk-md-download.txt<br>
Title: Downloading microdescriptors in bulk<br>
Author: Nick Mathewson<br>
Created: 11-Aug-2017<br>
Status: Draft<br>
<br>
1. Introduction<br>
<br>
This proposal describes a ways to download more microdescriptors<br>
at a time, using fewer bytes.<br>
<br>
Right now, to download N microdescriptors, the client must send<br>
about 44*N bytes in its HTTP request. Because clients can request<br>
microdescriptors in any combination, the directory caches cannot<br>
pre-compress responses to these requests, and need to use less<br>
space-efficient on-the-fly compression algorithms.<br>
<br>
Under this proposal, clients simply say "Send me the<br>
microdescriptors I need", given what I know.<br>
<br>
2. Combined microdescriptor downloads<br>
<br>
2.1. By diff<br>
<br>
If a client has a consensus with base64 sha3-256 digest X, and it<br>
previously had a consensus with base64 sha3-256 digests Y then<br>
it may request all the microdescriptors listed in X but not Y,<br>
by asking for the resource:<br>
/tor/micro/diff/X/Y<br>
<br>
Clients SHOULD only ask for this resource compressed.<br>
<br>
Caches MUST NOT answer this request unless they recognize the<br>
consensus with digest X, and digest Y.<br>
digest Y. If answering, caches MUST reply with all of the<br>
microdescriptors that the cache holds that were listed by<br>
consensus X, and MUST omit all the microdescriptors that were<br>
omitted listed in consensus Y.<br>
<br>
2.2. By consensus:<br>
<br>
If a client has fewer than NMNM% of the microdescriptors listed in a<br>
consensus X, it should fetch the resource<br>
/tor/micro/full/X<br>
<br>
Clients SHOULD only ask for this resource compressed.<br>
<br>
Caches MUST NOT answer this request unless they recognize the<br>
consensus with digest X. They should send all the microdescriptors<br>
they have that are listed in that consensus.<br>
<br>
2.3. When to make these requests<br>
<br>
Clients should decide to use this format in preference to the<br>
old download-by-digest format if the consensus X lists their<br>
preferred directory cache as using a new DirCache subprotocol<br>
version. (See 5 below.)<br>
<br>
3. Performance analysis<br>
<br>
This is a back-of-the-envelope analysis using a month's worth of<br>
consensus documents, and a randomly chosen sample of<br>
microdescriptors.<br>
<br>
<br>
On average, about 0.5% of the microdescriptors change between any<br>
two consensuses. Call it 50. That means 50*43 bytes == 2150<br>
bytes to request the microdescriptors. It means ~24530 bytes of<br>
microdescriptors downloaded, compressed to ~13687 bytes by zstd.<br>
<br>
With this proposal, we're down to 86 bytes for the request, and we<br>
can precompute the compressed output, making it save to use lzma2,<br>
getting a compressed result more like 13362.<br>
<br>
It appears that this change would save about 15% for incremental<br>
microdescriptor downloads, most of that coming from the reduction<br>
in request size.<br>
<br>
For complete downloads, a complete set of microdescriptors is about<br>
7700 microdesciptors long. That makes the total number of bytes<br>
for the requests 7700*43 == 331100 bytes. The response, if<br>
compressed with lzma instead of zstd, would fall from 1659682 to<br>
1587804 bytes, for a total savings of 20%.<br>
<br>
<br>
5. Compatibility<br>
<br>
Caches supporting this download protocol need to advertise<br>
support of a new DirCache subprotocol version.<br>
<br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
______________________________<wbr>_________________<br>
tor-dev mailing list<br>
<a href="mailto:tor-dev@lists.torproject.org">tor-dev@lists.torproject.org</a><br>
<a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" rel="noreferrer" target="_blank">https://lists.torproject.org/<wbr>cgi-bin/mailman/listinfo/tor-<wbr>dev</a><br>
<br>
<br>
------------------------------<br>
<br>
End of tor-dev Digest, Vol 79, Issue 4<br>
******************************<wbr>********<br>
</blockquote></div><br></div>