Filecoin 经济模型与机制探讨:太空竞赛、FIL、中心化

2023-06-01 区块链达人
F

ilecoin 致力于成为一个去中心化的存储网络,为世界保存重要信息。经过多年开发,现在终于临近上线。但是,就在不久之前,官方还在修改经济模型,加入了前置抵押、延长了 WaitSeed,在矿工中引发了很多讨论。

北京时间 8 20 上午 8 点,一位化名“宋江”的矿工在 Filecoin slack 的# fil-lobby 频道发布了一篇名为“Filecoin, A ‘Centralized’ Storage Network”的文章,文章提出即将开始的太空竞赛存在缺乏公平、大矿工垄断、发牌的人也在玩牌等问题。随后“宋江”表示:“致所有矿工: 我会在太空竞赛的期间对所有的大矿工进行网络攻击,直至其订单成功率降至 80% 以下并失去获奖资格。”

北京时间 8 21 上午约 7 点,“宋江”再次现身 # fil-lobby 频道,表示 Filecoin 作为区块链项目,其消耗的能源应该带来网络的去中心化,而目前在 Filecoin 中存在太多的优先级,中心化程度高,整个网络很容易被少数人操纵。随后,针对 Filecoin 的中心化问题,“宋江”向 Filecoin 官方进行提问,并与 Lotus 的开发负责人 Why 进行了一系列关于太空竞赛 Bot、经济模型、Filecoin Discover、中心化等问题的讨论。我们作为矿工,并不赞成攻击行为,但我们认为这些对机制、设计的讨论很有意义,特此整理翻译。相关讨论内容如下:

Q1

宋江:在太空竞赛中,如何证明来自一个中心化的机器人的订单成功率是可信的?是否存在通过篡改成功率而让某些矿工获得或丧失比赛资格的可能?

Why:

此次太空竞赛由我们

协议实验室举办并发放奖励

,所有的验证过程也都是由我们来完成,所以其可信度大可不必担心。当然,你也可以选择不参与此次太空竞赛,等待更加去中心化的主网上线,然后和其他人一样参与挖矿。

我知道你还是对 Filecoin 开发者目前正在做的事情心存疑虑。但是现在你只有2个选择,要么相信,要么不相信。机器人也是其中的一部分。我们的团队正在尽力让这一切变得更加的透明化,但是最终的选择权还是在你自己的手上。

你或许可以攻击你的矿工同伴,让本该正常工作的机器人无法与他们进行订单交易,但是我们有许多网络指标,并且可以检测可疑活动。因此,并不是“机器人说了算”,而是由我们来分析机器人的输出是什么并确保其正确性。

你可以选择加入竞赛测试网,参与挖矿或做任何其他想做的事情,但这次竞赛是由我们来给出奖励,而非 Filecoin 网络。当主网上线后,你可以用你喜欢的去中心化的方式挖矿,来获取你的奖励。

Q2

宋江:Filecoin Discover硬盘的销售记录能否公开?利润和利润的使用方式能否公开?是否有矿工可以通过“私下的”手段获得比别人更多的硬盘,从而在挖矿过程中取得更多的优势?官方团队自己是否可以使用这样的硬盘进行挖矿?利润后续将会用于何种用途?

Why:

我们在不久之后会对 Discover 项目的销售记录进行公开,我们也没有不公开的理由。在该项目上,不会存在任何的利润。其中存在的成本涉及硬盘成本、运输成本、大量的工程开发时间成本等等,请相信我们所花费投入的成本肯定比 Discover 收取的费用高。

另外,这也并不是获取验证数据的唯一方式,我们正在与一些不同的群体合作来设立验证者。如 textile 将会成为验证者,它能够给他们的用户一些配额以进行验证的客户交易。如此一来,矿工更像是为 Filecoin 网络上 DApp 的用户提供数据存储,而 Filecoin 上的用户将拥有更好的数据存储体验,这些意味着网络规模将会越来越大。

宋江:

