隐私为何重要?区块链是匿名的吗?洋葱路由如何改进区块链?

原文标题:《隐私、区块链与洋葱路由》
作者:Juin Chiu,Unitychain 研究员和台北以太坊 Meetup 联合组织者,目前对共识协议、分片和自治身份感兴趣

自 2008 年区块链以比特币的面貌问世后,它便被视为 Web 3.0,并被期许能够进一步为人类带来金融与治理上的大跃进。区块链或许会成为如同全球资讯网一般的基础建设,如果我们已经开始注重个人于网路上的隐私,那么我们更应该关心这项全新的技术是否能更好地保护它。

笔者将于本文中阐述隐私的重要性,接着进一步分析区块链是否能够保护用户隐私,最后再简介一个知名的匿名技术— 洋葱路由,并列举几个其用于改进区块链(特别是以太坊)的相关提案。

特别感谢以太坊研究员 Chih-Cheng Liang 与民间高手 敖乌 协助校阅并给予回馈。

隐私的重要

网际网路(Internet)无疑是 20 世纪末最伟大的发明,它催生了全新的商业模式,也使得资讯能以位元的形式进行光速传播,更使人类得以进行前所未有的大规模协作。而自从 1990 年全球资讯网(World Wide Web)的问世以来,网路已和现代文明生活密不可分。经过近 30 年的发展,人类在网路上制造了巨量的资料,这些资料会揭露使用者的隐私。透过一个人的资料,企业或者政府能够比你自己更了解你。这促使用户对隐私的愈发重视—正如同你不会允许第三者监听你的电话,你也不希望有第三者监看你的浏览器搜寻历史。

然而,如今的网路是彻底的中心化,中心化也意谓着过大的权力,有种种迹象显示:网路正在成为政府当局监控人民的工具。例如:中国的 净网卫士1、美国的 稜鏡计划2 等。那么,政府应该监控人民吗?其中一派的人认为平日不做亏心事,半夜不怕鬼敲门,这也就是常见的 无所隐瞒论[3]:

我不在乎隐私权,因为我没什么好隐瞒的。

不过持有这类论点的人通常会被下面的说法反驳:

既然没什么好隐瞒的,那请把你的 Email 帐号密码给我,让我揭露其中我认为有趣的部分。

大多数正常人应该都不会接受这个提议。

隐私应当与言论自由一样,是公民的基本权利。事实上,隐私是一个既广且深的题目,它涉及了心理学、社会学、伦理学、人类学、资讯科学、密码学等领域,这里[4] 有更多关于关于隐私的讨论以及网路隐私工具的整理。

隐私与区块链

有了网际网路后,接下来人类或许可以透过区块链来建构出一个免除人性且完全仰赖自然法则(数学)运行的去中心化系统。在中心化世界中,我们需要免于政府监控的隐私;在去中心化世界中,我们仍然需要隐私以享有真正的平等。

正如同本文的前言所述:区块链也许会成为如同全球资讯网一般的基础建设,如果我们已经开始注重网路隐私,那么我们更应该关心区块链是否能更好地保护它。

隐私与匿名

隐私保护利器「洋葱路由」在区块链有何应用?Privacy vs Anonymity [5]

当我们论及隐私时,我们通常是指广义的隐私:别人不知道你是谁,也不知道你在做什么。事实上,隐私包含两个概念:狭义的隐私(Privacy)与匿名(Anonymity)。狭义的隐私就是:别人知道你是谁,但不知道你在做什么;匿名则是:别人知道你在做什么,但不知道你是谁

隐私与匿名对于隐私权来说都很重要,也可以透过不同的方法达成,接下来本文将聚焦于匿名的讨论。另外,笔者在接下来的文章中所提及的隐私,指的皆是狭义的隐私。

网路的匿名

以当今的网路架构(TCP/IP 协定组)来说,匿名就是请求端(Requester)向响应端(Responder)请求资源时藏匿其本身的 IP 位址—响应端知道请求端在做什么(索取的资源),但不知道是谁(IP 位置)在做。

