BitTorrent 今年已经存在了 22 年。从许多方面来看,它是一种技术协议,几乎与比特币一样重要,因为它在改变互联网上数据传输方式的范围上产生了重大影响。如果比特币是在人们不希望你这样做时用于发送资金的货币,那么 BitTorrent 就是在他们不希望你这样做时用于传输数据的机制。然而,它一直存在一个大问题,我相信任何曾经使用过它的人都对此非常熟悉。这个问题就是播种问题。
有多少人在下载完成文件后立即关闭了种子客户端,并在获得完整文件后没有继续进行播种?几乎每个人都有这样的经历。在没有用户在线并为其他人提供下载的情况下,BitTorrent 是无法运作的,而大多数用户在获取完整文件后并不会持续进行播种。尤其是当文件需求非常高时,人们在下载时会同时播种文件的各个部分,但当他们完成下载后,就会停止播种,但与此同时,其他人上线并开始下载,他们在下载时也在进行播种。只要通过这个循环的群体庞大,这种方式就行之有效,但如果不是,种子往往会逐渐消失,并因为人们停止播种而变得不可用。
这为单个种子文件的长期存储带来了问题。尽管在数据需求高峰时,它是一个使数据循环传播的出色协议,但是在需求减弱后,由于人们停止播种,这些数据往往变得无法获取。Durabit 是最近提出的一项试图解决这一问题的提案,该方案相对简单,但似乎为人们继续播种文件提供了可靠的激励机制。
该系统依赖 Chaumian ecash mint(混淆电子现金铸币)来推动文件播种者的激励机制。希望确保文件保持可用性的第三方与电子现金 mint 订立了合同,采用一系列带有时间锁的预先签名的交易形式。每笔交易都在两周的时间间隔内被时间锁定,并且每次支付一小笔金额给 Chaumian ecash mint。每次支付都是一个时间锁定的 UTXO,直到下一笔交易变得有效之前都无法花费,其余的资金最终返回到由发起这些交易的人控制的地址,链中的下一笔交易将花费找零输出。
在这系列交易中,第一笔交易通过在 OP_RETURN 输出中记录特定的种子磁力链接,将合同与发行者想要鼓励进行种子操作的文件关联起来。mint 持有这些预签名交易后,将第一笔交易提交到链上,并开始监控特定磁力链接的种子群。然后,mint 等待任何运行 Durabit 客户端的种子客户端与其联系。如果有 Durabit 客户端从与其在种子群中看到的某个相同的 IP 地址向 mint 发来请求,它将通过独立的渠道维持这个连接。
在这个过程中,mint 监视并追踪已在其注册的种子用户。在最新的支出可用之前的两周内,mint 向每个注册的种子用户发放 Chaumian ecash 代币,以确保数据的持续可用性。mint 可以根据数据的数量按比例分配代币,也可以在注册的种子用户中以抽奖的方式随机发放代币。一旦支出输出可支配,它可以宣布并开启一个兑换窗口,以在播种周期内用发行的 Chaumian 代币兑换实际的比特币。这个循环将一直持续到一系列预签名交易结束。对于合同的发行者来说,合同总共贡献的比特币数量以及每个周期支付的金额完全由其决定。
我确信大多数人都在想:「是什么阻止了 Chaumian mint 仅仅收集这些支出而不将其中的一部分分配给正在播种的人呢?」这就是这一提案的美妙之处:纯粹的激励。每次交易都向 Chaumian mint 支付一小部分资金,以时间锁定的方式输出,其余资金则返还给合同的发行者。任何时候,发行此合同的一方都可以通过双倍花费该输出来有效地撤销它,从那时起,所有后续的预签名交易都将无效。mint 了解到这一点,必须权衡通过为自己收取每笔支出的约定百分比而可能失去来自任何个体合同的所有未来收入的潜在损失,与保留整个支出但失去所有未来支出的百分比费用之间的潜在收益。
另一方面,合同的发行者最初之所以有动力发行合同,是因为希望通过激励人们播种来保持特定文件的可用性。如果他们真的希望该文件保持可用,最好的做法是不要撤销他们已经发行的任何合同,除非履行合同的 mint 行为不端。这种安排使激励得以正确对齐,以便对 mint 而言,监视种子网络并诚实地向播种者分发资金应该符合其最佳利益;而对于合同的发行者来说,只要 mint 继续诚实运营,最好不要进行双倍花费并撤销合同。
该提案关注实际审计诚实性的问题,无论是从 mint 审计分发代币和支付的播种者方面,还是合同的发行者审计 mint 方面。在 mint 审计播种者的情况下,它们可以定期选择种子文件的随机块进行下载。这应该提供足够的保证,以确保任何个体播种者实际上拥有并向其他用户提供该文件。在发行者审计 mint 的情况下,间接监视种子网络应该为评估 mint 的诚实性提供足够的依据。一旦合同开始,mint 开始发放支付,种子网络应该建立一个与合同提供的经济激励成比例的流量基线。如果发行者在任何时候注意到种子网络流量大幅下降,这是 mint 未诚实处理分发的很好指标,合同应该被撤销。
这两种方法都不是百分之百可靠的,特别是在 mint 审计种子用户的情况下,但它们应该足够好用。归根结底,如果一个播种者基本上只是从其他播种者那里获取数据以响应 mint 的挑战,那么为了他们能够这样做,数据确实需要足够可用,以便他们获取 mint 挑战他们产生的任何随机块。因此,在这种情况下,虽然行为者可能能够不诚实地从 mint 那里收取支付而无需托管和提供文件,但如果文件实际上不可用,他们将无法以这种方式操纵系统。我不认为这是一个致命的缺陷,因为它仍然实现了确保文件可用性的总体目标。
总体而言,Durabit 是一个由 Chaumian mint 作为可信方便的非常简单的系统,但我认为简单正是它的优势。mint 恶意潜逃的资金量很小,如果发生这样的事件,合同的发行者可以简单地撤销现有合同,并用另一个 mint 重新发行。我认为它为解决使用 BitTorrent 播种文件的激励问题提供了一个非常简单而优雅的解决方案,即使在用户需求大幅下降的情况下也是如此。