你们在回避我问题中最关键的点。不妨让我进一步阐述。我想提醒的是,你们现在有权力生产任意多的硬盘,你们也有权力将硬盘以任何价格出售给任何矿工,你们甚至有权力授权任何人成为硬盘的生产商。这些权力,没有任何约束。不需要提前告知社区,也不需要社区投票表决。你们可以根据自己的偏好来决定网络中优先存储的内容,而不是将自由选择的权力留给社区和用户。为什么你们认为的有用数据就是有用的?为什么你们授权的生产商就能生产“有用”的数据?为什么你们能决定这样一个去中心化的网络中到底应该优先存储什么样的内容?现在整个网络,就是全世界的矿工在为接收官方的订单、存储官方的数据而服务。它就是一个去中心化的官方网盘。你们的团队为了生产硬盘花费了大量的时间和金钱。那么,作为一个去中心化的项目,硬盘生产商和硬盘内容的选择,能否交给社区投票决定?我相信这个频道里有数不尽的人们愿意帮助你们去生产这种硬盘,且不计利润。

Why:

这个问题是关于治理的。考虑到你提问的详细程度,我猜你一定已经亲自花时间熟悉涉及有关代码,清楚验证数据在链上的真正含义(如果还没有,那很可耻,你是在恶意提问)。考虑到本次探讨还会有普通用户观看,我将进行详细说明:

当用户向矿工提交订单时,任何订单都可以标记为“已验证”。并且如果该用户拥有足够多的“已验证用户配额”,则该订单本身的算力值将是其他任何扇区空间的10倍。

“已验证的用户配额”可以在 VerifiedRegistryActor 中进行跟踪。这个 Actor 有两个治理层,顶层是一个多重签名,将由整个生态系统中相当多的成员担任。比如 Filecoin 基金会、协议实验室代表,以及生态中的其他知名团体(我很想让以太坊基金会成为 keyholder 之一)。这个顶层称作为 “root key”,只可以做一件事情,就是将“数据容量”授权给其下一层——“验证者”。这里的“数据容量”是指该验证者当下可以提供的特定数量的已验证数据(以字节为单位)。

现在的问题是,谁将成为验证者?任何想要建立在 Filecoin 之上并让用户将数据存储 Filecoin 中的群体,都可以轻松获得“验证者”的身份和“数据容量”。像 textile、fleek、slate 等等将会获得验证者的数据容量,然后据此可以将其部分“数据容量”授予其用户。

在这里,Filecoin Discover 项目实际上只是一个客户,每个硬盘将会从验证者那里请求数据容量,而验证者则从“根治理多签”获得其数据容量分配。因此,Filecoin Discover 并不能按所需数量随意生产。

现在,所有这些都导致了一个关键点,我认为很多人也都错过了,那就是:为将要存储在 Filecoin 上的任何数据来获取经过验证的客户数据容量应该很容易,任何需要的人都可以获得一些数据容量来存储他们想要存储的任何数据。

唯一无法获得数据容量的是那些想要存储垃圾数据以提高算力的矿工。Filecoin 的重点是存储真实数据。Filecoin 的共识机制不是像

比特币

那样的无用的工作量证明,而是有用的工作量证明(存储)。

你存储的数据应该对世界有真正的价值,而不是一些无用的内容仅仅为了填满硬盘获得区块奖励。我们的目标是,网络中几乎所有的算力都应来自“经过验证的客户”订单。

相比较而言,“承诺容量”扇区(没有订单的扇区)贡献的总算力应该非常低。这意味着那些不打算接受订单和存储真实数据的矿工将获得非常少的算力,因为他们的每个硬盘仅会给他们带来存储真实数据的矿工硬盘的十分之一的算力。

宋江:

对于销售记录公开的问题,回答是“可能”。我暂时接受“可能”作为问题的答案。对于利润的问题,回答是没有利润。我姑且也选择相信了。你们展示了一系列对于验证客户端的设计和未来规划,告诉我未来任何有真实数据存储需求的人都可以很容易成为验证客户端。我会记住的。

Q3

宋江:最后一个问题,是所有矿工最关心的。在主网上线的时候,作为一个矿工,是否需要花费大量的金钱,向官方或早期投资者购买FIL,用作挖矿过程中的扇区前置抵押?需要购买多少数量的FIL?会以什么样的价格?通过交易所还是什么其他渠道?如果我有大量硬件,但是没有足够的钱购买足够的FIL,是不是意味着就不能参与挖矿了?前置抵押这个对矿工不友好的规则,究竟是为了防止存储数据的丢失,还是官方考虑自身利益和前期投资人利益的结果?数据丢失的问题,为什么不能仅仅通过后置抵押解决?在主网上线后的第6和12个底,FIL的流通量会是多少?