IP 位置会揭露个人资讯。在台湾,只需透过 TWNIC 资料库就可向台湾的网路服务供应商(Internet Service Provider, ISP),例如中华电信,取得某 IP 的注册者身份及姓名 / 电话 / 地址之类的个资。

ISP 是网路基础建设的部署者与营运者,理论上它能知道关于你在使用网路的所有资讯,只是这些资讯被法律保护起来,并透过公权力保证:政府只在必要时能够取得这些资讯。万一政府本身就是资讯的监控者呢?因此,我们需要有在 ISP 能窥知一切的情形下仍能维持匿名的方法。

区块链能保护隐私、维持匿名吗?

区块链除了其本身运作的上层应用协定之外,还包含了下层网路协定。因此,这个问题可以分为应用层与网路层两个部分来看。

应用层

应用层负责实作状态机复制(State Machine Replication),每个节点收到由共识背书的交易后,便可将交易内容作为转换函数(Transition Function)于本机执行状态转换(State Transition)。

区块链上的交易内容与状态是应当被保护的隐私,一个保护隐私的直觉是:将所有的交易(Transaction)与状态(State)加密。然而实际上,几乎目前所有的主流区块链,包含以太坊,其链上的交易及状态皆为未加密的明文,用户不仅可以查询任一地址的交易历史,还能知道任一地址呼叫某智能合约的次数与参数。也就是说,当今主流区块链并未保护隐私。

虽然区块链上的交易使用假名(Pseudonym),即地址(Address),但由于所有交易及状态皆为明文,因此任何人都可以对所有假名进行分析并建构出用户轮廓(User Profile)。更有研究 [6] 指出有些方法可以解析出假名与 IP 的映射关系(详见下个段落),一旦 IP 与假名产生关联,则用户的每个行为都如同摊在阳光下一般赤裸。

区块链的隐私问题很早便引起研究员的重视,因此目前已有诸多提供隐私保护的区块链被提出,例如运用零知识证明(Zero-knowledge Proof)的 Zcash、运用环签章(Ring Signature )的 Monero、运用同态加密(Homomorphic Encryption)的 MimbleWimble 等等。区块链隐私是一个大量涉及密码学的艰涩主题,本文碍于篇幅不再深入探讨,想深入钻研的读者不妨造访 台北以太坊社群专栏,其中有若干优质文章讨论此一主题。

网路层

节点于应用层产生的共识讯息或交易讯息需透过网路层广播(Broadcast)到其他节点。由于当今的主流区块链节点皆未采取使网路维持匿名的技术,例如代理(Proxy)虚拟私人网路(Virtual Private Network, VPN)或下文即将介绍的洋葱路由(Onion Routing),因此区块链无法使用户维持匿名—因为对收到讯息的节点来说,它既知道广播节点在做什么(收到的讯息),也知道广播节点是谁(讯息的 IP 位置)。

一个常见的问题是:使用假名难道不是匿名吗?若能找到该假名与特定 IP 的映射关系的话就不是。一般来说,要找到与某假名对应的 IP 相当困难,几可说是大海捞针,但是至少在下列两种情况下可以找到对应关系:1. 该假名的用户自愿揭露真实 IP,例如在社群网站公开以太坊地址;2. 区块链网路遭受去匿名化攻击(Deanonymization Attack)[6]。

泄漏假名与 IP 的关联会有什么问题?除了该 IP 的真实身份可能被揭露外,该区块链节点亦可能遭受流量分析(Traffic Analysis)服务阻断(Denial of Service)或者审查(Censorship),可以说是有百害而无一利。

区块链如何维持匿名?

其实上文已给出了能让区块链维持匿名的线索:现有匿名技术的应用。我们先来进一步理解区块链网路层与深入探讨网际网路协定的运作原理。

区块链网路层的运作原理

隐私保护利器「洋葱路由」在区块链有何应用?P2P Overlay Network [7]

区块链是一个对等网路(Peer-to-peer, P2P),而对等网路是一种覆盖网路(Overlay Network),需建构于实体网路(Physical Network)之上。

