当前位置: 首页 > news >正文

11.1组会汇报-基于区块链的安全多方计算研究现状与展望

基础知识

*1.背书,这个词源来自银行票据业务,是指票据转让时,原持有人在票据背面加盖自己的印鉴,证明该票据真实有效、如果有问题就可以找原持有人。

区块链中的背书就好理解了。可以简单的理解为验证交易并声明此交易合法(或不合法)的链中节点。

背书节点(endorsement、endorsor):在区块链中承担背书任务的节点即是背书节点。背书节点必须通过有效证书的预期信息的有效签名来证明其合法性。

背书策略:背书策略(endorsement policy)可以理解为是对交易进行背书必须满足的条件,即要得到背书成功的结论,必须满足背书策略中给出的条件。

2.链码也称为智能合约,实质上是控制区块链网络中的不同实体或相关方如何相互交互或交易的业务逻辑。是独立可运行的应用程序,运行在基于Docker的安全容器中,在启动的时候和背书节点建立gRPC连接。

Fabric中智能合约管理交易逻辑,而链码管理智能合约的打包和部署。Fabric会将智能合约打包进链码中,这个链码会被部署到一个区块链网络中。当智能合约被成功定义于区块 链网络后,客户端应用可以通过发送交易提案的方式来调用合约。

                                             基于区块链的安全多方计算研究现状与展望

1 MPC相关知识

   安全多方计算定义:它允许多个参与方在无可信第三方的情况下使用各方的私有输入来联合计算目标函数,并且每一方都无法获得除私有输入、输出外的信息。

  高效的MPC协议会利用到图中所表示的基础组件:

    安全多方计算协议的构造需要依赖的最主要的三大技术:

    秘密共享(通过将秘密信息拆分为若干秘密份额,由多位参与者分别保存,通过参与者的合作,可以使用门限个数或者更多个数的秘密份额来重新构造出原始秘密消息。 常见的秘密分享协议包括三种:Shamir秘密分享、加性秘密分享、复制秘密分享)。

    不经意传输(假设发送方有n个数据数据接收方接受其选定的一个数据,且不能获取也无法知道其他数据,同时数据发送方无法知道接收方的选择)。

    混淆电路(混淆电路基于布尔电路(逻辑运算)来构造安全函数计算,保证一方的输入不会泄漏给其他方)。

    零知识证明也是MPC的基础组件之一,通常分为证明者和验证者两方,证明者想要向验证者证明某个定理,但是又不暴露自己的证据。具备以下性质:

  完备性(Completeness):验证者无法欺骗证明者。若证明者知道一个定理的证明方法,则它可以使验证者以绝对优势的概率相信他能证明。

  可靠性(Soundness):证明者无法欺骗验证者。若证明者不知道一个定理的证明方法,则证明者使验证者相信他会证明定理的概率很低。

  零知识性(Zero Knowledge):验证者无法获得任何额外的知识。

2链上MPC

    链上MPC指将MPC协议集成到区块链网络上执行,计算节点作为区块链网络上的节点通过区块链进行通信,通过区块链的智能合约等机制来完成计算。

    下图为存在3个组织的Fabric网络完成MPC的模型示意图,计算参与方可以通过一组应用程序A1、A2、A3连接到Fabric网络,通过认证后以peer节点的形式存在于区块链网络中,它们可以存在于同一个组织或者分散于不同的组织中。

    当需要完成MPC任务时,各方的组织构建起一个通道,每个参与节点都维护了一个通道账本的副本。各方协商后共同部署MPC协议链码,并通过链码、背书策略完成MPC


链上MPC模型

链上MPC总结:

    从设计目标来说,目前的相关研究主要目标在于实用性,一类研究如何在区块链上实现MPC协议,另一类基于具体应用场景构造系统。

    链上MPC通常基于许可区块链(尤其是Fabric),一是许可区块链具有身份机制以及相对应的一套认证机制。二是链上MPC依赖于区块链的整体结构,能够更好地利用区块链提供的共识、背书策略、身份认证等机制工具,加之Fabric的可插拔组件,能够为链上MPC弥补可扩展性上的不足。

    从安全性来看,链上MPCMPC协议本身的安全性关注不高。影响链上MPC使用最大的问题可能在于效率问题,它根植于多个方面,其中包括区块链内复杂的交易和出块机制对带宽的高需求,以及MPC协议本身的复杂性导致的效率低下问题等。如何在不牺牲安全性的前提下增进链上MPC的执行效率,是未来一个重要的研究方向。链上MPC更适合被用于现实中企业政府等存在身份机制的应用场景