Why:

我们首先讨论下抵押的必要性、抵押的数量和原因,然后再对早期矿工如何获取抵押所需要使用的代币作一个详细的解释。

矿工因为封装扇区获得算力,这个算力赋予他们对网络一定的控制能力。

对于攻击链的成本和收益问题,无需过于深入地讨论共识安全和经济模型。要维护像 Filecoin 一样的开放参与网络的安全性,必须要求任何对网络进行一定程度的控制相应付出一定的成本,否则攻击者太容易进入和接管网络了。

对于 Filecoin 来说,购买硬盘和封装设备是攻击成本的一部分,但是我们以不同方式进行了测算,只有当网络达到极大规模(没记错的话,一旦网络超过 1 Zetabyte,抵押可以接近于 0),我们才可以依赖仅有的硬盘成本和封装设备成本来确保网络安全。因此,在网络达到该规模前,抵押机制必须要成为 Filecoin 经济安全的补充。

那么现在,需要多少抵押呢?这取决于网络规模大小以及网络中流通的 FIL 数量,抵押成本的是基于你在一定时间内针对给定sector的预期区块奖励来定价的。目前,需要抵押的 FIL 数量等于在 20 天内我们预估你从该 sector 获得的区块奖励的 FIL 数量。

需要明确的一点是:这些资金只是暂时被锁定,而非支付给系统。在 sector 到期后,你可以将其取回。

当前由于处在网络早期,与之后总算力较高时的任何时间相比,现在每个 sector 都拥有较高的预期奖励。这意味着初始抵押值会更高一些,以换取更高的潜在回报。对于太空竞赛,我们将这个数字限制为每 32GB 扇区 1 FIL。我们将观察其效果并确定是否在主网上保留这个 1 FIL 上限(我个人支持)。但是无论如何,这意味着在网络启动时,每个扇区最多需要 1 FIL 作为抵押。因此,如果你要抵押 30,000 个扇区(大约 1 PB ),则必须抵押最多 30,000 FIL (请注意,我说“最多”,因为该数字假设没有其他人正在 commit 扇区并增加网络总算力)。因此,这是很大一笔 FIL,很可能会限制你的存储速率。但我觉得还好,因为我认为你无法通过网络中的早期订单快速获取那么大量的数据。而且我对为只想存储空扇区的矿工进行优化并不十分感兴趣(请记住:Filecoin 是为了真实数据而存在的)。

那么,你将从哪里获得初始 FIL 呢?首先,是太空竞赛。我们正在举行这场比赛,并提供 FIL 作为抵押品来帮助建立早期网络。此外,交易所将是购买用作抵押品的 FIL 的好地方。我十分确定会有足够的投资者希望将其代币出售给你,这将确保有足够的供应(在网络早期,投资者帐户中每天大约有 50 万个代币解锁,尽管其中很大一部分因其他原因将被锁定而不能转移)。最重要的是,我们正在做一些建模工作,并研究了可以使人们更轻松地实现此目的的不同方式。我们的 cryptoecon 团队正在撰写一篇博客文章,将对此进行更详细的说明。

协议实验室不会在 Filecoin 网络早期出售任何持有的代币,因此市场流动性将仅仅来自于早期投资者。(注意,所有投资者的资金存在至少 6 个的锁定期,并线下释放)。

社区矿工arctic:

对矿工来讲,从Filecoin主网上线第一天,就要去交易所购买FIL用于抵押挖矿,这是非常困难的。矿工每购买1个FIL需要支付50美金,但是6个后将会损失很多价值。

如果想通过引入博弈论来构建一个更好的系统,那么唯一要做的事情就是鼓励诚实矿工,这也是Bitcoin成功的原因。一味地要求抵押是无法成功的,相反如果你奖励诚实节点,网络将向好的方向发展。

另外我也想了解更多关于“为什么需要抵押机制”的技术细节。我认为这里许多都是开发者,我们可以理解每个细节。

Why:

是的,这是矿工不得不做出的决定。我也同意这并非易事,但如果你要在网络上线的前几周内抵押无限的空白扇区,那就必须面对一些困难。

如果你想了解抵押机制实现的技术细节,可以在repos中查看相关代码。

社区矿工arctic:

这对于已经在挖矿硬件上投入几百万美元的矿工来说很不公平,现在如果他们没有FIL进行抵押,就无法参与挖矿。为什么不将前置抵押改成获得FIL奖励后进行锁定?

