RSA累加器的介绍
原文来自:超链接,仅为自己学习收藏,侵删。。
一、RSA累加器的介绍
一个密码学上的累加器是一个单向的隶属函数。它可用于识别一个候选是否为一个集合的成员,且不会在过程中暴露集合中的成员。这是WIKI上的定义。
目前在主流的区块链中,用来对交易进行验证的是通过默克尔树传递数据来进行的,特别是轻量级节点和钱包,基本是离不开默克尔树的数据交换的。如果在比特币网络中,还稍好一些,毕竟比特币的交易速度有限。但随着以太坊及EOS的出现,交易量开始不断上升,那么,做为需要进行网络通信的默克尔树的数据,就开始变得越来越大。
所网上资料讲,V神估计以目前的Plasma子链数据交易状况,默克尔树的数据大小应该在2.5G左右,这不是一个小的数据,它使得存储和数据交换的压力会越来越大。同时,V神提出如果使用RSA ACCumulactors累加器的方式来替代默克树的话,可以将上述的数据降低到大约大3.6M左右,这是一个非常大的提高。
累加器:“一个密码学累加器,其会产生对一组元素的短期约束承诺,以及对集合中任何元素的短期成员身份和非成员身份证明。”
动态累加器:“支持添加和删除具有O(1) 成本的元素累加器,其与累积元素数量无关。”
通用累加器:“支持成员和非成员身份证明的动态