覆盖网路有两种常见的通讯模式:一种是基于中继的(Relay-based)通讯,在此通讯模式下的讯息皆有明确的接收端,因而节点会将不属于自己的讯息中继( Relay)给下一个可能是接收端的节点,分散式杂凑表(Distributed Hash Table, DHT)就是一种基于中继的对等网路;另一种是基于广播的(Broadcast-based)通讯,在此通讯模式下的讯息会被广播给所有节点,节点会接收所有讯息,并且再度广播至其他节点,直到网路中所有节点都收到该讯息,区块链网路层就是一种基于广播的对等网路。

覆盖网路旨在将实体网路的通讯模式抽象化并于其上组成另一个拓墣(Topology)与路由机制(Routing Mechanism)。然而实际上,实体网路的通讯仍需遵循 TCP/IP 协定组的规范。那么,实体网路又是如何运作的呢?

网际网路的运作原理

隐私保护利器「洋葱路由」在区块链有何应用?OSI Model vs TCP/IP Model

实体网路即是网际网路,它的发明可以追朔至 Robert Kahn 和 Vinton Cerf 于 1974 年共同发表的原型 [12],该原型经过数年的迭代后演变成我们当今使用的 TCP/IP 协定组 [8]。全球资讯网(WWW)的发明更进一步驱使各国的 ISP 建立基于 TCP/IP 协定组的网路基础建设。网际网路在多个国家经过近 30 年的部署后逐渐发展成今日的规模,成为逻辑上全球最巨大的单一网路。

1984 年,国际标准化组织(ISO)也发表了OSI 概念模型[9],虽然较 TCP/IP 协定组晚了 10 年,但是 OSI 模型为日后可能出现的新协定提供了良好的理论框架,并且与 TCP/IP 协定组四层协定之间有映射关系,能够很好地描述既存的 TCP/IP 协定组。

TCP/IP 协定组的各层各有不同的协定,且各层之间的运作细节是抽象的,究竟这样一个庞大复杂的系统是如何运作的呢?

隐私保护利器「洋葱路由」在区块链有何应用?Packet Traveling [10][11]

事实上,封包的传送正如同寄送包裹。例如笔者从台北寄一箱书到旧金山,假设每个包裹只能放若干本书,这箱书将分成多个包裹寄送,每个包裹需注明寄件地址、收件地址、收件者。寄送流程从邮局开始,一路经过台北物流中心→北台湾物流中心→基隆港→洛杉矶港→北加州物流中心→旧金山物流中心→收件者住处,最后由收件者收取。

这如同从 IP 位于台北的设备连上 IP 位于旧金山的网站,资料将被切分成多个固定大小的封包(Packet)之后个别带上请求端 IP、响应端 IP 及其他必要资讯,接着便从最近的路由器(Router)出发,一路送至位于旧金山的伺服器(Server)。

每个包裹上的收件地址也如同 IP 位置,是全球唯一的位置识别。包裹的收件地址中除了包含收件者的所在城市、街道,还包含了门号,每个门号后都住着不同的收件者。门号正如同封包中后缀于 IP 的连接埠(Port),而住在不同门号的收件者也如同使用不同连接埠的应用程式(Application),分别在等待属于他们的包裹。实际上,特定的连接埠会被分配给特定的应用程式,例如 Email 使用连接埠 25、HTTPS 使用连接埠 443 等等。

虽然包裹的最终目的地是收件地址,但包裹在运送途中也会有数个短程目的地—也就是各地的物流中心。包裹在各个物流中心之间移动,例如从北部物流中心到基隆港,再从基隆港到洛杉矶港,虽然其短程目的地会不断改变,但其最终目的地会保持不变。

封包的最终目的地称为端点(End),短程目的地称为转跳(Hop)—也就是路由器(Router)。路由器能将封包从一个网段送至另一个网段,直到封包抵达其端点 IP 所在的网段为止。封包使用两种定址方法:以 IP 表示端点的位置,而以 MAC 表示路由器的位置。这种从转跳至转跳(From Hop to Hop)的通讯是属于 TCP/IP 协定组第一层:网路存取层(Network Access Layer)的协定。

