PCP协议实现详解

zk-STARK/zk-SNARK中IP,PCP,IPCP,IOP,PIOP,LIP,LPCP模型介绍 而在 PCP 模型中,没有答辩,Alice 只是把毕业论文发给 Bob,而毕业论文超级长,Bob 不可能看完论文,只能在论文中随机挑选几段来读,如果挑的这些段落都没有问题,相互之间逻辑通顺,Bob 就相信 Alice 的课题是合格的。基于 IPCP 模型构造的证明系统也可以通过 Merkle-Tree 或一般的 VC 方案转化成 IP 模型下的证明系统,过程和 PCP 模型的转换完全一样,区别仅在于,Verifier 在查询 PCP 证明的请求中可能夹杂着普通的交互。我们的目标是构造 zkSNARK。 阅读详情

PCP协议,也就是Peercast Protocol,是Peercast用来在节点间传送信息所定义的协议。
协议定义的字段在pcp.h中,本文以如何在节点间传递节点信息(也就是ChanHit)来解释PCP协议的定义
、运行及如何编程。

//ChanHit信息
static const ID4 PCP_HOST  = "host";
static const ID4 PCP_HOST_ID  = "id";
static const ID4 PCP_HOST_IP  = "ip";
static const ID4 PCP_HOST_PORT  = "port";
static const ID4 PCP_HOST_NUML  = "numl";
static const ID4 PCP_HOST_NUMR  = "numr";
static const ID4 PCP_HOST_UPTIME = "uptm";
static const ID4 PCP_HOST_TRACKER = "trkr";
static const ID4 PCP_HOST_CHANID = "cid";
static const ID4 PCP_HOST_VERSION = "ver";
static const ID4 PCP_HOST_FLAGS1 = "flg1";
static const ID4 PCP_HOST_OLDPOS = "oldp";
static const ID4 PCP_HOST_NEWPOS = "newp";

ID4是一个自定义类型,简单理解为char[4]类型
这些信息的发送和接收由AtomStream类来完成

这里PCP_HOST代表主信息,表明发送的信息类别是主机信息
以下的PCP_HOST_ID、PCP_HOST_IP均是PCP_HOST的子信息,这些信息类别都属于主机信息

发送时先发送主信息,通过writeParent来发送即atom.writeParent(PCP_HOST,12),其中第二个参数12表
示这个主信息以下将发送12个子信息,这个参数是为读取时用的。
然后依次发送子信息,通过writeInt、writeBytes等来发送整型和字符型的信息,例如atom.writeInt(PCP_HOST_IP,rhost[0].ip)
相当于键值型,PCP_HOST_IP代表键,rhost[0].ip代表值

void ChanHit::writeAtoms(AtomStream &atom,GnuID &chanID)
{
 bool addChan=chanID.isSet(); 

 int fl1 = 0;
 if (recv) fl1 |= PCP_HOST_FLAGS1_RECV;
 if (relay) fl1 |= PCP_HOST_FLAGS1_RELAY;
 if (direct) fl1 |= PCP_HOST_FLAGS1_DIRECT;
 if (cin) fl1 |= PCP_HOST_FLAGS1_CIN;
 if (tracker) fl1 |= PCP_HOST_FLAGS1_TRACKER;
 if (firewalled) fl1 |= PCP_HOST_FLAGS1_PUSH;


 atom.writeParent(PCP_HOST,12  + (addChan?1:0));
  if (addChan)
   atom.writeBytes(PCP_HOST_CHANID,chanID.id,16);
  atom.writeBytes(PCP_HOST_ID,sessionID.id,16);
  atom.writeInt(PCP_HOST_IP,rhost[0].ip);
  atom.writeShort(PCP_HOST_PORT,rhost[0].port);
  atom.writeInt(PCP_HOST_IP,rhost[1].ip);
  atom.writeShort(PCP_HOST_PORT,rhost[1].port);
  atom.writeInt(PCP_HOST_NUML,numListeners);
  atom.writeInt(PCP_HOST_NUMR,numRelays);
  atom.writeInt(PCP_HOST_UPTIME,upTime);
  atom.writeInt(PCP_HOST_VERSION,version);
  atom.writeChar(PCP_HOST_FLAGS1,fl1);
  atom.writeInt(PCP_HOST_OLDPOS,oldestPos);
  atom.writeInt(PCP_HOST_NEWPOS,newestPos);

}

12、交互式证明的PCP定理及其应用 本文深入探讨了PCP定理在交互式证明系统中的理论与应用,包括如何将索引可解码的PCP转换为提交并证明的SNARK,以及解决近似困难性问题的方法。文章详细分析了PCP的鲁棒性、从Micali构造到CaP-SNARK的演进,并讨论了其在AM[k]协议和k-SSAT实例中的应用。通过这些研究,为构建更高效、安全的密码学协议提供了理论基础和技术支持。 阅读详情

