Revision history and IPFS entry, back to latest
hellolinux2021
IPFS What is this

Content Hash

Cosmos生态-DVPN白皮书(4) Sentinel dVPN架构概述

hellolinux2021
·
·
主要介绍Sentinel dVPN的架构

集中式VPN架构由多个中间服务器组成,这些服务器用于管理用户的权限,以及建立用户到VPN节点的连接。这种集中式体系结构要求对这些中间服务器有高度的依赖,由于存在多个故障点和多个攻击点,这对网络弹性构成了风险。集中式VPN网络的停机时间可以归因于一个或多个这些组件的功能不正常,并可能导致用户体验和满意度的下降。

与任何消费级VPN相比,Sentinel dVPN框架提供了难以置信的弹性和安全性。Sentinels架构最小化了中间服务器和依赖关系的数量。除了完全在链上进行的帐户管理和创建系统外,查询可用服务器的过程也在链上进行。作为应用程序托管的区块链将24/7运行,没有干扰,全球社区的验证器基础设施是去中心化的(不受1、2或3数据中心故障),这样应用程序的正常运行时间和用户体验将远远超过集中式竞争产品。

Sentinel架构弹性的一个主要贡献因素是计算能力的分散分布,这将需要运行Sentinel Hub和Sentinel Zone。Sentinel dVPN生态系统运行所需的计算能力不是依赖于任何集中式组织提供的,而是由专家“验证”组织提供的,分布在全球各地,具有高冗余系统,具有显著的带宽吞吐量和正常运行时间。

虽然Sentinel的架构确保了用户的匿名性不会受到应用程序本身的影响,但使用Sentinel即将推出的中继网络是必要的,以确保从出口节点的角度来看,用户是完全匿名的。Sentinel 中继网络将允许用户通过一系列的隧道连接“中继节点”,确保用户不直接与出口节点交互。

Sentinel自有的“带宽证明”协议确保了服务提供商(基于社区的节点)向最终用户提供的带宽提供的透明且不可信的度量。“带宽可证明性”协议与Sentinel区块链集成,为所提供的带宽服务的质量提供了清晰的跟踪记录,并在所有参与者之间建立了一定程度的信任。这些数据稍后用于确定节点是否满足所需的服务水平协议,以避免惩罚。

链上查询

Sentinel的“链上”查询系统的实现是Sentinel最重要的技术成就之一,并确保了高度弹性和去中心化的架构。

通过Sentinel的dVPN架构,用户和出口节点之间的连接可以直接建立,而不需要连接到由应用开发者或第三方控制的中间服务器(如发现节点的主节点)。这是通过利用区块链作为“节点查询”的分类账来实现的,节点具有与节点属性和连接指令相关的信息进行接口和存储的能力。用户的基于Sentinel的dVPN应用程序将通过从Sentinel专用dVPN区域的事务读取数据,简单地查询所有可用的dVPN节点,填充可用服务器列表。由于认证和身份管理已经发生在链上,理论上Sentinel dVPN dApp结构唯一的故障点(网络女巫攻击除外)成为链级潜在的共识安全故障。危及Sentinel dVPN应用的唯一方法就是危及验证者驱动的共识。

主流的VPN应用程序通常控制出口节点,同时也控制和利用存在于出口节点和用户之间的中间查询服务器,使中继网络的目的冗余,因为原始用户的IP很容易看到。

然而,“链上查询”体系结构意味着用户只需要直接与链通信,而不需要与任何其他可能记录交互的集中式服务器通信。

中继网络

一个强大的中继网络是任何端到端dVPN解决方案的重要方面,它完全维护用户的隐私权。虽然无论是基于Sentinel的dVPN应用程序的创建者还是基于Sentinel的任何参与者,Sentinel区块链可以访问与用户有关的任何个人信息(例如IP地址),在没有中继网络的情况下,托管在Sentinel生态系统中的一个出口节点可以访问用户的IP地址。而dVPN应用程序有能力提供相关证据,没有日志用户浏览和元数据收集/存储集中到应用程序开发人员,目前不可能证明日志不会被出口节点收集或存储主机本地设备。

