惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
The Cloudflare Blog
I
InfoQ
美团技术团队
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
L
LangChain Blog
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog

smallyu的博客

为什么买的加密货币一定要去中心化 RISC-V 虚拟机无法代替 EVM 虚拟机 Polkadot 的 Existential Deposit 机制错在哪里 利息,套利,交易策略,金融市场 LayerZero 从来不挑战比特币的地位 默认参数引起的以太坊节点运行错误 硬件钱包与资产安全 预测市场比币圈更赌场 为什么去中心化的跨链桥不可能实现 我对于 AI 时代的答案 不要投资任何隐私币 区块链技术世界的三大真理 以太坊 AA 钱包的致命问题是什么 基于 AI 语义执行的 MCP 区块链的设计 一个集成 Geth 和 CometBFT 的兼容层 我的加密货币定投策略(二) DeFi 基础: 理解 AMM 定价机制 Go 语言 GMP 调度器的原理是什么 Web3 项目分析计划 对 Psyche Network 项目的分析 continuation 教程: 理解 CPS 如何开发一个比特币符文(Runes)协议 比特币脚本开发教程 我从王垠的计算机科学视频班学到了什么 区块链技术面试题(2025年版) Rust 语言容易让新手困惑的一个“过度优化” Solana 智能合约开发教程 (1) 尝试开发一个最小 EVM 虚拟机 基于 ZK 的链上身份系统设计 一个 Web3 打赏系统的设计
Proofs of Retrievability 文件证明的含义
2022-12-16 · via smallyu的博客

2022-12-16

PORs(Proofs of Retrievability)的论文和 PDP 在同一年 2007 年发表,论文题目是《PORs: Proofs of Retrievability for Large Files》,第一作者是 Ari Juels。

PORs 不但可以证明文件确实被保存在服务端,而且可以知道文件有没有被修改、删除,这是 PDP 不具备的能力。不过 PORs 的局限性在于,只能用于加密文件,或者说必须对文件进行加密。PORs 实现的关键在于复杂的 setup 阶段。

PORs 的思路是,客户端生成一些随机的编码记录在数组中,这些编码被称为哨兵。比如 [6, 4, 0] 是三个哨兵。

先对客户端的文件进行对称加密,而且必须使用 block cipher 的方式。在加密过程中,把哨兵加入到文件随机的位置。两个哨兵之间,可能隔着 1 个 block 或者无数个 block,哨兵的位置是随机的。

然后把加密后的文件发送到服务端保存。

客户端发起挑战的内容,就是要服务端返回,文件在随机 n 个位置上的编码。挑战中包含哨兵所在的位置。

由于文件是加密的,服务端并不能判断,挑战的位置是原始文件的数据,还是哨兵位置的数据,服务端是难以推测出哨兵位置的。

对于客户端来说,只需要验证哨兵所在位置对应的编码,就可以判断文件是否存在以及完好无损。如果文件被修改或者中间的某些数据丢失,哨兵所在位置的编码一定是大相径庭的,挑战无法完成。

Retrievability 是可检索的意思,在 PORs 中的含义是,对于客户端来说,我可以通过指定哨兵位置的方式,对文件的某个部分验证,比如想验证第 1 个哨兵到第 3 个哨兵之间的文件是否完好,或者去验证第 5 个哨兵到第 9 个哨兵之间的文件,指哪打哪。

至于说为什么一定要对文件进行加密,应该一方面 PORs 依赖于对称加密的 block cipher,另一方面,对于不加密的文件,服务端比较容易推测出哨兵的位置。所以 PORs 只能用于加密文件。

论文中还通过引入纠错码的方式,来增加文件的容错能力。在 setup 阶段,先对 block 加入纠错码,再进行对称加密。引入纠错码的好处,就是在两个哨兵之间,在一定的错误范围内,如果文件有损坏,可以去修复文件。

为什么在 PORs 的机制中,纠错码开始显得重要?因为要和 PORs 的特点 Retrievability 结合。如果文件被储存在多个服务器环境,遭到了不同程度的损坏,因为有哨兵的存在,比较容易从其他服务器中恢复文件的一部分。在这样的背景下,引入纠错码就是对文件容错能力的进一步加强了。