paint-brush
解锁零知识证明的魔力——第 2 部分:人工推理和信息限制经过@damocles
373 讀數
373 讀數

解锁零知识证明的魔力——第 2 部分:人工推理和信息限制

经过 Antică Vlad13m2024/02/23
Read on Terminal Reader

太長; 讀書

本分析深入探讨了零知识证明 (ZKP) 的复杂性,探索其参与者、机制和含义。从门、丽莎和鲍勃的角色到抽象锁的复杂性以及效率、想象力和计算限制之间的相互作用,这一分析揭示了 ZKP 的神秘领域及其在追求隐私和安全方面的持久相关性。安全。
featured image - 解锁零知识证明的魔力——第 2 部分:人工推理和信息限制
Antică Vlad HackerNoon profile picture
0-item
1-item

在分析的第一部分中,我们将带回 ZKP 舞台上表演的演员第二部分致力于展示ZPK场景的“魔力”。第三,我们会向入侵者求助“可能”的运气。现在,让我们展示抽象的本质并揭开它的神秘面纱。


抽象的

使用摘要作为如何开门的共享知识。抽象的本质是将决策门(例如左/右)变成机制推动者。每个打开实例的机制推动器都是唯一的。摘要将结构的有形规则与共享的无形知识联系起来只有当有形和无形同时存在时,抽象才有效。抽象是将两者联系在一起形成系统的上层。如果你玩有形规则而对无形规则一无所知,那么你猜对钥匙的机会几乎为0


想象一下猜测一个未知数 x相对于一组未知数 y的位置。

第 1 部分:演员

随着大幕拉开,我们看到了三位演员。作为访问者锁的持有者丽莎作为开启者钥匙的持有者鲍勃作为验证者。在描述它们时,目的是在有关锁结构的任何信息之外提供对它们的清晰的结构分析。我只会参考它,但在第二部分之前不会提供任何信息。


  1. 门是抽象承载者。在它的内部知识中,我们找到了锁的逻辑和硬编码结构抽象系统是指将打开每个所需的内部步骤开锁者提供的信息进行比较。这些锁在每次成功打开后进行迭代,确保 Lisa 提供的任何信息都可以严格用于当前锁(尝试失败/成功后将过去)。


    如果达到临界点,由于 Lisa犯了错误通过了开放点,则将开始另一次锁定迭代,Lisa 必须根据她对整个(抽象)系统的了解来提供新密钥。根据其内部齿轮,门将显示丽莎是否持有钥匙进入。


  2. 丽莎

    Lisa作为钥匙的持有者,掌握着系统内部知识和当前锁的结构。她了解锁的极限,并将以逻辑推理的形式向门展示她的知识。她基本上会想象打开锁就好像就在她面前一样。说明诸如左/右之类的运动,这将是门将接收的输入并相应地调整锁的内部齿轮。一旦丽莎确定锁处于打开位置,她将说出当前钥匙结束通信值


  3. 鲍勃

    Bob作为验证者,可以形成潜在锁图像。假设丽莎过来并开始与门对话。她将进一步说明:左,右,左,左,右,右,右,。之后,她就会结束通讯。 Bob 现在已经了解如何打开迭代 1的门。然而,迭代 2有一条不同的路线要走。

    随着时间的推移,Bob 收集了有关如何打开所有500 个迭代的信息。现在,系统开始发挥作用,对所有 500 次迭代进行洗牌第 1 次迭代将在第二天成为其他 499 次迭代中的任何一个。现在,洗牌的逻辑将在减少猜测概率方面发挥至关重要的规则。


    还记得我说过“人们总是可以通过检查内存来检查安全性。然后,有关乱码记忆的问题就开始发挥作用,以吓跑可能想要绕过的入侵者。

    后来提到了当你分解 1TB 的密钥复杂性时所感受到的勇气和自尊。”?


    为了让这个系统发挥作用,丽莎需要内部装有某种计算机。门的记忆允许对每把锁进行唯一存储并在以后进行洗牌。现在,洗牌可以每天手动进行,也可以基于算法逻辑。因此,门还必须具有某种洗牌逻辑(我将进一步称之为系统原因)。

    丽莎和所有其他授权人员可以很好地从“总部”收集有关当今锁系统的知识。

    或者,如果我们不想创建总部,他们可能会像头脑中的门一样进行类似的洗牌推理


    这允许集中式分散式存储和交互。总部将允许新人员进入。没有总部就意味着只有有限的预定人员能够开门。

    这两种途径都开启了更深入的实施,因为去中心化系统可以允许新来者通过向Lisa提供唯一的加密密钥来授予她访问权限。


    但现在我可能太过超前了。我们来看看抽象锁是如何制作的。


第 2 部分:锁

也许是最容易理解的部分。然而,从数学上证明它超出了我的能力范围和专业知识,但我将尝试提供清晰的结构分析,以便数学理解和实现。


1.素数-非素数锁系统。

1.1 素数-非素数锁密码


所使用的密码由两组组成。

一组仅数和一组仅非素数