为了用更简单的术语来描述中继网络,可以将用户和出口节点之间的连接比作用户向第三方拨打蜂窝电话。如果用户的意图是让第三方无法在来电显示中看到用户的号码,那么用户将不得不使用他们朋友的设备作为中继来屏蔽用户的电话号码。然后,用户必须打电话给让用户等待的朋友,并在合并两个电话之前拨打第三方的号码,从而在不暴露用户数据的情况下连接到第三方。

与蜂窝电话中间呼叫者的例子类似,中继网络由“中继节点”组成。中继节点在操作上与出口节点不同,因为出口节点直接与用户通信(在没有中继网络的情况下),同时也与internet上的web-server通信。而中继节点只与用户、其他中继节点或出口节点通信。

一个强大的中继网络包括:

  • 大量的参与者
  • 强大的治理
  • 多个网络集成

基于Sentinel的中继系统的使用,将主要针对那些愿意牺牲网速来改善隐私的隐私意识更强的用户。

中继网络的好处只有在大量唯一的参与者开始托管网络上的中继或出口节点时才能实现。如果在任何时候,一个实体控制了网络的很大一部分,那么该实体就有可能通过一个简单但有效的“中间人”(MITM)对用户进行去匿名化。中继网络的主要目标之一是确保中继节点无法识别它们是在向用户还是另一个中继节点隧道。如果一个用户发生路由流量通过攻击者的中继节点以及出口节点,攻击者能够关联用户的IP地址和反过来确定用户原始请求的信息流并不是简单的另一个继电器的参与者。

在中继网络中拥有一个分布式网络来防止中间人攻击的重要性被比特币生态系统分享,挖矿的目的是防止51%的攻击。如果一个实体控制了比特币网络挖矿哈希率的51%,那么这个实体就有能力破坏网络,通过执行双花攻击网络的完整性。比特币试图通过其激励机制对抗采矿生态系统中的这些垄断风险。这种激励机制根据矿工参与帮助发现和验证网络上新创建的块,为他们提供奖励。如果比特币是一个没有经济设计的志愿网络,它的安全性很可能会受到损害。一个能够访问重要硬件基础设施的强大实体可以很容易地获得采矿网络的多数控制权,一个志愿者驱动网络的例子是TOR网络。在TOR网络中,中继节点和出口节点的参与不受激励。相反,鼓励他们提供服务只是出于对权力下放背后的精神的共同尊重。业内专家担心,TOR网络已经被控制了大量TOR中继和出口节点的实体所破坏。此时,网络上大约有6000个TOR中继节点,平均每天有600万活跃用户。这清楚地显示了基于志愿者的网络的局限性和风险。

Sentinel中继网络的成功完全取决于唯一参与者的数量。吸引这些参与者需要通过网络上的机制进行一定程度的激励。

基于带宽的证明

在真正去中心化的网络中,带宽的分配与工作证明网络(PoW)中的矿工生成哈希值有一个共同的问题。这个问题围绕着服务提供者(或PoW情况下的矿工)滥用或伪造实际工作量的能力。比特币区块链上的矿工的主要职责之一是确认其他矿工的实际工作(或生成的哈希数),并确保没有人通过钻系统的空子来阻止奖励。同样,在去中心化P2P网络上的带宽分配情况下,也需要一个健壮的体系结构,以防止意图“欺骗”所提供的带宽量的不良行为者。

可以用一个类比来说明对带宽分配网络的可证明性解决方案的需求,即许多移动电话用户向他们的网络运营商提出的关于他们的国际漫游费的令人沮丧的经验。网络运营商提供的大多数漫游计划都对可使用的带宽量有限制,有时甚至按用户使用的总带宽量来计费。经常会听到一些人说,他们完全不信任自己的运营商,因为他们认为自己被多收了钱,也不明白漫游费的带宽消耗是如何计算出来的。

