零知识证明的最新发展和应用

news2025/1/27 13:10:16

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。

当企业收集大量客户数据去审查、改进产品和服务以及将数据资产货币化时,他们容易受到网络攻击威胁,造成数据泄露。数据泄露的损失每年都在上升,每次泄露平均造成损失 420 万美元,如下图所示,它们严重损害了企业的声誉和可信度。

数据泄露的成本

数据泄露的成本

零知识证明 (ZKPs) 等隐私增强技术 (PETs) 为企业提供了保护其敏感数据的方法。我们在本文中描述了 ZKP 的功能及其应用示例,以帮助大家认识最新的网络安全态势。

什么是零知识证明(ZKP)?

零知识证明(ZKP),也称为零知识协议,是一种在不泄露信息本身的情况下验证信息真实性的数学技术。该方法最初由麻省理工学院的研究人员在1985年的一篇论文[1]中引入。

零知识证明如何发挥作用?

下面是一个流行的例子来说明 ZKP 背后的基本思想:

假设你(证明者)有一个色盲朋友(验证者),他无法区分绿球和红球(对球是否为不同颜色的了解为零)。你需要证明球的颜色是不同的,但你需要去用证据去说服他,而不是只有你的劝说。解决这个问题的 ZKP 方法如下:

  1. 你的朋友拿走球,且让你看看红球和绿球各在哪只手上;

  2. 然后,你的朋友将球放在背后,可以选择是否交换两个球;

  3. 然后,将球拿出来并询问你是否交换了球。由于你可以区分绿球和红球,因此可以轻松给出正确答案;

  4. 你的朋友不相信。因为你有 50% 的机会正确猜测他们是否交换了球,并且球的颜色仍然相同。

  5. 但是,如果你的朋友多重复几次,最终你每次正确猜测他们是否换球的概率就会非常低。这使你的朋友能够在不知道球的实际颜色的情况下验证球的颜色是否不同。

ZKP 的实际应用中使用了一系列密码算法来验证计算语句。例如,使用 ZKP 方法,付款接收方可以验证付款人的银行帐户中有足够的余额,而无需获取有关付款人余额的任何其他信息。

另一个广泛流传的可以说明交互式证明工作流的示例是有关阿里巴巴的洞穴故事,该故事可以在维基百科文章中找到。

零知识证明有哪些特性?

零知识证明(ZKP)方法必须满足以下标准:

完整性:如果证明者提供的信息是真实的,那么ZKP方法必须使验证者能够验证证明者说的是真话。

可靠性:如果证明者提供的信息是错误的,那么 ZKP 方法必须允许验证者反驳证明者说的是真话。零知识:该方法必须向验证者透露证明者是否说真话以外的任何内容。

零知识证明有哪些不同类型?

零知识证明主要有两种类型:

交互式零知识证明:在这种类型的 ZKP 中,证明者和验证者进行多次交互。验证者向证明者提出挑战,证明者对这些挑战提供答复,直到验证者确信为止。

非交互式零知识证明:在这种类型的 ZKP 中,证明者提供的证明在任何时候只能被验证者验证一次。这种类型的 ZKP 比交互式 ZKP 需要更多的计算能力。

零知识证明有哪些应用和用例?

零知识证明可用于保护各种密码学方案中的数据隐私,例如:

区块链:比特币和以太坊等公共区块链的透明度可以实现交易的公开验证。然而,它也意味着很少的隐私,并可能导致用户去匿名化。零知识证明可以为公共区块链引入更多隐私。例如,加密货币 Zcash 基于零知识简洁非交互式知识论证(zk-SNARK),这是一种零知识加密方法。另一个例子是零知识可扩展透明知识论证(zk-STARK),它用于以太坊区块链并提供隐私和可扩展性。

金融:ING 使用 ZKPs 允许客户证明他们的秘密号码位于已知范围内。例如,抵押贷款申请人可以证明他们的收入在允许的范围内,而无需透露他们的确切工资。