那么要如何决定包裹的下一个短程目的地呢?理论上,每个物流中心皆需选择与最终目的地物理距离最短的物流中心作为下一个短期目的地。例如对寄到旧金山的包裹来说,位于基隆港的包裹下一站应该是洛杉矶港,而不是上海港。

封包则使用路由器中的路由表(Routing Table)来决定下一个转跳位置,有数种不同的路由协定,例如 RIP / IGRP 等,可以进行路由表的更新。从端点到端点(From End to End)的通讯正是属于 TCP/IP 协定组第二层:网际层(Internet Layer)的协定。
若一箱书需要分多次寄送,则可以采取不同的寄送策略。至于选择何种寄送策略,则端看包裹内容物的属性:

1.求稳定的策略:每个包裹都会有个序号,寄包裹前要先写一封信通知收件者,收件者于收到信后需回信确认,寄件者收到确认信后“再”写一次信告诉收件者「我收到了你的确认」,然后才能寄出包裹。收件者收到包裹后也需回确认信给寄件者,如果寄件者没收到某序号包裹的回信,则会重寄该包裹。
2.求效率的策略:连续寄出所有的包裹,收件者不需回信确认。

横跨多个封包的通讯是属于 TCP/IP 协定组第三层:传输层(Transport Layer)的协定。这两种策略也对应着传输层的两个主要协定:TCP 与 UDP。TCP 注重稳定,它要求端点于传送封包前必须先进行三向交握(Three-way Handshake),也就是确认彼此的确认,以建立稳固的连线,且端点在接收封包后也会回传确认讯息,以确保没有任何一个封包被遗失;反之,UDP 注重效率,它不要求端点在通讯前进行繁琐的确认,而是直接传送封包。

包裹本身亦可以装载任何内容:这箱书可以是一套金庸全集,也可以是一年份的交换日记;同理,封包内的资料也可以是来自任何上层协定的内容,例如 HTTPS / SMTP / SSH / FTP 等等。这些上层协定都被归类为 TCP/IP 协定组第四层:应用层(Application Layer)的协定。

维持匿名的技术

区块链仰赖于实体网路传送讯息,欲使区块链网路层维持匿名,则需使实体网路维持匿名。那么实体网路如何匿名呢?若以寄包裹的例子来看,维持匿名,也就是不要让收件者知道寄件地址。

一个直觉的思路是:先将包裹寄给某个中介(Intermediary),再由中介寄给收件者。如此收件者看到的寄件地址将会是中介的地址,而非原寄件者的地址—这也就是代理(Proxy)以及 VPN 等匿名技术所采取的作法。

不过这个作法的风险在于:寄件者必须选择一个守口如瓶、值得信赖的中介。由于中介同时知道寄件地址与收件地址,倘若中介将寄件地址告知收件人,则寄件者的匿名性荡然无存。

有没有办法可以避免使单一中介毁坏匿名性呢?一个中介不够,那用两个、三个、甚至多个呢?这便是洋葱路由的基本思路。由于没有任何一个中介同时知道寄件地址与收件地址,因此想破坏寄件者匿名性将变得更困难。

洋葱路由与 Tor

洋葱路由(Onion Routing)最初是为了保护美国政府情报通讯而开发的协定,后来却因为其能帮助平民抵抗政府监控而变得世界闻名。

1997 年,Michael G. Reed、Paul F. Syverson 和 David M. Goldschlag 于美国海军研究实验室首先发明了洋葱路由 [13],而 Roger Dingledine 和 Nick Mathewson 于美国国防高等研究计划署(DARPA)紧接着开始着手开发 Tor,第一版 Tor 于 2003 年释出 [14]。2004 年,美国海军研究实验室以自由软体授权条款开放了 Tor 原始码。此后,Tor 开始接受电子前哨基金会(Electronic Frontier Foundation)的资助;2006 年,非营利组织「Tor 专案小组」(The Tor Project)成立,负责维护 Tor 直至今日。