两个集合具有相同数量的元素

只要前面的规则成立,每组都可以从任意数字开始。

形成后素数集将获得“ 3 ”作为其最后一个元素而非素数集将获得“ 2 ”作为其第一个元素


所以我们有:

素数=[素数,下一个素数,下一个下一个素数…(30次),3]

非素数= [2, NP, 下一个 NP, 下一个 NP…(30 次)]


这几乎就是锁。


1.2 密码交互


假设丽莎来了并试图打开门。我们假设她知道第一个素数以及集合中有多少个素数(除了 3)。对于非素数也是如此。她知道第一个非素数(除了 2),我们发现她已经知道有多少个非素数(我们不想浪费从规则中本地已知的信息)。


因此,每个开启者入侵者内部知识将需要了解从x 到 y 的素数集和从x 到 y的非素数集(数学中存在的所有素数和非素数)。为了稍后将其调整为与实际密码相对应的所需部分(只有授权人员才知道)。


所以丽莎应该知道所有素数和非素数。两者都达到无穷大并分为当前锁所需的相应集合


作为授权人员,她会知道素数集迭代1从第30个素数开始,有100个素数(末尾+3),非素数集第100个非素数(开头+2)开始)并总共持有 100 (+1) 个非素数。


对于非常基本的交互,我将向您展示两组以及它们与Lisa的交互。粗体文本是只有门和授权人员才知道的内容。斜体文本外部给出的内容,鲍勃可以听到的内容。


迭代 1:

质数集 = [5,7,11,13,17,19,(3)]

非素数集 = [(2),4,6,8,9,10,12]


丽莎走到门口说:“ 2,3 ”。这就是启蒙。现在,门知道丽莎知道里面的两把锁

打开过程开始。

“选定”素数为3。“选定”非素数为2。(这是内部逻辑的规则)

丽莎 说:

'还剩3个'。现在,主选的档位转到了19档。

'2,右'非素点的齿轮现在为 4。

“3,左” (17)

“2,右” (6)

“3,左” (13)

“2,右” (8)


现在,锁已经到了中间位置,13被选为素数,8被选为非素数。丽莎必须说明他们的差异(5)结束与门的通信,以便门运行自己的规则并进行检查。丽莎说: “5; 3,2'。


现在门将在内部运行并检查每组中间数字之间的差异,如果与丽莎指定的数字相对应,则授予访问权限。然而,如果 Lisa 失败了,则另一次迭代开始,Lisa 必须采取不同的路线。这种新的更深层次的故障需要集中式和分散式系统。


如果丽莎是从总部派来的,并且只知道如何打开第一个迭代,那么她将不得不返回以重新获得有关第二个迭代的信息。如果迭代是基于后台迭代的规则(在重复打开失败的情况下),那么迭代将变成而不是2到1.1迭代。假设丽莎也从总部获得了如果她无法打开锁的话锁会如何变化的知识。


在迭代 1.3(3 次失败尝试后),“左/右”决策的速度可能从 1 步变为 3 步,并且新引入的集合的总数将为 3n+1。确保无论你多么努力,你都永远无法选择集合的中间点。 (假设循环不重复)


然而谁知道这是否有必要。如果我们允许锁重复出现,我们可以设想这样的保护:

当您在定位素数选择时声明“向左”并且您位于第一个素数处后,您将在 3 处返回。这将假设您也位于非素数的最后一个位置,因此,声明“右”会将你变成 2。

达到“3,2”状态并且没有提及密钥,因此输入错误,访问被拒绝并且迭代移至下一个锁。 (或者我们永远无法告诉开场者他们失败了,所以他们会无限地尝试猜测,但这当然不会让我们知道有人是否尝试进入并失败了。)


2.形而上学(创造力/想象力/可能性)与数学(现状)


交互安全措施可能性似乎仅限于想象力(可以采取无数的路线) 。这意味着什么?这意味着我们可以使用理性隐藏信息来阻止任何旨在破坏系统的“创造性”或途径。这不是计算问题,而是设定限制的先验知识问题之一。即使您知道可以执行的所有操作,您也永远无法知道 1TB 是否可以容纳 1000 组 20 到 1000 个数字或 100 组 10,000 个数字。因此,你永远不会知道你的起点。特别是因为这 10,000 个数字很可能是一组连续的数字。


我将展示在 ChatGPT 的帮助下描述的“密码交互”的观点。 (我将用粗体和斜体表达我的个人观点)


“在交互和安全措施中提到“想象力的力量”意味着系统的稳健性依赖于预测和抵制破坏其安全性的潜在创造性或创新性尝试的能力(采取的任何路线,无论是创造性还是创新性的)它很聪明,与系统的“真实情况”知识无关*)*。它表明系统设计者已经融入了一些元素,通过利用推理和隐藏信息,使其能够抵抗非常规或意外的方法。


