区块链、隐私计算、联邦学习、人工智能的关联
目录
前言
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…...

C++多态的理解
C多态的理解 1 C多态的概念2 C多态的类型3 虚函数实现多态案例分析3.1 非虚函数成员函数调用的案例3.1.1 测试代码3.1.2 测试运行结果 3.2 虚函数成员函数调用案例3.2.1 虚函数实现测试代码3.2.2 测试运行结果 3.3 基类析构函数的实现3.3.1 析构函数定义和实现案例3.3.2 基类析…...

关于深拷贝和浅拷贝你需要了解的内容
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在复制对象或数据结构时使用的两种不同的策略,它们的主要区别在于复制后新旧对象之间的关系以及对嵌套对象的处理方式。 浅拷贝: 浅拷贝创建一个新对象ÿ…...

Visual Studio自定义模板参数、备注
模板路径: VS2022 x64:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplatesVS2022 x86:C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates 一、声明和启用模板…...

机器学习-数值特征
离散值处理 import pandas as pd import numpy as npvg_df pd.read_csv(datasets/vgsales.csv, encoding "ISO-8859-1") vg_df[[Name, Platform, Year, Genre, Publisher]].iloc[1:7]NamePlatformYearGenrePublisher1Super Mario Bros.NES1985.0PlatformNintendo2…...

Rocky(centos)安装nginx并设置开机自启
一、安装nginx 1、安装依赖 yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel 2、去官网下载最新的稳定版nginx nginx: downloadhttp://nginx.org/en/download.html 3、将下载后的nginx上传至/usr/local下 或者执行 #2023-10-8更新 cd /usr/…...
Android约束布局ConstraintLayout的Guideline,CardView
Android约束布局ConstraintLayout的Guideline,CardView <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:a…...

LVGL8.3.6 Flex(弹性布局)
使用lv_obj_set_flex_flow(obj, flex_flow)函数 横向拖动 LV_FLEX_FLOW_ROW 将子元素排成一排而不包裹 LV_FLEX_FLOW_ROW_WRAP 将孩子排成一排并包裹起来 LV_FLEX_FLOW_ROW_REVERSE 将子元素排成一行而不换行,但顺序相反 LV_FLEX_FLOW_ROW_WRAP_REVERSE 将子元素…...

计算机算法分析与设计(8)---图像压缩动态规划算法(含C++)代码
文章目录 一、知识概述1.1 问题描述1.2 算法思想1.3 算法设计1.4 例题分析 二、代码 一、知识概述 1.1 问题描述 1. 一幅图像的由很多个像素点构成,像素点越多分辨率越高,像素的灰度值范围为0~255,也就是需要8bit来存储一个像素的灰度值信息…...

React 状态管理 - Mobx 入门(上)
Mobx是另一款优秀的状态管理方案 【让我们未来多一种状态管理选型】 响应式状态管理工具 扩展学习资料 名称 链接 备注 mobx 文档 1. MobX 介绍 MobX 中文文档 mobx https://medium.com/Zwenza/how-to-persist-your-mobx-state-4b48b3834a41 英文 Mobx核心概念 M…...

OLED透明屏技术在智能手机、汽车和广告领域的市场前景
OLED透明屏技术作为一种新型的显示技术,具有高透明度、触摸和手势交互、高画质和图像显示效果等优势,引起了广泛的关注。 随着智能手机、汽车和广告等行业的快速发展,OLED透明屏技术也在这些领域得到了广泛的应用。 本文将介绍OLED透明屏技…...