登录 后可观看高清视频

零知识证明基础完整课程

CyfrinUpdraft CyfrinUpdraft
14次播放
1天前

该视频的核心内容是介绍零知识证明(Zero-Knowledge Proofs, ZKPs)的基础知识,旨在帮助开发者和Web3专业人士理解ZKP的概念、原理、应用以及相关术语。

关键论据/信息:

  1. 什么是零知识证明: ZKP是一种密码学方法,允许一方(证明者)向另一方(验证者)证明其拥有特定信息,而无需泄露该信息本身。
  2. ZKP的三个基本属性:
    • 完备性(Completeness): 如果声明为真,诚实的证明者必须能够说服验证者。
    • 可靠性(Soundness): 如果声明为假,没有不诚实的证明者能够说服诚实的验证者(概率极低的情况除外)。
    • 零知识性(Zero-Knowledge): 验证者或任何其他人都不能从证明过程中获得除声明为真之外的任何信息。
  3. 交互式与非交互式ZKP:
    • 交互式ZKP: 证明者和验证者之间需要多轮通信。
    • 非交互式ZKP: 证明者只需向验证者发送一条包含所有必要证明信息的消息,验证者可以独立验证。
  4. 关键术语:
    • 声明/陈述(Claim/Statement): 需要证明为真的断言。
    • 私有输入(Private Inputs): 只有证明者知道的值。
    • 公共输入(Public Inputs): 证明者和验证者都知道的值。
    • 约束(Constraint): 必须满足的数学方程或条件,以使声明为真。
    • 电路(Circuit): 约束的系统,表示数学关系和运算。
    • 见证(Witness): 允许证明者证明声明为真的秘密值集合。
    • 可信设置(Trusted Setup): 在某些ZKP系统中生成密码学参数的关键步骤,需要安全生成并销毁“有毒废料”。
  5. ZKP的应用场景:
    • 区块链可扩展性: 通过Rollup技术,将交易批量处理并在链下生成ZKP,验证链上状态变化,减少gas费用。
    • 区块链隐私性: 保护链上交易的隐私,例如匿名交易、私有投票等。
    • 身份验证: 在Web3中进行身份验证,无需暴露不必要的个人信息。
    • 隐私优先的区块链: 构建以隐私为核心的区块链,如Zcash。
    • 将Web数据私密地引入链上: 使用Chainlink DECO等技术,在不泄露实际数据的情况下,证明关于私有Web数据的信息。
  6. 如何创建ZKP:
    • 前端(约束系统): 使用Circom或Noir等语言定义问题,将其转化为数学形式(算术化),并表示为电路。
    • 后端: 将电路编译成密码学证明,验证者可以验证该证明,而无需泄露底层数据。
密码学  零知识证明  ZKP  zero-knowledge proofs  Completeness  Soundness