至于前面提到的事件触发逻辑,可以定义从HTTPAPI终端、MQTT话题接收到的数据信息,以及检测到区块链上的事件记录,检测到区块链高度等可以被触发的事件(Eventtriggers)类型,并且绑定对应的处理程序去处理。
处理程序(Applet)中定义了一个或多个执行函数,被编译成了WASM格式。数据的清洗和格式整理就可以通过Applet去执行。处理之后的数据被存放到由项目定义的key-value数据库中。
DePHY项目采用了更为去中心化的方式来处理和提供数据,他们称之为DePHY消息网络(DePHYMessagenetwork).
DePHY消息网络由无许可的DePHY中继节点(relayer)组成。物联网设备可以通过任意一个DePHY中继节点的RPC端口将数据传入,传入的数据会先调用中间件,结合DID去验证数据可信任。
通过信任验证的数据需要在不同的中继节点之间同步,形成共识。DePHY消息网络采用了NoStr协议来实现。NoStr原本的用途是用于构建去中心化的社交媒体,还记得之前有人用NoStr代替Twitter而大火么,用在DePIN数据的同步中居然也巧妙的合适。
在DePHY网络中,每台物联网设备存储的数据片段,都可以被组织成一棵Merkle树,节点间会彼此同步这棵Merkle树的root,以及整棵树的tree哈希。当某个Relayer得到上述MerkleRoot和Tree哈希后,可以快速定位还缺少哪些数据,方便从其他Relayer中获取补齐。这种方法能异常高效地达成共识确认(Finalize)。
DePHY消息网络的节点运行是Permissionless的,任何人都可以质押资产并运行DePHY网络节点。节点越多,网络的安全性越高,可访问性就越强。DePHY节点可以通过zk条件付款(Zero-KnowledgeContingentPayments)的方式,获得奖励。也就是说,有数据索引需求的应用,在向DePHY中继节点请求数据时,根据可否检索到数据的ZK证明,来决定向中继节点支付多少费用。
同时,任何人都可以接入DePHY网络来监听、读取数据。项目方运营的节点可以设置过滤规则,只储存与自己项目相关的DePIN设备数据。由于沉淀了原始数据,DePHY消息网络可以作为后续其他任务的数据可用层。
DePHY协议会要求中继节点在运行时至少把接收到的数据在本地存储一段时间,再把冷数据要转存到Arweave这种永久性的存储平台上。如果全部数据都当作热数据去处理,最终会抬高节点的存储成本,进而提高全节点运行门槛,使得普通人难以运行全节点。
通过冷热数据分类处理的设计,DePHY能大大降低消息网络中全节点的运行成本,更能应对海量的物联网数据。
前面的两种方案都是把数据的收集存储放在链下去执行,然后Rollup到区块链上去。这是因为物联网应用产生的数据量本身极大,同时又有通信延时的要求。如果在区块链上去直接去执行DePIN交易,数据处理能力有限而且存储成本很高。
单是等待节点共识就带来不可忍耐的延时问题。peaq却另辟蹊径,自己搭建了一条公链,直接承载和执行这些计算和交易。它是基于Substrate开发的,当主网实际上线后,承载的DePIN设备增多,将会因为peaq的性能瓶颈,最终无法承载那么大量的计算和交易请求。
由于peaq没有可信任固件的功能,基本无法有效验证数据的可信。在数据存储方面,peaq直接在开发文档中介绍了如何给基于substrate的区块链接入IPFS分布式存储。
将数据分发到不同应用
DePIN工作流程中的第三阶段,是根据区块链应用的需求,将数据可用层的数据抽取出来,通过执行运算或零知识证明,把执行结果高效地同步到区块链上。
W3bStream把这一阶段称为数据证明聚合(DataProofAggregation)。这部分网络由许多聚合器节点(AggregatorNodes)组成一个计算资源池(computingresourcepool),给所有的DePIN项目共享调用。
每个聚合器节点会在区块链上记录自己的工作状态,是忙碌还是空闲。当有DePIN项目的计算需求过来时,根据链上的状态监控(monitor)选择空闲的聚合器节点去处理。
被选中的聚合器节点,会先从存储层检索需要的数据;然后根据DePIN项目的需求对这些数据做运算,并且生成运算结果的证明;最后把证明结果发送到区块链上给智能合约去验证。完成工作流程之后,聚合器节点重新回到空闲状态。
而聚合器节点在生成证明时,会用到分层聚合电路(layeredaggregationcircuit)。分层聚合电路包含四个部分:
数据证明聚合对于确保DePIN项目中计算的完整性和可验证性至关重要,为验证链下计算和数据处理提供了可靠和高效的方法。
IoTeX的收益环节也主要在这一阶段,用户可以通过质押IOTX代币,运行聚合器节点。越多聚合器的参与,也就能带来更多的运算处理能力,形成算力充足的计算层。
在数据分发层面,DePHY提供了协处理器来监听DePHY消息网络的finalized消息,进行状态迁移(Statechange)后,将数据打包压缩并提交到区块链。
状态迁移是用于处理消息的类智能合约的函数,由不同DePIN项目方定制,还包括zkVM或TEE的计算打包数据处理方案。这部分由DePHY团队向DePIN项目方提供项目脚手架(Scaffold)来开发和部署,具有很高的自由度。
除了DePHY提供的co-processor,DePIN项目方也可以根据项目脚手架将DA层的数据接入到其他基础设施的计算层,实现上链。
尽管DePIN赛道火热,但物联网设备要大规模接入到区块链,仍存在技术上的障碍。本文从技术实现的角度,回顾分析了物联网设备从可信任产生数据,验证存储数据,通过计算产生证明和向区块链rollup数据的整个流程,从而支持将物联网设备集成到Web3应用中。如果你是DePIN赛道的创业者,也希望本文可以在方法论和技术设计上能对项目发展有所帮助。
在选择分析的三个DePIN基础设施中,peaq依然像六年前网上的评论一样,isjusthype.DePHY和IoTeX都选择了链下收集物联网设备数据,然后rollup到链上的工作模式,能够在低时延、保证设备数据可信的条件下,将物联网设备数据接入到区块链。
DePHY和IoTeX又各有侧重,DePHY的DID包含了硬件功能trait的验证,双向数据传输等特点,DePHY消息网络更注重于去中心化的数据可用层,更多是作为低耦合的功能模块与DePIN项目结合;IoTeX的开发完整度很高,有完整的开发工作流程,更侧重于给不同事件绑定处理程序,偏向计算层。DePIN项目方可以根据实际需求,选择不同的技术方案去组合。
如果读者在DePIN方向有创业项目,也可以通过telegram与笔者讨论交流。
作者:Pika,Sui公链大使,DePIN研究员
编辑:Faust,极客web3
以上就是DePIN科普文:IoTeX、DePHY和peaq等基础设施是怎么运转的的全部内容,望能这篇DePIN科普文:IoTeX、DePHY和peaq等基础设施是怎么运转的可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。