Why:

主要原因是因为如果将前置抵押改成后置锁仓,那么获取算力和挖矿的成本会变成零。这种情况下,如果攻击者试图接管网络,他将不会有任何风险,攻击成本将变得非常低。

记住,只有在网络规模较小时,抵押才会比较昂贵。如果你想在抵押上花费较少,就等着网络规模增长起来吧。

社区矿工arctic:

根据目前测试网的硬件情况,我认为攻击成本很高。矿工已经在硬件上投入1亿美元,这意味着攻击者至少需要1亿美元才能接管网络。也别忘了,硬件并不是免费的。

Why:

硬件的确不是免费的,但却是可租赁的。你可以通过转售挖矿硬件来换回之前的投入(我们估算大约是50%,具体取决于硬件类型)。

社区矿工arctic:

对于 nothing at stake 攻击问题,可以选择比抵押更好的解决方案。而抵押将会限制网络增长。

Why:

是的,抵押会限制网络增长,链的带宽也会限制网络增长。并且那种增长只是矿工承诺空的扇区,而非向网络提供任何价值。

社区矿工arctic:

要真正进行 nothing at stake 攻击是十分昂贵的,并且需要一些运气。

Why:

我十分赞成。nothing at stake 攻击是很难实施的。

社区矿工arctic:

虽然有几种方式来解决这个问题,但是避免 nothing at stake 攻击的一种简单方式,就是将Filecoin区块链网络上的一些数据,周期性的放到Bitcoin区块链和Ethereum区块链上。这样就可以通过去中心化的方式证明特定区块链的存在以及链的“年龄”。

所以,像“为了解决 nothing at stake 攻击而不得不选择前置抵押”这样的解释,并不能说服我。如果没有涉及到安全问题,我不能支持这种抵押机制设计。它只会限制网络增长,并不能使网络更加安全。

我的理解是,抵押机制只是经济考虑。实际上,我们都希望Filecoin能够成功,但我们不得不接受一个事实——主网上线后前6个,大部分扇区将会是空的。而前置抵押机制并不能解决空扇区问题。

Why:

确实,你可以挥挥手并说“已经部署检查点了”。但是谁来决定是什么哈希走向哪里,以及标准来源在哪里?你希望协议实验室每天播报当前区块链的头在哪里吗?

社区矿工arctic:

我的理解是,你应该首先为Filecoin网络配备大量硬件,比如10亿硬件,然后再解决空扇区问题。

Why:

可是如果我们那么做了,选择在扇区开始获得真实数据之前不支付区块奖励,你会开心吗?

似乎你想要的只是在无需存储真实数据的情况下赚钱。你给我的印象是,你实际上并没有致力于网络的长期成功,而只是想在一开始就快速赚钱(这就是为什么你抱怨最初的抵押费用太高)。

社区矿工arctic:

我认为可以支付少于正常奖励的金额给矿工,比如整个奖励的20%-30%。

所有来到Filecoin的矿工都是致力于长期发展的,他们的硬件只能用来维护Filecoin网络。

Why:

Filecoin硬件不是特定用于Filecoin挖矿。它是标准HPC服务器,GPU和一堆磁盘。实际上,任何HPC机构都会购买你使用的Filecoin挖矿硬件。

社区矿工arctic:

所有矿工都想赚钱,这不是矿工的错,也不是我的错。甚至Bitcoin矿工都想赚钱。它应该是一个激励兼容的生态系统。矿工一直在赚钱,因此他们可以购买更多硬件来扩大Filecoin网络的规模。难道这不是你们想要看到的吗?还是说你希望所有矿工赔钱而选择离开?

Why:

我们确实是围绕激励兼容性设计机制,这是核心设计理念。并且除了早期的抵押问题外,我们还有一个很好的模型。正如我所提到的,我们仍在努力弄清楚网络应该如何启动,努力争取限制前置抵押数量、用未来的区块奖励支付“未兑现”的抵押等事情,也获得了一些成功。

我确实认为,在主网上线前抵押可以减少,转而使用更平滑的函数,并且或许可以更多地依赖区块奖励锁定。另外,就抵押机制的实际交互情况进行研究,也是太空竞赛的主要目标之一。直到网络具有一定的价值,我们才能获得关于这一切的非常好的数据。

社区矿工arctic:

