给 Seaman 的技术说明

为什么 ShiGraph 不是"后面再加"的功能模块

核心问题:没有 ShiGraph,四权力配置就是静态的死规则;有了 ShiGraph,它才是随资产生长动态调整的活机制
📢 重要更新(2026-04-09):

我们不需要独立的区块链网络。ECHO 的分布式校验算法 + ShiGraph 事件流已经能保证一致性。
区块链仅作为可选插件(跨链桥、外部验证),不是核心架构。
一、没有 ShiGraph 会发生什么

场景模拟:创作者反悔问题

背景

Alice 创建 Skill「智能写诗助手」,初始配置:衍=2(允许自由衍生)

6个月后,该 Skill 被 1000 人使用,衍生出 50 个新 Skill,形成小型生态

Alice 看到收益不错,想把衍改为 0(禁止衍生,独享收益)

❌ 没有 ShiGraph

系统行为: 允许修改,衍=0 立即生效

后果:

  • 50 个衍生 Skill 立即"断根"
  • 衍生创作者前期投入血本无归
  • 后续无人敢基于他人 Skill 创作
  • 生态系统信任崩塌

✅ 有 ShiGraph

系统行为: 检测到生态依赖,拒绝修改

机制:

  • ShiGraph 计算:时间=2, 空间=2, 关系=3
  • 映射状态:咸卦·大成期
  • 查询约束:大成期衍≥3,当前衍=2 已低于最低要求
  • 系统拒绝:不能关闭衍生,只能调高衍生费比例
关键区别:没有 ShiGraph,系统不知道"这个资产已经长成了生态";有 ShiGraph,系统能基于客观使用数据做出约束判断。

二、范式差异:所有权 vs 使用权

你可能是"区块链思维",但 ECHO 是"使用权思维"

核心差异:区块链解决"谁拥有",ECHO 解决"谁在使用、如何使用、使用创造了什么价值"。

两种经济范式对比

维度 所有权经济(区块链) 使用权经济(ECHO)
核心问题 谁拥有这个资产? 谁在使用、使用频率、使用创造了什么?
资产状态 静态(铸造后不变) 动态(随使用演化)
价值来源 稀缺性、炒作、主观定价 使用历史、生态贡献、客观浮现
数据结构 默克尔树(记录所有权变更) ShiGraph(记录使用轨迹)
关键机制 转账、拍卖、质押 使用授权、衍生、扩展、收益分配

具体场景对比

场景:一首音乐作品

所有权经济(NFT):

  • Alice 铸造 NFT,拥有所有权
  • NFT 可以转卖给 Bob,Bob 成为新所有者
  • 价值取决于买家愿意付多少钱(炒作/稀缺性)
  • 无论被播放 100 次还是 100 万次,NFT 本身不变

使用权经济(ECHO):

  • Alice 铸造 Skill,配置四权力(衍=2,扩=1,益=100)
  • 被播放 1000 次 → ShiGraph 计算进入"成长期"
  • 衍生出 20 个混音版本 → 进入"大成期"
  • 大成期强制要求衍≥3,不能关闭衍生(保护生态)
  • 价值基于真实使用历史自动计算,非主观定价

为什么 ShiGraph 是用权经济的必需?

没有 ShiGraph:

有 ShiGraph:

关键洞察:ShiGraph 不是"功能增强",是范式转换的基础设施。没有它,ECHO 只是另一个 NFT 平台。

一句话给技术团队

区块链思维:"记录谁拥有什么,确保不能双花。"

使用权思维:"记录谁使用了什么、使用创造了什么价值、价值如何分配。"

ShiGraph 是后者必需的数据结构。

三、技术层面的必要性

回应你的四个具体疑虑

疑虑 1:"推荐算法是上层应用,可以先不做"

澄清: ShiGraph 不是推荐算法,是状态索引系统

组件 功能 是否必需 可延后
ShiGraph 核心 从事件流计算资产状态 ✅ 必需 ❌ 否
约束引擎 根据状态限制配置修改 ✅ 必需 ❌ 否
推荐算法 基于状态匹配 Skill 🟡 重要 ✅ 可以
Agent 编排 自动组合 Skill 🟡 重要 ✅ 可以

