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

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

其实,区块链本质上就是一个分布式的应用软件,而分布式系统首要问题就是解决一致性的问题,也就是要达成共识,所以说共识算法就是区块链的「灵魂」。从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实现,给分布式存储和区块链存储领域提供了新的思路和研究方向。

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

现如今数字经济完全依赖各大平台的服务,交易能否达成与双方信用直接挂钩。平台往往在交易过程中抽取大量服务费用,导致了交易成本的提高。

关键字: 元宇宙 区块链 虚拟活动

业内消息,本周比特币盘中一度突破64000美元,续刷2021年11月以来新高。这是比特币自2021年11月以来最高价格,距离历史最高点68991美元仅一步之遥。随后,比特币涨势回落,截至发稿,比特币报60377.42美元...

关键字: 加密货币 爆仓 比特币 以太坊 狗狗币 BNB

随着人工智能(AI)技术的不断发展和创新,其应用领域也在不断拓展。AI正在逐步渗透到各个行业中,为我们的生活和工作带来诸多变革。本文将为您探讨人工智能在各个领域的应用。

关键字: 人工智能 区块链 应用领域

本文中,小编将对区块链技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 区块链 Blockchain

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

(全球TMT2023年9月6日讯)耀世星辉新文娱集团控股有限公司宣布,根据2023年8月16日签署的《股份认购协议》,完成发行总计8,064,516 股普通股,认购价格为每股2.48美元,总计2000万美元的战略投资完...

关键字: 云计算 移动互联网 区块链 生态系统

上海2023年8月17日 /美通社/ -- 低碳经济的新机遇和挑战激发了电池制造业的创新热情。为了引领行业电池安全生产标准的制定并保持市场领先地位,一些电池制造公司,已在电池创新技术上投入巨大的研发力量。 在这个背景下...

关键字: 区块链 新能源电池管理 区块链技术 AI

(全球TMT2023年8月17日讯)耀世星辉新文娱集团控股有限公司宣布与两家新的投资机构签署战略投资股份认购协议。根据协议,公司同意向两家机构发行总计8,064,516 股普通股,每股价格为2.48美元,总额2000万...

关键字: 云计算 移动互联网 区块链 生态系统

近日,SABIC携手区块链软件提供商Circularise共同推出区块链试点项目,旨在评估其技术在追踪特定材料从“端到端”流动的碳足迹方面的使用情况。

关键字: 区块链 碳中和

区块链技术是一种基于去中心化、分布式、不可篡改的数据存储和传输技术,其应用场景广泛,涉及到数字货币、供应链管理、智能合约、数字身份验证、物联网等多个领域。以下是区块链技术的几个具体应用:

关键字: 区块链 数字货币
关闭
关闭