吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

栏目: 后端 · 发布时间: 5年前

内容简介:带来了题为“分布式存储结合公链激励的工程实践”的线上分享。Genaro Network 是首个结合去中心化存储网络的图灵完备公有链,它为区块链开发人员提供了一站式解决方案,在部署智慧合约的同时,可以存储用户资料。同时,Genaro 也为每个人建立一个可靠的互联网与共享小区。
巴比特加速器推出的全球线上区块链技术深度对话栏目Geekhub Global Online,定期邀请世界各地的资深技术大咖连线对话。同时Geekhub技术社区成员也可以参与直播互动。

11月28日-30日每天14:00,Geekhub 技术社区将举行【Geekhub Global Online】技术公开课第三期的活动,主题为“ 分布式存储,数字基石 ”。

11月29日14时, Genaro Network创始人吴为龙

带来了题为“分布式存储结合公链激励的工程实践”的线上分享。

Genaro Network 是首个结合去中心化存储网络的图灵完备公有链,它为区块链开发人员提供了一站式解决方案,在部署智慧合约的同时,可以存储用户资料。同时,Genaro 也为每个人建立一个可靠的互联网与共享小区。

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

以下为直播文字实录,由巴比特整理发布:

大家好,我是Genaro Network(GNX)创始人吴为龙,很高兴来到这里,我今天分享的主题是“ 分布式存储结合公链激励的工程实践 ”。

分布式存储

我先来介绍一下分布式存储的概念。分布式存储指的是 使用分布式节点存储本地文件的方式

与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。

经典的分布式存储项目

有Sia、Storj、Maidsafe、IPFS。

Maidsafe是最早的分布式存储项目,但是一直停留在α版本; Sia是一个基于POW的区块链去中心化存储的项目,以挖矿为主; Storj是一个中心化的奖励机制,即每个月storj官方根据各矿工每月的存储量来发放奖励; IPFS虽然也提供去中心化的云存储服务,但在实现机理上是在基础层而不是应用层去改变云存储。

刚才我简单解释了分布式存储的概念,现在讲一讲什么是集中式存储和云存储。

集中式存储 指的是由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。

云存储本质上也是一种分布式存储,传统的云存储公司购买或租用服务器来存储他们的客户文件,同时使用RAID方案或 多数据中心的方法来保护数据的安全性。

在比较了分布式存储、集中式存储和云存储之后,我们要去思考一个问题: 为什么要使用分布式存储呢?

主要有三个理由:

1.无论是计算,还是存储,分布式最大的特点就是低成本。分布式存储让最大化使用低成本的存储; 2.用了分布式存储之后,就可以用一些无服务器的系统。下一代互联网将以无服务器为起点的; 3.区块链本身存储量很大,分布式存储也可以用于链的部分。

分布式存储方法也叫分布式哈希表(Distributed Hash Table, DHT)

。通俗的讲就是,在 DHT 中,某些被标记的信息,按照某种约定或协议被储存在多个分散的节点上,可以有效地避免中心化服务器宕机故障而带来的整个网络瘫痪。

和中心化服务器不同,DHT 网络中的各节点并不需要维护整个网络的信息,而是只在节点中存储其临近的后继节点信息,大幅减少了带宽的占用和资源的消耗。DHT网络还在与关键字最接近的节点上备份冗余信息,避免了单一节点失效问题。

接下来,我们来看一下 分布式存储需要实现的四个目标

1.DHT来保证的部分节点部分数据,路由连接; 2.节点ID和Key值的关系确定了文件存取的方向; 3.节点List按照时间顺序存储其它节点的信息; 4.主要适用于Key精确查找,很快迭代寻找。

分布式存储有两个现存的问题

1.上述只保证了节点寻址和对应的上传下载,并没有对其存储过程进行保障; 2.需要特定共识保证系统中存储的文件都可以被下载,而不是跳转几次节点后都找不到value。

分布式存储与共识机制结合