实际上,这意味着系统的设计方式使得即使攻击者试图跳出框框思考或采用新颖的策略来破坏系统,也会有适当的保护措施来减轻此类尝试。这些保障措施可能包括:


  1. 复杂性:系统的结构和规则足够复杂和动态,使得攻击者很难有效地预测或利用弱点。


  2. 隐藏信息:有关系统配置或操作的某些关键信息被隐藏或加密,防止攻击者全面了解系统的漏洞。


  3. 自适应安全措施:系统可以适应或发展以响应新出现的威胁或攻击策略,确保其随着时间的推移保持弹性。


  4. 先验知识的限制:攻击者受到对系统设定限制的先验知识的限制,从而阻止他们利用他们不知道或无法预见的漏洞。”- ChatGPT


想象一下你正在下棋。然而,在交换时你看不到对手的棋子,而他也看不到你的棋子。这种游戏状态可能类似于每个人都只管自己的事。你根本无意冒犯,以保持隐私并意识到自己的缺点为交换。

如果在游戏状态下,任何玩家只看到一次棋子的位置,那么该玩家将获得相关的不可逆的位置信息。没有它……谁知道他的棋子和你的国王之间有多少棋盘。


第三部分:打开这样一个系统的运气

我首先要指出的是,我写的所有内容都只是一个想法。在我亲眼目睹它的实际应用之前,我不会相信它是真的。即使我看到它的实际情况,谁知道我是否会相信这是真实的情况。我仍然需要了解背景知识才能知道开场白做了什么。


现在,我所说的“运气”是什么意思?让我们回到另一个故事。

“当涉及到我们的安全时,我们能说什么‘效率’?我们的长期健康和福祉?为什么“高效”在这里听起来有点太仓促了?因为在这里,我们需要证据。我们必须确定,因为我们的健康在发挥作用。”


看来效率确实有匆忙的一面。我们如何将效率与锁联系起来?

好吧……假设这扇门只需要钥匙“ X ”和“ 3, 2 ”结尾即可打开。所有内部结构都会自行运行到集合的中间并进行检查。这样,我们就能以新颖的方式加密该号码。丽莎可以简单地说“ abc ”,这对于门来说意味着“ 51 ”,如果中间点之间的差确实是 51,则授予访问权限。


我认为这种方法可以提供与以前相同类型的信息。但这样一来,难道就没有人有可能从丽莎那里得到这些信息吗?我的意思是,如果他们知道她要去哪扇门,他们就可以直接去那里……


如果量子世界最终由经典引导怎么办?

我不知道是不是只有我这样,但我相信有一个特定的系统存在。一个特定的数学过程,只要它被隐藏起来,就可以驱使我们以无穷无尽的方式真正的隐私铺平道路。类似素数的分布。每次到达新的巅峰时,整体模式都会发生轻微的变化,但它确实发生了变化


根据我们所看到的,2、3、5、7等等,那些第一个质数,从自然数轴上切出了很多数字。我们发现的素数越大,它们影响的数字就越小。然而,当谈到无穷大时,一半不是与第 1000部分相同吗?


个人无限

我们能否形成一个个人的有界无限作为我们的工作空间


整体变化静态的并且与无穷大相关。如果我们知道这些边界,那么只有我们才能描述整体变化,以便在展示所需的最后一个素数停止


某人表现出确切的中值变化机会非常低,因为他们必须考虑起点和终点(在创建在授权部分之间给出并在交互过程中隐藏(但充当指导规则))。画线的最简单形式是放置 2 个点并将它们连接起来。


现在的问题是:这可能是数学中的某种轴子吗?或者量子数学可以遵循的规则?当我说量子数学时,我指的是两种不同观点之间的相互作用。我们必须找到这两点之间的测量距离,而对它们所在空间形状大小颜色一无所知。 (并且无法播放,因为需要召开会议并重新组织)


第 4 部分:协同作用

现在,延伸到人身上,这个空间是可以被理解和理解的。当涉及人工智能或任何其他计算规则时,只能进行分析。但是如果除了这两点的存在之外没有其他东西可以分析呢?即使是进入游戏的人也无法看到系统。


这可能是我们可以通过某种形式的“有限”意识来确保保护的一个点。对系统本身的理解(与自我理解不同)。圆、反射、内、外等数学规则,都笼罩在其中,形成有限的自我意识。由于缺乏人力(承认人力可能更多),系统将永远保持整体静态。即使指导它的规则正在推动和塑造相互作用和结果。


如果这两点是人类的话,他们独特的视角将允许他们潜在地观察彼此并找到聪明的方法来猜测他们之间的差异。也许,他们永远猜不到确切的经典值。但在这样的系统中,只要不在创建和约束该系统的规则中暗示这种猜测,就可以避免这种“愚蠢”的猜测。即使我们对丽莎、门和鲍勃使用复杂的人工智能,他们仍然无法做出结论性的判断,因为信息永远不足。


如果我要用一句话来总结整篇文章,我会说:保留让你与众不同的东西,这样你就可以用它来塑造更宏伟的想法。


(这篇文章献给丹。如果没有你的帮助,我的日程安排(还有心情)将无法让我专注于所有这些要点。谢谢!)