密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

1. 引言

前序博客有:

  • ZKP大爆炸

本文主要参考:

  • StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy
  • 2023年3月Eli Ben-Sasson在The 13th BIU Winter School on Cryptography - Blockchain Technologies的分享视频 A Cambrian Explosion of Cryptographic Proofs - Eli Ben-Sasson

要点:

  • 密码学证明(Cryptographic Proofs)可验证计算,并提高区块链网络的交易完整性。
  • L2链采用密码学证明来扩容——为聚合的交易生成可验证的证明。
  • ZKPs(Zero-Knowledge Proofs)在不泄露额外信息的情况下可用于验证真相,但它们对隐私的使用各不相同。
  • 密码学证明包含的技术层面有:算术化 以及 低阶强化(low-degreeness enforcement)。
  • 随着区块链技术的成熟,某种类型的密码证明可能会占主导地位,促进扩容、透明性和隐私。

C.S. Lewis对完整性的定义为:

  • 即使在无人监管的情况下,也做正确的事。

在区块链上下文中,密码学证明用于保证完整性——即使无人监管,仍确保某些计算处理正确。

本文重点关注:

  • 何为密码学证明?
  • 如何将密码学证明用于区块链?
  • 不同密码学证明方案实现的差异性。(从算术化、低阶、密码学假设这三个维度来区分)

2. 何为密码学证明?

密码学证明为:

  • 一组数学和密码学协议,用于断言计算的完整性。

一个密码学证明的很美示例见L. Babai等人1991年论文Checking Computations in Polylogarithmic Time,在该论文中提出了一种协议:

  • 一台个人电脑可以用强大但不可靠的软件和未经测试的硬件监控一群超级计算机的运行。

这意味着,即使控制超级计算机的一方是恶意的,或者被激励误报计算结果,一台计算能力有限的机器 可断言 一组计算能力高得多的超级计算机所做计算的完整性。

3. 如何将密码学证明用于区块链?

过去十年来,见证了半实用和实用证明系统的寒武纪大爆发,以及大量确保隐私、安全和计算完整性的应用。而且,尽管web2和web3一样需要完整性,但由于区块链的开放和透明性质,以及它们更喜欢数学完整性而不是基于人的完整性,所有使用通用密码学证明系统的产品都可以在web3中的区块链上找到。为理解密码学证明如何帮助区块链扩容,需首先回顾区块链是如何工作的。

如今,当在Solana、以太坊或Cosmos等区块链上发送交易时,网络中的每个validator都会接收并执行交易。这很快就会变得效率低下。随着去中心化的发展,用于将每个交易包括在网络历史中的计算资源随着活跃validators的数量线性增加。

多个项目(如Aztec、Starknet)旨在使用密码学证明来解决扩容问题——称为L2 Validity Rollup,因为这些项目位于L1区块链(如以太坊)之上。这些L2 rollups背后的思想为:

  • 依赖于密码学证明来确认链外计算的完整性,以及状态和交易集更新的有效性。

对 长计算完整执行 的验证能力代表了分布式网络吞吐量的基本范式转变。一个由许多机器组成的网络可以简单地验证它们,而不是天真地重新执行每个计算步骤。不需要超级计算机——这些计算机可以是普通的弱计算机。

这种大规模计算完整性的验证是由L1(如以太坊)的可靠节点执行的。在这种情况下,使用上面提到的1991年论文中的预言,L1网络中的Validators扮演着“单个可靠的PC”的角色,而L2 Prover是一台超级计算机,尽管在未经测试的硬件和可能不可靠的软件上执行,但它还是实现了完全的完整性和可靠性。

密码学证明寒武纪大爆发是关于这些系统在区块链中应用的日益增加,以及实现这些证明的不同密码学协议的激增。目前在web3中使用的许多项目有:
在这里插入图片描述
现有的知名密码学证明系统有:【主要用于区块链领域的以黄色框表示,其它以白色框表示】
在这里插入图片描述

