1-语雀顶端.jpg
    块检索的定价协议

    接下来,我们将描述节点用于传达其在 Swarm 网络中交付块的价格的协议。建立在该协议之上,然后希望在服务质量和价格方面与其他节点在市场上竞争的节点可以实施策略。


    01 价格发现

    该协议的主要优点是它允许价格发现机制仅基于本地决策,这是必不可少的,原因如下:
    (1) 世界范围内的带宽成本并不同质,允许节点通过价格来表达其成本结构将促进价格和质量的竞争,最终使最终用户受益。
    (2) 由于使用或连接的波动,对带宽资源的需求不断变化。
    (3) 能够对变化直接做出反应,从而创建了一个自我调节系统。

    实际上,如果没有这种可能性,节点运营商可能会在成本上升时决定关闭他们的节点,或者相反,当成本或需求下降并且节点没有降低价格的竞争压力时,最终用户可能会在很长一段时间内因此多付钱

    带宽是一种“即时满足”的服务,因此立即确认和计算其成本是合理的。由于很难想象带宽的整体需求和供应存在任何外部性或非线性,因此定价机制提供
    (1) 高效和即时的信号传输
    (2) 具有最少切换和发现的竞争选择成本,最有可能适应导致全局最优资源分配的策略

    为了促进这一点,我们引入了一个协议消息,可以将这些价格传达给上游同行。我们可以将此消息概念化为对请求的替代响应。节点维护与每个接近距离的每个对等点相关联的价格,因此当它们发出检索请求时,他们已经知道如果下游对等点在生存期内成功交付有效块,他们承诺支付的价格。但是,将价格信号限制为仅响应是没有意义的:无论出于何种原因,对等方决定更改价格,即使有响应请求,交换此信息也符合双方的利益。为了防止通过向上游节点发送价格变化消息来防止 DoS 攻击,价格消息的速率是有限的。表现良好且价格具有竞争力的节点受到同行的青睐;如果一个节点的价格设置得太高或者它们的价格表现出比网络中其他节点高得多的波动性,那么对等节点将不太愿意向它们请求块

    为简单起见,我们假设默认价格为零,对应于免费服务(利他策略)


    02 邻近区块的差异定价

    如果块的价格在所有邻近点都相同,那么节点除了有可能缓存块并通过转售来赚取收入之外,没有真正的动机来转发请求。对于新块来说,这个选项很难证明是合理的,尤其是当它们处于不太可能被请求的节点的浅层邻近顺序中时。更重要的是,如果块的定价在邻近顺序之间是统一的,则串通节点可以产生块流量和与他们发送的一样多,实际上是免费的 DoS 攻击(见图 1)。

    为了减轻这种攻击,请求者为一个块支付的价格必须严格大于当请求从请求者路由到存储者时存储者节点将获得的补偿。我们需要有一个奖励转发节点的定价方案,因此,这需要按节点进行差异定价接近。如果随着节点离块越远而交付的价格越低,那么请求总是可以以这种方式发送,因为转发器将收取差价并因此获利。这意味着有效的差异化方案将收敛到定价模型,如果对等点距离块地址更远,则交付成本更高,即块交付的奖励是接近度的递减函数

    1 虽然这表明不合理的定价是由市场力量处理的,但为了防止由于剧烈的价格波动而导致的灾难性连接变化,可能需要在协议级别强制执行限制变化率。
    image.png

    图 1:跨邻近区域的统一块价格将允许 DoS 攻击。攻击者可以通过向只有 S 可以服务的 S 发送检索请求,在两个节点 D 和 S 之间创建流量流。如果邻近区域的价格相同,则此类攻击不会为攻击者带来任何成本。

    由于沿交付路径和附近的竞争压力,我们预计节点应用于下游价格的差异会向转发实例的边际成本收敛。下游价格由节点的 bin 密度决定。


    03 同行价格统一
    image.png

    图 2:价格套利。节点为每个对等点的每个邻近订单的价格保持一个价格表。该图显示节点 0101 试图转发对 0000 的检索请求。箭头源自最近的节点,并指向其他对等节点尽管距离块较远但转发成本较低的单元格。选择更便宜的对等点将引导流量远离定价过高的对等点,并导致双方都面临调整压力。

    这种价格差异为节点提供了套利机会。转发到最便宜的同行的策略将引导流量远离昂贵的同行,并为更便宜的同行增加流量,因此价格会有所调整。

    在其他条件相同的情况下,这种价格套利策略将实现:
    (1) 全网同一邻近订单统一价格,
    (2) 作为接近度函数线性下降的价格
    (3) 节点可以增加连通性并保持较低的价格。通过这种方式,激励被设计为使对单个节点有利的策略也整齐地对齐,以便有利于整个系统的健康。


    04 箱密度

    基于下游对等点与块的接近度的收费具有重要的后果,即从向单个请求者的非本地交付的单一行为中获得的净收入是块与节点本身的接近度与节点之间的差值的单调递增函数请求被转发到的对等点。换句话说,我们在一个转发请求中可以覆盖的距离越长,我们赚的就越多

    这种激励与下载者的兴趣相一致,即在服务请求时节省跳数,从而降低延迟交付和带宽开销。该方案激励节点在其 Kademlia 箱中保持尽可能深的无间隙平衡地址集。即,节点保持密集的 Kademlia 箱比保持细小的 Kademlia 箱更好。

    能够维护更密集 bin 的节点实际上与更薄的 bin 具有相同的成本,但节省跃点将改善延迟并使对等点更高效。这将导致对等点比具有相同价格的其他对等点更受欢迎。增加的流量本质上也会导致带宽争用,最终导致价格上涨。

    请注意,这种套利在可供选择的对等点数量较多的浅箱箱中更有效。这与责任区的深垃圾箱大相径庭。如果节点不复制其邻居块,则这些块中的一些将需要由更靠近地址但远离节点的节点请求,这只能是亏本。对邻居复制其责任范围的额外激励。但是,通过存储责任区域,节点可以选择任意设置其价格


    05
    05 缓存和自动缩放

    节点每次为一个块提供服务时都会获得奖励,因此块的盈利能力与其受欢迎程度成正比:请求块的频率越高,相对于每时间单位的固定存储成本,奖励就越高。当节点达到存储容量限制并决定删除哪些块时,理性利润最大化代理的最佳策略是删除盈利能力最低的块。对此的良好预测是上次请求的年龄。为了最大化要从中选择的块集,节点会对其中继的交付以及它们同步的块进行机会缓存。这会导致流行的块被更广泛地传播和更快地服务,使整个群体成为一个自动缩放和自动平衡的内容分发网络

    2 将继续确定比上次请求的年龄更好的预测块盈利能力的指标并发展起来。


    06 非缓存节点

    任何让中继节点获利的方案都会为仅转发非缓存节点进入网络创造积极的激励。这样的节点本质上对网络没有好处,因为它们会产生不必要的带宽开销。一方面,它们的存在原则上可以减轻存储节点中继流量的负担,因此在浅箱中使用它们可能不会有害。另一方面,在接近邻域深度时,他们的对等节点会更喜欢缓存/存储节点,因为他们至少在他们假设的职责范围内的块上处于劣势。非缓存节点也有助于增加匿名性