FRI及相关SNARKs的Fiat-Shamir安全

这篇具有很好参考价值的文章主要介绍了FRI及相关SNARKs的Fiat-Shamir安全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 引言

本文主要参考:

  • Alexander R. Block 2023年论文 Fiat-Shamir Security of FRI and Related SNARKs
  • Albert Garreta 2023年9月在ZK Summit 10上分享 ZK10: Fiat-Shamir security of FRI and related SNARKs - Albert Garreta (Nethermind)

评估参数用的Sagemath code见:

  • https://github.com/alexander-r-block/FRI-Parameter-Testing-Sagemath

2. 何为FRI-based SNARK?

何为FRI-based SNARK?
非正式来说,其为遵循如下配方的SNARK:

  • 1)PIOP:Polynomial Interactive Oracle proof。
  • 2)FRI + Merkle trees:将PIOP用FRI和Merkle trees进行compile。
  • 3)Fiat-Shamir transform

2.1 何为PIOP?

PIOP=Polynomial Interactive Oracle proof。
PIOP是一种交互协议,有Prover和Verifier两种角色,有problem statement x x x,和仅对Prover已知的witness w w w。Prover和Verifier以一定轮数相互交换消息。
fiat-shamir security of fri and relate,基础理论,基础理论
PIOP的独特性在于:

  • Prover发送的消息 m i ( X ) m_i(X) mi(X)为“low degree” polynomials。
  • 在交互阶段结束时,Verifier会在random points来open这些 m i ( X ) m_i(X) mi(X)多项式,并基于这些openings是否满足某些代数关系,来决定是accept还是reject。

当在对PIOP做安全性分析时,一个关键假设是:

  • 假设攻击者(恶意Prover)发送的所有maps都是多项式。【这实际是一个很强的假设,从而让PIOP安全性分析相对简单。】

这样,对PIOP的安全性分析,通常会归结为争论:

  • 除非Verifier(非常不幸)恰巧发送了某特定low-degree polynomial的root,否则攻击者无法破坏该PIOP协议。
    而根据Schwartz-Zippel lemma有:“degree d d d多项式具有 ≤ d \leq d d个roots”。
    因此,攻击者破解该PIOP协议的概率 ≤ d / 2 λ \leq d/2^{\lambda} d/2λ

PIOP是一种对ZKP进行分析的很好的抽象框架,但实际上,PIOP存在如下问题:

  • 1)Verifier如何检查Prover发送的是low degree多项式?
    • 方法之一是:Verifier检查这些多项式的所有evaluations,来确认其是否与某多项式一致,但这会让Verifier非常慢。
  • 2)maps m i ( X ) m_i(X) mi(X)太大,难以发送。这会让proof size巨大,可能会与Prover直接发送witness size相当。

因此,针对以上PIOP问题的解决方案为:

  • Polynomial Commitment Scheme(PCS)多项式承诺方案:即使用某多项式承诺方案对该PIOP进行编译。此时:
    • PIOP中Prover发送的消息为 m i ( X ) m_i(X) mi(X)多项式的承诺值 C m ( m i ( X ) ) Cm(m_i(X)) Cm(mi(X)),而不再是 m i ( X ) m_i(X) mi(X)多项式本身。
    • 在交互协议阶段结束时,为获得在随机点的openings m i ( a ) m_i(a) mi(a),由于此时Verifier只有 m i ( X ) m_i(X) mi(X)的承诺值,其无法自己open,因此Verifier会根据特定的PCS规则 与Prover交互,以获得openings m i ( a ) m_i(a) mi(a)

fiat-shamir security of fri and relate,基础理论,基础理论
目前的PCS多项式承诺方案有:

  • KZG多项式承诺方案
  • IPA-based多项式承诺方案
  • (FRI + Merkle tree)-based多项式承诺方案:本文重点关注本方案。因很多从业人员常使用(FRI + Merkle tree)-based多项式承诺方案,但实际上其需要在非常严格地配置下,才能将FRI用作PCS多项式承诺方案。而这种严格配置,会让(FRI + Merkle tree)-based PCS很慢。
    因此实际应用时,会将FRI配置为非PCS,后续将详谈这个关键点。