这与赚钱与否无关,我们是从技术上探讨,为什么要使用抵押机制来实现网络安全。我希望Filecoin网络能够成功,这就是我们正在讨论的原因...你不能说我只是想赚钱,这似乎不够专业。无论怎样,我理解你们的压力。我没有恶意,只是想了解有关抵押设计理念的更多细节。感谢你的回复。

Why:

感谢一起探讨,这些事情确实不简单。

社区矿工arctic:

谢谢,我唯一的建议是,如果决定使用抵押机制,除了从交易所购买FIL用于抵押之外,请提供给矿工更多选择。

Why: 

是的,我同意。太空竞赛是一种方式,我们还在考虑更多的方式。

社区成员Senshi:

看到有关质押的讨论(矿工将从何处获得初始Filecoin?),我在HackFS上提出了一个解决方案。我们将为矿工提供更多选择,使其借用FIL,而不是从交易所购买代币。如 arctic 所建议的,如果矿工可以接受20-30%的折扣奖励,则可以通过借用FIL来实现。从经济上讲,这等同于支付该金额的利息并借用FIL进行抵押。不仅提供贷款,我们还提供跨货币掉期合约。有了贷款和掉期合约,矿工就无需在赚取高利率的同时卖掉FIL。

我们的设计理念是,如果矿工想要最大化利润,他们希望借出/交换FIL。在当前经济不景气的情况下,对加密贷款/掉期进行再投资比从零转换为法定货币要好得多,这比在法定货币中获得零利率要好得多。

此外,我们还建立了场外交易大宗交易货币市场,因此矿工可以在不影响汇率的情况下购买/出售较大的FIL。因此,不会遭受无偿损失。

社区矿工arctic:

感谢你的友善及解决方案@senshi。我想你误会了我所说的内容。我理解@Why想要从主网上线第一天就开始封装真实数据,但矿工却会封装空数据。因此我认为可以降低空扇区的出块奖励为正常奖励的20%-30%,而如果矿工封装有效数据,则可以得到完整的区块奖励。

我这里有一些数据,现在每32G扇区需要1FIL进行抵押。假设有一名大矿工,其封装速度是1PB/天,那么相当于每天封装31250个扇区,那么每天需要抵押31250个FIL。这意味着每天需要抵押大约50万美金的FIL(因为前期流通量非常少)。

如果全网封装速度是10PB/天 (大概率会在主网上线的时候发生),这意味着基本上需要买下市场上的每一个FIL。那么有两件事情会发生:

其一,矿工由于需要抵押,将不会卖出任何挖到的FIL。这意味着市场上没有任何FIL流通,不会有任何新的矿工加入网络,因为他们无法购买FIL进行抵押。并且,他也会担心如果他以30$-50$的价格购买FIL,他会因为参与挖矿而损失很多钱(或许几个后FIL价格会掉到10美金?)。

其二,如果市场上没有币流通,这意味着没有抵押、没有新的矿工,那么Filecoin会变成寡头和垄断的网络,它会变得越来越中心化。如果真的想让Filecoin网络去中心化,需要降低参与门槛而不是增加壁垒。我知道有许多因素需要考虑,但是需要考虑效果。

一个解决方案是,确保当全网封装速度到20PB/天时,每抵押量不应该超过每供应量的20%,最好是占每供应量的10%。这意味着封装一个扇区需要抵押0.1FIL或者0.05FIL。这是考虑到安全性、当前矿工、新矿工及市场因素的权衡。

@senshi 你所提供的方案中,主网上线第一天的FIL从哪来?你可能对市场和矿工的博弈过于理想化。即使矿工让大公司来存储数据,我不认为所支付的费用能够覆盖硬件成本。现在Filecoin更适用于存档数据,而非常使用的数据。

我的观点是,抵押对于网络的增长而言可能不是一个好的设计。或者至少应该转变成后置抵押(比如矿工获得奖励后,需要锁定20天这样)。我知道你有很多金融工具来对冲风险,但是复杂性本身也会带来风险,尤其在加密货币世界,还记得3份BTC跌到3200美元吗?几乎所有的做市商都离开出局了。

我只是希望当网络达到20PB/天时,每天的总抵押量小于10万FIL,即每释放量的20%。而根据当前模型,将永远无法看到20PB/天的增长规模,或每天需要100万FIL用于抵押,这没有任何意义。