Tor [15] 是洋葱路由的实作,它除了改进原始设计中的缺陷,例如线路(Circuit)的建立机制,也加入若干原始设计中没有的部分,例如目录伺服器(Directory Server)洋葱服务(Onion Service),使系统更强健且具有更高的匿名性。Tor 自 2004 年上线至今已有超过 7000 个由志愿者部署的节点,已然是一个强大的匿名工具。然而这也使其成为双面刃:一方面它可以帮助吹哨者揭露不法、对抗监控;另一方面它也助长了贩毒、走私等犯罪活动。但不论如何,其技术本身的精巧,才是本文所关注的重点。

Tor 的运作原理

隐私保护利器「洋葱路由」在区块链有何应用?Tor Overview [16]

Tor 是基于中继的(Relay-based)覆盖网路。Tor 的基本思路是:利用多个节点转送封包,并且透过密码学保证每个节点仅有局部资讯,没有全局资讯,例如:每个节点皆无法同时得知请求端与响应端的 IP,也无法解析线路的完整组成。

Tor 节点也称为洋葱路由器(Onion Router),封包皆需透过由节点组成的线路(Circuit)传送。要注意的是,Tor 线路仅是覆盖网路中的路径,并非实体网路的线路。每条线路皆由 3 个节点组成,请求端首先会与 3 个节点建立线路并分别与每个节点交换线路密钥(Circuit Key)

请求端会使用其拥有的 3 组线路密钥对每个送出的封包进行 3 层加密,且最内层密文需用出口节点的密钥、最外层密文需用入口节点的密钥,如此才能确保线路上的节点都只能解开封包中属于该节点的密文。被加密后的封包被称为洋葱,因其如洋葱般可以被一层一层剥开,这就是洋葱路由这个名称的由来。

封包经过线路抵达出口节点后,便会由出口节点送往真正的响应端。同样的线路也会被用于由响应端回传的封包,只是这一次节点会将每个送来的封包加密后再回传给上一个节点,如此请求端收到的封包就会仍是一颗多层加密的洋葱。

那么,请求端该选择哪些节点来组成线路呢?Tor 引入了目录伺服器(Directory Server)此一设计。目录伺服器会列出 Tor 网路中所有可用的节点 [17],请求端可以透过目录伺服器选择可用的洋葱路由器以建立线路。目前 Tor 网路中有 9 个分别由不同组织维护的目录,中心化的程度相当高,这也成为 Tor 安全上的隐忧。

Tor 线路的建立机制

隐私保护利器「洋葱路由」在区块链有何应用?Tor Circuit Construction [18]

Tor 是如何建立线路的呢?如上图所示,Tor 运用伸缩(Telescoping)的策略来建立线路,从第一个节点开始,逐次推进到第三个节点。首先,请求端与第一个节点进行交握(Handshake)并使用椭圆曲线迪菲—赫尔曼密钥交换(Elliptic Curve Diffie–Hellman key Exchange, ECDH)协定来进行线路密钥的交换。

为了维持匿名,请求端接着再透过第一个节点向第二个节点交握。与第二个节点交换密钥后,请求端再透过第一、二个节点向第三个节点交握与交换密钥,如此慢慢地延伸线路直至其完全建立。线路建立后,请求端便能透过线路与响应端进行 TCP 连线,若顺利连接,便可以开始透过线路传送封包。

洋葱服务

隐私保护利器「洋葱路由」在区块链有何应用?Clearnet, Deepweb and Darknet [21]

洋葱服务(Onion Service)/隐藏服务(Hidden Service)暗网(Darknet)的一部分,是一种必须使用特殊软体,例如 Tor,才能造访的服务;与暗网相对的是明网(Clearnet),表示可以被搜寻引擎索引的各种服务;深网(Deep Web)则是指未被索引的服务,这些服务不需要特殊软体也能造访,与暗网不同。

