解释SNARKs 第3部分:知识系数测试和假设

原文出自:https://blog.z.cash/snark-explain3/
作者:Ariel Gabizon
译者:Matter实验室

In Part II, we saw how Alice can blindly evaluate the hiding E(P(s)) of her polynomial P of degree d, at a point s belonging to Bob. We called this “blind” evaluation, because Alice did not learn s in the process.

在第二部分,我们知道了Alice如何在属于Bob的 s 点,去盲评她d阶多项式P的匿数E(P(s))。我们将其称为 “盲” 评估,因为 Alice 在这个过程中并不知道 s

However, there was something missing in that protocol – the fact that Alice is able to compute E(P(s)) does not guarantee she will indeed send E(P(s)) to Bob, rather than some completely unrelated value.

然而,在那项协议中有瑕疵 – 虽然Alice 能够计算出 E(P(s)) ,但并不能确保她将正确 E(P(s)) 发送给 Bob,而非一些完全不相关的值。

Thus, we need a way to “force” Alice to follow the protocol correctly. We will explain in part IV precisely how we achieve this. In this post, we focus on explaining the basic tool needed for that – which we call here the Knowledge of Coefficient (KC) Test.

因此,我们需要一种 “强制” Alice 正确地遵从协议的方式。我们将在第四部分详细解释我们如何实现这一点。在本文中,我们专注在解释实现这一功能需要用到的基础工具 – 我们将其称为 “知识系数(KC)测试”。

As before, we denote by g a generator of a group G of order |G|=p where the discrete log is hard. It will be convenient from this post onwards to write our group additively rather than multiplicatively. That is, for α ∈ Fp, α⋅g denotes the result of summing α copies of g.

正如之前一样,我们使用 g 表示一个阶为|G|=p的群G的生成器,对于该群,离散对数是困难的。在文章开始时使用加法而不是乘法解释起来更加方便。 那就是,对于 α∈Fpα⋅g 表示 αg 的求和结果。

THE KC TEST

知识系数(KC)测试

For α ∈ F(∗,p) [1], let us call a pair of elements (a,b) in G an α-pair if a,b≠0 and b=α⋅a.

[1] F(∗,p) denotes the non-zero elements of Fp. It is the same as Z(∗,p) described in Part I.

The KC Test proceeds as follows.

  1. Bob chooses random α ∈ F(∗,p) and a ∈ G. He computes b=α⋅a.

  2. He sends to Alice the “challenge” pair (a,b). Note that (a,b) is an α-pair.

  3. Alice must now respond with a different pair (a′,b′) that is also an α-pair.

  4. Bob accepts Alice’s response only if (a′,b′) is indeed an α-pair. (As he knows α he can check if b′=α⋅a′.)

对于 α∈F(∗,p)[1], 如果 a,b≠0b=α⋅a 同时成立,则我们称 G 中的一组元素 (a,b)α-pair。

    • F(∗,p) 表示 Fp 中的非零元素组成的集合,它与第一部分描述的 Z(∗,p) 相类似。

知识系数(KC)测试按照如下的步骤进行:

  1. Bob 随机选择一个 α∈F(∗,p)a∈G 。他计算出 b=α⋅a
  2. 他发送 “挑战” 数对 (a,b) 给 Alice。注意,(a,b) 是一个 α-pair 。
  3. Alice 现在必须回复一个不同的数对 (a′,b′) 同时也必须是 α-pair 。
  4. 如果 (a′,b′) 确实是一个 α-pair ,则 Bob 接受 Alice 的回复。(由于他知道 α ,他可以检查 b′=α⋅a′是否成立。)

Now, let’s think how Alice could successfully respond to the challenge. Let’s assume for a second that she knew α. In that case, she could simply choose any a′ in G, and compute b′=α⋅a′; and return (a′,b′) as her new α-pair.

现在,让我们思考 Alice 如何成功地回复挑战。 让我们假设一下,她知道 α 。 在这种情况下,她便可以在 G 中简单地挑选出 a′,并计算出 b′=α⋅a′; 同时返回 (a′,b′) 作为她得到的新 α-pair 。