相关推荐

基于PCP协议的TCPNAT穿越的研究与实现 (2008年)

目前有许多基于PCP协议开发的P2P视频播放软件,在实现不同内网节点之间的视频数据流的交换时会面临 TCP NAT穿越的问题.鉴于此,本文在研究实现 TCP NAT穿越的关键技术的基础上,提出和详细叙述了一种可靠的TCP NAT穿越实现原理以及通过对 PCP协议的扩展来实现基于 PCP协议的TCP NAT穿越的实现过程,并最终通过实验和分析来验证 TCP NAT穿越的可靠性.

NB-IOT远程升级第2弹:软件协议讲解及AT指令测试

在物联网项目的开发过程中,必不可少的一项功能就是远程升级OTA(Over-the-Air),即使用WIFI、蓝牙、4G、NB-IOT等方式将升级包传输到MCU,MCU进行代码存储,完成升级 本系列文章将介绍基于电信AEP平台进行NB-IOT设备的远程升级,包含stm32内部flash分区、BootLoader代码编写,平台软件升级包制作,平台软件升级协议对接及参考源码等内容,后续几篇文章将陆续介绍 该系列文章目录大纲如下: 在上一篇文章:NBIOT远程升级第1弹:BootLoader编写及软件包制作 中,

qq_42965739的博客 2048

交换模块PCP原理图设计

交换模块PCP原理图,其中包括ZYNQ ,BCM5396等,需要安装cadence软件进行查看

计算机网络中IP、TCP、UDP、PCP、Socket的基本定义

目录1.IP(Internet Protocol)2.UDP(User Datagram Protocol)3.TCP(Transmission Control Protocol)4.PCP(Payload Compression Protocol )5.套接字(Socket) 1.IP(Internet Protocol) IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网际层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通

m0_46339652的博客 4613

PCP Client:PCP 客户端,通用即插即用 (UPnP) 和 PCP 之间的互通-开源

端口控制协议 (PCP) 是一种简单、灵活、轻量级的协议,由 IETF 设计,旨在解决即将到来的 IPv6 过渡期所引发的一些问题,在这些问题中,访问某些传统 IPv4 内容需要控制防火墙或网络地址转换器动态分配传输层端口号的能力。 法国电信/Orange Labs Beijing 已根据 RFC6887 和 RFC6970 开发了 PCP 客户端,可在通用即插即用 (UPnP) 和 PCP 之间互通。 请注意,PCP 客户端应与 PCP 服务器一起工作。

工业视觉光源频闪控制的三种核心模式与选型实战

本文深入解析工业视觉系统中光源频闪控制的三种核心模式:光源主控、相机主控与硬同步。针对高速飞拍、缺陷检测等场景,详细对比了各模式的时序原理、硬件要求与适用场景,并提供了基于产线速度与检测需求的实战选型指南,帮助工程师有效消除运动模糊、提升成像质量与系统稳定性。

weixin_29299807的博客 438

public coin protocol

首先,它是高效的,可以用于计算具有大量输入的复杂函数。其次,它对可能试图操纵计算的恶意方是安全的。最后,它允许各方保持其输入的私密性,这在许多应用程序中非常重要。公共币协议(PCP)是一种加密协议,允许多方共同计算一个函数,而不泄露他们的私人输入。PCP协议是一个两阶段协议。然后,每一方计算他们的私人输入和公共币的函数,并将结果发送给指定的验证者。它也被用于一些区块链协议中,以在不透露参与者私人输入的情况下达成共识。在第二阶段,验证者通过随机选择公共币的子集并验证双方的计算与这些币一致来检查计算的正确性。

taylorswift的博客 1230

MATLAB新手必看:5分钟搞定直流无刷电机Simulink仿真(附完整模型下载)

本文为MATLAB新手提供直流无刷电机Simulink仿真的快速入门指南,涵盖从环境配置到速度控制闭环实现的完整流程。通过详细的模块选择和参数设置说明,帮助读者5分钟内搭建基础仿真模型,并附赠完整模型下载,助力快速掌握电机控制仿真技术。

efc123456的博客 984

linux内核的优先级继承协议(pip)和μC/OSII 2.52内核的优先级置顶协议(pcp)

