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

在比特币上使用可检索性证明支付存储费用

我们为用户开发了一种为云存储付费的新方法。 与亚马逊的 S3 等传统云存储相比,用户不必信任服务器。 我们使用比特币智能合约来确保支付取决于服务器的可检索性证明 (PoR),该证明只能在数据仍然可用且需要时可以检索的情况下生成。

可检索性证明 (PoR)

许多人通过将他们的数据(如音乐、照片和文档)上传到远程服务器来外包存储,以确保可靠性和从许多设备(包括手机和笔记本电脑)轻松访问。

这些用户受其存储提供商的摆布,必须信任服务器。 如果很少访问数据,恶意服务器可能会丢弃数据以节省资源,或者掩盖数据丢失事故以保护自己的声誉。

PoR 方案是一种加密协议,允许用户或第三方(如审计员)验证服务器是否存储了他的数据。这种审计能力使用户放心,他的数据仍在存储中。 这对于像不知名的初创公司这样的存储提供商来说也可能至关重要,因为用户可能不愿意将他们的数据委托给初创公司。

使用 PoR 支付存储费用

朴素的 PoR 是用户简单地请求服务器下载所有数据并验证真实性。 然而,当存储的数据很大时,这是非常低效的。

Shacham/Waters PoR 方案¹ 是客户端和服务器之间的高效审计协议。 通过审核的服务器必须知道所有客户端数据。 它也是可公开验证的,这是我们在智能合约中验证证明时所需要的。

文件首先使用Erasure code(一种纠错码)进行编码,即使服务器丢失了文件的一小部分,也可以恢复。 编码的文件被分成n个块。 为每个块计算一个标签(也称为验证器),其中包含其元信息并且是有效验证所必需的。 块及其标签都被发送到服务器进行存储。

为了测试服务器是否还有文件,用户在挑战中随机选择一组块。 服务器收到质询后,需要发回一个响应,由用户验证。

PORs:大文件的可检索性证明

形式上,Shacham/Waters PoR 由三个步骤组成。

我们需要区块链设置中的非交互式协议,其中用户/验证者和服务器/证明者不必来回通信。在第 1 步中,我们让证明者(在本例中为服务器)自己生成挑战。 为确保公正的挑战,我们需要可公开追踪且不可控制的随机源,例如最新的 blockhash³。 在步骤 2 中,服务器根据步骤 1 中的挑战生成链下 PoR。在步骤 3 中,智能合约验证 PoR。 验证需要椭圆曲线算法和线性配对,两者都已实现。

用户部署智能合约,只有在提供有效的 PoR 时才会释放资金。 服务器只有在他可以提交有效的 PoR 时才能获得报酬,只有在他仍在存储用户文件的情况下他才能生成该 PoR。

定期付款

我们可以通过在顶部添加定期付款来将一次性付款扩展为订阅,以便定期支付服务器固定金额。

支付渠道

如果用户和服务器可以定期交互,他们也可以通过开通支付通道来实现循环支付。 用户每月向服务器发出挑战。 服务器以 PoR 响应。 在验证 PoR 后,用户通过增加服务器的通道余额来发送他的每月付款。 当存储订阅到期时,任何一方都可以关闭通道。


[1] H Shacham 2008 的可检索性紧凑证明

[2] 最多丢失多少取决于纠错率。

[3] 只要付款少于区块奖励,这是安全的。

相关文章:

在比特币上使用可检索性证明支付存储费用

我们为用户开发了一种为云存储付费的新方法。 与亚马逊的 S3 等传统云存储相比,用户不必信任服务器。 我们使用比特币智能合约来确保支付取决于服务器的可检索性证明 (PoR),该证明只能在数据仍然可用且需要时可以检索的情况下生成。 可检索性证明 (PoR)…...

使用SSE(Server-Sent Events)实现服务端给客户端发消息

首先是客户端,看着比较简单。但实际应用中可能要比这复杂,因为默认sse只支持get请求,而且没法携带header。所以如果默认的方法达不到需求的话可能需要额外实现,当然也可以引用第三方库,比如rangermauve/fetch-event-so…...

【Redis】使用rpm包安装redis

背景说明 公司环境处于内网,某同事需要安装redis,如果使用通过源码编译安装redis,很多编译工具如gcc就需要先安装,但处于内网安装起来不太方便,当然也不是不可以。我们此处就选用通过redis的rpm包进行安装。 rpm包查…...

论文阅读-Group-based Fraud Detection Network on e-Commerce Platforms

目录 摘要 1 Introduction 2 BACKGROUND AND RELATED WORK 2.1 Preliminaries 2.2 Related Works 3 MODEL 3.1 Structural Feature Initialization 3.2 Fraudster Community Detection 3.3 Training Objective 4 EXPERIMENT 4.1 Experimental Setup 4.2 Prediction …...

