我最近遇到个需求: 需要在很多数据中,证明x的存在,例如在[0,1,2,3,4,5]中证明x是这个数组中的某个值,前提只知道x的值(hash或者私钥)但不知道x就是0或者1这样,如何才能在merkle tree中证明呢 我查看了很多证明,但所需要知道兄弟节点以及索引,这对我来说获取非常困难
第一个想到的是 布隆过滤器 白话布隆过滤器(Bloom Filter)
感觉你是要使用零知识证明
要知道x的merkle路径,就是从根节点到x的路径上的兄弟节点的哈希值
merkle tree 可以验证是否有这个x,是可以准确验证x是不是完全对的;但是验证需要有人提供logn数量的兄弟节点,是肯定需要知道的;你说的大量数据是N的话,merkle就是可以把验证所需的数据减少到logN罢了;得不到则另外想办法了