在实时系统中,不确定的阻塞是尽力要避免的,因为这可能影响到任务的实时性,在常规的系统中,如果一个低优先级的任务占有了一个独占式资源,那么高优先级任务请求该资源时必然要阻塞,这是可以的,因为系统相信这个低优先级的任务总会释放该资源的,但是在实时系统中,即使再相信资源总会被释放,实时的要求也 不允许任务被长时间的阻塞,更糟糕的是不确定时长的阻塞,那么就有必要让低优先级任务尽快完成任务释放资源,在实施中

TCP/IP 6417

什么是plm系统?-数字化转型网

当今世界,产品研发能力是企业在激烈的市场竞争中保持战略优势的核心竞争力之一。如何有效地缩短产品研发周期、改善产品服务的设计迭代流程、有效降低产品的研发成本,也是企业面临的主要问题之一。PLM(Product Lifecycle Management,产品生命周期管理)在优化产品研发的全管理流程、增强企业产品的市场竞争力方面具有关键的作用。

cxo17757154043的博客 883

手把手教你用Multisim 14.2仿真一个4.4V的LDO电路(附完整仿真文件)

本文详细介绍了如何使用Multisim 14.2仿真一个4.4V的LDO电路,从环境配置、核心参数解析到电路搭建和仿真调试。通过分压电阻精确计算和瞬态响应测试,帮助读者掌握LDO电路的设计与验证技巧,并附有完整仿真文件供参考。

weixin_28738397的博客 275

什么是 Web Socket 子协议 Push Channel Protocol (PCP)

WebSocket 是一种网络通信协议,允许客户端和服务器之间建立持久连接,使得数据可以在双方之间实时双向传输。它常用于需要实时数据更新的应用程序,如聊天应用、在线游戏或实时金融数据流等。WebSocket 通过 HTTP 协议进行握手,但一旦连接建立,数据传输就不再依赖于 HTTP 的请求/响应模式,而是可以通过 WebSocket 协议进行更加高效的双向通信。在 WebSocket 协议的基础上,有许多子协议(subprotocols)可以扩展其功能。

孔乙己的博客 585

【ARMv8 异常模型入门及渐进7 - GIC及安全中断介绍】

GIC-v3中,引入了支持2种安全状态(secure state),也就是对于中断,根据secure状态,分为安全中断和非安全中断。当然也可以只支持一种安全状态。这里的2种安全状态和1种安全状态,主要是影响中断分组,所使用IRQ和FIQ管脚的映射,以及gic中的寄存器访问。

CodingCos的博客 2116

嵌入式实时系统中断管理与LIN通信实战:PCP协议与LINFlexD应用

在嵌入式实时系统开发中,中断管理与资源共享是保障系统稳定性和实时性的核心基础。中断服务程序(ISR)间的资源竞争和优先级反转是常见挑战,可能导致数据损坏或系统死锁。优先级天花板协议(PCP)通过为共享资源设定优先级上限,在访问时动态提升任务优先级,有效预防死锁并最小化对高优先级中断的阻塞。这一机制在汽车电子和工业控制等对实时性要求严苛的领域尤为重要。结合具体微控制器如NXP PXD20的中断控制器(INTC)和LINFlexD LIN通信模块,开发者可以构建高效可靠的应用。例如,LINFlexD的硬件标识符

weixin_33756596的博客 304

在WIN10系统中安装TIA博途V18,重启后提示安装介质不可用,请插入DVD 或检查网络连接的解决办法

在WIN10系统中安装TIA博途V18,重启后提示安装介质不可用,请插入DVD 或检查网络连接的解决办法

Robot_PLC_HMI_Automation 1万+

OpenClaw 2026 路线图详解:3 大协作能力升级与社区贡献增长 62% 的实证分析

介绍 OpenClaw 2026 如何通过上下文锚定(Context Anchoring)、协作质量定义和责任边界机制,将 AI 编程工具从单点补全升级为嵌入代码生命周期的协作对齐系统,并详解 `.openclaw/config.yaml` 中 `context_anchor` 配置的实操方法与效果

weixin_42545292的博客 384

nbiot教学实箱_NB-IOT开发|nbiot开发教程《五》nbiot(移远BC26)电信物联网平台实现MCU固件在线升级(STM32L051+BC26)...

嵌入式开发中我们要时刻保持代码的高效与整洁看之前,先点赞好习惯,要养成一、前言嵌入式开发中我们要时刻保持代码的高效与整洁。为什么要有在线升级和为什么要进行在线升级,在这不多说,产品的开发中,在线升级是非常重要的。我们先看下实际效果。 二、SOTA升级中国电信物联网使能平台(以下简称“平台”)提供了基于LWM2M的固件升级功能,用于模组的固件升级。但是由于多数模组并未提供升级接口给MCU,所以MCU...

weixin_39538962的博客 590

AI编程工具到底是初学者的绊脚石还是垫脚石?