4. 不同密码学证明方案实现的差异性

密码学证明方案众多,理解每种方案的优势劣势很重要。

4.1 ZKP:扩容 VS. 隐私

尽管很多项目都会提到“零知识”证明(或ZKP)一词,而且零知识证明在保护隐私的区块链中具有潜力,但大多数web3 L2 Validity Rollup 并不使用具有“零知识”密码学属性的证明,而是依赖于密码学证明的扩容属性。

ZKP是允许一方验证特定计算是否正确执行的证明,而不会透露该计算所消耗的输入(如,密码、交易的财务细节、医疗数据等)。因此,除了显著降低验证成本(继承自密码学证明的属性)外,还获得了隐私。

当项目声称其使用ZKP时,准确理解项目的含义是很重要的。虽然大多数基于区块链的项目都声称他们的技术“基于ZKP”,但事实上,其解决方案没有隐私考虑。

大多数项目更关注扩容而不是隐私:
在这里插入图片描述

4.2 何为算术化?

当看到一个系统需要证明的一组计算时,将这些计算问题转化为代数问题是有意义的。密码学证明中的算术化是指在有限域上使用算术运算来表示数学概念和运算的过程。

在高层,这意味着将任何语句表示为代数方程,即多项式。将计算问题转化为此类代数问题的过程在计算机科学的行话中被称为“归约(reduction)”,详细示例见下图:
在这里插入图片描述
算术化有助于提高扩容性的原因是,一旦用代数和多项式表达事物,就可提高发现破坏完整性的可能性。要了解多项式的魔力及其在证明中的有用性,最好学习STARK 101课程或阅读博客Arithmetization II。

考察不同的证明系统,一个区别因素是执行算术运算的方式。一些可以使用整数环(RSA环)上的模运算,另一些可以使用椭圆曲线和/或更复杂的方法(基于格的密码学、基于码的密码学和多变量多项式)。

4.3 低阶

所有的密码学证明系统都有某种形式的低阶强化,这是它们之间的一个关键区别因素。

低阶强化是指确保多项式(作为算术过程的一部分所生成的代数方程)的阶数小于某个阈值的过程。(只是提醒一下,多项式中的阶等于其中出现的项的最大幂。)

低阶强化对于完整性和安全性是必要的。错误地接受错误证明的概率与所选择的多项式的阶有关。此外,因为低阶多项式具有一些良好的数学特性,在这些系统使用低阶多项式,效率更高。

在这里插入图片描述
多项式承诺方案(polynomial commitment scheme,PCS)是一种允许对多项式进行有效和可验证计算的密码学协议。它使一方,即Committer,能够在不透露其全部细节的情况下对多项式进行承诺,而另一方,称为Verifier,可以稍后验证多项式承诺的属性。

在这里插入图片描述
在这里插入图片描述
不同的证明系统使用不同的PCS来创建和验证证明。STARKs和Risc0使用Fast Reed-Solomon Interactive Oracle Proof(“FRI”)承诺方案,而Groth16和PLONK使用KZG承诺方案。通常,这些承诺方案之间的区别因素在于:

  • 创建证明的成本
  • 验证证明的成本
  • 证明的大小

在这里插入图片描述
见上图,可了解不同系统的优缺点。STARK证明系统使用FRI协议来强化低阶多项式。在STARK证明系统中,Prover与Verifier迭代交互,并对新的多项式进行承诺,使得每个新多项式的阶是前一个多项式的一半。PLONK系统使用基于椭圆曲线数学的多项式承诺(例如,KZG)。

此外,一些系统可能需要可信设置。可信设置中将生成特定的秘密参数。需要可信设置的证明系统中,挑战在于这些参数的pre-image必须保持私有。如果没有,那么整个证明系统就很脆弱,产生虚假证明就成为可能。
通常,组织特殊的可信设置“仪式”——多方私下创建随机元素组合以获得最终参数。只要其中的一方成功地销毁了其提交的随机元素,则可以认为该可信设置是安全的。