在Marlin和Dark等论文中,有如下定理:

  • 若PIOP和PCS是安全的,则新协议是安全的。

2.2 Fiat-Shamir transform

Fiat-Shamir transformation可:

  • 移除交互性
  • 对public coin协议,所有Verifier消息都是随机的
  • 简单思路为:将Verifier的challenges替换为hashes。
  • 将哈希函数 模型化为 a Random Oracle。

借助Fiat-Shamir转换为非交互式协议之后:

  • Verifier会基于 ( x , m 1 , c 1 , ⋯   , m μ ) (x,m_1,c_1,\cdots,m_{\mu}) (x,m1,c1,,mμ)的有效性来决定是accept还是reject。
  • Verifier会检查 c i c_i ci是否“well hashed”。

当前FRI-based SNARKs有:

  • STARK
  • Plonky2
  • RISC Zero
  • Boojum

fiat-shamir security of fri and relate,基础理论,基础理论

3. Fiat-Shamir issues

3.1 Fiat-Shamir转换的安全性

令:

  • Π \Pi Π为某交互式协议
  • F S ( Π ) FS(\Pi) FS(Π)为其Fiat-Shamir转换

则,有可能 Π \Pi Π是安全的,但 F S ( Π ) FS(\Pi) FS(Π)是不安全的。
如:

  • 示例一: Π \Pi Π为sequential repetition of a “small” protocol。如某small protocol的sound error为 1 / 2 1/2 1/2,交互式重复该协议2次,则sound error变为 ( 1 / 2 ) 2 = 1 / 4 (1/2)^2=1/4 (1/2)2=1/4
    当但对该small协议做FS转换获得新协议时,则可能是灾难——其security仍为 1 / 2 1/2 1/2
  • 示例二: Π \Pi Π为parallel repetition of a “smaller” protocol Π 0 \Pi_0 Π0(Attema, Fehr, Kloss, 2022)。【本文重点关注这种并行重复执行协议示例】
    假设 Π 0 \Pi_0 Π0 small协议的安全性为 ϵ \epsilon ϵ,为增加其安全性,并行对其进行重复执行——以2倍并行为例,Prover在每轮会发送2个消息,Verifier在每轮会应答2个challenges。这就相当于以2个线程来并行运行 Π 0 \Pi_0 Π0 Π \Pi Π的Verifier会accept,当且仅当, Π 0 \Pi_0 Π0的Verifier会同时accept ( x , m 1 , c 1 , m 2 , c 2 , m 3 ) (x,m_1,c_1,m_2,c_2,m_3) (x,m1,c1,m2,c2,m3) ( x , m 1 ′ , c 1 ′ , m 2 ′ , c 2 ′ , m 3 ′ ) (x,m_1',c_1',m_2',c_2',m_3') (x,m1,c1,m2,c2,m3)。这样 Π \Pi Π的安全性将是 Π 0 \Pi_0 Π0的二次方,即 ϵ 2 \epsilon^2 ϵ2
    fiat-shamir security of fri and relate,基础理论,基础理论

parallel repetition场景下的FS攻击,攻击者攻击流程为:

  • 1)Prover选择 ( m 1 , m 1 ′ ) (m_1,m_1') (m1,m1)
  • 2)计算 ( c 1 , c 1 ′ ) = H a s h ( x , m 1 , m 1 ′ ) (c_1,c_1')=Hash(x,m_1,m_1') (c1,c1)=Hash(x,m1,m1)
  • 3)检查 c 1 c_1 c1是否为某“special” challenge,其使得 Π 0 \Pi_0 Π0的第一个proof ( x , m 1 , c 1 , m 2 , c 2 , m 3 ) (x,m_1,c_1,m_2,c_2,m_3) (x,m1,c1,m2,c2,m3)是有效的。如, c 1 c_1 c1可为特定多项式的root。【因此,实际需确保Verifier发送的challenge不是多项式的root,否则将破坏协议。】
  • 4)若 c 1 c_1 c1不是特殊的challenge,则Prover rewinds,然后重复执行上面的步骤1)。
    【原则上,Prover需要 ≈ 1 / ϵ = 2 λ \approx1/\epsilon=2^{\lambda} 1/ϵ=2λ次迭代即可成功。其中 λ \lambda λ为交互式协议的安全参数。】
    fiat-shamir security of fri and relate,基础理论,基础理论
    然后,假设Prover最终找到了该特殊的challenge c 1 c_1 c1,并继续如下流程:
  • 1)令 m 2 m_2 m2为某消息,使得Prover可获得第一个有效proof ( x , m 1 , c 1 , m 2 , c 2 , m 3 ) (x,m_1,c_1,m_2,c_2,m_3) (x,m1,c1,m2,c2,m3)
  • 2)然后在另一线程中,重复之前的流程:
    • 2.1)选择任意 m 2 ′ m_2' m2
    • 2.2)计算 ( c 2 , c 2 ′ ) = H a s h ( x , m 1 , m 1 ′ , c 1 , c 1 ′ , m 2 , m 2 ′ ) (c_2,c_2')=Hash(x,m_1,m_1',c_1,c_1',m_2,m_2') (c2,c2)=Hash(x,m1,m1,c1,c1,m2,m2)
    • 2.3)检查 c 2 ′ c_2' c2是否为某“special” challenge,其使得 Π 0 \Pi_0 Π0的第二个proof ( x , m 1 ′ , c 1 ′ , m 2 ′ , c 2 ′ , m 3 ′ ) (x,m_1',c_1',m_2',c_2',m_3') (x,m1,c1,m2,c2,m3)是有效的。如, c 2 ′ c_2' c2可为特定多项式的root。【因此,实际需确保Verifier发送的challenge不是多项式的root,否则将破坏协议。】
    • 2.4)若 c 2 ′ c_2' c2不是特殊的challenge,则Prover rewinds,然后重复执行上面的步骤2.1)。
      【原则上,Prover需要 ≈ 1 / ϵ = 2 λ \approx1/\epsilon=2^{\lambda} 1/ϵ=2λ次迭代即可成功。其中 λ \lambda λ为交互式协议的安全参数。】
      fiat-shamir security of fri and relate,基础理论,基础理论

