当前位置:首页 > 物联网 > 区块链
[导读] 从十年前到今天,比特币从一个白皮书的构想逐渐成为全球最大的点对点网络支付系统之一。随着比特币的发展,区块链技术也受到越来越多的关注。 其实,区块链本质上就是一个分布式的应用软件,而分布式

从十年前到今天,比特币从一个白皮书的构想逐渐成为全球最大的点对点网络支付系统之一。随着比特币的发展,区块链技术也受到越来越多的关注。

其实,区块链本质上就是一个分布式的应用软件,而分布式系统首要问题就是解决一致性的问题,也就是要达成共识,所以说共识算法就是区块链的「灵魂」。从BFT到PoW再到PoS,共识算法逐渐被被发明、改进和应用。今天在区块链的核心领域——分布式存储领域,Lambda团队初步实现了该领域最为核心的算法,也就是PoST时空证明算法,并将该算法的核心类库部分在GitHub上进行开源,开源协议遵守GPL V3。

数据完整性验证机制

近些年,云计算得到广泛的普及和应用,其核心理念就是资源租用、应用托管和服务外包,其通过虚拟化技术将分布的计算节点组成一个共享的虚拟化池,为用户提供服务。但是当用户选择将大量应用和数据部署到云计算平台中时,云计算系统也相应地变为云存储系统,但高度集中的计算资源使云存储面临着严竣的安全挑战,这也是中心化服务先天具备的弱点。

此前我们在《腾讯云数据丢失事件思考:存储的未来在哪里?》一文中也提到,中心化的云存储在安全性、可靠性以及服务水平层面还存在很多问题亟待解决。企业数据放在云存储中,他们最关心的是数据是否完整无误,如果出现故障,是否可以实现数据的恢复,而且能够证明这些数据与原来数据完全一致。这就是去中心存储中经常提到的「数据完整性验证机制」。

数据完整性验证机制根据是否对数据文件采用了容错预处理分为数据持有性证明PDP机制(PDP,Provable Data Possession)和数据可恢复证明POR机制(POR,Proofs of Retrievability)。PDP机制能快速判断远程节点上数据是否损坏,更多的是注重效率,而POR机制不仅能识别数据是否已损坏, 且能恢复已损坏的数据。这两种机制有着不同的应用需求,PDP机制主要用于检测大数据文件的完整性,而POR机制则用于确保重要数据的完整性,以及数据丢失之后的可恢复性。

数据持有性证明PDP机制

首先我们可以看看PDP方案的一个应用场景:

(1)Alice要求Bob记忆一组信息;

(2)Alice本身并不会记下这组信息;

(3)Alice请Chris来确认Bob是否还记得这组信息;

(4)Chris并不了解这组信息的内容。

我们对这些角色进行代换:Alice即是用户,Bob即为存储旷工,Chris即为第三方审核者(以下简称TPA)。

验证流程如下:

(1)用户为待外包的每块数据生成一个Tag,这个tag经由用户进行签名;

(2)TPA随机对用户外包数据中一块发起Challenge,这个Challenge中包含有TPA生成的随机数;

(3)存储旷工根据被挑战的数据块内容、Tag信息、Challenge信息以及自己生成的一个随机计算得到一个Proof;

(4)TPA以challenge、proof及用户公钥为参数,通过映射函数e(u,v)双线性性质检验存储旷工是否持有数据。

PDP的核心公式为:

时空证明:Proof of Space Time

PoST,全称是Proof of Space TIme,是由FileCoin引入到区块链领域的概念,「时空」的定义是衡量并计算存储在网络中的数据存储时间及空间。 FileCoin和Lambda都是旨在提供去中心化的分布式存储,矿工通过存储及检索过程获得客户的付费,并通过时空证明算法获得出块奖励。由于整个网络是没有中心化节点的P2P网络,因此需要某种机制保证用户所存储数据的完整性和可恢复性,因此诞生了这个领域的一些相关算法。

时空证明PoST,它可以让验证者检查存储提供商是否在一段时间内存储了他/她的外包数据。这对提供商的直接要求是:

(1)生成顺序的存储证明来作为确定时间的一种方法。

(2)组成递归执行来生成简单的证明。

其实,PoST算法是对POR的一种改进,POR算法是由Juels等人在一篇名叫《Proofs of Retrievability For Large Files》的论文中最早进行阐述,其核心是将文件分片存储,并根据分片的标签信息定期进行挑战和证明。但通常学术界所定义的POR的运行依赖于中心化第三方节点,并且每次运行都要进行预处理,相对的SpaceTIme(PoST)是一定时期内产生一个POR序列来证明有用存储的保持时间。

