ARKS:小白也能看懂的“零知识证明”原理

编者按:本文来自hackernoon.com,作者:OscarW译者:星球日报茶凉

零知识证明或零知识协议是一种基于概率的验证方法,包括两部分:宣称某一命题为真的证明者和确认该命题确实为真的验证者。零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,在密码学中非常有用。顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界的“知识”为“零”。“能够在不知道用户是谁,或者他们有多少钱的情况下判断‘一个用户是否有足够的钱发送给另一个用户’的问题,是零知识证明在区块链中的主要应用之一。”——DemiroMassessi为何零知识证明如此重要?数据隐私是当今社会最重要的课题之一。保护与个人身份有关的个人资料(出生日期、银行月结单、交易记录、学历)极为重要,并会不断增加其重要性。在科技时代,我们正在生成前所未有的海量数据,而我们不断创造的关于我们自己的数据也在不断被获取。像谷歌和Facebook这样的大公司已经利用我们的数据成为了今天主宰世界的科技巨头。然而,最近密码学的突破和区块链的兴起使一种新的方法能够帮助保护我们的数据和身份,甚至保护我们与之交互的组织。零知识证明可能就是如何保护数据隐私的答案。零知识证明的原则零知识证明是麻省理工学院研究人员在20世纪80年代提出的一种加密方案。零知识证明协议是一方(证明者)向另一方证明(验证者)某件事情是真实的一种方法。除了该特定声明是真实的以外,没有披露任何其他信息。例如,当前网站将用户密码的哈希值存储在其web服务器中。为了验证客户端是否真的知道密码,大多数网站目前使用的方法是对客户端输入的密码进行哈希值计算,并将其与存储的结果进行比较。零知识证明可以保护用户的帐号信息不被泄露。如果零知识证明可以实现,那么在客户的密码是未知的情况下,仍然可以在客户端登录进行身份验证。当服务器受到攻击时,用户的帐户仍然是安全的,因为客户的密码没有存储在web服务器中。交互式零知识证明零知识证明协议的基础是交互式的。它要求验证者不断地提出一系列关于证明者所知道的“知识”的问题。例如,如果有人声称知道九宫格谜题的答案,零知识证明就是验证者随机指定按列、行或九个正方形进行验证。每个测试不需要知道具体的答案,只需要检测数字“1”到“9”是否包含在其内。只要验证的次数足够多,就有可能判断证明者是否知道九宫格谜题的答案。然而,这种简单的验证方式并不能使人们相信证明者和验证者都未做伪证。在九宫格游戏中,两者可能会事先串通,以便证明者在不知道答案的情况下通过验证。如果他们想说服第三方相信这个结果,验证者还必须证明验证过程是随机的,并且它不会将答案泄露给证明者。因此,第三方很难验证交互零知识证明的结果,需要第三方的参与,等额外的努力和成本才能向多人证明某件事是真实的。非交互式零知识证明非交互式零知识证明,顾名思义,不需要交互式过程,避免了验证者和证明者串通的可能性,但可能需要第三方机器和程序来确定验证的顺序。例如,在九宫格游戏中,由第三方程序决定要验证哪一列或哪一行。验证序列必须保密,否则验证者可能在不知道真实“知识”的情况下通过验证序列。零知识证明在区块链中的应用比特币和以太坊网络都使用公共地址来代替验证者和证明者的真实身份,使得交易部分匿名;只有发送和接收地址,以及交易数量是公众知道的。但是,通过区块链上提供的各种信息,如交互记录等,可以发现地址的真实身份,存在隐私暴露的隐患。用了零知识证明之后,发送方、接收方和第三方的细节信息可以保持匿名,同时保证交易有效。最早使用零知识证明技巧的区块链叫做Zcash,实际的作法叫做Zk-Snarks,这是许多零知识证明的做法之一,也是最有名的一个。Zk-Snarks是“零知识简洁无交互知识认证”的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。Zk-Snarks技术缩减了证明所需的时间和验证它们所需的计算量。它能够证明有效交易的条件已经满足,而不需要透露交易所涉及的地址或交易量的任何关键信息。Zcash可以将交易纪录上的汇款者、收款者和金额都经过加密隐藏起来,因此矿工无从得知这些交易上的细节,但仍然可以验证交易。不过,目前多数使用者在Zcash上的交易,还是选择未经加密的作法,因为花费的成本比较高。另外,以太坊上的智能合约目前也已经可以运用Zk-Snarks这套零知识证明的作法。但以太坊不完全是从隐私的角度切入,而是从节省运算成本的角度应用零知识证明。透过Zk-Snarks,以太坊矿工可以不用再重新执行交易的运算,而是只要对方提得出证明即可。大概就像我不需要真的知道你会高一到高三的数学,而只要看到高中毕业证就能确定你懂高中数学。不过,这只有在制作证明的成本,远低于实际运算成本的情况下才划算。Zk-Snarks将需要验证的交易内容转化为两个多项式乘积相等的证明,并结合同态加密等高级技术,在执行事务验证的同时保护隐藏的事务量。其过程可简单描述为:将代码分解为可验证的逻辑验证步骤,然后将这些步骤分解为由加减乘除组成的计算流程。进行一系列变换,将待验证代码转换为多项式方程,如t(x)h(x)=w(x)v(x)。为了使证明更加简洁,验证者事先随机选择几个检查点s,检查这些点上的方程是否为真。通过同态编码或加密,验证者在计算方程时不知道实际输入值,但仍然可以验证。在等式的左右两边,乘以一个不等于0的密值k。当验证(t(s)h(s)k)=(w(s)v(s)k)时,具体的t(s)、h(s)、w(s)、v(s)是不可知的,可以对信息进行保护。当前履行Zk-Snarks算法的一个缺陷是需要在advanced中内置参数。如果这些参数泄露,整个网络将面临毁灭性的破坏。因此,用户必须信任在使用这些网络时不会泄露的信息。可能的解决方案包括使用现代的“可信执行环境”,如IntelSGX和ARMTrustZone。对于Intel的SGX技术,即使应用程序、操作系统、BIOS或VMM受到威胁,私钥也是安全的。此外,最近的一份白皮书揭示了它在零知识密码学中的创新:Zk-Snarkss(零知识可伸缩透明知识参数)。根据Zk-Snarks白皮书,Zk-Snarks是第一个不依赖任何信任设置实现区块链验证的系统,而随着计算数据数量的增加,计算速度呈指数增长。它不依赖于公钥加密系统,而且更简单的假设使它在理论上更安全,因为它唯一的加密假设是哈希函数(如SHA2)是不可预测的。零知识证明和Zk-S(T|N)ARK等技术的测试和采用需要时间。

