区块链 > 技术 > 正文

零知识证明 - 理解FFT的蝶形运算

区块链数字货币板块文章「零知识证明 - 理解FFT的蝶形运算」,本文约有289个文字,大小约为2KB,预计阅读时间1分钟请您欣赏。樱花区块链门户资讯网荟萃众多优秀文章精选,如果想要浏览更多相关区块链数字货币,可以关注本文结尾推荐的优秀文章内容。本站区块链资讯虽然不乏优秀之作,但仅为大家参考使用,希望能对关注区块链的人有所帮助。

这个周末有空,讲讲我对FFT的理解。方便学习零知识证明的小伙伴理解这部分内容。从头讲起,零知识证明Groth16算法基于QAP问题:

零知识证明 - 理解FFT的蝶形运算
「新三板」

利用Groth16计算证明之前,需要计算出H。目前,普遍采用的是FFT算法。



1. FFT计算原理

学习FFT计算原理,还是要看算法导论(Introduction-to-Algorithms)的第30章(Polynomials and the FFT)。算法导论,讲东西,来龙去脉讲的比较清楚,逻辑性比较强,也比较细致。该章节从多项式的表示开始,多项式可以用两种表示方法:系数表示和点值表示。

系数表示,对多项式加法友好,时间复杂度是O(n),但是多项式乘法不友好,采用多项式一项项的相乘,时间复杂度为 O(n**2)。点值表示,对多项式乘法友好,时间复杂度是 O(n),但是多项式加法不友好。

DFT,采用特殊的点,计算值。这些特殊的点,就是单位根的幂次。采用这些特殊点的情况下,系数表示和点值表示之间可以通过FFT(快速傅立叶变换)计算完成。时间复杂度是O(nlogn)。

算法导论上这个图,可以很好的解释这些计算之间的关系:


零知识证明 - 理解FFT的蝶形运算
「新三板」

以上便是樱花区块链给大家分享的关于「零知识证明 - 理解FFT的蝶形运算」http://www.0797jjw.cn/qkljs/jishu_26719.html的相关信息了,希望能帮助到大家,更多区块链相关内容,敬请关注樱花区块链!

猜你喜欢

全球稳定币与金融稳定

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

原文地址: