Lambda首次实现PoST时空证明算法并开源

2018-11-08 22:13 栏目:经验之谈 来源: 查看()
从十年前到今天,比特币逐渐成为世界上最大的点对点网络支付系统之一,从白皮书的概念。随着比特币的发展,区块链技术也受到越来越多的关注。

实际上,区块链本质上是一个分布式应用软件,分布式系统的主要问题是解决一致性问题,即达成共识,因此共识算法是区块链的“灵魂”。从BFT到PoW再到PoS,已经发明,改进和应用了一致性算法。今天在区块链——分布式存储的核心区域,Lambda团队最初实现了该领域最核心的算法,即PoST时空校验算法,而算法的核心类库部分是开源的。 GitHub,开源协议。符合GPL V3。

数据完整性验证机制

近年来,云计算得到了广泛的应用和应用。其核心概念是资源租赁,应用托管和服务外包。它使用虚拟化技术将分布式计算节点形成共享虚拟池,为用户提供服务。然而,当用户选择将大量应用程序和数据部署到云计算平台时,云计算系统相应地成为云存储系统,但高度集中的计算资源使云存储面临严重的安全挑战,这也是集中的。服务有其固有的弱点。

Lambda首次实现PoST时空证明算法并开源

之前我们在考虑腾讯云数据在《的丢失:存储的未来在哪里?》文章中还提到集中式云存储的安全性,可靠性和服务水平仍存在许多问题。企业数据放在云存储中。他们最担心的是数据是否完整和正确。如果发生故障,是否可以实现数据恢复,并且可以证明数据与原始数据完全相同。这是分布式存储中经常提到的“数据完整性验证机制”。

Lambda首次实现PoST时空证明算法并开源

根据数据文件是否进行容错预处理,数据完整性验证机制分为数据拥有证明PDP机制(PDP,可证明数据拥有)和数据可恢复证明POR机制(POR,可检索性证明)。 。 PDP机制可以快速确定远程节点上的数据是否已损坏,并且更加关注效率。 POR机制不仅可以识别数据是否已损坏,还可以恢复损坏的数据。这两种机制有不同的应用要求。 PDP机制主要用于检测大数据文件的完整性,而POR机制用于确保重要数据的完整性和数据丢失后的可恢复性。

数据保持性证明PDP机制

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

(1)Alice要求Bob记住一组信息;
(2)Alice不会自己记录这组信息;
(3)Alice要求Chris确认Bob是否还记得这组信息;
(4)克里斯不了解这组信息的内容。

我们替换这些角色:Alice是用户,Bob是存储完成,Chris是第三方审核员(以下简称TPA)。

验证过程如下:

(1)用户为每个要外包的数据生成标签,标签由用户签名;
(2)TPA随机向用户外包数据发起挑战,挑战包含TPA生成的随机数;
(3)存储完成基于挑战数据块的内容,标签信息,挑战信息,以及自己生成的随机计算以获得证明;
(4)TPA使用挑战函数e(u,v)双线性属性,通过使用质询,证明和用户公钥作为参数来检查存储完成是否保存数据。

PDP的核心公式是:

Lambda首次实现PoST时空证明算法并开源


时空证明:时空证明

PoST,全称是时空证明,是FileCoin引入区块链字段的概念。 “时间和空间”的定义是测量和计算存储在网络中的数据存储时间和空间。 FileCoin和Lambda都旨在提供分散的分布式存储。矿工通过存储和检索流程接收客户费用,并通过时空验证算法接收块奖励。由于整个网络是没有集中节点的P2P网络,因此需要一些机制来确保用户存储的数据的完整性和可恢复性,因此该领域中的一些相关算法诞生了。

时间和空间证明PoST,允许验证者检查存储提供商是否已将他/她的外包数据存储了一段时间。该提供商的直接要求是:

(1)生成存储的订单证明作为确定时间的方法。
(2)编写递归执行以生成简单证明。

实际上,PoST算法是对POR的改进。 POR算法首先由Juels等人阐述。在一篇名为《的大文件可检索性证明文件》中。该文件的核心是将文件存储在片段中,片段的标签信息会定期受到挑战和证明。但通常学术界定义的POR操作取决于第三方节点的集中化,每次操作预处理时,相对空时(PoST)是在一定时间内生成的POR序列。证明有用存储的保留时间。

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

Lambda首次实现PoST时空证明算法并开源

关于IPFS和FileCoin

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

Lambda首次实现PoST时空证明算法并开源


FileCoin对时空证明PoST的定义是:

· 空间时间证明PoST方案使得有效证明者P能够说服验证者V相信P已经存储了一段时间的数据D. PoSt的特点是多项式时间算法的元组:(设置,证明,验证)。

·  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从运行V(验证者)的P(验证者)生成πc。

·PoSt.Verify(Sv,c,t,πc)→{0,1},用于检查证明是否正确。 PoSt.Verify由V运行并且说服V认为P存储了R一段时间。

从逻辑上讲,数据保存的证明是由两个字符和四个步骤完成的游戏。第一个角色是Challenger,第二个角色是完成Proof的人,Challenger的第一步是生成文件和一些谜题,然后将它放在服务器上;第二步是生成Challenger的某些信息,一些所需的数据;第三步存储节点完成证明并将其发送回Challenger;第四步是Challenger使用自己留下的一些信息来生成验证。使用验证和证明来验证这是否正确;这是使用两个角色和四个步骤验证。

分散存储项目需要解决很多问题,但我们需要避免项目周期太长而设定的目标太大。在软件领域,有一本着名的书叫做《神话神话》,它讲述了一个着名的软件项目失败过程的故事。事实上,任何在设计目标上过于雄心勃勃的软件都无法摆脱失败的命运,正确的开发方式应该通过敏捷和迭代来完成。

FileCoin是一个历史悠久的项目。其白皮书中采用的技术解决方案已多次更改。核心一致性算法PoST v1已经完全推翻了V1设计,从最早的类似PoW的共识到2017年,并切换到类似于Algorand的VRF算法。 Poreps的VDE实施,新的VDF算法的引入,以及市场的检索,小额支付和其他问题尚未得到很好的设计,FileCoin已经涉及太多的技术和学术问题,使得开发周期非常难以控制。

Lambda的解决方案

Lambda的想法是通过原型系统迭代地实现基于区块链的PDP和POR系统,并实现PoST的所有优势,例如连续挑战和链上的随机挑战。 Lambda认为,在非BlockChain的情况下,在另一种与POR不同的验证算法中,可以构建PDP算法,假定受信任的第三方通过一定的概率来验证数据保持,并且验证结果存储在一种明确的,不可篡改的方式。然后,这种可信的第三方审计(也称为TPA)必须能够通过链传递验证结果以实现不可篡改,并且单点可信验证过程还必须传递一组半可信验证器节点。达成共识即可完成。

使用Validator节点和角色是Lambda的主要特性,与FileCoin不同,这使得Lambda项目的开发变得更加困难。今天,Lambda使用Validator节点的开放式PoST实现为分布式存储和区块链存储提供了新的思路和研究方向。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发