本文主要是介绍CUB, a Consensus Unit-based Storage Scheme for Blockchain System,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这篇文章主要解决了在私有链上数据存储压缩的问题。
因此这篇文章中并没有考虑有节点作恶的情况。
共识单元Consensus Unit CU,将一组节点作为一个整体存储整个网络中的区块。
总的查询代价如下, cki是k节点访问i节点的网络代价 s/MB, bj 代表区块j sj代表区块的数据大小,fj代表访问j区块的频率
当有更多的节点存储重复区块时,会降低或者不改变该区块的访问代价,不可能增加该区块的访问代价。
step1:有些区块是需要频繁访问的
将这些区块进行冗余存储。
step2:保留一部分的存储空间,用来保存其他区块。这部分区块不进行冗余存储了
怎么分配这些区块给 m个node是个NP-hard问题。
dynamic appending block update
在之前的步骤之后,为了尽可能减少访问代价,将节点进行冗余存储。因此可以假设此时没有额外的存储空间了。这时,需要选择候选node来存这个区块,并且将候选node的其他冗余block剔除来腾出空间。
选择存储 b ∗ b^* b∗能获取最小查询代价的node,并在里面剔除查询代价最小的冗余block。
New participant issue
需要为新加入 CU的节点分配node v ∗ v^* v∗ block,来降低 v ∗ v^* v∗ 访问FAS* 中节点的代价。
Participant leave issue
有节点离开,节点中的冗余 block可以不关心,非冗余的blcok 向其他CU进行请求。
这篇关于CUB, a Consensus Unit-based Storage Scheme for Blockchain System的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!