当透过 Tor 使用洋葱服务时,请求端与响应端都将不会知道彼此的 IP,只有被响应端选定的节点:介绍点(Introduction Point)会引领请求端至另一个节点:会面点(Rendezvous Point ),两端再分别与会面点建立线路以进行通讯。也就是说,请求端的封包必须经过6 个节点的转送才能送往响应端,而所有的资料也会采取端对端加密(End-to-end Encryption),安全强度非常高。

洋葱服务及暗网是一个令人兴奋的主题,碍于篇幅,笔者将另撰文阐述。

混合网路、大蒜路由与洋葱路由

这里再接着介绍两个与洋葱路由系出同源的匿名技术:混合网路大蒜路由

隐私保护利器「洋葱路由」在区块链有何应用?Mix Network Overview [22]

混合网路(Mix Network)早在 1981 年就由 David Chaum 发明出来了 [23],可以说是匿名技术的始祖。

洋葱路由的安全性奠基于「攻击者无法获得全局资讯」的假设 [24],然而一旦有攻击者具有监控多个 ISP 流量的能力,则攻击者仍然可以获知线路的组成,并对其进行流量分析;混合网路则不仅会混合线路节点,还会混合来自不同节点的讯息,就算攻击者可以监控全球 ISP 的流量,混合网路也能保证维持匿名性。

然而高安全性的代价就是高延迟(Latency),这导致混合网路无法被大规模应用,或许洋葱路由的设计是一种为了实现低延迟的妥协。

隐私保护利器「洋葱路由」在区块链有何应用?Garlic Routing Overview [25]

混合网路启发了洋葱路由,洋葱路由也启发了大蒜路由。2003 年上线的I2P (Invisible Internet Project)便是基于大蒜路由(Garlic Routing)的开源软体,可以视为是去中心化版的 Tor。几乎所有大蒜路由中的组件,在洋葱路由中都有对应的概念:例如大蒜路由的隧道(Tunnel)即是洋葱路由的线路;I2P 的网路资料库(NetDB)即是 Tor 的目录;I2P 中的匿名服务(Eepsite)即是 Tor 的洋葱服务。

不过,大蒜路由也有其创新之处:它允许多个封包共用隧道以节省建立隧道的成本,且其使用的网路资料库实际上是一个分散式杂凑表(DHT),这使 I2P 的运作彻底去中心化。若想进一步理解 DHT 的运作原理,可以参考笔者之前所撰写的 文章: 《连 Ethereum 都在用!用一个例子彻底理解 DHT》。

I2P 最大的诟病就是连线速度太慢,一个缺乏激励的去中心化网路恐怕很难吸引足够的节点愿意持续贡献频宽与电费。

区块链与洋葱路由

那么,基于实体网路的区块链能不能使用洋葱路由或大蒜路由 / 混合网路 / 其他技术,以维持节点的匿名?答案是肯定的。事实上,目前已经出现数个专案与提案:

全新的专案

  • Dusk:实作大蒜路由的区块链 [32],不过官方已宣布因其影响网路效能而暂停开发此功能。
  • cMix:透过预先计算(Precomputation)以实现低延迟的混合网路 [33],是混合网路发明者 David Chaum 近期的研究,值得期待。
  • Loki:结合 Monero 与 Tor/I2P 的区块链 [34],并使用代币激励节点贡献频宽与电力,由其白皮书可以看出发明者对于匿名技术的热爱与信仰。

于主流区块链的提案

  • 比特币:全世界第一条区块链,将于其网路使用一个不同于洋葱路由的匿名技术:Dandelion++[30][31],该匿名技术因其讯息传播路径的形状类似浦公英而得其名。
  • 闪电网路(Lightning Network):知名的比特币第二层方案,将于其网路内实作洋葱路由 [27]。
  • Monero:使用环签章保护用户隐私的区块链,将于其网路内实作大蒜路由,已开发出 Kovri[28] 并成为 I2P 官方认可的客户端之一 [29]。

于以太坊的提案