3链外MPC

    链外MPC的协议执行通过独立的MPC网络执行协议,如云服务器、私有网络或者本地计算机,而不依赖于区块链提供通信手段。在链外MPC构造中,通常会通过智能合约来完成MPC网络与区块链网络的交互。

    下图是链外MPC的一般构造模型,用户部署并发布MPC协议到区块链上,计算完成后可以通过智能合约接口与区块链交互,获得计算结果。

    数据拥有者的数据以加密的形式存放于存储器之中,数据索引将被发布到区块链账本上,在需要调用时可以通过索引完成查找。当用户共同协商并部署好MPC合约后,MPC网络中的计算节点向区块链缴纳押金,并通过与区块链、存储器进行交互获得数据份额,完成计算。诚实完成计算的节点将结果提交,等待验证通过后可以赎回押金。  

        

                                                                             链外MPC模型

    从设计目标上来说,链外MPC大多研究协议的安全性问题。相关工作主要通过区块链提供押金机制来为MPC协议提供公平性。从使用的区块链不同来说,链外MPC的研究更倾向于使用以太坊或其他支持智能合约的非许可区块链。

4对比和展望

链上和链下mpc对比:

未来需要研究的内容:

    目前的链上MPC高度依赖于Fabric以及其可插拔组件的特性,需要提供新的组件支持才能够成功实现链上MPC。提出一种更加简单、高效的链上MPC构造方式是一大研究难点。

    无论是链外MPC还是链上MPC都缺乏效率评估体系,难以开展分析。如何系统评价并提高方案执行效率是当前的难点与痛点。

    链外MPC的构造模型已趋向成熟,下一步可以考虑技术融合并增强实用性,尤其是使用零知识证明、可信执行环境等隐私计算技术与之相结合,是当前发展的必然趋势。而链上MPC的实用性本身相对较强,亟需解决的还是效率方面的问题。

相关文章:

11.1组会汇报-基于区块链的安全多方计算研究现状与展望

基础知识 *1.背书,这个词源来自银行票据业务,是指票据转让时,原持有人在票据背面加盖自己的印鉴,证明该票据真实有效、如果有问题就可以找原持有人。 区块链中的背书就好理解了。可以简单的理解为验证交易并声明此交易合法&…...

ubuntu【桌面】 配置NAT模式固定IP

DHCP分配导致虚拟机IP老变,SSH老要重新配置,设成静态方便些 一、设NAT模式 1、设为NAT模式 2、看模式对应的虚拟网卡 - VMnet8 3、共享主机网卡网络到虚拟网卡 - VMnet8 二、为虚拟网卡设置静态IP 记住这个IP 三、设置ubuntu固定IP 1、关闭DHCP并…...

评估 机器学习 回归模型 的性能和准确度

回归 是一种常用的预测模型,用于预测一个连续因变量和一个或多个自变量之间的关系。 那么,最后评估 回归模型 的性能和准确度非常重要,可以帮助我们判断模型是否有效并进行改进。 接下来,和大家分享如何评估 回归模型 的性能和准…...

如何下载安装TestLink?

一、下载TestLink、XAMPP TestLink 下载 |SourceForge.net 备用:GitHub - TestLinkOpenSourceTRMS/testlink-code: TestLink开源测试和需求管理系统 下载XAMPP: Download XAMPP 注意:TestLink与PHP版本有关系,所以XA…...

基于SSM+微信小程序的订餐管理系统(点餐2)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的订餐管理系统实现了管理员和用户。管理端实现了 首页、个人中心、用户管理、菜品分类管理、菜品信息管理、订单信息管理、配送信息管理、菜品评价管理、订单投诉管理、…...

【C++排序 双指针】1996. 游戏中弱角色的数量|1996

本文涉及的基础知识点 排序 C算法:滑动窗口及双指针总结 本题其它解法 【C单调栈 排序】1996. 游戏中弱角色的数量|1996 LeetCode1996. 游戏中弱角色的数量 你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个…...

GESP4级考试语法知识(捕捉异常)

参考程序代码&#xff1a; #include <iostream> using namespace std;double divide(double a, double b) {if (b 0) {throw "Division by zero error"; // 抛出异常}return a / b; }int main() {double num1, num2;cout << "Enter two numbers:…...

HTML 基础标签——元数据标签 <meta>

文章目录 1. `<meta>` 标签概述2. 属性详解2.1 `charset` 属性2.2 `name` 属性2.3 `content` 属性2.4 `http-equiv` 属性3. 其他常见属性小结在 HTML 文档中,元数据标签 <meta> 是一种重要的标签,用于提供关于文档的信息,这些信息不直接显示在网页内容中,但对于…...

栈虚拟机和寄存器虚拟机,有什么不同?

本来这节内容是打算直接讲字节码指令的&#xff0c;但讲之前又必须得先讲指令集架构&#xff0c;而指令集架构又分为两种&#xff0c;一种是基于栈的&#xff0c;一种是基于寄存器的。 那不妨我们这节就单独来讲讲栈虚拟机和寄存器虚拟机&#xff0c;它们有什么不同&#xff0…...