带宽分布的可证明性不仅对以网络为中心的用例非常重要,而且对以存储和计算为中心的用例也非常重要,因为这涉及到大量的带宽利用率。Sentinel生态系统的关键目标之一是开发和实现第一个带宽可证明协议,或“带宽证明”,以允许不可信的带宽共享。用于构建去中心化VPN应用的区块链框架,该协议的范围超出了构建在Sentinel上的去中心化VPN应用,具有与其他分布式p2p资源共享网络甚至主流应用集成的能力。

Sentinel的带宽证明协议的第一个原型实现发生在以太坊链上,由分布式主节点的外部网络支持。这些主节点将观察和测量服务提供商和用户之间的带宽分配,然后将会话的某些属性,如持续时间和消耗的带宽写入以太坊区块链。然后,dVPN应用程序的计费机制将检索该数据,以生成用户必须支付的发票。这个原型架构按照计划运行,但是由于需要一个额外的主节点网络,不能被称为真正的去中心化。

目前正在Sentinel上构建的带宽可证明协议的实现基于Cosmos/ tendermint的网络,涉及从服务提供商和用户两方面生成“带宽签名”。这些带宽签名本质上是由P2P连接在预先配置的一段时间内传输的带宽组成的消息。服务提供者和用户各自生成自己的签名,每个签名都是用各自的私钥签名的,然后这些签名存储在链上以供追溯使用。如果来自用户和服务提供者的带宽交换请求之间出现差异(在预先配置的时间内),则连接将由于交换中至少存在一个恶意行为者而被终止。

dVPN应用程序开发者确定的带宽签名变量:

  • 每个带宽签名产生的时间段
  • 用户和服务提供商签名差异的阈值百分比

例子:Sentinel“带宽证明”协议与构建在Sentinel框架上的“XYZ”dVPN集成。签名生成的时间范围为10分钟,差异阈值为10%。在dVPN使用的前10分钟内,服务提供者输入一个表示提供的1.05 GB带宽的链上签名,用户输入一个表示使用的1GB带宽的签名。两个签名之间的差异落在10%的阈值之间,允许已建立的连接继续而不中断。

在下一个会话中,服务提供者的签名代表提供的2 GB,而用户的签名代表使用的1.5 GB,两个签名之间的主要差异超过阈值,导致连接被终止。

支付模式和代管

点对点带宽分配的货币化允许使用比传统VPN行业通常看到的更动态的支付模式。除了一般的“预付费”系统(用户在固定时间内购买订阅服务)之外,带宽提供商(节点主机)也有能力设置他们自己的每单位(GB)带宽消耗的定价。

在Sentinel生态系统上运行的dvpn将可以通过传统的基于法币的选项(如信用卡)以及由Sentinel支持的大量加密货币进行支付cosmos IBC。然而,通过这两种模式的带宽定价将主要以法币计价。

需要注意的是,虽然带宽的支付可以通过加密货币或法币进行,但带宽提供商(节点主机)为托管节点的基础设施支付的费用几乎总是以法币计价的。与基础设施相关的成本包括云计算成本以及电力成本(如果节点主机使用自托管的物理设置)和硬件成本。

在Sentinel生态系统中,dVPN用户可以使用的两种关键支付模式包括:

  • 实时 - Sentinel上的dVPN节点主机使用了一种实时支付模式,允许用户按带宽消耗的单位GB付费。在这种支付模式中,节点主机也有能力为其服务设定自己的价格。
  • 预付费 - 预付费模式是一种更传统的支付模式,类似于主流VPN行业中常见的付费模式,即用户购买特定时间段的访问权限。在预付模式中没有带宽消耗的限制,使用通常是无限制的。

Sentinel dVPN托管系统

在用户和服务提供商之间的实时支付模型中使用了托管系统,以确保任何一方都不能以欺诈手段影响交易。在能够建立连接之前,要求用户在托管中锁定一定数量的令牌,令牌将根据用户所消耗的带宽定期从这个锁定的数量中扣除。提供给用户的带宽的精确测量是通过哨兵“带宽证明”协议进行的,该协议与托管机构通信,以建立一种完全分散的方法来从托管机构释放令牌。

白皮书:https://sentinel.co/whitepaper

CC BY-NC-ND 2.0