2018 年 12 月,Mustafa Al-Bassam 于以太坊官方研究论坛提议利用洋葱路由改进轻节点之资料可得性(Light Client Data Availability)[36]。若读者想了解更多关于以太坊轻节点的研究,可以参考台北以太坊社群专栏的 这篇文章。资料可得性是轻节点实现的关键,而这之中更关键的是:如何向第三方证明全节点的资料可得性?由于这个提案巧妙地运用了洋葱路由的特性,因此在今年 7 月在另一则讨论中,Vitalik 亦强烈建议应尽速使洋葱路由成为以太坊的标准 [35]。

在这个提案中,轻节点需建立洋葱路由线路,然而线路节点并非由目录中挑选,而是由前一个节点的可验证随机函数(Verifiable Random Function, VRF)决定。例如线路中的第二个节点需由第一个节点的 VRF 决定。线路建立后,出口节点便可以接着向全节点请求特定的可验证资料。由于轻节点在过程中维持匿名,因此可以防止全节点对轻节点的审查(Censoring)。取得可验证资料后,其便与 VRF 证明沿着原线路传回轻节点,轻节点再将可验证资料与 VRF 证明提交至合约由第三方验证。若第三方验证正确,则资料可得性得证

结语

隐私与匿名是自由的最后一道防线,我们应该尽可能地捍卫它,不论是透过本文介绍的匿名技术或者其他方式。然而,一个能保护隐私与维持匿名的区块链是否能实现真正的去中心化?这是一个值得深思的问题。

本文也是笔者研究区块链至今跨度最广的一篇文章,希望读者能如我一样享受这段令人惊奇又兴奋的探索旅程。

参考资料

1Jingwang Weishi, Wikipedia
2PRISM, Wikipedia
[3]privacytools.io
[4]Nothing-to-hide Argument, Wikipedia
[5]Anonymity vs Privacy vs Security
[6]Deanonymisation of Clients in Bitcoin P2P Network, Alex Biryukov, Dmitry Khovratovich, Ivan Pustogarov, 2014
[7]Example: P2P system topology
[8]Internet protocol suite, Wikipedia
[9]OSI model, Wikipedia
[10]Packet Traveling: OSI Model
[11]Packet Traveling — How Packets Move Through a Network
[12]A Protocol for Packet Network Intercommunication, VINTON G. CERF, ROBERT E. KAHN, 1974
[13]Anonymous Connections and Onion Routing, Michael G. Reed, Paul F. Syverson, and David M. Goldschlag, 1998
[14]Tor: The Second-Generation Onion Router, Roger Dingledine, Nick Mathewson, Paul Syverson, 2004
[15]Tor, Wikipedia
[16]What actually is the Darknet?
[17]Tor Network Status
[18]Inside Job: Applying Traffic Analysis to Measure Tor from Within, Rob Jansen, Marc Juarez, Rafa Galvez, Tariq Elahi, Claudia Diaz, 2018
[19]How Does Tor Really Work? The Definitive Visual Guide (2019)
[20]Tor Circuit Construction via Telescoping
[21]The DarkNet and its role in online piracy
[22]Mix network, Wikipedia
[23]Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, David Chaum, 1981
[24]The differences between onion routing and mix networks
[25]Monitoring the I2P network, Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor, 2011
[26]I2P Data Communication System, Bassam Zantout, Ramzi A. Haraty, 2002
[27]BOLT #4: Onion Routing Protocol
[28]Kovri
[29]Alternative I2P clients
[30]Bitcoin BIP-0156
[31]Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees, Giulia Fanti, Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath, 2018
[32]The Dusk Network Whitepaper, Toghrul Maharramov, Dmitry Khovratovich, Emanuele Francioni, Fulvio Venturelli, 2019
[33]cMix: Mixing with Minimal Real-Time Asymmetric Cryptographic Operations, David Chaum, Debajyoti Das, Farid Javani, Aniket Kate, Anna Krasnova, Joeri De Ruiter, Alan T. Sherman, 2017
[34]Loki: Private transactions, decentralised communication, Kee Jefferys, Simon Harman, Johnathan Ross, Paul McLean, 2018
[35]Open Research Questions For Phases 0 to 2
[36]Towards on-chain non-interactive data availability proofs

来源链接:medium.com