https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627
https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649
https://vitalik.ca/general/2017/02/01/zk_snarks.html
https://vitalik.ca/general/2017/11/09/starks_part_1.html
https://vitalik.ca/general/2017/11/22/starks_part_2.html
https://vitalik.ca/general/2018/07/21/starks_part_3.html
https://vitalik.ca/general/2019/09/22/plonk.html
https://vitalik.ca/general/2021/01/26/snarks.html
https://vitalik.ca/general/2021/11/05/halo.html
https://vitalik.ca/general/2022/06/15/using_snarks.html
https://vitalik.ca/general/2022/08/04/zkevm.html - 已有中文
https://vitalik.ca/general/2023/03/31/zkmulticlient.html
https://medium.com/@ingonyama/zpu-the-zero-knowledge-processing-unit-f886a48e00e0
https://medium.com/starkware/stark-math-the-journey-begins-51bd2b063c71
https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell
https://medium.com/@imolfar/why-and-how-zk-snark-works-1-introduction-the-medium-of-a-proof-d946e931160
https://medium.com/@imolfar/why-and-how-zk-snark-works-2-proving-knowledge-of-a-polynomial-f817760e2805
https://medium.com/@imolfar/why-and-how-zk-snark-works-3-non-interactivity-distributed-setup-c0310c0e5d1c