You need to enable JavaScript to run this app. NEAR Off-Chain Worker框架下Validator执行Blob的技术问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

NEAR Off-Chain Worker框架下Validator执行Blob的技术问题咨询

NEAR Validator链下无状态计算预言机实现思路

整体架构基于NEAR现有能力做最小化改造即可落地,无需动核心共识层逻辑,以下分三个核心环节拆解实现路径:

  • Blob下载触发逻辑

    你上传到链上合约的无状态Wasm Blob会存在合约的指定存储槽中,只需要在存储Blob的链上合约中新增一个trigger_compute的公开方法,调用该方法时传入计算任务ID、Blob对应的存储key、计算输入参数,该交易上链后会生成可被节点捕获的事件。
    Validator侧不需要修改核心节点代码,只需要在节点侧部署一个轻量化的 sidecar 服务,监听区块的合约事件,匹配到你自定义的计算触发事件后,直接调用NEAR节点的标准RPC query接口从对应合约的存储中拉取Blob二进制内容即可,拉取到本地后做哈希校验和链上存储的Blob哈希比对,避免数据篡改。
  • 沙箱化Blob执行逻辑

    你提到的修改版NearSDK实际只需要做两层轻量化改造,复用NEAR现有Wasm沙箱能力即可:
    1. 给编译无状态Blob的SDK新增API白名单限制:屏蔽所有状态写入类API(如storage_write、transfer等),仅开放状态读API,且限制只能读取调用时指定的合约存储,从编译层就避免Blob包含越权逻辑
    2. 执行层复用NEAR现有合约运行时的沙箱隔离能力:将下载后的Blob作为临时Wasm模块加载到沙箱中,执行时拦截所有系统调用,再次校验没有调用白名单外的接口,传入输入参数执行后即可拿到输出结果,沙箱本身的隔离性已经可以保证Blob不会访问节点本地资源,也不会修改链上状态
      Ilya提到的SDK修改指的就是上述的白名单改造,不需要重构整个SDK,开发量极低
  • 结果上链与共识校验逻辑

    执行完成后,参与计算的Validator不需要全量上传执行结果,只需要先对结果做哈希,调用链上合约的submit_result_hash方法提交自己的结果哈希即可:
    1. 链上合约预先设置参与计算的Validator质押门槛,只有质押了指定数量Token的Validator提交的哈希才会被统计
    2. 当超过预设比例(如2/3)的有效Validator提交的哈希一致时,合约即可判定该结果通过共识,此时只需要任意一个Validator提交完整的执行结果,合约做一次哈希比对一致后即可确认结果生效,符合你提到的全有或全无模式,比对成本仅为一次哈希计算,gas消耗极低
    3. 若出现哈希不一致的情况,合约可以直接惩罚提交错误哈希的Validator的质押资产,保证作恶成本远高于收益

内容的提问来源于stack exchange,提问作者Richard Tiutiun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 06:54:02