如下图所示,PoST与PoR的主要区别在于重复挑战的执行,而不重新运行初始化阶段,这就大大提高了执行效率。

关于 IPFS和 FileCoin

现在,区块链领域的很多人混淆了IPFS和FileCoin项目,以为IPFS项目已经解决了存储数据的完整性问题,这是一个误区。这些人错误的认为,IPFS对数据进行哈希之后,是可以保证数据的不可篡改的,这是一个错误的认识,对于任意IPFS网络的节点来说,它们仅仅会存储自己感兴趣的数据,而不是用户指定的数据。因此,需要一个激励和检查层来确保用户指定数据的存储和不被篡改。做一个简单的比较,IPFS是类似于开源的Ceph软件,FileCoin和Lambda则更类似于AWS的S3。没有数字货币激励的单纯存储系统,是不可能解决数据的持有性问题的。

FileCoin关于时空证明PoST的定义为:

· 时空证明PoST方案使得有效的证明人P 能够说服一个验证者V 相信 P 在一段时间内已经存储了一些数据 D。PoSt其特征是多项式时间算法的元组: (Setup, Prove, Verify)。

· PoSt.Setup(1λ,D)-》Sp,Sv,其中SP 和 SV 是P 和V 的特点方案的设置变量,λ 是一个安全参数。PoSt.Setup用来给予 P 和V 必要的信息来运行PoSt.Prove和 PoSt.Prove。一些方案可能要求证明人或者是有互动的第三方去运算PoSt.Setup。

· PoSt.Prove(Sp , D, c, t) → πc,其中c 是验证人V 发出的随机验证, πc 是证明人在一段时间内可以访问数据D 的的证明。PoSt.Prove由P(证明人)为V(验证者)运行生成 πc。

· PoSt.Verify(Sv, c, t,πc)→ {0,1},用来检测证明proof是否是正确。PoSt.Verify 由V运行和说服V 相信 P 在一段时间内已经存储了R。

从逻辑上来讲,数据的持有性证明是一种由两个角色和四个步骤完成的游戏。第一个角色是Challenger,第二个角色是完成Proof的人,Challenger的第一步把文件和一些谜题生成之后,放到Server上;第二步生成某个Challenger的信息,需要的某些数据;第三步存储节点完成了某个Proof,发回给Challenger;第四步就是Challenger用自己原来遗留的一些信息,生成一个Verify,用Verify跟Proof去验证这东西是不是对的;这就是用两个角色、四个步骤完成验证。

去中心化存储项目需要解决的问题非常多,但是我们需要避免项目周期过长和设定过于庞大的目标。在软件领域,有一本著名的书叫做《人月神话》,讲述了一个著名的软件项目失败的过程。事实上,任何设计目标过于宏大的软件都难逃失败的命运,而正确的开发方式则应该是通过敏捷和迭代来进行完成。

FileCoin作为一个历史悠久的项目,其白皮书所采用的技术方案多次更改,核心共识算法PoST v1从最早的类PoW共识,到2017完全推翻V1的设计,改用类似于Algorand的VRF算法,到加入Poreps的VDE实现,到引入新的VDF算法,并且检索市场、小额支付等问题也尚未有完善的设计方案,FileCoin涉猎了太多的技术及学术难题,使得开发周期变得非常不可控。

Lambda的解决方案

而Lambda的思路是,尽可能通过原型系统去迭代实现一个基于区块链的PDP和POR系统,并实现PoST的所有优点,比如连续挑战和链上随机挑战。Lambda认为,在非BlockChain情况下,在另外一种和POR不一样验证算法中,可以构造一个PDP算法,假设一个可信第三方,通过一定的概率,对于数据的持有性进行验证,并且把验证结果以显式不可篡改的方式来存储。那么这个可信的第三方的审计,也就是所谓的TPA,一定可以把验证结果通过上链来实现不可篡改,并且一个单点可信的验证过程,也一定可以通过一组半可信Validator节点共识来完成。

而对于Validator节点和角色的使用,是Lambda不同于FileCoin的主要特点,也因此让Lambda项目的开发难度得以降低。今天,Lambda开放的使用Validator节点的PoST实现,给分布式存储和区块链存储领域提供了新的思路和研究方向。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