区块链、隐私计算、联邦学习、人工智能的关联
目录
前言
1.区块链
2.隐私计算
3.联邦学习(隐私计算技术)
4.区块链和联邦学习
5.区块链和人工智能
展望
参考文献
前言
区块链公开透明,但也需要隐私,人工智能强大,但也需要限制。当前我们需要的是一个在保证个人隐私的前提下,最大化公开透明的世界,我们需要人工智能解放人类的双手,帮助人类征战星空,但我们又要控制它们,不至于反噬人类。
1.区块链
区块链是将密码学、P2P、智能合约、共识机制等技术进行结合的一个分布式分类账本,这些让区块链上的数据具有不可篡改性、可追溯性、去中心化性等特点。所以区块链是能够解决多方信任和协作的有利工具。
不可篡改性:数据一旦上链,便不可更改。
可追溯性:数据发布到使用的过程全部上链,随时可以查询。
去中心化性:可以理解为数据在自己手中,中心化时用户数据全部在腾讯、阿里这样的中心。
简单理解:比方说,一个人的一天包括吃饭,上厕所,睡觉,这些数据上链之后,无论过去百年还是万年,都可以被查询(可追溯性),而且假设有一天,你吃坏肚子,大便很臭,你不希望未来被后人知道,想改数据,这是无法改变的(不可篡改性),而且每个人都能知道你哪天大便臭(去中心化性)。
补充:区块链在数据结构上是使用哈希指针代替普通指针的链式结构。区块包括了区块头和区块体,区块头包含了 版本号、前一个区块的哈希值、默克尔树的根哈希值、时间戳、难度值和随机数,块体包含了本区块的交易。
区块链让信任经济成为可能,并开创了一种在不可信的竞争环境中低成本建立信任的新型计算范式和协作模式,其正在加速构建新一代价值网络和契约社会,并已逐步成为数字经济时代的通用信任基础实施。
但在传统区块链技术中,数据是公开透明的,且所有数据都会被记录在区块链上,所有节点都可以访问。因此,如果区块链中记录的信息涉及到个人隐私或商业机密等敏感信息存在泄露的风险。
2.隐私计算
隐私计算本质上是在保护数据隐私的前提下,进行数据分析计算等任务。具体是指在处理视频 、音频、图像、图形、文字、数值、泛在网络行为性信息流等信息时,对所涉及的隐私信息进行描述、度量、评价和融合等操作。
与传统数据使用方式相比,隐私计算的加密机制能够增强对于数据的保护、降低数据泄露风险。因此,包括欧盟在内的部分国家和地区将其视为“数据最小化”的一种实现方式。同时,传统数据安全手段,比如数据脱敏或匿名化处理,都要以牺牲部分数据维度为代价,导致数据信息无法有效被利用,而隐私计算则提供了另一种解决思路,保证在安全的前提下尽可能使数据价值最大化
技术方向:
多方安全计算:基于密码学的隐私计算技术;
联邦学习:人工智能与隐私保护技术融合衍生的技术(传输的数据是加密的,但模型训练的时候是要用私钥解密的);地址
可信执行环境:基于可信硬件的隐私计算技术。不同技术往往组合使用,在保证原始数据安全和隐私性的同时,完成对数据的计算和分析任务。
3.联邦学习(隐私计算技术)
人工智能成功基于大量高质量的数据。随着人工智能的快速发展,所需要的数据量也越来越大,但是摆在面前的事实是:除了有限的几个行业,大多数行业现有数据有限且质量较差,这不足以支撑人工智能技术的实现。这样的数据所训练出来的模型是片面不可取的。
数据获取的过程中,还面临数据隐私问题,这些数据可能来源于不同的组织与机构,这就存在数据流向的不可控和敏感数据泄露问题,尤其是当下大模型当道,更是需要海量的数据,那么如何获取更多可用数据就成为了一个热点问题,在此基础上出现了联邦学习。
联邦学习是为了解决联合训练模型时的隐私问题,所提出的一种方法。能够在多方数据源聚合的场景下协同训练全局最优模型,将机器学习的数据存储和模型训练阶段转移至本地用户,仅与中心服务器交互模型更新的方式有效保障了用户的隐私安全。简单理解为,让各个企业自己进行模型的训练,各个企业在完成模型的训练之后,将各自模型的参数上传至一个中心服务器(也可以是点对点),中心服务器结合各个企业的参数(可以上传梯度,也可以是自己更新后的参数),重新拟定新的参数(例如通过加权平均,这一步叫做联邦聚合),将新的参数下发至各个企业,企业将新参数部署到模型上,从而继续新的训练,这个过程可以进行反复的迭代,直到模型收敛,或者满足其他的条件。
4.区块链和联邦学习
目前联邦学习可能存在安全漏洞,其中心化的结构完全依赖于中央服务器的可靠性,一旦中央服务器被恶意侵占,整个训练过程都将完全被攻击者控制。比如:数据污染和模型污染,即一个恶意的参与者可以向云端的联邦学习服务器故意发送错误的参数来破坏模型参数的全局聚合过程。这样得到的全局模型无法进行正常的更新,整个学习系统就被破坏了。区块链作为一项去中心化的技术,具有可溯源、不可篡改的特性,可以将每次模型更新与各个参与者相关联,利用区块链中交易的可追踪性来检测尝试篡改数据的欺诈性交易行为。同时利用区块链实现系统的去中心化,加强了系统的容错性和抗攻击性。
所以区块链和联邦学习的结合成为当前的研究热点,联邦学习是基于隐私保护的分布式机器学习,而区块链是能实现价值转移的分布式数据库,使用加密算法和共识机制,使得所存的数据不可篡改且公开透明。区块链和联邦学习都是分布式体系架构,但本质不同,联邦学习以数据不出域的思想为核心,而区块链要利用分布式共识,保证每个节点的一致性。因此,区块链能给联邦学习类似虚拟货币的激励机制,通过激励机制鼓励参与方贡献自己的计算资源和数据; 区块链代替联邦学习的中心服务器,为联邦学习提供一个安全的数据交换环境,或者利用区块链的可追溯性帮助联邦学习找到恶意参与方,及时进行止损和惩罚。
工业物联网中,这项技术可以鼓励工厂提供设备的运行数据,以多个工厂生产设备的使用状况为样本,用来确定设备故障的位置。通过对客户端的数据进行哈希运算,并将根节点存储在区块链上,实现客户端数据的验证完整性。参与方除了托管本地设备的数据以外,还管理一个区块链节点,为了鼓 励参与方贡献算力和数据,在智能合约中可以加入奖励 机制,根据参与方的训练状态、训练轮次、参与方数据集大小等为参与方发放虚拟货币。
5.区块链和人工智能
区块链技术和人工智能本是两种不同的技术,但是两者之间又相辅相成。人工智能最大的问题就是黑箱原理,人类无法理解模型所做出的决策,也就无法从根本上控制人工智能,尤其是近来大模型的快速发展,让人类也有了人工智能是否可控的危机感。而区块链技术可以运用到人工智能中,能提高人工智能的安全性和稳定性。同时人工智能技术的应用可以大大提高区块链的效率。简单理解,人工智能就是一把双刃剑,可攻敌也可能伤己,而区块链就是一一个盾或者刀鞘,把人类保护在其中。
具体而言,区块链可以帮助我们跟踪,理解和解释人工智能的决策。如果决策是按数据点对数据点的方式在区块链上记录下来的,那么对决策进行审计就会简单得多,因为在记录的信息和审计过程开始之间,记录没有被篡改。无论我们多么清楚地看到人工智能在许多领域都具有巨大的优势,如果它不被公众所信任,那么它的实用性将会受到严重的限制。在区块链记录决策过程,可能是实现透明度和洞察机器人思维来获得公众的信任的一个步骤。
通过区块链,可以建立机器与机器之间的信任,人工智能的使用范围将会扩大。例如,未来有一天,当我们需要跟其他人交换物品时,可以让彼此的机器人代为跑腿,甚至机器人可以帮我们收快递、付款、收款等。
另一方面,区块链中的去中心化和分布式技术能完美地解决算力方面的问题,能够让人工智能企业的成本大幅度降低。IBM正试图将人工智能和区块链技术融合到一起,组成单一的、功能更为强大的模型。由于区块链技术能够实现几乎无障碍的价值交换,人工智能则有着高速分析海量数据的能力,二者的结合可能标志着一种全新模式的开始。IBM负责物联网安全的首席架构师Tim Hahn一直专注于将区块链技术引入到IBM公司的人工智能计算机Watson中。
最后,在智能医疗行业。医疗行业+人工智能早已不是新鲜话题,相关的研究项目不少。但是,在数据质量的问题上,总是面对各种各样的麻烦,比如临 床医生的错误,黑客的攻击,相同的电子病历因为同时编辑而没有及时更新等。而区块链技术可以有效地解决这些问题,区块链系统上的数据不可篡改,可以记录任 何时刻的医疗健康记录。并且具有加密技术,充分保障了病人的隐私。
展望
后续要关注一下相关技术具体的实现过程,以及如何在应用场景落地。
参考文献
1.隐私计算是什么_顺其自然~的博客-CSDN博客
2.隐私计算概念及应用介绍_基于现代密码的联邦学习(tfl)_林立可的博客-CSDN博客
3.联邦学习综述(一)——联邦学习的背景、定义及价值_.别拖至春天.的博客-CSDN博客
4.联邦学习是什么?联邦学习简介-CSDN博客
5.联邦学习((Federated Learning,FL)-CSDN博客
6.隐私计算与区块链的融合思考-CSDN博客
7.隐私计算 — 区块链 — Overview_区块链 隐私计算-CSDN博客
8.【区块链隐私计算】技术原理及业务场景-CSDN博客
9.区块链如何应用于边缘计算、隐私计算联邦学习_边缘计算 联邦学习-CSDN博客
10.深论人工智能与区块链_仓鼠科技城的博客-CSDN博客
11.区块链在人工智能领域的应用-CSDN博客
相关文章:
区块链、隐私计算、联邦学习、人工智能的关联
目录 前言 1.区块链 2.隐私计算 3.联邦学习(隐私计算技术) 4.区块链和联邦学习 5.区块链和人工智能 展望 参考文献 前言 区块链公开透明,但也需要隐私,人工智能强大,但也需要限制。当前我们需要的是一个在保证…...

Unity可视化Shader工具ASE介绍——4、ASE的自定义模板使用
大家好,我是阿赵。 继续介绍Unity可视化Shader编辑工具ASE。之前的文章介绍了在ASE里面可以选择不同的Shader类型。这一篇来继续探讨一下,这些Shader类型究竟是什么。 一、所谓的Shader类型是什么 选择不同的Shader类型,会出现不同的选项…...
FastAPI学习-22.response 异常处理 HTTPException
前言 某些情况下,需要向客户端返回错误提示。 这里所谓的客户端包括前端浏览器、其他应用程序、物联网设备等。 需要向客户端返回错误提示的场景主要如下: 客户端没有执行操作的权限客户端没有访问资源的权限客户端要访问的项目不存在等等 … 遇到这些…...

75.颜色分类
原地排序:空间复杂度为1 class Solution { public:void sortColors(vector<int>& nums) {if(0){//法一:单指针两个遍历int nnums.size();int ptr0;for(int i0;i<n;i){if(nums[i]0){swap(nums[i],nums[ptr]);ptr;}}for(int iptr;i<n;i){…...
浅谈分散式存储项目MEMO
Memo本质上是互联网项目,应用了一些区块链技术而已,或者叫做包了层区块链皮的互联网项目。 最开始对标Filcoin,后来发现Filcoin也有问题,分布式存储解决方案并不完美,抑或者是自己团队的研发能力无法与IPFS团队PK&…...
ansible角色运行指定角色路径
众所周知ansible默认角色路径为:/usr/share/ansible/roles目录 而用户默认安装角色路径为$HOME/.ansible/roles/目录。 如果我们不想修改ansible配置文件又想在任意目录基于运行角色部署服务,需要在ansible剧本中 指定角色路径。 分享剧本如下&#x…...

【数据结构-字符串 三】【字符串转换】字符串解码
废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【字符串转换】,使用【字符串】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…...

LabVIEW中不同颜色连线的含义
LabVIEW中不同颜色连线的含义 LabVIEW中的连线具有不同的颜色,样式和宽度。每个都代表了什么? 下表列出了常见的连线类型: 相关信息 请注意,类的连线颜色是可更改的。该表显示其默认外观。 连线用于在程序框图各对象间传递数据…...
如何才能在Ubuntu系统部署RabbitMQ服务器并公网访问
在Ubuntu系统上部署RabbitMQ服务器并公网访问,可以按照以下步骤进行: 安装RabbitMQ服务器: 在终端中输入以下命令安装RabbitMQ服务器: sudo apt-get update sudo apt-get install rabbitmq-server启动RabbitMQ服务器: …...
PCL点云处理之使用变换矩阵对点云去中心化(二百零七)
PCL点云处理之使用变换矩阵对点云去中心化(二百零七) 一、算法介绍二、算法实现1.代码2.效果三、总结一、算法介绍 点云去中心化是点云处理中的一种常见操作,借助PCL可以很快实现这一处理,具体处理步骤如下 1、计算点云中心,这个有现成函数直接调用 2、构建偏移变换矩阵,…...
ubuntu编译安装并测试opencv
下载opencv工程 git clone https://github.com/opencv/opencv.git git -C opencv checkout 4.x构建并编译opencv 在build目录下使用cmake构建生成makefile cd opencv mkdir -p build && cd build cmake -D CMAKE_BUILD_TYPERelease -D OPENCV_GENERATE_PKGCONFIGON …...

Vue3最佳实践 第七章 TypeScript 上
在浏览网上的JavaScript相关文档时,大家可能已经注意到了一个趋势:越来越多的项目和教程都采用了TypeScript编写代码。对于那些没有TypeScript经验的人来说,阅读这些由TypeScript编写的代码可能会感到有些压力。 Vue3的出现无疑加剧…...
【maven私库nexus开机自启动】
linux设置nexus开机自启动_linux centos maven私服nexus安装搭建并设置开机启动 linux centos maven私服nexus安装搭建并设置开机启动,这里是用添加服务的方式开机启动nexus。 1.先要下载jdk并安装,配置java环境变量,直接去oracle下载把&am…...

ctfshow-web5(md5弱比较)
打开题目链接是html和php代码 html没啥有用信息,这里审一下php代码 : 要求使用get方式传入两个参数 v1,v2 ctype_alpha()函数:用于检查给定的字符串是否仅包含字母; is_numeric()函数:检测字符串是否只由…...
【GIT版本控制】--子模块
一、创建与管理子模块 Git 子模块允许你在一个 Git 仓库中引用另一个仓库。这对于在一个项目中使用其他项目的特定版本非常有用。以下是创建和管理 Git 子模块的基本步骤: 添加子模块:在父仓库的根目录中,使用以下命令添加子模块࿱…...
享元模式 基于享元模式的对象池设计与开发应用(设计模式与开发实践 P12)
文章目录 反例应用对象池对象池应用 享元模式(flyweight)是一种进行性能优化的模式,通过共享技术来支持大量细粒度的对象 如果系统中创建了大量相似的对象,我们就可以通过享元模式节省内存 反例 服装厂生产了一堆衣服ÿ…...

postman测试文件上传接口教程
postman是一个很好的接口测试软件,有时候接口是Get请求方式的,肯定在浏览器都可以测了,不过对于比较规范的RestFul接口,限定了只能post请求的,那你只能通过工具来测了,浏览器只能支持get请求的接口…...

【bug日记】spring项目使用配置类和测试类操作数据库
最近学校课程要求使用spring操作数据库,时间有点久了,操作都不太熟悉了,遇到了很多坑,特此记录一下。 导入依赖 <!-- Spring Framework --> <dependency><groupId>org.springframework</groupId><ar…...
Django之主键外键详解
在ORM操作处了解的文章中,我们已经初步接触到了主键与外键的字段定义,那么本文以详细介绍主键外键的使用方法等 1.外键 在Django中,外键是一种关系字段,用于建立不同模型之间的关联关系。外键字段允许一个模型引用另一个模型的主…...
HDLbits: ece241 2014 q7b
题目要求用10进制的BCD计数器来构造1000计数,其实也是将1000hz的时钟信号改造成1hz,我们首先计算出10的三次方等于1000,需要三个10进制的计数器,去计999的中高低位。 最低位的计数器一直在对时钟信号计数,因此enable1…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)
起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的ÿ…...