Windows下基于fping进行批量IP测试

fping是Linux下一个很好用的IP测试工具&#xff0c;结合代码可以完成批量的IP测试&#xff0c;在网络调试中用途很广。本文是基于fping for Windows结合bat批处理&#xff0c;定制的测试脚本样例。 一、程序信息 本次测试使用fpingV5.1 for Windows版&#xff0c;版本信息如下…...

一款实用的Word文档图片转换与水印保护工具

目录 前言软件功能简介软件实现方法及关键代码 1. Word 文档转图片的实现2. 图片水印添加功能3. 生成数字指纹&#xff08;哈希值&#xff09;4. 保存图片信息到 JSON 文件 软件的实际使用场景软件操作指南 1. 下载和安装2. 操作流程 总结 1&#xff0c;前言 在日常办公和内…...

优化用于传感应用的衬底集成波导技术

ANSYS HFSS 是一款功能强大的电磁仿真软件&#xff0c;支持为微流体生物传感器应用设计和分析衬底集成波导 &#xff08;SIW&#xff09; 技术。它为快速设计优化、材料选择、系统集成和虚拟原型制作提供了一个强大的平台。借助 ANSYS HFSS&#xff0c;研究人员和工程师可以高效…...

Java多态特性的向上转型

Java的多态特性通过向上转型来实现。向上转型指的是将子类对象赋值给父类引用变量的操作。这样做的好处是可以使用父类引用变量来调用子类对象的方法。 例如&#xff0c;有一个父类Animal和一个子类Dog&#xff0c;可以这样进行向上转型&#xff1a; Animal animal new Dog(…...

C++ 判断语句的深入解析

C 判断语句的深入解析 C 是一种广泛使用的编程语言&#xff0c;以其高效性和灵活性著称。在 C 中&#xff0c;判断语句是控制程序流程的关键组成部分&#xff0c;它们允许程序根据不同的条件执行不同的代码路径。本文将深入探讨 C 中的判断语句&#xff0c;包括 if、else if、…...

15分钟学 Go 第 33 天:项目结构

第33天&#xff1a;项目结构 目标&#xff1a;了解Go项目的典型结构 在Go语言的开发中&#xff0c;项目结构的合理性直接影响着代码的可维护性、可扩展性和团队协作效率。本篇文章将深入探讨Go语言的典型项目结构&#xff0c;并提供实际示例代码和相关的流程图。 一、Go项目…...

conda迁移虚拟环境路径

方法一&#xff1a;使用软连接 ln -s ~/Anaconda3/envs /new/path/envs 方法二&#xff1a;修改~/.condarc文件 1.打开~/.condarc文件 #添加下面参数 envs_dirs: - /newpath/anaconda3/envs pkgs_dirs: - /newpath/anaconda3/pkgs 2. source ~/.bashrc 3.查看是否成功con…...

(八)JavaWeb后端开发——Tomcat

目录 1.Web服务器概念 2.tomcat 1.Web服务器概念 服务器&#xff1a;安装了服务器软件的计算机服务器软件&#xff1a;接收用户的请求&#xff0c;处理请求&#xff0c;做出响应web服务器软件&#xff1a;在web服务器软件中&#xff0c;可以部署web项目&#xff0c;让用户通…...

yocto中通常不直接修改提供的recipes的bb文件

不直接在 Yocto 官方提供的 recipe 中修改 通常是创建新的 metadata 和 recipe 来配置相关软件编译等过程 主要有以下几个原因&#xff1a; 1. 便于维护和升级 隔离自定义修改&#xff1a;Yocto 官方的 recipe 可能会随着版本更新而变化。如果直接修改官方 recipe&#xff0…...

智能座舱相关术语全解及多模态交互在智能座舱中的应用

文章目录 座舱相关术语全解1. 智能座舱2. UFS3. 多模态交互4. 3D虚拟引擎5. AR/VR6. GNSS7. TTS8. DPU9. 摄像头10. 屏幕/显示器11. 音频12. 无线连接13. 其他组件 多模态交互在智能座舱中有以下一些应用 座舱相关术语全解 1. 智能座舱 智能座舱&#xff08;intelligent cabi…...

【Fastjson反序列化漏洞:深入了解与防范】

一、Fastjson反序列化漏洞概述 Fastjson是一款高性能的Java语言JSON处理库&#xff0c;广泛应用于Web开发、数据交换等领域。然而&#xff0c;由于fastjson在解析JSON数据时存在安全漏洞&#xff0c;攻击者可以利用该漏洞执行任意代码&#xff0c;导致严重的安全威胁。 二、F…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...