在线投票:ZKPs 可以允许选民匿名投票并验证他们的投票是否包含在最终计票中。

身份验证:ZKP 可用于对用户进行身份验证,而无需交换密码等秘密信息。机器学习:ZKP 可以让机器学习算法的所有者让其他人相信模型的结果,而无需透露有关 ML 模型本身的任何信息。

零知识证明面临哪些挑战?

没有 100% 的保证:即使在证明者撒谎时验证者进行验证的概率可能非常低,ZKPs 也不能保证声明 100% 有效。如上所述,证明者说谎的概率在选球过程的每次迭代中都会降低,但永远不会达到零。因此,零知识证明并不是数学意义上的实际证明。

计算强度:所使用的算法计算强度大,因为它们需要验证者和证明者之间的大量交互(在交互式 ZKP 中),或者需要大量的计算能力(在非交互式 ZKP 中)。这使得 ZKP 不适合慢速或移动设备。

原文地址:Zero-Knowledge Proofs: How it Works & Use Cases in 2024
原文作者:Cem Dilmegani
翻译 & 整理:开放隐私计算 & PrimiHub

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

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

相关文章

从Demo理解Thrift Thrift和Dubbo的区别

文章目录 安装demo尝试Thrift协议栈Thrift 与 Dubbo 的区别 字节里的RPC框架都是用的Thrift,我猜这主要原因有2: Thrift是Facebook开源的项目,平台中立Thrift支持跨语言调用,这非常适合字节Java、Go语言都存在的环境,语言中立 但…

手把手Docker部署Gitblit服务器

1拉取镜像 docker pull jacekkow/gitblit:v1.9.1 2.启动 docker run -d --name gitblit --restart always -p 10006:8080 -p 18443:8443 -p 19418:9418 -p 29418:29418 -v /data/gitblit/data:/opt/gitblit-data jacekkow/gitblit:v1.9.1 3.查看 默认账户/密码:admin/adm…

运算放大器相关知识总结(1)

1、 前言 最近做了一个小项目,这个项目是研发一款阻抗测量仪。这个阻抗测量仪可以测量人体在不同频率下的生物电阻抗,该设备的核心是模拟电路,技术难点是减小模拟电路噪声。该项目前前忙了2个多月,借着研发这个项目的机会把自己掌…

Jenkins-用户管理

用户管理 1 安装插件 2 选择安全策略为刚刚安装的插件 3 这个是安装插件以后会有的选项 4 增加一个角色 5 根据需要赋值角色的权限,并分配给用户

Protecting Intellectual Property of Deep NeuralNetworks with Watermarking

保护深度神经网络的知识产权与数字水印技术 ABSTRACT 深度学习是当今人工智能服务的关键组成部分,在视觉分析、语音识别、自然语言处理等多个任务方面表现出色,为人类提供了接近人类水平的能力。构建一个生产级别的深度学习模型是一项非常复杂的任务&a…

每日算法打卡:摘花生 day 14

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例:输出样例: 题目分析示例代码 原题链接 1015. 摘花生 题目难度:简单 题目来源:《信息学奥赛一本通》 题目描述 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来…

机器学习_捕捉函数的变化趋势(凸函数)

文章目录 连续性是求导的前提条件通过求导发现 y 如何随 x 而变凸函数有一个全局最低点 机器学习所关心的问题之一捕捉函数的变化趋势,也就是标签(y)是如何随着特征字段(x)而变化的,这个变化趋势是通过求导…

Arm Generic Interrupt Controller v3 and v4(GICv3v4)学习(一)

提示 该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网参考文档为准。 Arm Generic Interrupt Controller v3 and v4学习一共分为三章&…

【ArcGIS微课1000例】0088:计算城市建筑物朝向(矩形角度)

文章目录 一、实验描述二、实验数据三、角度计算1. 添加字段2. 计算角度四、方向计算一、实验描述 矩形要素具有长轴和短轴,其长轴方向也称为矩形面的主角度,可用于确定面要素的走向趋势。根据该方向参数,可以对具有矩形特征的地理对象进行方向分析,且适用于很多应用场景,…