挪威央行:挪威应该考虑制定国家加密货币监管战略:金色财经报道,挪威中央银行在周四的一份报告中表示,挪威应该考虑制定国家加密货币监管战略。挪威银行副行长P?l Longva表示,挪威当局应该评估是否要更快地采取行动,而不是等待国际监管解决方案。挪威银行可以为此类评估和促进负责任创新的监管做出贡献。

此外,挪威银行表示,MiCA 适用于加密市场中的一系列服务提供商,涵盖市场滥用、消费者保护、市场诚信和金融稳定,但它不包括“去中心化金融的发展,因为监管的主要重点是中心化市场参与者,立法者应该利用现有法规来应对系统性风险和执法行动。[2023/5/26 10:40:52]

澳新银行:美联储料将加息25个基点:4月27日消息,澳新银行分析师表示,他们预计 FOMC 将在下周会议上加息 25 个基点。这将使联邦基金利率的目标上限为 5.25%。而他们的基准预测是美联储会再有一次 25 个基点的加息,使利率达到 5.50%。

不过从更宏观的角度来看,紧缩周期可能已接近尾声。他们预计未来的利率决定将由逐次会议决策。他们对 GDP 的预测是,去年加息的滞后效应将在第二季度产生更深刻的影响。他们预计消费和劳动力市场增长将放缓。

然而,核心服务通胀可能需要一段时间才能缓解。此外,银行偿付能力是 FOMC 将会考虑的一个问题。当务之急是控制通胀,以保护银行资产的价值。他们预计联邦基金利率将在 2023 年下半年保持稳定,以抑制通胀。(金十)[2023/4/27 14:30:34]

Ripple已任命新总裁Monica Long为美SEC诉讼裁决做准备:1月27日消息,Ripple 宣布任命Monica Long担任新总裁,其此前担任Ripple高级副总裁兼总经理,本次升职或与该公司正在与美国证券交易委员会(SEC)的诉讼案件有关。

据悉,Monica Long是Ripple跨境交易按需流动性 (ODL) 产品的核心人物。[2023/1/28 11:32:51]

观点:谷歌正致力于加密货币领域:金色财经报道,谷歌与Coinbase的合作表明谷歌正致力于加密货币领域。加密货币和科技巨头之间的合作被称为对区块链的肯定。根据最近的头条新闻和谷歌公司的说法,人们会认为谷歌正在涉足加密领域。然而,一些人认为这家科技巨头选择的合作伙伴Coinbase,证明谷歌只是在试探。

几周前,谷歌和Coinbase发布了一份联合新闻稿,标题为“谷歌云和Coinbase启动新的战略合作伙伴关系以推动Web3创新”。几天后,谷歌云推出了其以太坊区块链节点引擎。(CoinDesk)[2022/11/4 12:15:31]

数据:近24小时全网爆仓1.79亿美元:金色财经报道,据Coinglass数据,近24小时全网爆仓1.79亿美元,其中以太坊爆仓5068.79万美元,比特币爆仓3859.59万美元。[2022/9/22 7:12:25]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-1:58ms