java程序启动时指定JVM内存参数和Xms、Xmx参数学习

先找个java程序来试验;找这个, java实现计算机图形学中点画线算法_java 多个点连成一条线 算法-CSDN博客 JVM内存参数中, -Xms:设置堆内存的初始大小,默认为物理内存的1/64; -Xmx:设置堆内存的…...

【C++编程能力提升】

代码随想录训练营Day44 | Leetcode 518、377 一、完全背包问题1、完全背包与01背包的区别 二、518 零钱兑换II三、377 组合总和IV 一、完全背包问题 1、完全背包与01背包的区别 第一,物品的有限与无限; 01背包:物品是有限的。(每…...

FlashDuty Changelog 2023-09-21 | 自定义字段和开发者中心

FlashDuty:一站式告警响应平台,前往此地址免费体验! 自定义字段 FlashDuty 已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了 Lables 进行展示。尽管如此,我们用户还是会有一些扩展或定制性的需求…...

贪心算法-

代码随想录 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿&#xff…...

漫谈:C语言 C++ 左值、右值、类型转换

编程不是自然语言&#xff0c;编程自有其内在逻辑。 左值引起的BUG 编译器经常给出类似这样的BUG提示&#xff1a; “表达式必须是可修改的左值” “非常量引用的初始值必须是左值” 看一下示例&#xff1a; #include <iostream>void f(int& x) {} int main() {sho…...

前车之鉴,后车之师

问题分类具体解释可能导致的后果解决方法备注主从延迟数据库写后立即读的场景&#xff0c;比如订单落地成功抛消息&#xff0c;消息接收方再读订单推订单中心、发触达、落地数据等场景&#xff0c;再读数据时走从库&#xff0c;可能读不到数据。脏数据业务逻辑有问题延迟消费。…...

WEB使用VUE3实现地图导航跳转

我们在用手机查看网页时可以通过传入经纬度去设置目的地然后跳转到对应的地图导航软件&#xff0c;如果没有下载软件则会跳转到下载界面 注意&#xff1a; 高德地图是一定会跳转到一个新网页然后去询问用户是否需要打开软件百度和腾讯地图是直接调用软件的这个方法有缺陷&…...

今天聊一聊高性能系统架构设计是什么样的

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 今天聊一聊大家常听到的高性能系统架构。 高性能系统架构&#xff0c;主要包括两部分内容&#xff0c;性能测试与性能优化。性能优化又可以细分为硬件优化、中间件优化、架构优化及代码优化&#xff0c;知识架构图如…...

鼠标不动了怎么办?3招解决问题!

“这是怎么回事呢&#xff1f;我的鼠标怎么会用着用着就突然不动了呢&#xff1f;现在有一些比较重要的工作要处理。请问有什么方法可以快速解决这个问题吗&#xff1f;” 随着电脑在我们日常生活和工作中的广泛应用&#xff0c;鼠标是我们操作电脑不可或缺的工具之一。但是&am…...

2023-09-23力扣每日一题

链接&#xff1a; 1993. 树上的操作 题意 **Lock&#xff1a;**指定用户给指定节点 上锁 &#xff0c;上锁后其他用户将无法给同一节点上锁。只有当节点处于未上锁的状态下&#xff0c;才能进行上锁操作。**Unlock&#xff1a;**指定用户给指定节点 解锁 &#xff0c;只有当…...

C#中使用Newtonsoft.Charp实现Json对象序列化与反序列化

场景 C#中使用Newtonsoft.Json实现对Json字符串的解析&#xff1a; C#中使用Newtonsoft.Json实现对Json字符串的解析_霸道流氓气质的博客-CSDN博客 上面讲的对JSON字符串进行解析&#xff0c;实际就是JSON对象的反序列化。 在与第三方进行交互时常需要封装对象&#xff0c;…...

Golang开发--互斥锁和读写锁

互斥锁&#xff08;Mutex&#xff09; 互斥锁&#xff08;Mutex&#xff09;是一种并发控制机制&#xff0c;用于保护共享资源的访问。互斥锁用于确保在任何给定时间只有一个 goroutine&#xff08;Go 语言中的并发执行单元&#xff09;可以访问被保护的共享资源&#xff0c;从…...

Springboot 集成WebSocket作为客户端,含重连接功能,开箱即用

使用演示 public static void main(String[] args) throws Exception{//初始化socket客户端BaseWebSocketClient socketClient BaseWebSocketClient.init("传入链接");//发送消息socketClient.sendMessage("填写需要发送的消息", (receive) -> {//这里…...

java调整字符串

package 字符串练习;public class 调整字符串 {/* 如果调整成功则给提示,返回不成功也给提示调整 例如:abcde -> bcdea -> cdeab 就是把第一个值放到最后的位置上现在是给定两个字符串, 选定其中一个进行调整, (我们想一下,如果调整字符串的长度次,那不就是返回到原来的字…...

2023-9

内核向应用层发送netlink单播消息&#xff1a; nlmsg_unicast -> netlink_unicast -> netlink_sendskb -> __netlink_sendskb -> 把skb链入struct sock 的 sk_receive_queue 链表中&#xff0c;再调用sk->sk_data_ready(sk); -> sock_def_readable -> wak…...

软考高级+系统架构设计师教程+第二版新版+电子版pdf

注意&#xff01;&#xff01;&#xff01; 系统架构设计师出新版教程啦&#xff0c;2022年11月出版。所以今年下半年是新版第一次考试&#xff0c;不要再复习老版教程了&#xff0c;内容改动挺大的。 【内容简介】系统架构设计师教程&#xff08;第2版&#xff09;作为全国计…...

网盘直链下载助手完整教程:免费获取八大平台真实下载地址,告别限速烦恼

网盘直链下载助手完整教程&#xff1a;免费获取八大平台真实下载地址&#xff0c;告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里…...

独立开发者如何借助Taotoken的Token Plan降低AI应用长期运行成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何借助Taotoken的Token Plan降低AI应用长期运行成本 对于独立开发者和小型团队而言&#xff0c;构建AI应用时&#xf…...

从插值到积分:用np.interp和np.trapz,5步完成传感器数据平滑与能量估算(Python实战)

从插值到积分&#xff1a;用np.interp和np.trapz&#xff0c;5步完成传感器数据平滑与能量估算&#xff08;Python实战&#xff09; 在物联网和实验数据处理中&#xff0c;我们常常会遇到传感器采集的数据点稀疏或不均匀的问题。这种原始数据直接用于分析往往会导致结果不准确&…...

垂直搜索选型避坑指南,为什么83%的企业在DeepSeek V2.1升级后节省了67%标注成本?

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;垂直搜索选型避坑指南&#xff0c;为什么83%的企业在DeepSeek V2.1升级后节省了67%标注成本&#xff1f; 垂直搜索系统选型绝非简单替换关键词引擎——它直击领域知识建模、语义对齐与标注闭环三大痛点。Deep…...

从PyTorch到边缘设备:手把手教你用OpenVINO优化YOLOv5模型并在Jetson Orin上部署

从PyTorch到边缘设备&#xff1a;OpenVINO优化YOLOv5模型与Jetson Orin部署实战 在工业质检、智慧零售等实时场景中&#xff0c;将YOLOv5这类目标检测模型部署到Jetson Orin等边缘设备时&#xff0c;开发者常面临三大挑战&#xff1a;模型体积臃肿导致内存不足、计算资源有限影…...

终极指南:如何在Windows 11上轻松安装Android应用?APK Installer完整教程

终极指南&#xff1a;如何在Windows 11上轻松安装Android应用&#xff1f;APK Installer完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Window…...

SQL server 2017镜像库主从同步架构部署

SQL server 2017镜像库主从同步架构部署 目录&#xff1a; 1.主库配置 2.镜像库配置 3.检查状态 4.手工故障转移测试-主备切换 5.添加见证服务器实现自动主备切换 6.自动故障切换测试-主备切换角色 IP 状态 主机名 主库 192.168.56.120 可读写 sqldb2 镜像库&#xff08;从库&a…...

APK Installer:Windows平台上无缝安装Android应用的技术实现与实战指南

APK Installer&#xff1a;Windows平台上无缝安装Android应用的技术实现与实战指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾在Windows电脑上想要运行某…...

“零关税”为中非合作装上“加速器”

科特迪瓦和加纳的醇香可可、肯尼亚的精品咖啡与鲜润牛油果、南非的清甜柑橘与醇厚红酒……5月1日起&#xff0c;这些“非洲好物”搭乘零关税“直通车”进入中国市场。这一天&#xff0c;中国面向20个不属于最不发达国家的非洲建交国实施零关税、为期2年&#xff0c;从而实现对5…...

Prompt核心原则与技巧

1. Prompt的本质Prompt是用户和模型之间的"接口"。设计好的Prompt就像把话说清楚——越清楚&#xff0c;模型越能给你想要的答案。类比&#xff1a;就像你请人帮忙做事&#xff1a;说"帮我处理一下" → 对方可能做错说"帮我把这封信装进信封&#xff…...