利用PicGo和SM.MS图床工具实现Markdown(Typora)图片脱离本地路径

利用PicGo和SM.MS图床工具实现Markdown(Typora)图片脱离本地路径 文章目录 利用PicGo和SM.MS图床工具实现Markdown(Typora)图片脱离本地路径1.**前言:**2.解决方案2.1准备工具2.2. 工具介绍2.2.1. Typora2.2.2. SM.MS图床2.2.3. P…

如何使用手机公网远程访问本地群辉Video Station中视频文件【内网穿透】

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 1.使用环境要求:2.下载群晖videostation&am…

AnnData:单细胞和空间组学分析的数据基石

AnnData:单细胞和空间组学分析的数据基石 今天我们来系统学习一下单细胞分析的标准数据类型——AnnData! AnnData就是有注释的数据,全称是Annotated Data。 AnnData是为了矩阵类型数据设计的,也就是长得和表格一样的数据。比如…

SpringMVC零基础入门 - 概述、入门搭建、PostMan的使用(常见数据类型的传输)、REST风格编程

SpringMVC零基础入门 - 概述、入门搭建、PostMan的使用(常见数据类型的传输)、REST风格编程 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装SpringMVC是处于Web层的框架,所以其主要的作用就是用来接收前…

cpp_11_虚函数_多态_纯虚函数

编译器根据指针的类型,来确定调用哪个类的普通成员函数 编译器根据基类类型指针指向的对象类型,来确定调用哪个类的虚函数 0 非虚的世界(全普通函数) 对象的自洽性: 1)对同样的函数调用,各个类的对象都会做出恰当的…

WEB前端人机交互导论实验-实训2格式化文本、段落与列表

1.项目1 文本与段落标记的应用&#xff1a; A.题目要求: B.思路&#xff1a; &#xff08;1&#xff09;首先&#xff0c;HTML文档的基本结构是通过<html>...</html>标签包围的&#xff0c;包含了头部信息和页面主体内容。 &#xff08;2&#xff09;在头部信息…

Kubernetes (十二) 存储——Volumes配置管理

一. 卷的概念 官方地址&#xff1a;卷 | Kuberneteshttps://v1-24.docs.kubernetes.io/zh-cn/docs/concepts/storage/volumes/ 二. 卷的类型及使用 …

vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)

文章目录 ⭐前言&#x1f496;vue3系列相关文章 ⭐搭建vue3项目过程&#x1f496; 初始化项目&#x1f496; 添加antd和router依赖&#x1f496; vite配置项映射目录和代理&#x1f496; antd国际化&#x1f496; layout布局封装&#x1f496; vite读取modules目录文件作为路由…

【beyond compare】默认不比较文件结尾

默认不比较文件结尾 git服务端的代码是UNIX 编码的&#xff0c;但是本地visual studio 是PC的&#xff0c; 代码一样&#xff0c;但是编码不同&#xff0c;导致compare 无法区分。 这位大神解决了这个问题,亲测可用&#xff1a; Beyond Compare之PC与UNIX文件比较问题 感谢大…

【Java】JDBC 数据库连接 (JDK17+MySQL8)

文章目录 JDBC 是什么&#xff1f;导入JDBC jar包一、JDBC的核心API和使用路线二、基于 statement 演示 查询三、基于 statement 查询的改进与问题四、基于 preparedStatement 方式优化五、基于 preparedStatement 演示 CRUDC 、增加数据R、查询数据U、修改/更新 数据D、删除数…

Vant-ui图片懒加载

核心代码 在你的全局顶部引入和初始化 Vue.use(vant.Lazyload, {loading: /StaticFile/img/jiazai.jpg,error: /StaticFile/img/jiazai.jpg,lazyComponent: false, });//图片懒加载 <img v-lazy"https://img-blog.csdnimg.cn/direct/3d2c8a7e2c0040488a8128c3e381d58…