1. 首页
  2. 技术分享

Lambda技术黄皮书解析丨第二部分

本文主要介绍了Lambda的协议与合约以及数据完整性两个章节

Lambda是一个安全、可靠、无限可扩展的去中心化存储网络,基于Lambda Chain 共识网络之上实现数据的去中心化存储、数据的完整性和安全性验证和市场化存储交易的运行,为新一代价值互联网提供可无限扩展的数据存储能力。去中心化存储数据存储安全是核心,Lambda采用PoST时空证明算法保证数据的存储安全,同时Lambda Chain实现了VRF+BFT的共识算法保证共识网络的运转效率与可靠性。同时Lambda通过交易市场连接存储供应方(矿工)与存储需求方(用户),在链上完成去中心化交易。存储方面Lambda首先实现一个分布式数据分发存储网络,具体存储形态将逐步完善并应用到实际的业务系统中。
Lambda技术黄皮书解析丨第一部分协议与合约

Lambda 采用Validator维护共识网络,系统内的Validator数目= 初始官方运营数 + 其他友好第三方运营数 + 矿工晋升数 == 1024个。其中,矿工晋升数最终会达到1024,其他节点则有序退出。

存储矿工需要质押扇区PledgeSector<SIZE,LAMB>,正式成为候选矿工,订单匹配后封装扇区并在链上查询到PoST证明后成为正式存储矿工,存储矿工达到一定晋升条件成为Validator。

Validator Table的更新是周期性的每经过M个周期进行更新,M为参数,可以进行调整。

Validator晋升机制:
1. 存储矿工根据自身存储量、综合信誉值、资源准备情况、自身意愿发起Validator Login交易申请成为Validator。Login交易检查条件如下,如出现条件不符者需要burn掉一部分质押金额,以防频繁尝试:
a. 对Validator Login质押金额进行检查。
b. 对存储矿工存储的实际需求量进行检查,需要满足: Lambda技术黄皮书解析丨第二部分
2. 对以上存储矿工列表进行遍历检查N个周期内未出现PoST证明失败。
3. 对存储矿工表按照S持有量进行排序,取值TOP(x),X为需要补增的Validator数量。
4. 更新后的Validator表统一按照算法进行排序,SortValidator(HASH(ValidatorID+Block-Height))。

Validator退出机制:
1. 对Validator表进行遍历检查最近一次Validator为退出交易状态Validator Logout。
2. 状态为Login但满足该条件存储容量条件。
3. 对以上Validator列表遍历检查N个周期内出现了M次扇区证明失败。
4. 对以上Validator列表遍历检查N个周期内出现了参与共识失败或其他恶意行为。

Lambda Consensus

  • 共识输入条件:
  • Height,区块高度
  • Max Block Interval,出块超时时间
  • Max Block Size,块最大值
  • Election Seed,VRF随机种子
  • Validator Table,Validator列表
  • VT Update Circle,Validator表更新周期
  • Difficulty,时间参数,用于动态调整出块周期
  • Block Reward,块奖励函数
  • Reward Curve, 激励曲线

共识流程如下图Lambda技术黄皮书解析丨第二部分

Lambda Consensus算法是基于当前 Validator Table,Validator Table的更新策略参见3.1节。

Lambda Consensus算法基本步骤如下:
1) 根据当前块信息新区块号、当前块的ConsensusNodeHash、当前块HASH、当前块VRFSeed组成VRFParameter
2) 根据VRFParameter使用VRF函数生成新一轮的VRFSeed
3) 根据新一轮的VRFSeed与ValidatorTable生成 ConsensusNodeList = GetConsensusNodeList
(ValidatorTable,Index(VRFSeed),TotalConsensusNode)
4) 从ConsensusNodeList中对预选区块进行验证,并获取权重最高的区块进行投票,权重与Validator的Sector个数与节点Hash相关。
5) 对投票后的区块进行BFT共识,并广播区块

数据完整性

PDP

Lambda技术黄皮书解析丨第二部分

(a) 用户为待外包的每块数据生成一个 tag,这个 tag 是经由用户签名的;
(b) TPA 随机地对用户外包数据中的一块或多块发起 challenge,这个 challenge 中包含由 TPA 生成的随机数;
(c) 存储矿工根据被挑战的数据块内容、tag 信息、challenge 信息以及自己生成的一个随机数计算得到一个 proof;
(d) TPA 以 challenge、proof 及用户公钥为参数,通过映射函数 的双线性性质检验存储矿工是否持有数据。Lambda技术黄皮书解析丨第二部分

LAMB-PoST

PDP方案面临的问题如下:

  • Challenge随机挑战信息的生成依赖于TPA,这个随机挑战值是否安全。
  • 发起Challenge时为了更高的检测率,需要一次性完成多块数据的检测,对每一块都需要生成随机挑战参数,大大增加了发起挑战的通信复杂度。
  • 交互式的挑战要求必须为强同步网络,并且<challenge,prove>交互次数过多造成系统的网络负载增加。
  • 存储矿工存储了大量的碎片订单,如果每次挑战针对一个订单,挑战数量会严重影响系统的负载。
  • 如果一份数据以多副本方式保存,或匹配到多个矿工时,如何解决witch攻击和多副本的虚假保存。
  • 在生成证明时可以证明当前时刻保存了文件,如何确保在两个检测周期之间是否存储了文件。
  • LAMB-PDP方案在PDP算法之上需要解决以上的问题,基本流程如下图所示

Lambda技术黄皮书解析丨第二部分

  • 矿工将多个文件片段封装到一个扇区中,同时将tag信息、公共参数、片段/文件索引记录到区块链中。
  • 矿工从最新的区块中获取挑战随机种子R,矿工计算本次需要挑战的扇区S,矿工应确保每个Sector在M个周期内提交存储证明,以获取相应收益。
  • 矿工根据GenChallenge(R , S , Index) -> challenge生成挑战
  • 矿工根据GenProof(data, challenge, tag) -> proof 生成证明
  • 矿工使用GenNextChallenge() 生成挑战 ,重复进行t次证明并生成ProofSet
  • 矿工将ProofSet提交到网络中,等待被Validator验证与打包
  • 矿工需要对扇区持续提供PoST存储证明,T个周期未收到PoST则认为扇区丢失。
  • 扇区标记为丢失状态,并更新相应惩罚记录、扇区内包含的订单数据进行重新匹配或修复修复工作也可由用户完成

下一章我们将会讲述Lambda的费用模型和奖励机制请持续关注我们~

 

原创文章,作者:三色団子,如若转载,请注明出处:https://ipfsdrop.com/tech/lambdajishuhuangpishujiexishudierbufen/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

(+86)18301922335

在线咨询:点击这里给我发消息

邮件:haskell@freechains.cn

工作时间:7×24小时

QR code