1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
Return-Path: <vitteaymeric@gmail.com>
Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])
by lists.linuxfoundation.org (Postfix) with ESMTP id E709FC0177
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 25 Feb 2020 15:36:37 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by hemlock.osuosl.org (Postfix) with ESMTP id D563B8757D
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 25 Feb 2020 15:36:37 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from hemlock.osuosl.org ([127.0.0.1])
by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id ZqnLDTSn9YQS
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 25 Feb 2020 15:36:32 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com
[209.85.128.66])
by hemlock.osuosl.org (Postfix) with ESMTPS id 8B34E87553
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 25 Feb 2020 15:36:32 +0000 (UTC)
Received: by mail-wm1-f66.google.com with SMTP id a5so3474444wmb.0
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 25 Feb 2020 07:36:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=to:from:subject:autocrypt:message-id:date:user-agent:mime-version
:content-transfer-encoding:content-language;
bh=n0A60w7ElWboqUT6MSNgh1toFrfJ7pB5IW2vAdWBQA8=;
b=NnDdOgHKS/sTbiMuw32E+GVe/KHH05Wa39iHZ4MHCfkpFulXekSeaeuEmHG5ycebbB
vqQDzYghbxP2qviUcOjMB70t1pS11pYUQQSUTarTuQMkpVV2VygWJegrbZNuNFOHfJy2
bNT92SQ0rGFN/Vc/yRejOQZR7g4jBTHICkdLZJ2tnnsy3Mub/RpT23Sm3LTyfGFmCOvc
QAeQ3rEYM0i2URXRspJSetvRHd4Evh/xxo3O4TlSqYC29ubMAGNnLEnGMCad1utJd+lu
75f8QRVXPlLwxiEfp6nyYxuD4z28gULkimDnwErgKGet/e+PA7Y4hsWDUYk2Q8ZCxNmM
LcEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:to:from:subject:autocrypt:message-id:date
:user-agent:mime-version:content-transfer-encoding:content-language;
bh=n0A60w7ElWboqUT6MSNgh1toFrfJ7pB5IW2vAdWBQA8=;
b=c/AO8upgBWOvon+Lz1AN8aPEHSxBcRvKVWVU01TcG1egNbN3jgRir+jzJv0lsh5f56
1JM1Ko1R4/QR1yqsAkiOaEmt8QImhnj4AwfzuFyw+0LdDP81mH6oQwQnDvW8+cb216TN
mvKVmDpF7sSD5m+sNOHv6oJp7y2MKhNLC8YRvr+ihu/uQE0LZ6cpWN6zyDmD54I94Drj
+dGUxH0rat40ySg1Tis51UCThZ3HcNEZnhyCtZ2wBWa4uRzm7X9DBcYaWM190FngMvkW
LDGkjeMCAfBSqhxhGkrbdfgFCjPSqBdJlZkSdIodP+RgwClcsWxfzjPdscW2JsAnZ2vy
XNwA==
X-Gm-Message-State: APjAAAVyf8T1J7PTOawfxpZnvkS9fWr6WTzbNvSr5AQ+m6JyQbE2UBQK
KjO1ZQE9xrSkLsDkTqJFRnArkxq4
X-Google-Smtp-Source: APXvYqwgER7pr9nvIfigHNmkDQF8uLe06RtQ5PJxUgrETaDgnMWpN/9DjvTwZeU2C0JQjzHJ1QproA==
X-Received: by 2002:a1c:4b0f:: with SMTP id y15mr5883237wma.87.1582644990535;
Tue, 25 Feb 2020 07:36:30 -0800 (PST)
Received: from ?IPv6:2a01:cb1d:44:6500:9d6d:71b2:cb71:cb17?
([2a01:cb1d:44:6500:9d6d:71b2:cb71:cb17])
by smtp.googlemail.com with ESMTPSA id b10sm25329722wrw.61.2020.02.25.07.36.28
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Tue, 25 Feb 2020 07:36:29 -0800 (PST)
To: LT <lt@lists.liberationtech.org>, tor-talk@lists.torproject.org,
Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
From: Aymeric Vitte <vitteaymeric@gmail.com>
Autocrypt: addr=vitteaymeric@gmail.com; prefer-encrypt=mutual; keydata=
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
vXl2h6Tivlk=
Message-ID: <f051db44-8048-bbf6-b414-6b08c4dfa42c@gmail.com>
Date: Tue, 25 Feb 2020 16:36:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:68.0) Gecko/20100101
Thunderbird/68.3.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: fr
Subject: [bitcoin-dev] node-Tor - phases 4 and 5
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Feb 2020 15:36:38 -0000
Please see the current status here:
https://github.com/Ayms/node-Tor#phases-and-funding
Quick reminder: this is a javascript implementation of the Tor protocol
inside nodes and browsers
Phase 4 (evented pipes) has been developped (self funded) but is not
fully tested/released, however the doc is here:
https://github.com/Ayms/node-Tor/blob/master/docs/README.md, it allows
to simply anonymize any protocol piping it to the Tor protocol
We were about to implement phase 5 (elliptic crypto, Tor v3 features and
WebRTC) but are running out of funding, while we have self funded the
vast majority of this project since 2012 we can't continue (thanks to
NLnet for supporting phases 1 to 3) and are looking for funding to
complete this work (cf above link)
The timing is supposed to be now because restarting such a project in
months or years is not trivial and despite of the huge efforts for the
refactoring/update/cleaning of the initial code and split into modules
it's probably still difficult to use/integrate/modify (see
https://github.com/Ayms/node-Tor/issues/14), it will become quite easy
if the project goes to its targeted phase
The code is subtle and minimal, it represents only 1MB browserified not
minified, so 500kB minified, which is quite small for what it does with
zero external dependencies, redevelopping everything from scratch would
be long and difficult
Some examples of what node-Tor does (as nodes or inside browsers using
WebSockets/WebRTC/XHR):
http.pipe(parser).pipe(gzip).pipe(tls).pipe(node-Tor)
ipfs.pipe(node-Tor)
webtorrent.pipe(node-Tor)
bitcoin | node-Tor | bitcoin (via stdin/stdout or using IPC)
Of course the Tor protocol itself might not be enough and each project
might have to design the full anonymization system (peer discovery,
introduction, etc) but they can rely on node-Tor to implement the Tor
protocol (not to be misunderstood again with the Tor network)
It does implement direct p2p via the Tor protocol or via RendezVous
(RDV) points using also Tor protocol hops to connect to them, the peers
advertise what they have or do using a hash to the RDV points they are
connected to, please see
https://github.com/Ayms/node-Tor#phase-4-and-phase-5
Example: by convention a bitcoin node could advertise a hash of "Satoshi
Nakamoto" to tell it is a bitcoin node, then bitcoin nodes will connect
to each others via RDV points or several Tor protocol hops requesting
this hash, they can also connect directly via several hops for well
known bitcoin nodes that don't need to hide themselves but want to hide
to whom they are connected to, which can be wallets too, for example to
hide who originated a transaction
Since peers are implementing both direct p2p and RDV functions (both via
Tor protocol hops), and can extend to other peers as peers or RDV points
again, it becomes difficult to understand who is doing what and how many
hops finally are used between the peers (suggested setting for p2p is 2
hops instead of 3 for a Tor protocol circuit, knowing that the number of
hops can extend via RDV points)
This is the current design and can of course be adapted
It would look logical that this techno is integrated natively one day
inside browsers, again it must not be misunderstood with what the Tor
Browser is doing (with many specific features inside the browser itself)
and is not a replacement for it, this is different but could be used
also by the Tor network with browsers acting as real Tor nodes (a bit à
la Snowflake but not only relaying messages via WebRTC, implementing the
Tor protocol inside browsers), or uproxy-like for those that remember it
--
Move your coins by yourself (browser version): https://peersm.com/wallet
Bitcoin transactions made simple: https://github.com/Ayms/bitcoin-transactions
Zcash wallets made simple: https://github.com/Ayms/zcash-wallets
Bitcoin wallets made simple: https://github.com/Ayms/bitcoin-wallets
Get the torrent dynamic blocklist: http://peersm.com/getblocklist
Check the 10 M passwords list: http://peersm.com/findmyass
Anti-spies and private torrents, dynamic blocklist: http://torrent-live.org
Peersm : http://www.peersm.com
torrent-live: https://github.com/Ayms/torrent-live
node-Tor : https://www.github.com/Ayms/node-Tor
GitHub : https://www.github.com/Ayms
|