资讯动态

1024 程序员节:从提案到回执,给链上 Agent 划出六道执行边界

发布时间:2026/10/24 23:57:07 来源:尧图企业网站定制
让一个 Agent 给出调仓建议并不难难的是让它在状态变化、网络超时和重复任务里只花掉被允许的那部分钱。模型说“已完成”终端打印“已结算”都不能替代链上回执。这是我更愿意在 1024 讨论的工程问题一条自动化流水线究竟在哪一步获得了执行权又凭什么宣布任务结束以太坊基金会 10 月 5 日关于交易结果断言的讨论把签名意图与最终结果的差距摆到了台面上。它提出的原生断言仍是研究与升级讨论中的机制不能当成任意网络已经具备的现成功能。对今天的应用开发者而言首先能做的是把提案、授权和结果核对拆开。官方讨论六个阶段六份不同证据读取阶段固定链、区块身份和数据来源策略阶段只输出结构化提案不触碰密钥。校验阶段检查金额、合约白名单、有效期和重放标识签名阶段由独立组件依据授权策略确认真实签名。发送阶段获得交易哈希回执阶段再判断交易是否入块、是否成功以及资产变化是否符合预期。这六份证据不该用一个布尔值串起来。RPC 超时只说明客户端不知道结果换节点重发前应先查原哈希和账户 nonce。交易成功也不自动等于经济目标达成最低接收量、支出上限等条件需要在执行路径中落实。ERC-4337 定义了 UserOperation、Bundler 和 EntryPoint 的分工。它提供账户抽象基础设施不负责证明模型的策略正确也不承诺任何提案都能入块。协议原文一个只负责“是否允许进入签名阶段”的例子下面程序不生成签名不连接节点。金额单位是整数最小单位样例地址是符号名它刻意把输出停在READY_FOR_SIGNING避免把教学状态机写成真实链上集成。from dataclasses import dataclass dataclass(frozenTrue) class Proposal: target: str amount: int nonce: int expires: int def authorize(p, now, expected_nonce): checks { target: p.target in {vault-A}, amount: 0 p.amount 100, nonce: p.nonce expected_nonce, expiry: now p.expires, } failed [name for name, ok in checks.items() if not ok] return REJECT: ,.join(failed) if failed else READY_FOR_SIGNING assert authorize(Proposal(vault-A, 50, 7, 200), 100, 7) READY_FOR_SIGNING assert authorize(Proposal(vault-A, 101, 7, 200), 100, 7) REJECT:amount assert authorize(Proposal(vault-A, 50, 6, 99), 100, 7) REJECT:nonce,expiry assert authorize(Proposal(other, 50, 7, 200), 100, 7) REJECT:target print(4 policy cases passed; no signing or network call)保存为policy.py运行python3 policy.py。这里的 nonce 只是策略输入真实系统必须由持久化状态及链上账户状态共同管理不能在并发请求中分别检查后再各自放行。签名者还应把策略版本、链标识、目标、金额和有效期绑定到同一份请求避免校验后内容被替换。什么时候不能继续自动化拿不到固定区块的数据就不能把两次读取拼成一份“快照”旧提案对应的代码或授权策略变了就需要重新审批发送结果不明就进入待核对队列。自动化最危险的地方往往不是拒绝太多而是用成功状态掩盖不知道。示例已做离线分支验证只覆盖四项策略判断。真实模型推理、密钥保存、密码学签名、RPC 广播、链重组和资产结算均未接入或测试不能据此推断生产安全性或性能。链上 Agent 的自主程度可以逐步提高但执行权和结果证据要始终能够被人追问。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