零知识证明:从理论突破到加密货币应用的革命性技术

robot
摘要生成中

零知识证明:基础原理与行业应用

一、零知识证明的发展历程

现代零知识证明体系源于1985年Goldwasser、Micali和Rackoff的开创性论文。该论文探讨了在交互系统中,通过多轮交互来证明一个声明的正确性所需交换的知识量。如果可以在不交换任何知识的情况下完成证明,就称为零知识证明。这种交互式系统虽然在概率意义上是正确的,但并不完美。

非交互式系统(NP)的出现使零知识证明更加完备。然而,早期的零知识证明系统在效率和实用性方面存在不足,仅停留在理论层面。直到近十年,随着密码学在加密货币领域的兴起,零知识证明才真正走向应用。

零知识证明的一个关键目标是开发通用、非交互、证明体积有限的协议。这需要在证明速度、验证速度和证明体积三者之间进行权衡。

2010年Groth的论文是零知识证明最重要的突破之一,为zk-SNARK奠定了理论基础。2015年,Zcash将零知识证明应用于交易隐私保护,开启了零知识证明与智能合约结合的新纪元。

其他重要学术成果包括:2013年的Pinocchio协议、2016年的Groth16算法、2017年的Bulletproofs算法、2018年的zk-STARKs协议等。这些研究推动了零知识证明在效率和应用范围上的不断进步。

HashKey ZK 101 第一期:历史原理与行业

二、零知识证明的主要应用

零知识证明目前最广泛的两大应用领域是隐私保护和扩容。

在隐私保护方面,早期的代表项目包括Zcash和Monero等。虽然隐私交易的必要性未如预期那般突出,但这类项目仍在继续发展。

在扩容方面,随着以太坊转向以rollup为中心的扩容路线,基于零知识证明的扩容方案重新成为焦点。主要有两种实现方式:一层网络扩容(如Mina)和二层网络扩容(即zk-rollup)。

zk-rollup的核心角色包括Sequencer和Aggregator。Sequencer负责打包交易,Aggregator将大量交易合并并生成零知识证明,用于更新主链状态。

zk-rollup的优势在于低费用、快速最终性和隐私保护。但也存在计算量大、需要可信设置等挑战。

目前市场上主要的zk-rollup项目包括StarkNet、zkSync、Aztec Connect、Polygon Hermez/Miden、Loopring、Scroll等。这些项目在技术路线上主要在SNARK(及其改进版本)和STARK之间选择,以及对EVM的支持程度。

EVM兼容性是一个重要问题。一些项目选择完全兼容Solidity操作码,另一些则设计新的虚拟机以兼顾ZK友好性和Solidity兼容性。近年来EVM兼容性的快速进展,有望实现开发者从以太坊主链到zk-rollup的无缝迁移。

HashKey ZK 101 第一期:历史原理与行业

HashKey ZK 101 第一期:历史原理与行业

三、zk-SNARK的基本原理

zk-SNARK是zero-knowledge Succinct Non-interactive ARguments of Knowledge的缩写,具有以下特点:

  • Zero Knowledge:证明过程不泄露多余信息
  • Succinct:验证体积小
  • Non-interactive:非交互式
  • Arguments:计算可靠性
  • of Knowledge:证明者需要知道有效信息

Groth16的zk-SNARK证明流程主要包括:

  1. 将问题转换为电路
  2. 将电路转化为R1CS形式
  3. 将R1CS转换为QAP形式
  4. 建立可信设置,生成证明密钥和验证密钥
  5. 生成和验证zk-SNARK证明

HashKey ZK 101 第一期:历史原理与行业

HashKey ZK 101 第一期:历史原理与行业

零知识证明技术正在快速发展,未来有望在更多领域发挥重要作用。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
FlashLoanKingvip
· 17小时前
割了一批就跑路
回复0
薄饼吃不起vip
· 07-14 18:02
诶 那不就是个加密瞒天过海
回复0
GateUser-26d7f434vip
· 07-14 18:01
zk就是未来 干了
回复0
ExpectationFarmervip
· 07-14 17:41
去中心化世界没有秘密
回复0
GasFeeCriervip
· 07-14 17:35
狠狠支持zk了属于是
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)