你存在“链上”的文件真的被存了吗?「Lambda」想用验证者节点共识提供可信的存储方案

avatar
昕楠
6年前
本文约1894字,阅读全文需要约3分钟
在不可信的环境下,如何相信放在存储端的内容真的存上了且不被修改呢?

你存在“链上”的文件真的被存了吗?「Lambda」想用验证者节点共识提供可信的存储方案

虽然链上的数据被附以“不可篡改”,“可追溯”等特性,但在去中心化存储的环境下,用户将自己的文件交由未知的存储端进行存储,该存储端对于用户而言并非可信的。这样的情况下,如何保证非可信节点不作恶?换而言之,我们怎么确定,分布式存储终端真的有完成存储任务?

这时,存储类项目的数据持有性证明(Provable Data Possession,PDP)方案就显得尤为重要,在数据持有性证明上,用户发送数据给矿工进行存储,矿工证明数据已经被自己存储,用户可以重复检查矿工是否还在存储自己的数据。

当然,目前市面上已有各式各样的去中心化存储方案,在提供数据的持有性证明方面,IPFSSiaStorj等去中心化的存储方案都想在不可信的环境下,通过验证存储端的数据持有性证明来保证存储端可信。

Odaily星球日报日前接触到的去中心化存储项目 Lambda 创始人何晓阳则认为,现存的两类存储方案均有不同弊端:

  • 以IPFS/Filecoin为例的存储,只提供静态文件的存储,且无法通过文件内容搜索文件地址。同时,在验证存储端的数据持有性证明中,其设想要让公众发起验证,但未明确提出具体的发起者是谁、如何发起,也就是说,没有解决谁是数据的 validator(验证者)的问题。

  • 以 Sia、Storj 为代表的存储方案想要通过智能合约定期向存储端发起挑战,要求其反馈验证文件碎片、哈希值等信息。但由于链账本本身大小限制,链上只存有 Merkle Tree 的 Root Hash,只能保证数据的不被篡改,不能保证数据的持有和可用。

Lambda 想要搭建一个去中心化的存储平台,通过分布式节点的验证和共识,来解决用户和存储端之间的信任问题。Lambda 平台中设置了存储库和区块链两个网状结构系统(可想象一下IPFS/Filecoin),存储库系统负责存储,区块链则负责对存储库系统的访问、控制,两个网状结构间由子链连接,完成交互。

区别于其他去中心化存储项目,Lambda 特别之处在于,它想通过验证者节点生成的共识,为存储端提供数据的持有性证明,以保证存储在“非可信存储端”上数据的完整性和可恢复性。

Lambda 提供的方式是:考虑最简单场景的情况下,在一个 Permissionless Store 上面证明一个存储端对文件 F 的持有性。首先将用户需要存储的原文件分片,对任意的文件 F ,生成一个消息的集合 m1 , m2 , … , mn ,并根据文件碎片计算生成相应个数的 tag,tag 由原文件碎片和4个数字(即安全参数 λ ,也叫元数据)加密生成。

验证者节点(validator)存储元数据,用于后续生成挑战/谜语;各个存储端存储原文件碎片及相应的 tag, tag 可帮助存储方从原文件碎片中精准提取数据,实现解谜。

验证者生成挑战谜题,向存储端发起挑战。存储端根据手上的原文件碎片和 tag 进行计算,生成相应的数字向量集合并反馈给验证者。最后,验证者根据元数据和向量结合计算并检验存储端是否验证成功。成功即打包交易上链,失败存储节点将受到惩罚。

单点的文件持有性可以验证的情况下,文件的动态性、多副本、纠删码、去重等特性也都可以通过相应的调整得到支持。

在这样的方式中,验证者需要保存元数据,存储端多出了存储tag的任务,但只会增加1%-3%的存储量。验证者在向存储端发起验证的过程中,由于二者在不同的网状结构中,验证者的挑战请求将是远程的。当出现存储端不接收挑战、因网络问题无法接通等情况,验证者可以直接将其判定为未能存储。

你存在“链上”的文件真的被存了吗?「Lambda」想用验证者节点共识提供可信的存储方案整个系统中,验证者角色是 Lambda 的创新点。此外, Lambda 还设计了提名人和钓鱼人角色。

  • 验证者:在 Lambda 网络中进行交易的打包和出块,验证人需要抵押部分 Token 。验证者角色并非单个节点,而是从成千上万个验证者节点中随机选出一组验证者节点,共同对一个存储端进行相应验证。每打包 1024 个块,验证人节点会进行轮换。

  • 提名人:拥有大量资金,提名人推举一个或者多个验证者为其做出决策。除了投入资金以外,没有更多的职能。

  • 钓鱼人:钓鱼人和区块打包的过程并不相关,该角色类似于现实世界中的“赏金猎人”,钓鱼人通过“钓鱼执法”检举作恶验证者节点,检举成功则获得一次性的大额奖励。

假如数据被恶意删除,这时恢复数据文件则尤为必要。在数据的可恢复性部分,Lambda 的设想是实现在数据文件被分割成 A 份的基础上,将文件分发给 B 个人( B 小于 A ),只要丢失的数据不大于某一个预设的数值,即可实现数据恢复。

Lambda 项目从 2017 年开始筹备,目前 Lambda 完成数千万人民币的天使轮融资,领投方有真格基金、大都会资本和 Dfund 。据何晓阳透露,Lambda 将于明年年初上线测试网。团队方面,目前Lambda 共有15人,项目主要核心创始团队成员均出自 APM SaaS 企业 OneAPM ,团队成员多是来自一线基础软件研发和开源社区的程序员。

相关阅读:

Provable Data Possession at Untrusted Stores

Scalable and Efficient Provable Data Possession

Group-oriented Proofs of Storage

在解决数据可用性挑战上,我们和V神做了同样的选择

Sia白皮书:英文版译版

Storj白皮书:英文版

IPFS白皮书:英文版译版

Filecoin白皮书:英文版译版

Lambda白皮书

你存在“链上”的文件真的被存了吗?「Lambda」想用验证者节点共识提供可信的存储方案

我是Odaily星球日报作者莫昕楠,探索真实区块链,优质区块链项目寻求报道请加微信:16601131135,烦请备注姓名、公司、职务。

原创文章,作者:昕楠。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选