没有 ShiGraph 核心,四权力配置就是JSON 文件,想改就改,没有任何约束力。

疑虑 2:"解耦设计,ShiGraph 可以独立"

澄清: ShiGraph 可以和沙箱代码解耦,但必须在逻辑上紧密耦合

// 沙箱执行时的校验流程(必须调用 ShiGraph)
function execute_skill(request):
    // 1. 读取创作者配置(你已实现)
    blueprint = load_blueprint(request.asset_id)
    
    // 2. 【新增】查询资产当前状态(ShiGraph)
    state = shigraph.get_state(request.asset_id)
    // 返回: {coordinate: [2,2,3], stage: "MATURE", constraints: {...}}
    
    // 3. 【新增】检查配置是否违反状态约束
    if blueprint.derivative < state.constraints.min_derivative:
        return ERROR("当前状态下,衍生权不能低于 %d", state.constraints.min_derivative)
    
    // 4. 执行 Skill(你已实现)
    result = sandbox.execute(blueprint, request)
    
    // 5. 【新增】记录使用事件(用于 ShiGraph 计算)
    event_store.append(UsageEvent(request.asset_id, request.user_id, timestamp))
    
    return result

ShiGraph 是沙箱执行的必要依赖,不是独立服务。

疑虑 3:"编排是应用层,系统层可不优先设计"

在传统互联网,发现和编排确实是应用层。但在 Agent 时代,发现就是经济

Agent 选择用哪个 Skill,直接决定创作者收入。这不是"搜索功能",是价值分配机制

为什么发现是经济基础?

传统平台:

  • 用户搜索 → 平台推荐 → 使用 Skill
  • 推荐算法是平台控制的黑盒
  • 创作者无法影响被发现的机会

ECHO + ShiGraph:

  • Agent 查询 ShiGraph → 获取资产生命状态
  • 基于状态匹配(而非平台算法)
  • 创作者通过使用历史提升"可发现性"
  • 发现 = 价值分配 = 经济核心
ShiGraph 让发现不只是"搜索",而是"基于生命状态的匹配"——这是经济基础,不是上层建筑。

疑虑 4:"区块链能简化"

澄清: 我们不需要独立的区块链

架构简化:从"三套网络"到"一套核心"
❌ 原方案(三套网络)
区块链(权属存证)+ ECHO 网络(执行)+ Agent 网络(编排)
问题:复杂、低效、区块链成为瓶颈
✅ 新方案(ECHO 核心 + 可选插件)
ECHO 网络 沙箱执行 事件流 ShiGraph 状态 分布式共识

区块链(可选:跨链桥) 外部验证(可选)
优势:简洁、高效、自足
特性 区块链(PoW/PoS) ECHO 共识(我们的设计)
解决什么问题 双花、拜占庭容错、全网一致性 事件流顺序、状态计算一致性
节点数量 成千上万 ECHO 网络节点(可控)
延迟 分钟级 秒级/毫秒级
成本 Gas 费 无额外成本
不可篡改 密码学保证 事件流追加 + 哈希链

ShiGraph 的事件流 + ECHO 分布式校验 = 自带一致性,不需要区块链。


四、融合方案:解耦但耦合

如何结合你的沙箱设计

你的沙箱已经实现:

需要新增:

沙箱(你已做) ShiGraph(需新增) 区块链(可选) │ │ │ │ 产生使用事件 │ │ │──────────────>│ 1. 写入事件流 │ │ │ 2. 计算状态坐标 │ │ │ 3. 检查约束规则 │ │ │ │ │ 查询状态约束 <────────│ │ │────────────────>│ │ │ │ │ │ 允许/拒绝修改 │ 可选:锚定根哈希 │ │────────────────>│───────────────────────>│(非必需)

具体分工