4.4 密码学假设

最后,还需跟踪这些证明系统所使用的密码学假设,如依赖于:

  • 椭圆曲线数学(如BulletProofs和Halo(2)),这些都是量子计算机可破解的。
  • “knowledge of exponent”(如Groth16、PLONK等),这些都是量子计算机可破解的。
  • 抗碰撞哈希(如STARKs、ZKBoo等),这些是抗量子计算机的。

在这里插入图片描述

5. 结论

在这里插入图片描述
在这里插入图片描述
如上可知,可以使用大量的密码学证明来实现扩容和透明性(或隐私):

  • 有的具有short proofs(如Groth16)
  • 有的在大型计算中效果更好(如STARK)

然而,随着生态系统的成熟,将看到某种类型的密码证明被广泛使用。

参考资料

[1] StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx页面优化与防盗链

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、nginx页面优化1.版本号1.1 查看版本号1.2 修改版本号1.2.1 修改配置文件1.2.2 修改源码文件,重新编译安装 2.nginx的日志分割3.nginx的页面压缩3.1 …

微软亚洲研究院推出AI编译器界“工业重金属四部曲”

编者按:编译器在传统计算科学中一直是一个重要的研究课题。在人工智能技术快速发展和广泛应用的今天,人工智能模型需要部署在多样化的计算机硬件架构上。同时,训练和部署大型人工智能模型时又对硬件性能有着更高的要求,有时还需根…

macOS Ventura 13.5beta5(22G5072a)发布

系统介绍 黑果魏叔 7 月 11 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 5 更新(内部版本号:22G5072a),本次更新距离上次发布隔了 12 天。 macOS Ventura 带来了台前调度、连续互通相机、Fa…

1g的视频怎么做二维码?较大视频如何生成二维码?

现在很多参与评选活动时,会制作好相关的视频内容,然后生成二维码之后,发送给活动管理人员从而参与评选。在根据要求录制视频时,有些视频会因为时间太长,导致文件过大,那么如何将超过1g的等视频生成二维码&a…

基于DEF生成LIB的方法

基于DEF生成LIB的方法 [生成64位lib] lib /def:libcurl-x64.def /MACHINE:x64 /OUT:libcurl-x64.lib[生成32位lib] lib /def:libcurl-x64.def /OUT:libcurl-x64.lib

OpenCV 图像处理算法和技术的应用实践

OpenCV 图像处理算法和技术的应用实践 导语一、图像滤波算法二、图像分割技术三、特征提取与描述算法四、实践示例:图像风格转换总结 导语 图像处理算法和技术在计算机视觉和图像处理领域发挥着重要作用,通过对图像进行分析、增强和转换,可以…

2023机器人操作系统(ROS)暑期学校预热-线下时间/地点-(转发)

原文地址: https://mp.weixin.qq.com/s/McjBgCpecL6OMgpcrPyY_Q 中国机器人操作系统(ROS)暑期学校自2015年举办以来,被中国机器人业界和学界,以及ROS开源基金会誉为除了ROSCon之外规模最大、参与人数最多、最成功的RO…

什么是Heatmap(热图)图表?用DHTMLX可实现快速构建

DHTMLX Chart是DHTMLX最新发布的JavaScript UI小部件库的核心内容之一,这个图表小部件收到了几个重要的更新,但其中最引人注目的是一个新的数据可视化选项——日历热图。 DHTMLX专注于JavaScript和HTML5 UI小部件和库,以帮助开发人员更快地构…

基于springboot+vue的疫情管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

不外传秘诀| docker 快速搭建常用的服务环境

本文主要给大家介绍如何使用 docker 搭建常用的服务环境, 包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。 1、MySQL 部署 ①搜索 MySQL 镜像 docker search mysql ②拉取 MySQL 镜像 docker pull mysql:5.7 ③创建容器&#xf…