我们发现,存储本身是有规律可循的,就是缺少共识来检验过程。这里就要引入“ 分布式存储共识 ”的概念,它指的是 能够保证文件存储后能够被下载的共识 。这个共识很可能只做一件事,就是保证这个文件能被下载。

那么这个共识能否用PoW呢?其实这并不是一回事儿,因为分布式存储的共识不等于区块链的共识。区块链共识保障的是所有区块链的节点是维护同一个表单的;分布式存储共识里是保障存储节点能够给予心跳,而不是保障所有节点维护同一个表单。

Genaro Network使用的是两个共识,因为一个共识只能做一件事。共识的设计基础:

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

共识设计基于分布式系统的CAP原理;链式共识主要保证了A(可用性)和P(分区容错性),每个全节点存储的是相同的东西;存储共识不需要每一个节点存储一样的东西(DHT的设计),所以需要相对独立的设计。

我们需要看在以往的工程经验中,到底有没有对存储共识的相关设计。

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

可收回证明(PoR,Proof of Retrievability)共识算法,是一种紧凑证明,表示文件系统(证明者)中的目标文件 F 对客户端(验证者)而言是完整的。由于使用 PoR 比传输文件 F 本身而言具有更低的通信复杂性,因此 PoR 对于构建高可靠的远程存储系统是一种颇具吸引力的构建模块。作为一种共识算法,PoR 对于云存储非常有用。

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

Genaro对共识做了一些改进,改进的方式是:

由于文件不能被细分成特别小的shard(过多的验证时间),所以存在重放攻击隐患;

重放攻击需要通过增加challenge来防止,需要由链部分的hash提供给辅助信息,用指纹组来代替单一指纹;

Prover部分需要额外处理,本身Prover是中心化节点,需要来保证challenge可靠性。

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

这就是Genaro改进Prover的思路,如何将中心化的Prover变得更去中心化呢?如上图。

在Genaro网络中,每个区块由存储活动产生,矿工被称为收据制造者(Receipt Maker),他们被节点选中为存储活动生成收据。收据见证人(Receipt Prover)为网络提供算力,证明存储有效性以获得奖励。

Genaro存储网络结构基础:

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

分布式存储与公链激励结合

虽然分布式存储的成本很低,但是如果存储节点还是不愿意用这么低的成本去获得收益,那该怎么办?Genaro这半年来就是尝试将分布式存储与公链激励结合起来。

首先,存储节点需要的是激励; 然后, 激励节点可以解决分布式存储的,由于成本过低导致无法长期在线的问题; 最后, 公链本身的机制是激励出块节点(写节点)。

公链激励的设计实现如下:

公链共识分为写节点竞争或者写节点轮训,无论在什么情况下都是要提供时间属性,否则轻易被分叉。比如PoS的long range attack; 存储节点的验证后,提供的心跳可以提供时间属性; 公链可以使用时间属性完成PoS中时间缺失的问题。

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

实现共识与激励的Genaro公链整体结构

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课

由刚才的VM设计出的不同的opcode以及状态上的改动,这里称之为“特殊交易”或“结算方式”。把这些功能交给由RAFT组成的Tunnel,剩下的存储部分不用改变原有的情况。

那么每一次相关的心跳都是通过状态交给链,这样就能保证每一次有效存储是在挖矿。

海报预览:

吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计题解与上机指导

C程序设计题解与上机指导

谭浩强 / 清华大学 / 2000-9-1 / 19.50元

《C程序设计题解与上机指导(第2版)》是和谭浩强编著的《C程序设计》(第二版)(清华大学出版社1999年出版)配合使用的参考书,内容包括:(1)《程序设计》(第二版)一书的习题和参考解答,包括了该书各章的全部习题,共约150题,对全部编程题都给出了参考解答;(2)上机指南,详细介绍了在当前广泛使用的Turbo C集成环境下编辑、编译、调试和运行程序的方法,并简要介绍了Borland C++的使用方......一起来看看 《C程序设计题解与上机指导》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器