现在是AI时代,我们要做的,是学会拥抱AI、使用AI,成为AI的驾驭者,如果你因为害怕使用AI学不到东西,那么大可不必,因为AI必然是今后的趋势,相信会用AI在今后的求职面试中也会有很大的占比。另外我之前写了多篇有关AI编程开发工具Trae的使用技巧和教程,需要的话你可以关注公众号后通过菜单栏获取。另外我也把所有Trae相关的文章整合到了腾讯ima知识库,感兴趣的可以关注公众号以后回复。

cpp加油站的专栏 188

零配置远程游戏串流完整指南:用 Moonlight Internet Hosting Tool 把家中的 PC 变成随身游戏库

你有没有过这样的经历:人在外地,笔记本摆在面前,却只能干看着 Steam 库里的游戏发呆?不是不想玩,而是家里那台跑得动 3A 大作的主机,隔着一条公网,怎么也连不上。端口转发不会配、路由器型号太老、运营商还搞了重重 NAT——这些词单独看都认识,凑在一起就成了劝退的墙。 **远程游戏串流**本身并不难,难的是把"家里的 PC"安全、稳定地暴露到互联网上。而今天要介绍的 Moonlight In

gitblog_00848的博客 191

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux 优先级反转:成因、危害与解决方案(优先级继承 / 天花板)

概要:解析实时调度中优先级反转的场景,说明 rt_mutex 的优先级继承机制如何解决该问题,保证高优先级任务及时执行。

望获实时Linux系统 182

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

3分钟掌握miniupnp:让家庭网络设备自动打通内网端口映射

你是否曾为远程访问家中NAS、搭建游戏服务器或实现智能家居互联而烦恼?每次都需要手动配置路由器端口映射,既繁琐又容易出错。现在,**miniupnp** 这个轻量级的UPnP IGD实现方案,可以帮你自动完成这一切。本文将带你深入了解miniupnp的核心功能、安装配置和实际应用场景,让你轻松掌握内网穿透的自动化解决方案。 ## 🔍 什么是miniupnp?它能解决什么网络难题? **min

gitblog_00351的博客 468

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

基于CQT和PCP的和弦识别算法

基于CQT和PCP的和弦识别算法原理声学基础音乐理论基础音高十二平均律音程与和弦时频转换PCP特征向量过程源代码结语 原理 声学基础 声音是物体振动时产生的波动现象,通过介质传达,最终由人或动物的听觉器官感知 声音的特征特性可以通过音量、音调、音色三个基本要素来实现 音量,即响度,是人耳对声音强度的主观感知,通常与声波的幅度有关 音调,是人类的耳朵对于声音强弱的一种主观感觉,通常与声波的频率有关 音色,又叫音品,是人类用来辨别区分具有相等的响度、相同的音调的两个不同的声音的一种特殊的性质,可以说是人类的耳朵

Jason Cao的博客 3118

Open vSwitch VLAN相关字段详解(dl_vlan、dl_vlan_pcp、vlan_vid、vlan_pcp、vlan_tci)

Open vSwitch VLAN相关字段(dl_vlan/dl_vlan_pcp/vlan_vid/vlan_pcp/vlan_tci)

祈晴小义 1万+

PCP(Per-CPU Pageset)

如果PCP列表为空,则从全局内存池中获取一批(batch个 pages),放入PCP列表,然后再从PCP列表中分配所需的page。每个CPU都有自己的PCP列表,这样在分配和释放内存时,可以避免多个CPU同时访问同一个全局内存池,从而提高性能。减少锁争用:由于每个CPU都有自己的PCP列表,内存分配和释放时不需要频繁地获取全局锁,从而减少了锁争用,提高了系统的并发性能。提高缓存命中率:PCP列表中的页面更有可能被同一个CPU再次使用,从而提高了缓存命中率,减少了内存访问延迟。高速缓存中的页框描述符链表。

wwwlyj123321的博客 1931

操作系统论文导读(二):A Schedulability Compatible MultiprocessorResource Sharing Protocol - MrsP — PCP协议多核拓展

多处理器资源共享协议没有得到很好的开发,也没有商定的最佳实践。文章提出了一种新的基于单处理器优先级天花板协议的多处理器协议变体。新协议的独特性质是,等待访问资源的任务必须代表正在等待相同资源(但已被抢占)的其他任务来服务该资源。协议形式的动机是希望将协议与有效的可调度性分析联系起来。该协议是通用的,但本文是针对具有零星任务模型的分区固定优先级系统开发的。描述了支持协议的两种方法。

欢迎交流! 509
上一篇: 最近买的五本书
下一篇: 出游
bbisonic
博客等级 码龄21年 30粉丝 143原创
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值