{"content":{"title":"Greenfield 和Filecoin的对比分析","body":"![image.png](https://img.learnblockchain.cn/attachments/2023/10/PcMdx5Tx653617c4ebfca.png)\r\n\r\ngreenfield的整体设计非常的简单务实。其本质就是多个SP（Storage Provider，类似亚马逊，阿里云）只管存数据，而用户，权限，数据meta信息，账单等信息的管理都存在在链上。\r\n\r\n一个用户要把数据存储到greenfield，首先需要访问链，提交一个`createbucket`的交易。然后线下把数据传给SP，线下SP收到数据，并分段，然后计算hash，如果需要副本的话，还需要把数据计算EC纠删码，然后把这些数据分发给secondary SPs。最后把这些hash类的mata新信息上链。这里对应的就是sealing。\r\n\r\n一个用户到SP访问数据的话，SP会首先访问链，查看这个用户是否有权限访问数据。\r\n\r\n\r\n而约束SP诚实的持续存储数据的方式是挑战/响应机制。具体来说，就是区块链随机的对某个数据进行挑战，区块链的Validators从SP下载特定的数据块，然后计算hash，然后和链上记录的hash值进行比较，不通过，则处罚SP以前质押的BNB Token。【这个算法和古老的分散存储区块链sia的存储证明是一样的。但是sia存储的时候，就要求对数据进行分片，然后把分片存储到不同的SP】\r\nFilecoin则是通过PoRep复制证明算法和WindowPost时空证明算法来保证数据的复制和保存。PoRep和WnPost都需要大量的计算。而且需要对数据进行封装（类似于一种加密），数据将无法直接进行检索。\r\n\r\n没有看到greenfield对外包攻击（用户要求对数据A存储三份，但是SP-1自己不存数据，在收到挑战时，从SP-2处获取数据，来响应挑战）。\r\n而是设计了Primary SP和Secondary SP的概念。如下图所示：\r\n\r\n![image.png](https://img.learnblockchain.cn/attachments/2023/10/v9m2C36C6536217e26a83.png)\r\n\r\nPrimary SP存储全量数据，而Secondary SP存储一段数据。\r\n\r\ngreenfield没有PoRep复制算法进行sector封装，所有的数据都是源文件的方式进行存储，所以就可以直接检索。同时也没有Sector固定大小的概念。所以greenfield可以直接存储热数据。\r\n\r\n但是其valdator的挑战/响应机制因为要下载piece数据并做hash对比，所以会有些慢。但是因为没有通胀（就是valiator和sp的收入都是来自于真实客户的存储fee），所以validator和sp联合腐败的可能性也很小。\r\n\r\n综合看来，greenfield非常务实，也能解决一些问题。但是关于中心化数据存储的安全问题和隐私问题，一样都没有解决。\r\nSP被黑客攻击了，数据也一样没啥安全性可言，当然咯，因为SP交了保证金，不会像阿里云一样，需要打官司才能得到赔偿。\r\n隐私问题，Primary SP一样可以不经用户的同意，私自查看用户数据，用用户数据进行各种计算。\r\n\r\n如果要真正的解决安全和隐私问题，就应该把数据按照算法进行分片，每片数据经过算法放到不同SP上面。任何一个SP都没有完整的数据，从而解决（减轻-SP一样可以未经允许，查看部分数据，比如照片或者文字类数据）安全和隐私的问题。\r\n其实，越思考，我无法得到我们为什么要分布式存储？对人类的意思何在？用户很多需要分布式存储吗？"},"author":{"user":"https://learnblockchain.cn/people/808","address":null},"history":"QmUuKkSYcELdVmFNSR9n1GMmtbdkr3iZUnUULy53Fyz73g","timestamp":1698738718,"version":1}