Filecoin存储用户为什么不能直接付款给矿工?

星际导航
Filecoin存储用户为什么不能直接付款给矿工?

Filecoin网络是一个去中心化网络,也就是说,这里没有一个主权者来监管整个系统,系统完全靠共识、靠算法运行来维护;

Filecoin存储矿工需要为自己背书,背书的方法就是抵押FIL到网络之中,作为对自己承诺的保证,当不能实现自己的承诺时,同意抵押被没收

Filecoin矿工的挖矿是,在成功提供存储服务的基础之上进行的,因此,挖矿和提供服务是相辅相成的;

Filecoin网络提供一个透明的存储市场,在这个市场中,矿工和用户之间可以自由交易。

在Filecoin这个市场上,矿工是主要角色。当矿工希望提供存储服务时,需要做以下几件事:

1)存储矿工在网络登记(在Filecoin节点上执行创建矿工的指令),这时,Filecoin的链上会增加相应矿工的角色。

2)存储矿工承诺可使用的存储空间并进行质押,这即是承诺质押(Pledge Collateral)。

3)存储矿工挂单,声明单位存储的价格,并声明这个价格的有效期为多久。

4)之后,存储用户可以询问网络,目前有哪些矿工在提供服务。

5)经过比较,选定一个矿工,并提出交易要求。

6)存储矿工收到交易申请,回复并达成交易。

交易达成虽然只有一条指令,但其中涉及到很多细节。大致包括如下方面:

查询区块链,查看是否指令中涉及到的矿工及其挂单是否有效;有效则继续,无效返回错误;

连接矿工所在节点,如果不能连接,返回错误,能够连接,继续;

等待矿工返回同意存储申请;

传输需要存储的文件给矿工;

创建支付通道,客户付费给支付通道(注意,不是直接付给矿工);

矿工接收完数据,开始做封装(Seal);

矿工封装完成,验证数据保存完整;

在存储交易要求的区间内,矿工持续证明存储完好,并从支付通道获得报酬。

为什么Filecoin存储客户是付费给支付通道而不是矿工呢?那,支付通道又是什么?

支付通道在这个网络中是一个很关键的角色,注意,是个角色。当然,矿工在网络中也是一个角色。我们可以把支付通道看成是一个人,实际上它是一个智能合约,当客户申请交易时,此智能合约自动建立,并在之后自动执行。

也就是说,客户的费用是付给了智能合约,而智能合约只在矿工能够成功证明自己持续保有数据的情况下,才会付费给矿工。矿工的所有存储收费不是直接来自用户,而是来自支付通道。

Filecoin直接在链上实现支付通道。当然,一种最简单的方式就是对一个文件的存储就创建一个支付通道,也就是说运行一个智能合约。这看起来简单,实现容易,但是,当Filecoin网络规模变大的时候,区块链上的支付通道将变得过多,反复执行,交易量将会很大,使得整个网络的交易速率下降,出现拥塞。这对于区块链而言并不陌生,Filecoin似乎也不可避免。

有没有更好的办法呢?当然有,既然实现支付通道,为什么不实现链下交易。很多小额交易完全可以链下进行,通过双方签名,达到一定额度上链即可。

另一个办法,一个用户可能会信任几个特定的矿工,那么他们的交易会很多,系统可以提供一种支付通道归并的方式,来实现多个通道统一一次性交易,这样将大大减少交易信息量和实际交易量。

版权声明:星际导航 发表于 2020-10-07 11:39:24。
转载请注明:Filecoin存储用户为什么不能直接付款给矿工? | IPFS导航 | IPFShub
广告也精彩

暂无评论

暂无评论...