区块链、隐私计算、联邦学习、人工智能的关联
目录
前言
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…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
Python爬虫实战:研究Restkit库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