功能 Seaman(沙箱) ShiGraph 区块链(可选)
执行 Skill ✅ 负责 ❌ 不参与 ❌ 不参与
权限校验(静态) ✅ 负责 ❌ 不参与 ❌ 不参与
约束检查(动态) 🟡 调用接口 ✅ 负责计算 ❌ 不参与
状态计算 ❌ 不参与 ✅ 负责 ❌ 不参与
一致性保证 ❌ 不参与 ✅ 事件流+共识 🟡 可选锚定
跨链互通 ❌ 不参与 ❌ 不参与 ✅ 需要时使用
你的沙箱是"执行引擎",ShiGraph 是"状态大脑",区块链是"可选外挂"。ShiGraph + ECHO 共识 = 自足系统。

五、MVP 实现路径

不用一次做完,但架构必须预留

阶段 1:MVP(1-2 周)

// 极简版 ShiGraph:只算时间维度
class SimpleShiGraph:
    def get_state(self, asset_id):
        // 只查 Redis 计数器
        usage_7d = redis.get(f"usage:7d:{asset_id}")
        
        if usage_7d < 10:
            return {"stage": "SEED", "constraints": {"min_derivative": 0}}
        elif usage_7d < 100:
            return {"stage": "SPROUT", "constraints": {"min_derivative": 1}}
        else:
            return {"stage": "GROWTH", "constraints": {"min_derivative": 2}}
    
    def record_usage(self, asset_id):
        // 使用事件只增加计数器
        redis.incr(f"usage:7d:{asset_id}")
        redis.expire(f"usage:7d:{asset_id}", 7_days)

// 沙箱接入(修改 5 行代码)
def execute_skill(request):
    blueprint = load_blueprint(request.asset_id)
    
    // 新增:检查约束
    state = shigraph.get_state(request.asset_id)
    if blueprint.derivative < state.constraints.min_derivative:
        return ERROR("衍生权配置低于当前状态要求")
    
    result = sandbox.execute(blueprint, request)
    
    // 新增:记录使用
    shigraph.record_usage(request.asset_id)
    
    return result

工作量: 约 1-2 周,新增代码 < 500 行。

阶段 2:完整版(1-2 月)

阶段 3:扩展版(按需)


六、回答你的根本疑虑

"我们到底要解决什么核心问题?"

核心问题:如何让数字资产像生命体一样生长,而不是像文件一样静止?

沙箱解决"能不能用",ShiGraph 解决"该不该这样用",ECHO 共识解决"如何保证一致性"。

没有 ShiGraph 的 ECHO:

有 ShiGraph 的 ECHO:

效率不是目的,是约束条件。ShiGraph 的分层架构(缓存+数据库+共识)正是为了在满足效率的前提下,实现生命体的动态性。

七、结论

架构共识:一套核心,无区块链

最终架构决策:

ECHO 网络 = 沙箱执行 + 事件流 + ShiGraph 状态 + 分布式共识
区块链仅作为可选插件,用于跨链场景

ShiGraph 不是"要不要",而是"什么时候做"。

你的担忧合理:

你担心的问题:
"ShiGraph 太复杂,影响效率,可以先不做,后面加。"

实际情况:

ShiGraph 的复杂度是可控的:
• MVP 版:1-2 周,500 行代码
• 完整版:1-2 月,和沙箱并行开发
• 性能:Redis 缓存,毫秒级查询
• 可解耦:通过接口调用,不影响沙箱核心逻辑
不需要区块链:ECHO 自带共识

建议的妥协方案:

  1. 你先实现沙箱核心(执行、计量、ACL)
  2. 我在沙箱预留 ShiGraph 接口(5 行代码)
  3. MVP 先跑起来,验证核心循环
  4. V1.1 引入简单版 ShiGraph(一维状态)
  5. V1.5 引入完整版 ShiGraph(三维状态)
  6. 区块链仅在需要跨链时引入
技术上,ShiGraph 和沙箱可以解耦;
经济上,它们必须耦合。

没有 ShiGraph,四权力就是死规则;
有了 ShiGraph,ECHO 才是活系统。

不需要区块链,ECHO 自己就是完整的经济系统。