基于STM32单片机的智能家居烟雾温度火灾防盗报警的设计与实现

功能介绍 以STM32单片机作为主控系统;LCD1602液晶显示屏来显示显示测得的值;SR501人体红外感应是否有人进行防盗;通过烟雾传感器MQ-2获取前的烟雾值;通过DHT11温湿度传感器来获取当前的温湿度;所有的信息通过通过esp82…

php通过IP获取用户当前所在城市

php获取当前用户所在城市 php通过ip免申请api获取所在城市的代码包括省市区sql数据 <?php function getName($pinyin,$lv){$servername "localhost";$username "root";$password "root";$dbname "ttx";try {$conn new PDO(…

机器学习15:神经网络-Neural Networks

神经网络是特征交叉的更复杂版本。本质上&#xff0c;神经网络会学习适当的特征组合。本文主要介绍神经网络的结构、隐藏层、激活函数等内容。 目录 1.神经网络&#xff1a;结构 2.隐藏层 3.激活函数 3.1 常用激活函数 3.2 小结 4.神经网络小练习 4.1 第一个神经网络 …

Jina AI 受邀出席 WAIC 2023「科技无障碍」论坛,与行业专家共话 AI 普惠未来

7 月 6 日&#xff0c;2023 世界人工智能大会&#xff08;WAIC&#xff09;在上海世博中心及世博展览馆开幕&#xff0c;并在浦东张江、徐汇西岸设分会场&#xff0c;同步在闵行等产业集聚区开展同期活动。本届大会由上海市人民政府和国家发改委、工信部、科技部、国家网信办、…

基于JSP+Servlet的医药药品管理系统

用户类型&#xff1a;双角色角色&#xff08;患者、管理员[医生]&#xff09; 设计模式&#xff1a;MVC&#xff08;jspservletjavabean) 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 主要技术&#xff1a;jsp、servlet、jdbc、jsp、html5、jquery、css、js…

RabbitMQ之交换机

RabbitMQ之交换机 1. Exchanges1.1 Exchanges 概念1.2 Exchanges 的类型1.3 无名 exchange 2. 临时队列3. 绑定&#xff08;bindings&#xff09;4. Fanout4.1 Fanout 介绍4.2 Fanout 实战 5. Direct exchange5.1 Direct exchange 介绍5.2 多重绑定5.3 实战 6. Topics6.1 之前类…

亚马逊云科技143项安全标准与合规性认证,帮助企业满足安全合规要求

在亚马逊云科技&#xff0c;为满足客户不断变化的需求&#xff0c;亚马逊云科技持续创新与迭代&#xff0c;设计的服务能帮助客户满足最严格的安全和合规性要求。针对安全相关工作&#xff0c;亚马逊云科技服务团队与Amazon Security Guardians云守护者项目密切配合&#xff0c…

linux终端前面显示base和不显示base

问题描述&#xff1a;前提是系统里装了anaconda3&#xff0c;有时候两个服务器之间相连长时间没使用或者访问时候前面没显示base。。 解决&#xff1a;我们在做深度学习时需要一个环境&#xff0c;如果前面没显示base的话&#xff0c;你直接conda activate是激活不了我们需要跑…

降级npm后,出现xxx 不是内部或外部命令解决方法

比如我安装了anyproxy npm install anyproxy -g 之后在cmd中输入anyproxy 发现 anyproxy 不是内部或外部命令解决方法. 一般出现这样的问题原因是npm安装出现了问题&#xff0c;全局模块目录没有被添加到系统环境变量。 Windows用户检查下npm的目录是否加入了系统变量P…

实例014 OutLook界面

实例说明 程序主界面包括菜单栏、工具栏、状态栏和树状视图。OutLook界面美观、友好&#xff0c;是一个很实用的程序主界面&#xff0c;并且菜单栏和工具栏是可移动的。运行本例效果如图1.14所示。 图1.14 Out Look界面 技术要点 一般程序的菜单栏和工具栏是不可移动的&…