结论为:

  • 假设Prover为Round 1找到了特殊的 c 1 c_1 c1,为Round 2找到了特殊的 c 2 c_2 c2
  • ( x , m 1 , c 1 , m 2 , c 2 , m 3 ) (x,m_1,c_1,m_2,c_2,m_3) (x,m1,c1,m2,c2,m3) ( x , m 1 ′ , c 1 ′ , m 2 ′ , c 2 ′ , m 3 ′ ) (x,m_1',c_1',m_2',c_2',m_3') (x,m1,c1,m2,c2,m3)均为有效proofs。
  • 找到该特殊 c i c_i ci需要约 ≈ 1 / ϵ = 2 λ \approx 1/\epsilon=2^{\lambda} 1/ϵ=2λ次迭代尝试。
  • 总共,Prover需要 1 / ϵ + 1 / ϵ = 2 / ϵ 1/\epsilon +1/\epsilon=2/\epsilon 1/ϵ+1/ϵ=2/ϵ次迭代尝试。
  • 这样,安全性仅增加了1个bit,尽管期待的是增加2倍,原因在于parallel repetition的交互版本具有的soundness为 1 / ϵ 2 1/\epsilon^2 1/ϵ2
  • 总的来说,第2个parallel repetition对soundness没有任何贡献。
    fiat-shamir security of fri and relate,基础理论,基础理论
    相关经验法则为:
  • Π 0 \Pi_0 Π0为 soundness error为 ϵ \epsilon ϵ μ \mu μ-round协议
  • Π 0 ′ \Pi_0' Π0为并行重复 Π 0 \Pi_0 Π0 t t t 次。
  • F S ( Π 0 ′ ) FS(\Pi_0') FS(Π0)具有的soundness error 为 ≈ ϵ ⌈ t / μ ⌉ \approx \epsilon ^{\left \lceil t/\mu \right \rceil} ϵt/μ
  • 因此,所添加的 Π 0 \Pi_0 Π0并行实例个数,应为 μ \mu μ的倍数,才能实现在FS转换前类似的soundness。
    fiat-shamir security of fri and relate,基础理论,基础理论

3.2 何时FS转换是安全的?

以上面的结论和经验法则可知,存在如下情况:

  • Π 0 ′ \Pi_0' Π0具有soundness ϵ ′ \epsilon' ϵ,但 F S ( Π 0 ′ ) FS(\Pi_0') FS(Π0)具有低得多的soundness。

那么,问题来了,何时FS转换能保持相同量级的soundness?即何时FS转换后的协议与初始的交互协议具有相同的安全级别?
有2种概念:

  • 1)Special soundness(Atttema, Fehr, Kloss, 2022):即证明初始交互协议满足某种特殊的soundness强概念。若初始交互协议是special sound的,则FS转换后的协议与该初始协议一样安全。
  • 2)Round-by-Round (RBR) knowledge soundness(Chiesa, Manohar, Spooner, 2020):即若证明初始交互协议具有Round-by-Round (RBR) knowledge soundness,则FS转换后的协议与该初始协议一样安全。

所谓Round-by-Round (RBR) knowledge soundness:

  • 在之前的2个例子(Sequential repetition和Parallel repetition)中,可称其为 “the overall soundness ϵ \epsilon ϵ of Π \Pi Π is the accumulation of smaller soundness errors throughout Π \Pi Π’s rounds”。
  • 但这正是之前FS攻击所利用之处:攻击者其可rewind proofs,并试图破坏该small soundness checks,这些checks具有small soundness,然后Fiat-Shamir transform将不再按预期工作。
  • 当满足如下情况时,则称该协议是RBR (knowledge) sound的:【协议的安全性,不是多个不太安全checks的累加】
    • 即,当“each round of Π \Pi Π has soundness error ≈ \approx the overall error ϵ \epsilon ϵ of Π \Pi Π”时。

在Theorem (Block, G., Tiwari, Zajac) 中指出:

  • RBR knowledge soundness => special soundness => RBR soundness。

4. FRI及其FS安全性

FRI协议:

  • FRI是a IOP。
  • FRI Prover具有某函数 f : F → F f:\mathbb{F}\rightarrow \mathbb{F} f:FF
  • FRI Verifier可访问所有的 f ( v ) f(v) f(v),其中 v ∈ D v\in D vD D ⊆ F D\subseteq \mathbb{F} DF
  • 理想情况下,FRI协议的目的是:让Verifier信服 f ( X ) f(X) f(X)为某degree ≤ d \leq d d的多项式。
  • 实际情况下,FRI协议的目的是:让Verifier信服 f ( X ) f(X) f(X) δ \delta δ-close 某degree ≤ d \leq d d的多项式。
    • 所谓 δ \delta δ-close,是指:在 D D D的相对大的子集 D 0 D_0 D0内, f ( X ) f(X) f(X)与某low degree多项式 agree,即 ∣ D 0 ∣ ≥ ( 1 − δ ) ∣ D ∣ |D_0|\geq (1-\delta)|D| D0(1δ)D,且 0 < δ < 1 0<\delta <1 0<δ<1

Theorem (Block, G., Katz, Thaler, Tiwari, Zajac; StarkWare) 中指出:

  • FRI协议是RBR (knowledge) sound的。【根据之前的RBR knowledge soundness => special soundness => RBR soundness,可知FRI协议也是special sound的。】

因此,FRI协议FS转换之后,其soundness ≈ Q ε F R I + Q 2 2 \approx \mathcal{Q}_{\varepsilon_{FRI}}+\frac{\mathcal{Q}^2}{2} QεFRI+2Q2。即,可安全的对FRI进行Fiat-Shamir转换。

5. 使用FRI来编译PIOPs

5.1 FRI-based PCS in practice

当 “ δ \delta δ-close” 是 “very close”时,FRI可用于构建多项式承诺:

  • 为验证 f ( z ) = y f(z)=y f(z)=y,需使用FRI来检查:“ q ( X ) : = f ( X ) − y X − z q(X):=\frac{f(X)-y}{X-z} q(X):=Xzf(X)y” 为 “ δ \delta δ-close” to 某degree ≤ d − 1 \leq d-1 d1 多项式。
  • 此处“very close”,是指:在 某unique decoding radius δ ≤ ( 1 − ( d + 1 ) / ∣ D ∣ ) / 2 \delta\leq (1-(d+1)/|D|)/2 δ(1(d+1)/∣D)/2范围内。
  • 但是,取如此小的 δ \delta δ值,在效率上是有开销的。会导致不具备实用性的不高效的FRI协议。也就是说,实际应用时,并不会取如此低的proximity参数。
  • 实际上,当前所有的协议(如STARK、Plonky2、RISC Zero等),会取更大的proximity参数 δ \delta δ值,其最大为Johnson bound: 1 − ( d + 1 ) / ∣ D ∣ 1-\sqrt{(d+1)/|D|} 1(d+1)/∣D
  • 这样的实际取值,导致以上"PCS"将不再是一个多项式承诺方案。原因在于:
    • 可能有多个多项式,其均满足 δ \delta δ-close to the map q ( X ) q(X) q(X)
    • Prover可open这多个close多项式中的任意一个。【此时,Prover不再是对某多项式进行commit,而是对一组多项式进行commit。这是个问题。】
    • 将FRI用作PCS beyond unique decoding radius的相关项目有:
      • RedShift:Plonk + FRI —— 其soundness error随execution trace width指数级扩大。
      • STARK-type协议:DEEP-FRI、ethSTARK等 + Hab¨ock。【其使用FRI来编译PIOPs,当不将FRI看成是多项式承诺方案。】【Polygon Labs Ulrich Hab¨ock 2022年论文《A summary on the FRI low degree test》中,对所评估的soundness进行了一点改进。】

为此,主要结论为:

  • Theorem (Block, G., Katz, Thaler, Tiwari, Zajac) 中指出:有某large class C \mathscr{C} C of PIOPs,使得:
    • 假设该初始PIOP是RBR (knowledge) sound的。
    • 则所生成的FRI-based SNARG是knowledge sound的,即为a SNARK。

因此,关键点在于:

  • 以上Theorem支持,仅通过看该PIOP,来证明该SNARK的安全性。这样通常相对更易于分析。

Alexander R. Block 2023年论文 Fiat-Shamir Security of FRI and Related SNARKs 中:

  • 展示了ethSTARK和Plonky2作为PIOPs是RBR knowledge sound的,且在class C \mathscr{C} C中。
  • 从而可推断出:ethSTARK和Plonky2作为SNARGs是knowledge sound的。
  • 与此同时,StarkWare也展示了ethSTARK的相同结论。
  • 称PIOPs in C \mathscr{C} C 0 0 0-correlated。

fiat-shamir security of fri and relate,基础理论,基础理论

参考资料

[1] Alexander R. Block 2023年论文 Fiat-Shamir Security of FRI and Related SNARKs
[2] Albert Garreta 2023年9月在ZK Summit 10上分享 ZK10: Fiat-Shamir security of FRI and related SNARKs - Albert Garreta (Nethermind)文章来源地址https://www.toymoban.com/news/detail-768532.html

到了这里,关于FRI及相关SNARKs的Fiat-Shamir安全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Swap 2 Secrets via Homomorphic Properties of Shamir Secret Sharing

    I have 2 secrets denoted as s 1 , s 2 s_1, s_2 s 1 ​ , s 2 ​ and they are in different vector with same dimensions. Now all the vector are encrypted by the Shamir Secret Sharing. What is I really want is to swap the s 1 , s 2 s_1, s_2 s 1 ​ , s 2 ​ in their shares format via the homomorphic properties of Secret Sharing. I need you give me a python im

    2024年02月06日
    浏览(19)
  • 【AI视野·今日CV 计算机视觉论文速览 第262期】Fri, 6 Oct 2023

    AI视野 ·今日CS.CV 计算机视觉论文速览 Fri, 6 Oct 2023 Totally 73 papers 👉 上期速览 ✈更多精彩请移步主页 Improved Baselines with Visual Instruction Tuning Authors Haotian Liu, Chunyuan Li, Yuheng Li, Yong Jae Lee 大型多模态模型 LMM 最近在视觉指令调整方面取得了令人鼓舞的进展。在这篇文章中,我们展

    2024年02月07日
    浏览(33)
  • 【AI视野·今日Robot 机器人论文速览 第五十四期】Fri, 13 Oct 2023

    AI视野 ·今日CS.Robotics 机器人学论文速览 Fri, 13 Oct 2023 Totally 45 papers 👉 上期速览 ✈更多精彩请移步主页 Interesting: 📚 AI与机器人安全, 从攻击界面、伦理法律和人机交互层面进行了论述。(from 密西西比大学) 📚 机器人与图机器学习综述, (from 都灵理工) 📚 PolyTask, 基于多任务

    2024年02月05日
    浏览(40)
  • 【AI视野·今日NLP 自然语言处理论文速览 第五十四期】Fri, 13 Oct 2023

    AI视野 ·今日CS.NLP 自然语言处理论文速览 Fri, 13 Oct 2023 Totally 75 papers 👉 上期速览 ✈更多精彩请移步主页 Tree-Planner: Efficient Close-loop Task Planning with Large Language Models Authors Mengkang Hu, Yao Mu, Xinmiao Yu, Mingyu Ding, Shiguang Wu, Wenqi Shao, Qiguang Chen, Bin Wang, Yu Qiao, Ping Luo 本文研究闭环任务规

    2024年02月07日
    浏览(33)
  • 2022北京智源大会开放注册,LeCun、Shamir等图灵奖得主领衔,共赴年度AI内行盛会!...

    北京智源大会始自2019年,每年邀请包括图灵奖得主在内的200多位全球人工智能领域顶尖学者、专家共同探讨学术、技术和产业最新进展,吸引超过3万专业观众注册,超过30个国家和地区200万人次参与。 作为国际性、权威性、专业性和前瞻性的“内行AI盛会”,智源大会已成为

    2024年02月07日
    浏览(36)
  • 移动安全 逆向相关技术(自用)

    adb shell相关: shell 解压压缩文件[zip][tar][tar.gz]_shell tar.gz_hujunyin的博客-CSDN博客 逆向前期分析: 动态分析Android App之动态调试_buildprop enhancer_白龙~的博客-CSDN博客 Android APP漏洞之战——调试与反调试详解 (qq.com) 【fiddler】用fiddler实现android手机抓包_fiddler安卓手机抓包_HunterMich

    2024年02月06日
    浏览(24)
  • 网络安全相关题

    当涉及了解主流网络安全设备与安全防范机制的面试笔试题时,以下是几个问题的示例: 请列举一些主流的网络安全设备,并简要描述它们的功能和用途。 什么是防火墙?描述防火墙的基本工作原理和常见部署方式。 请解释什么是入侵检测系统(IDS)和入侵防御系统(IPS)

    2024年02月08日
    浏览(19)
  • 网络安全行业相关证书

    一:前言             对于考证这个话题,笔者的意见是:“有比没有好,有一定更好,但不一定必须;纸上证明终觉浅,安全还得实力行”。很多人对于各种机构的考证宣传搞得是云里雾里,不知道网络安全行业具体有哪些证书?哪些证书具有含金量?哪些证书是机构的韭

    2024年02月15日
    浏览(35)
  • 前端高级面试题-安全相关

    1 XSS 如何攻击 XSS 通过修改 HTML 节点或者执⾏ JS 代码来攻击⽹站。 例如通过 URL 获取某些参数 如何防御 2 CSRF 如何攻击 如何防御 Get 请求不对数据进⾏修改 不让第三⽅⽹站访问到⽤户 Cookie 阻⽌第三⽅⽹站请求接⼝ 请求时附带验证信息,⽐如验证码或者 token 3 密码安全 加盐

    2024年02月15日
    浏览(22)
  • 前端安全相关

    以上主要是解决:除了数据泄露外,一些重要功能的接口如果没有做好保护措施也会被恶意调用造成DDoS、条件竞争等攻击效果 一些营销活动类的Web页面,领红包、领券、投票、抽奖等活动方式很常见。此类活动对于普通用户来说应该是“拼手气”,而对于非正常用户来说,

    2024年01月19日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包