sia是一个分布式的云存储平台,目的是与现有的P2P和企业级的存储竞争。sia只存储用户间的合约内容。
- host广播存储合约
- 用户选择存储合约
- 用户上传数据到host
- host按照存储合约的声明周期性的广播存储证明
- 每次存储证明被网络共识,host收到费用
- 如果host错过某次证明间隙。则被网络共识惩罚
- 知道存储合约终止
Sia推荐存储数据时使用EC来达到高可用低冗余存储的目的,基本框架与比特币相近。
- UTXO的资产模型。但没有使用P2SH,二使用了M-N多重签名模式。
文件分块方式,哈希为一个merkle根哈希,用来形成存储证明 存储合约同时约定了挑战周期频率,支付方式,存储证明的奖励,错过周期的惩罚及最大可以错过的周期数等内容。
周期性挑战窗口广播存储证明。 每次提供的存储证明需要上传一小段的原始数据和merkle哈希列表来证明是源文件的一部分,只要host能持续提供随机的文件段证明,那么host就能证明自己拥有完整的文件
更新合约内容
攻击者可以使用留存的部分文件块来伪造存储证明。sia通过使用随机数生成器,加大错过挑战窗口惩罚以及提高挑战窗口频率来阻止这种攻击
矿工可以在收到host的存储证明时提高挖矿手续费或是故意将证明交易排除在挖出的块中,这样host就会受到惩罚。
- host需要自己对付ddos攻击以免无法上传存储证明
- host可以在合约里写明自己可以提供的服务,根据可靠性来收取高额的费用,当然也可能收到高额惩罚。
- 使用EC来达到存储的高可用性及低冗余。
- 选择可靠性高,低延迟,高带宽的host。
- 客户端通过提供提供运行时奖励来促使host提高更高的带宽及在线服务时间。
- 期望建立微支付通道来提供下载期间的支付需求,这样客户端每下载一段文件就会支付一笔费用给host,而且支付过程很快就能完成。
- 价格
- 惩罚
- 质押
- 容量
- 用户评价