However, as the only information about α she has is α⋅a and G has a hard discrete log problem, we expect that Alice cannot find α.

然而,由于 Alice 唯一拥有关于α的信息的载体是α⋅a ,并且 G 具有难离散对数问题,我们可以预计 Alice 并不能得到 α

So how can she successfully respond to the challenge without knowing α?

因此,如何让 Alice 在不知道 α 的前提下成功回复挑战呢?

Here’s the natural way to do it: Alice simply chooses some γ∈F∗p,γ∈Fp∗, and responds with (a′,b′)=(γ⋅a,γ⋅b).(a′,b′)=(γ⋅a,γ⋅b).

In this case, we have:

b′=γ⋅b=γα⋅a=α(γ⋅a)=α⋅a′,b′=γ⋅b=γα⋅a=α(γ⋅a)=α⋅a′,

so indeed (a′,b′)(a′,b′) is an αα-pair as required.

以下是实现这一目标的自然做法: Alice 简单地选择一些 γ∈F(∗,p),并且回复 (a′,b′)=(γ⋅a,γ⋅b)

在这种情况下,我们有:

b′=γ⋅b=γα⋅a=α(γ⋅a)=α⋅a′,

因此(a′,b′)确实是这里需要的 α-pair 。

Note that if Alice responds using this strategy, she knows the ratio between a and a′. That is, she knows the coefficient γ such that a′=γ⋅a.

注意到,如果 Alice 使用这种策略进行回复,她就知道 aa′ 之间的比率。 也就是说,她知道系数 γ 满足 a′=γ⋅a

The Knowledge of Coefficient Assumption [2] (KCA) states that this is always the case, namely:

This is typically called the Knowledge of Exponent Assumption in the literature, as traditionally it was used for groups written multiplicatively.

KCA: If Alice returns a valid response (a′,b′) to Bob’s challenge (a,b) with non-negligible probability over Bob’s choices of a,α, then she knows γ such that a′=γ⋅a.

The KC Test and Assumption will be important tools in Part IV.

知识系数假设 [2] (KCA) 指出,情况总是像这样:

    • 它的书面名称通常为知识系数假设,传统上被用在字面乘法性质的群上。

KCA: 如果 Alice 对于Bob选择的a,α,以不可忽略的可能性,对Bob的挑战(a,b)**给出一个有效的回复 (a′,b′),此时,她所知道的 γ ,可以满足 a′=γ⋅a

知识系数(KC)测试和假设将是第四部分的重要工具。

WHAT DOES “ALICE KNOWS” MEAN EXACTLY

“ALICE知道”的确切意义是什么

You may wonder how we can phrase the KCA in precise mathematical terms; specifically, how do we formalize the notion that “Alice knows γ” in a mathematical definition?

你也许会好奇我们如何将 KCA 用准确地数学形式表达出来;具体来说,我们如何用数学定义将 “Alice 知道 γ 的意义形式化出来?

This is done roughly as follows: We say that, in addition to Alice, we have another party which we call Alice’s Extractor. Alice’s Extractor has access to Alice’s inner state.

我们通过下面这样粗略的方式说明: 我们说,除了 Alice 之外,我们有一个被称为 Alice的提取器 的角色。 Alice的提取器可以访问 Alice 的内部状态。

We then formulate the KCA as saying that: whenever Alice successfully responds with an α-pair (a′,b′), Alice’s Extractor outputs γ such that a′=γ⋅a. [3]

[3]The fully formal definition needs to give the Extractor “a little slack” and states instead that the probability that Alice responds successfully but the Extractor does not output such γ is negligible.

我们这时便可以这样形式化 KCA: 当 Alice 使用一个 α-pair (a′,b′) 成功回复时,Alice的提取器 输出的 γ 满足 a′=γ⋅a. [3]

    • 完整正式定义需要让提取器 “稍微松懈一下”,并反过来声明,Alice 成功回复但是提取器无法正常输出这样的 γ 的可能性可以忽略不计。

译者总结

数学关系
交互模型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容