aeroponic coffee/carbon accounting/method + business design note

碳方法学与商业设计 气雾咖啡

CoffeeJeV / Napell Agent — 从计量遥测到可核证碳足迹、碳标签与积分机制

本页把底层 8 台设备的遥测,折成三件可交付物:每批次的碳足迹(ISO 14067 / PAS 2050 口径,cradle-to-gate)、一张可验证的碳标签、以及只在本生态内流通的积分。 功能单位、因子、算例、标签字段全部写死到可复算的精度;凡属设计假设者一律标注 假设,凡属推导者标注 算术,凡需外部确认者标注 待核证 或 待法务确认。

FU1 plantlet · 45 d boundarycradle-to-gate GWP100IPCC AR6 grid6 段小时边际因子 statusdesign / not verified
声明碳足迹
0.200kgCO2e/株
计算值 0.1943,向上取整至 0.01
对基线 0.42 的减排
52.4%
按声明值;按计算值为 53.7%
一次数据占比
65.5%
电耗 + 氮肥用量 / 全部分项
单批(480 株)
96.0kgCO2e
计算小计 93.28
年避免量 @24 万株
52.8tCO2e
240,000 × 0.22 / 1000
积分单价(隐含)
¥90/t 避免量
1 点 = 1 kgCO2e = ¥0.10
电耗
0.28kWh/株
≈ 259 mW 平均分摊
核证状态
—
第三方未签约,标签不可对外发布
计算与核证是两个主体。CoffeeJeV 产生数据并计算;标签的签发与撤销权在 零碳核云(设立中 · 未获认可)。 本页的因子与方法为计算口径,不等于核证结论。
01 / WHY NOW

计量出来的碳数可以审,表格里的碳数是猜的

metered primary data vs. spreadsheet estimate — the only durable difference

欧盟及主要买家的产品碳足迹要求,指向的是同一条工程约束:优先使用特定现场的一次数据(site-specific primary data),并披露二次数据占比。ISO 14067 与 PAS 2050 都不禁止估算,但要求把估算和实测分开记账、分开披露。绝大多数农产品的碳标签之所以无法通过深度核证,不是因为算错了,而是因为分母(产量)和分子(能耗)都来自事后汇总的表格,既没有时间戳,也无法证明没有被修改过。这是构造成本问题,不是态度问题:没有计量装置,一次数据在结构上就拿不到。

我们的机队恰好在两个最重的分项上有计量级来源。power-meter-PuEr-01 每 60 s 报 power_kw / kwh_total / tariff,是带累计寄存器的真实电能增量,而不是"功率 × 时长"的推算;fog-ctrl-A3 报 ec / ph / do / water_temp 与 fog_duty,配合加肥泵的配方记录,可以把氮投入量从"按采购单摊"变成"按实际配液批次累加"。这两项合起来占本页算例中一次数据占比 65.5%(0.1273 / 0.1943)。剩下 34.5% 是包装、外运、硬件摊销这类上游二次数据,行业里通常靠供应商因子表,属于可替换项,不构成结构性缺陷。

时间戳是第二层。碳排放的时间分辨率决定了因子该用哪一个:同一度电在 00–06 时段(0.31 kgCO2e/kWh)与 17–21 时段(0.58)之间差 87%。用年度平均因子算出来的数,会让"把补光与雾化移到夜间低谷"这类真实减排动作完全消失在账上——既奖励不了正确的行为,也识别不出错误的配置。本页的引擎按六段小时边际因子对每个计量区间逐段加权(见 §3),所以灯谱、轮作、峰谷电价策略的改动会直接反映到标签数字上。

第三层是哈希链。每个批次的碳账本在封账时对"区间清单 + 计量摘要 + 配方记录 + 产量"做规范化 JSON 的 SHA-256,并把上一批次的哈希写进本批次(prev_hash),形成只可追加、不可回改的批次链。核证方拿到的不是一份 PDF,而是可以独立重算的输入集:他能自己把 134.4 kWh 乘上因子表,得到 57.232,再看我们的 57.232 是否一致。能被别人重算,才叫可审计;其余的所谓"碳管理平台",本质是把不可验证的估算换成不可验证的仪表盘。

path a · spreadsheet carbon

表格里的碳数 不可审

  • 分子:月度电费单 ÷ 出苗数,平均因子,时间分辨率 = 1 个月
  • 分母:出库单汇总,批次口径靠人工对账
  • 可追溯性:无原始序列;改了单元格无人知晓
  • 核证成本:核证方只能抽样访谈,结论只能是"合理保证"
  • 结果:一次数据占比 ≈ 0,标签在欧盟买方尽调中很难被采信
path b · metered carbon

计量出来的碳数 可复算

  • 分子:kwh_total 累计寄存器逐区间差分,60 s 粒度
  • 分母:批次 ID 绑定株数与封账时点,T+0 生成
  • 可追溯性:原始区间序列 + sha256 摘要 + prev_hash 链
  • 核证成本:核证方重算而非访谈,工作量从"查账"降为"跑一遍公式"
  • 结果:一次数据占比 65.5%,可对外披露二次数据占比,符合 14067 披露要求

所以"现在"不是指市场窗口,而是指数据条件刚刚成立:同一套遥测已经同时喂给闭环控制与碳账本,边际成本接近于零。如果先做标签再补计量,就要重建数据链路;而按现在的顺序——控制层 → 遥测 → 批次账本 → 标签与积分——每一层都复用下一层的输入。这也是本页唯一一个真正的差异化论点,其余部分(因子、标签、积分)都是可被同行复制的工程细节。

02 / BOUNDARY & FUNCTIONAL UNIT

边界与功能单位:纳入了什么,以及每一项排除的理由

cradle-to-gate · ISO 14067 / PAS 2050 aligned · GHG Protocol scopes

系统边界为 cradle-to-gate:从上游投入品生产、育苗车间运行,到苗出厂交付(门到门含外运)为止,不含种植端成株阶段、不含消费者使用、不含最终处置。 Scope 1 / 2 / 3 按 GHG Protocol 划分;排除项一律给出可审计的排除理由,而不是"暂不计入"。

2.1 功能单位与参考流 functional unit

项定义声明精度数值备注
FU 11 株苗(plantlet),交付时点约 45 天,含育苗全周期0.0010.200 kgCO2e/株主功能单位;标注与积分均以此为准
FU 21 kg 绿果(green bean),农场门口0.01待建立后期阶段;保留接口字段 declared_unit 枚举,本页不给数值
参考流单批 480 株(CJV-B-2026-0417)0.0196.00 kgCO2e标签与账本的最小封账单元
时间2026-09-19 → 2026-11-03(45 d)—45 d以本地时区(UTC+8)切分小时段
地理云南普洱,以水电为主的省级电网—YN grid因子表随区域切换,见 §3.1
GWPIPCC AR6,GWP100—AR6标签必须写明版本;与 AR5 结果不可直接比较

FU 2 之所以暂不给数:成株阶段的计量基线尚未建立(无电表、无土壤/基质投入记录)。在缺乏一次数据的阶段直接给数,等于把本文档最核心的论点自己推翻。接口与字段先留,数值等基线。

2.2 纳入 / 排除清单 scope inventory

项目Scope纳入计量来源 / 因子理由
已纳入 · INCLUDED
外购电力(雾化泵、LED、除湿、网关、控制柜)Scope 2纳入power-meter-PuEr-01 的 kwh_total 逐区间差分 × 六段 MEF占总量 61.4%,计量级一次数据,是全部论点的地基
氮肥(营养盐)Scope 3 · cat 1纳入加肥泵配液记录累加 N 质量 × 13.5 kgCO2e/kg N占 4.2%;硝酸盐生产的能耗与 N2O 前体,是雾培唯一显著的农资投入
包装(苗盘、护根、外箱)Scope 3 · cat 5纳入0.012 kgCO2e/株 × 实际出库套数占 6.2%;可回收周转箱方案实施后应下降,需按实际采购单更新
外运(出厂到客户)Scope 3 · cat 4纳入0.020 kgCO2e/株(常温干线,吨公里法)占 10.3%;若改冷链需 ×1.6 待核证,现方案为常温
嵌入式硬件摊销(8 台设备)Scope 3 · cat 2纳入整机上游制造排放 ÷ 4 年 ÷ 年出苗量,折 0.035 kgCO2e/株占 18.0%;专用资产可归属到批次,若不摊则硬件投入在账上"免费",属系统性低估
排除 · EXCLUDED(含理由)
育苗基质(泥炭/椰糠)Scope 3排除—气雾栽培不使用基质,物理上不存在该排放源。注意:该差异会体现在基线而非本项目,见 §6.3
Scope 1(备用柴油发电机、制冷剂补充)Scope 1未量化维保记录(尚未结构化)无常规燃烧源;制冷剂年补充 <0.5 kg/室,分摊 <0.5%,低于 1% 截断阈值。按 14067 需在报告中列为截断项
自来水 / RO 供水Scope 3 · cat 1排除—供水与 RO 能耗 <1% 总量,按截断规则排除;已计入敏感性分析上界(+0.004)
厂房与土建(资本货物)Scope 3 · cat 2排除—共享资产,无法按批次归属;与硬件设备的区别在于可归属性,不在排量大小。属方法学选择,已披露
土地利用变化(LUC)Scope 3排除—育苗场地为既有农业用地,无 LUC 发生;若扩产占用林地须重新评估。基线侧泥炭开采的 LUC 不在此边界内,见 §6
生物源 CO2(植株光合吸收)—排除—按 ISO 14067,生物源碳的吸收与短期储存不计入产品碳足迹,也不得用于冲抵。苗不是碳汇,不得如此宣传
员工通勤 / 办公 / 差旅Scope 3排除—<1% 且与产品无物理关联,按截断规则排除;不得在营销材料中据此声称"边界完整"

截断规则:单项 < 总量 1% 且累计 < 5% 的排放源可排除(PAS 2050 惯例)。本页排除项累计约 1.5%,其中 Scope 1 未量化为数据缺口而非截断判断,须在核证前补维保台账。

2.3 边界图 inputs → aeroponic floor → outputs & emissions

UPSTREAM INPUTS FOREGROUND · 45 d OUTPUTS / EMISSIONS 外购电力 61.4% s2 · 0.28 kWh/株 · 0.1192 营养盐 4.2% s3 · 0.6 g N · 13.5/kgN 供水 + RO excluded <1% 截断阈值 育苗塞 / 基质 excluded 雾培无基质 包装 6.2% s3 · 采购单 · 0.0120 外运 10.3% s3 · 常温干线 · 0.0200 硬件摊销 18.0% s3 · 8 dev / 4 yr · 0.0350 气雾育苗车间 batch 480 plantlets · 45 d · fog floor 雾化控制回路 fog-ctrl-A3 · duty 根区化学 ec ph do water_temp 冠层 VPD climate-PuEr-01 边缘视觉 root-cam / tray-scan 电能计量 power_kw · kwh_total 微生物 / 生物安全 micro-lab-01 · CFU 批次账本 · batch ledger interval manifest · 43,200 × 60 s 区间 MEF lookup → 6 bands · Σ(kWh × MEF) line items · electricity N pack trans hw allocation · per-unit = total / 480 digest · sha256(canonical json) chain · prev_hash → this.hash declared · ceil(computed, 0.01) 注意:账本只追加,不覆盖 苗 1 株 · FU 1 0.200 kgCO2e / plantlet 绿果 1 kg · FU 2 later stage · 待建立基线 排液 / 废水 循环回用 · 排放未计入 报废苗 / 损耗 反算入分母,不放分子 硬件退役 4 yr 摊销外 · 回收未计 声明排放(本批) 96.00 kgCO2e / 480 株 = 0.200 × 480(向上取整) scope 2 · 电力 61.4% scope 3 · 上游 38.6% scope 1 · 未量化 <0.5% 虚线 = 排除项(含理由,见 2.2) boundary: cradle-to-gate · 不含成株阶段 / 使用 / 最终处置 比例口径:单株 0.200 kgCO2e 的分项占比(包装 6.2% + 外运 10.3% + 硬件 18.0% = 34.5% 二次数据)

图中比例与 §3.2 算例逐项对应。注意边界的方向:气雾栽培排除基质,是"我们的分子里没有基质";常规土壤育苗的基线里有基质(多为泥炭),这一项在基线侧计入,见 §6 关于基线自声明的风险。

03 / METHOD
与线上引擎的对照:本页的演算样例是 CJV-B-2026-0417(134.4 kWh,均值 0.4258)。 实际运行的引擎对批次 AP-0712 算出 0.1951 kgCO₂e/株(-53.5%,B 级), 差异只来自电力均值口径与是否保留向上取整。两者都可复算 —— 以线上标签的哈希为准。

算法与因子:公式链、单批算例、小时曲线与不确定度

formula chain → worked example (480 plantlets) → hourly MEF → uncertainty

全部数值可复算:给定因子表和计量序列,任何第三方都应能算出一模一样的 57.232、3.888、96.00。这也是本方法学能被核证的唯一理由。

3.1 公式链 engine formula chain

# 1) 电网排放:逐区间加权,不用年度平均因子 E_grid,b = Σ ( ΔkWht × MEFt ) , ΔkWht = kwh_totalt − kwh_totalt−1 MEFt = band( local_hour(t) ) → { 00–06: 0.31 | 06–09: 0.38 | 09–12: 0.44 | 12–17: 0.47 | 17–21: 0.58 | 21–24: 0.41 } # 2) 其余分项:活动数据 × 因子 E_N = m_N × 13.5 // kg N × kgCO2e/kg N E_pack = n_out × 0.012 // 出库套数 E_trans= n_out × 0.020 // 常温干线;冷链 ×1.6 E_hw = A_hw × 8 dev / 4 yr / Q_year // 专用资产按年出苗量摊 E_computed = E_grid + E_N + E_pack + E_trans + E_hw E_unit = E_computed / n_batch E_declared = ceil(E_unit, 0.01) // 向上取整 = 保守方向 # 3) 避免量 → 积分 A_unit = 0.42 − E_declared // 基线 0.42(区间 0.34–0.52) P_batch = A_unit × n_batch × mult(grade) // 1 point = 1 kgCO2e avoided mult = { A: 1.0, B: 0.9, C: 0.8 } // 数据质量等级 Value = P × ¥0.10 // 仅可兑硬件/SaaS

取整方向是刻意的:向上取整使声明值永远不低于计算值,代价是 0.0057 kgCO2e/株(2.9%)的保守偏差。审计上"偏保守"可接受,"偏乐观"不可接受。

3.2 单批算例:480 株 / 45 天 CJV-B-2026-0417

分项活动数据因子算式kgCO2e(批)kgCO2e(株)
外购电力 S2134.4 kWh0.4258134.4 × 0.425857.2320.11923
氮肥(营养盐) S30.288 kg N13.50.288 × 13.53.8880.00810
育苗基质0—雾培无基质0.0000.00000
包装 S3480 套0.012/株480 × 0.0125.7600.01200
外运 S3480 株0.020/株480 × 0.0209.6000.02000
硬件摊销 S3480 株 · 4 yr0.035/株480 × 0.03516.8000.03500
计算小计 computed_total93.2800.19433
向上取整至 0.01(保守余量,非独立排放源)+2.720+0.00567
声明合计 declared_total96.000.20000

校验:57.232 + 3.888 + 5.760 + 9.600 + 16.800 = 93.280;93.280 / 480 = 0.194333;ceil(0.194333, 0.01) = 0.20;0.20 × 480 = 96.00。 电耗因子 0.4258 为六段曲线的时间加权均值 10.22 / 24 = 0.425833,前提是负荷在 24 h 内均衡(见 §3.3 灵敏度)。

derived · 自洽性检查

0.28 kWh/株 意味着多大的功率

单株日均
0.28 / 45 = 6.222 Wh/d → 259 mW 平均分摊
单批功率
134,400 Wh / 1,080 h = 124.4 W
24 万株/年
240,000 × 0.28 = 67,200 kWh/年
等效平均负荷
67,200 / 8,760 = 7.67 kW(车间级)
在制库存
657.5 株/d × 45 d ≈ 29,600 株 → 62 批并行
一致性
29,600 × 259 mW ≈ 7.67 kW,与电表口径吻合

这组数不构成性能证明,只用于检查 0.28 kWh 是否与"500 批次/年、每批 480 株"的产线规模自相矛盾。若不吻合,先改活动数据,再谈因子。

sensitivity · 负荷时移

把负荷挪到 00–06 段能省多少

六段因子的用途不是"算得更精细",而是让时移可被计价。若补光与雾化全部压到 00–06 段(0.31): 0.28 × 0.31 = 0.0868,电耗排放从 0.1192 降到 0.0868(−27.2%),单株总量 0.1943 → 0.1618,声明值 0.17,对基线减排 59.5%。

反向:若负荷集中在 17–21 段(0.58),单株电耗排放 0.1624,总量 0.2375,减排跌到 43.5%。同一套硬件、同一个产量,标签数字差 17 个百分点——这就是为什么要用小时因子而不是年度均值。

3.3 电网小时边际因子曲线 Yunnan-like hydro-heavy grid · kgCO2e/kWh

0.30 0.40 0.50 0.60 加权平均 0.426 0.31 0.38 0.44 0.47 0.58 0.41 00–06 06–09 09–12 12–17 17–21 21–24 晚峰 · 全时段最高 local hour (UTC+8) 时间加权均值 = (6×0.31 + 3×0.38 + 3×0.44 + 5×0.47 + 4×0.58 + 3×0.41) / 24 = 10.22 / 24 = 0.425833 用于本页算例 0.4258;引擎实际按区间查表,负荷非均衡时结果与均值不同(见 §3.3 灵敏度)

因子为设计假设(水电为主的省级电网量级),不是官方发布值 待核证。切换区域时只换这张表,公式与标签结构不变;但标签必须记录所用因子版本,否则跨期不可比。

3.4 不确定度:什么是 ± 什么 uncertainty statement

分项中心值不确定度来源与性质对单株的贡献
外购电力0.1192±15%电表 class 1(±1.5%)可忽略;主导项是边际因子本身的定义性不确定±0.0179
氮肥0.0081±20%因子 13.5 ±2.7(硝酸铵路线差异);用量由配液记录,误差小±0.0016
包装0.0120±25%供应商因子未取得,按行业均值;材质变更即失效±0.0030
外运0.0200±30%未按实际承运单计;回程装载率与冷链开关影响最大±0.0060
硬件摊销0.0350±40%寿命 4–6 年与 PEF 数据集选择均未定;对总影响显著±0.0140
合成(平方和开根,五项独立)0.1943±12%电耗主导,见下式±0.0237
声明值 0.200 的不确定度0.200±0.024≈ ±12%,达到可对外披露的量级 核证方门槛待确认±0.0237

合成算式:u = √(0.0179² + 0.0016² + 0.0030² + 0.0060² + 0.0140²) = √0.0005636 = 0.02374;相对声明值 0.0237 / 0.200 = ±11.9%。 五项相互独立的前提并不严格(电耗与氮肥投入同受配方影响),故该值偏乐观,工程上应按 ±15% 取用。

the dominant term · 真正的不确定度在这

基线的不确定度是产品排放的 4 倍

基线 0.42(区间 0.34–0.52,±0.09)是自声明的。合成到"避免量"上: √(0.0237² + 0.09²) = 0.0931,即 A = 0.22 ± 0.093 kgCO2e/株(±42%)。 传导到减排率:30%–75%;若只看基线区间、把实际值固定在 0.20,则为 41%–62%。

所以"52%"这个数里,真正脆弱的不是我们的 0.200,而是分母 0.42。任何对外声明都必须写成"相对本方法学定义的常规土壤育苗基线",而不是"比传统方式少一半"。

precision vs accuracy

我们把精度花在了不重要的地方

计量到 60 s、因子分 6 段、声明到 0.001,这些提升的是精度(可复算、可比较、可审计);而总结果受限于基线假设,提升不了准确度(离真值多远)。

这在方法学上是可接受的取舍,但必须在对外材料里说清:精确的账 + 粗糙的基线 = 一个精确的相对比较,不是一个绝对真值。内部控制上,基线区间单独维护、单独版本化,与标签哈希分开签名。

04 / CARBON LABEL

碳标签:字段、样张、JSON 结构,以及任何人如何验证它

label schema · printed mock · signed record · public verification

标签的设计目标只有一个:拿到标签 ID 和哈希,一个外部人可以不依赖我们,独立重算出同一个数。所以必需字段里没有任何一项是"装饰性"的——少一项,验证链就断。

4.1 必需字段 required fields

字段示例为什么必须有
label_idCJV-CN-YN-2026-000417对外唯一标识;解析规则 站-国-省-年-序号,可离线校验格式合法性
batch_idCJV-B-2026-0417回到批次账本;一个标签对应且仅对应一个封账批次
declared_unitplantlet功能单位枚举:plantlet / kg_green_bean。否则 0.200 是在说什么都不知道
kgco2e_per_unit0.200声明值本身,向上取整后的口径
breakdown{electricity:0.1192, …}分项可加性校验:外部人能求和、能定位差异
boundarycradle-to-gate边界不同不可比;必须与 §2.2 清单同版本
gwp_versionIPCC AR6 · GWP100AR5/AR6 结果不可直接比;不写版本等于不可比
data_quality_gradeA决定积分乘数(1.0/0.9/0.8),也是买方可信的代理指标
verification{status, body, date}核证状态必须显式:self / third_party。未核证不得印 VERIFIED
hashsha256:9d2f…4b71防篡改;覆盖以上全部字段的规范化 JSON
prev_hashsha256:5c71…2938形成批次链;删除或改写任一批次都会断链
primary_data_share0.65514067 要求披露;也是本方法学的核心卖点

4.2 标签样张 printed mock · 实物尺寸 80 × 100 mm 比例

CoffeeJeV · Napell
产品碳足迹 / Product carbon footprint
LABEL
CJV-CN-YN-2026-000417
0.200 kgCO2e / 株 −52% vs baseline
气雾育苗苗 · 45 天 · cradle-to-gate · 批次 CJV-B-2026-0417(480 株)
电力 0.1192 氮肥 0.0081 包装 0.0120 外运 0.0200 硬件 0.0350 取整 0.0057
BOUNDARY cradle-to-gate · GWP100 AR6
DATA QUALITY GRADE A · PRIMARY 65.5%
METHOD ISO 14067 / PAS 2050
ISSUED 2026-11-03 · VALID 24 mo
VERIFICATION THIRD PARTY · PENDING
sha256:9d2f4c1b7e0a5f836c2b0d94ae17f5c30b8e6d2a4f9c1e7b5a3d8f06c29e4b71
verify by id
本标签声明的是产品碳足迹(产品层面的排放量),不是碳信用、不是碳抵消、不可交易。数值相对本方法学定义的常规土壤育苗基线 0.42 kgCO2e/株(0.34–0.52)计算,代表与基线的相对差,不代表任何绝对环境主张。
how to read it

样张上每一处印刷的用意

  • 大字 0.200 + 单位 — 唯一主张,不与任何别的数字争版面
  • −52% vs baseline — 必须带 "vs baseline" 限定词,单独一个 −52% 属不实表述
  • 分项条 — 让买方一眼看出"电是大头",从而知道减碳杠杆在哪
  • 取整项单列 — 不把 0.0057 藏进任何分项,保证分项之和 = 声明值
  • PRIMARY 65.5% — 主动披露二次数据占比,反而提升可信度
  • VERIFICATION PENDING — 核证未完成时印 PENDING,绝不打勾
  • 完整哈希 — 印全 64 位而非缩略,避免"缩略哈希碰撞"的质疑
  • 底部免责 — 明确非碳信用;这是合规底线,不是修辞
physical spec

印刷与耐久

尺寸
80 × 100 mm,贴于苗盘侧面
材质
可回收 PP 合成纸(耐湿,雾区 RH 95%+)
QR
≥ 15 × 15 mm,静区 4 模块,ECC level M
码内容
/v/<label_id>#<hash12>,不含个人数据
寿命
与标签有效期一致(24 个月),到期须重签
可变数据
每批一版,不干胶按批打印,禁止手写涂改

4.3 标签记录(JSON) signed label record

GET /api/carbon/label/{id} → 200signed record · 1 of 480 units
{
  "label_id": "CJV-CN-YN-2026-000417",
  "version": 1,
  "batch_id": "CJV-B-2026-0417",
  "declared_unit": "plantlet",
  "quantity": 480,
  "kgco2e_per_unit": 0.200,
  "kgco2e_total": 96.00,
  "breakdown": {
    "electricity": 0.11923,
    "nutrient_n": 0.00810,
    "substrate": 0.00000,
    "packaging": 0.01200,
    "transport_outbound": 0.02000,
    "hardware_amortised": 0.03500,
    "rounding_reserve": 0.00567
  },
  "computed_per_unit": 0.19433,
  "boundary": "cradle-to-gate",
  "gwp_version": "IPCC AR6 · GWP100",
  "method": ["ISO 14067", "PAS 2050"],
  "data_quality_grade": "A",
  "primary_data_share": 0.655,
  "activity": { "kwh": 134.4, "n_kg": 0.288, "units": 480, "days": 45 },
  "factors": { "mef_bands": [0.31,0.38,0.44,0.47,0.58,0.41], "mef_applied": 0.425833,
                 "ef_n": 13.5, "ef_pack": 0.012, "ef_trans": 0.020, "ef_hw": 0.035 },
  "verification": { "status": "pending", "body": null, "date": null },
  "inputs_digest": {
    "power_intervals": "sha256:1c07…e9a2",
    "nutrient_lots": "sha256:44b1…7d03",
    "transport_docs": "sha256:9f52…0c6b"
  },
  "prev_hash": "sha256:5c71a0e3d8b46f92a1c07e5b3d84f9026e1a7c4d0b93f8e25a6d1c0b7f4e2938",
  "hash": "sha256:9d2f4c1b7e0a5f836c2b0d94ae17f5c30b8e6d2a4f9c1e7b5a3d8f06c29e4b71",
  "issued_at": "2026-11-03T09:12:44+08:00",
  "valid_until": "2028-11-02T23:59:59+08:00"
}

hash 的覆盖范围:除 hash 字段自身外全部字段(含 verification、factors、inputs_digest),按 JSON.stringify 的键序规范化(字典序、无空白、数字不补零)后取 SHA-256。规范化算法必须公开,否则同一份数据会算出不同哈希。

4.4 验证流程:从 ID + 哈希到重算 public verification

verifier path · 任何人

五步,不需要我们的账号

  1. 扫码或输入 ID → 拿到标签记录。QR 内容只含 label_id + 哈希前 12 位,不含任何个人信息。
  2. 重算哈希 → 按公开的规范化规则对记录重算 SHA-256,与 hash 逐字节比对。不一致 = 页面或记录被改过。
  3. 重算排放 → 用记录里的 activity × factors:134.4 × 0.425833 = 57.232,再逐项求和得 93.280,ceil → 0.200。任一步不符即在页面标红。
  4. 校验链 → 用 prev_hash 回溯上一批次,直到链首(可离线校验,不需要全量数据)。断链即失效。
  5. 验证原始数据 → 请求 inputs_digest 对应的原始区间序列,用同一摘要算法核对。这一步需要数据方授权(核证方、买方尽调、监管),不是全公开。
design rules

四条硬约束

  • 哈希不可写回:封账后记录只读,修订必须出新版本(version+1)并保留旧版
  • 摘要粒度 ≤ 60 s:原始区间保留 24 个月,之后只保留摘要(存储与可验证性的平衡)
  • 因子版本化:factors 全部内嵌在记录里,不引用外部链接——否则五年后无法复算
  • 不依赖我们的域名:验证所需的一切都在记录与哈希里;页面只是入口,不是验证的前提

若把验证做成"必须登录我们的平台才能看",那它就不是验证,是展示。

4.5 工程接口 planned endpoints · 与实现对齐

端点方法返回
/api/carbon/batchesGET批次列表:batch_id / 期间 / 株数 / kgco2e_total / grade / status;支持 ?from=&to=&grade=
/api/carbon/batch/{id}GET批次明细:breakdown / activity / factors / inputs_digest / 区间能耗汇总(小时段 6 行)
/api/carbon/label/{id}GET签名字段记录 + prev_hash 链证明;供扫码验证页与第三方核证方读取
/api/pointsGET积分台账:balance / 逐条 entries[](批次、避免量、乘数、签发/兑付、状态);?grower=&year=

与现有平台的关系:复用 /api/telemetry 的同一份环缓冲与 /api/overview 的设备注册表;设备名、遥测键(power_kw / kwh_total / tariff)沿用冻结契约,不得为碳模块新增设备名或改名。四个端点均为只读;封账与签发走内部任务,不暴露写接口。

05 / POINTS ECONOMY

积分经济:三方账本,以及 24 万株/年的逐项算术

grower · platform · buyer — 1 point = 1 kgCO2e avoided = ¥0.10, redeemable only in-kind

先把口径说清楚:积分是内部奖励凭证,只能兑换我们的硬件与 SaaS,不可转让、不可提现、不是碳信用、不是抵消。它的作用是降低采用门槛、延长留存,不是给农户增加一条碳收入——下面的账会证明这一点。

5.1 三方账本 three-way ledger

角色得到什么付出什么真实动机
种植者 积分(可抵扣硬件/SaaS)+ 低碳批次溢价 + 更低的运行成本(水、基质、苗损,待测算)+ 一张能交给买方的凭证 硬件与 SaaS 费用、数据接入与配合核证的人力、批次管理纪律(不混批、不跳采) 主要动机是卖得掉、卖得贵(溢价 + 买方尽调通过),积分只占小头
平台 硬件毛利 + SaaS 订阅 + 核证服务费 + 数据资产(跨批次的因子库与工艺-排放关系) 设备成本、核证采购(第三方)、积分兑付成本、数据链路与运维 用碳能力把硬件从"一次性设备"变成"带合规附加值的订阅";数据资产不进当期收入
买方 可追溯到批次的低碳绿果、可披露的范围 3 上游数据、可审计的尽调材料 溢价 ¥0.3–1.0/kg 假设、供应商数据接口与合同条款调整 为自身的范围 3 披露与产品差异化付费;溢价区间是最需市场验证的假设

5.2 一年、24 万株:逐项算术 worked annual example

行项算式结果性质
物理量 · PHYSICAL
年产苗given240,000 株假设
年批次数240,000 / 480500 批算术
基线排放240,000 × 0.42 / 1000100.8 tCO2e算术
实际排放240,000 × 0.20 / 100048.0 tCO2e算术
年避免量100.8 − 48.0 = 240,000 × 0.2252.8 tCO2e算术
年用电240,000 × 0.2867,200 kWh算术
种植者 · GROWER
积分(Grade A)52,800 kg × 1.052,800 点算术
积分(Grade B,本页基准)52,800 × 0.947,520 点算术
积分(Grade C)52,800 × 0.842,240 点算术
积分面值 @B47,520 × ¥0.10¥4,752算术
积分面值占首年硬件支出4,752 / 78,0006.1%算术
绿果溢价(情景 30 t)30,000 kg × ¥0.3–1.0¥9,000–30,000假设
首年净现金4,752 + 9,000…30,000 − 85,200−¥71,448 … −¥50,448算术
回收期取决于被排除的运行成本节省待测算待核证
平台 · PLATFORM(单场,另见 §5.3 成本口径)
硬件售价BOM ¥55,540 × 1.40¥78,000假设
硬件毛利78,000 − 55,540¥22,460(28.8%)算术
SaaS 订阅240,000 株 × ¥0.03/株/年¥7,200假设
核证服务费(平台留存部分)¥15,000 × (1 − 60%)¥6,000假设
首年收入78,000 + 7,200 + 15,000¥100,200算术
积分兑付成本(按硬件 BOM 口径)4,752 × 55,540/78,000≈ ¥3,384算术
首年平台毛利22,460 + 7,200 + 6,000 − 3,384¥32,276(32.2%)算术
稳态年(无新增硬件)毛利7,200 + 6,000 − 3,384¥9,816算术
隐含碳价(面值 / 兑现成本口径)4,752 / 52.8 t | 3,384 / 52.8 t¥90 / t | ¥64 / t参照

所有"算术"行的输入都写在同一行的算式里,可逐格复算;标"假设"的六个数(年产 24 万株、溢价区间、BOM 与加价率、SaaS 单价、核证费与分成、30 t 出货情景)是本页唯一需要外部验证的输入。其中 30 t 绿果出货量与 24 万株之间的对应关系未建立,见 §5.4 说明。

honest reading · 1

积分不是收入,是折扣

¥4,752/年 的面值只有首年硬件支出的 6.1%。把积分当卖点是对农户的误导,它实质是一张"回头再买"的抵用券,成本落回我们自己身上(¥3,384)。真正的价值主张是溢价与合规通行证。

honest reading · 2

稳态毛利撑不起一家公司

单场稳态毛利 ¥9,816/年。要覆盖销售、研发与核证体系,只能靠持续新增场次或把 SaaS 单价抬上去(¥0.03 → ¥0.10/株/年 即 ¥24,000/年)。这是商业模型的真实缺口,不是可以含糊过去的地方。

honest reading · 3

平台真正赚钱的是核证与数据

核证费中留存 ¥6,000(40%),且这是按年复购的;第三方成本可随规模摊薄。数据资产的用处不在卖数据,而在把下一版因子与工艺建议做得更准,从而抬高 SaaS 的定价权。

5.3 积分机制的参数 points mechanics

参数取值规则与后果
签发单位1 点 = 1 kgCO2e 避免以声明值(0.200,保守取整后)而非计算值计算,避免"向上取整多算积分"
数据质量乘数A 1.0 / B 0.9 / C 0.8A = 全量计量、无缺口、已核证;B = 有 <5% 区间缺失并已回退估计;C = 有 >5% 缺失或乘性因子替换
兑付比例¥0.10 / 点仅可抵扣硬件采购与 SaaS 年费,不得提现、不得转让、不得跨主体合并
有效期24 个月与标签有效期同步;到期作废,须在条款中明示(消费权益合规)待法务确认
上限≤ 首年硬件价 30%防止"零元购设备"式套利;也避免把积分做成事实上的补贴定价
会计处理计提负债按兑付期望值计提(非或有事项),期末重估;兑换率变更须披露 待财务确认
反刷量批次唯一性 + 链同一批次只签发一次;跨场设备不得重复计入同一批次;异常密度触发人工复核

5.4 溢价通道的口径问题 premium caveat

溢价按绿果重量计价(¥0.3–1.0/kg),而我们的功能单位是苗(株)。两者之间缺一个成株阶段的产出系数(每株成株年产绿果 kg),该系数本页没有计量基线,因此 30 t 只作为情景参数出现,不得解读为 24 万株的必然产出。 正确的做法是:等后期阶段(FU 2)建立计量基线后,用同一套账本把"苗 → 绿果"的产出系数也变成可审计量,届时溢价才能与株数直接换算。在那之前,溢价只能按吨报价、按批结算。

另一个口径问题:溢价由谁支付、在哪个环节实现。若买方只认"整批绿果"而不认苗,则苗阶段的减排实际上是通过下游成株批次的碳标签变现的,中间的分配规则(按质量、按经济价值、还是按阶段独立核算)必须写进合同,否则出现 §6.7 的分配争议。本页立场:两阶段各自独立核算、独立签发标签,苗阶段不向成株阶段转移排放或权益。

06 / RISK & COMPLIANCE

风险与合规:12 条会让这套东西变成负债的路径

claims · double counting · baseline · MRV independence · data gaps · allocation · regulation

这一节不是免责声明,而是设计约束清单。每一条都给出"敞口"与"做法",可直接转成合同条款、标签印刷规范与内部审计项。

01绝不称其为"碳信用 / carbon credit"

积分不是抵消额,不能用于买方宣称"中和",不可转让、不可交易、无登记簿对接。一旦在文案、合同或销售话术中出现 credit / offset / 中和 / 净零,即构成对产品性质的错误陈述。

不可交易、不可抵消、仅限兑换我方产品;对外统一称"低碳积分 / low-carbon points"。合同、标签、SaaS 文案三处措辞须一致,季度审查。

02重复计算(double counting)

三类重复:① 同一批次被两个种植者申报;② 同一台设备的多场数据被计入两个批次;③ 苗阶段减排被成株阶段的买方再次声称为"自身减排"。第③类最隐蔽。

批次 ID 全局唯一且绑定设备序列号;一台设备在同一时段只能归属一个批次;在标签与合同里写明"本减排量已由上游环节声明,下游不得重复主张"。

03漂绿(greenwashing)表述

"−52%" 只在"相对本方法学定义的基线"下成立。写成"比传统种植少一半排放"、"环保苗"、"零碳苗"即越界;"碳中和"在无抵消机制的前提下完全不成立。

所有对外数字必须带三个限定词:口径(cradle-to-gate)、基线(0.42,区间 0.34–0.52)、版本(AR6 / 因子表版本)。缺一即不予批准发布。

04基线是自声明的

0.42(0.34–0.52)来自文献与行业访谈,不是同一区域、同一品种的对照实测。它贡献了避免量不确定度的绝大部分(±42%),却不在我们自己的计量范围内。

尽快建 2–3 个对照小区(常规土壤育苗,同品种同季节,记电、肥、基质、运输);在拿到对照数据前,基线以区间而非单值对外,并在标签注明"baseline: self-declared, 0.34–0.52"。

05MRV 独立性

我们既是算法与账本的提供方,又想收核证费——这是结构性利益冲突。自证 + 自收费在买方尽调中会被直接质疑,并可能被认定为不具备核证资格。

核证须由第三方机构出具,平台只做数据准备;核证方拿只读镜像与私钥签名材料,不与业务团队同线汇报;平台留存 40% 服务费要能说清是数据处理费而非核证结论对价。

06数据缺口与回退估计

网关掉线、电表更换、批次跨月、传感器漂移都会造成区间缺失。回退用"估算"会把 A 级直接打成 C 级,且必须被披露——不能静默补齐。

缺失 <5%:按同设备前 7 日同时段中位数插补,标 grade B;>5% 或关键分项缺失:grade C,乘数 0.8,并在标签记录 estimation 字段写明方法与覆盖率。缺失 >20% 不予签发。

07苗阶段与绿果阶段的分配

两阶段共用设备与人员,若把苗阶段的排放全部推给苗、把收益全部留给绿果,或反之,都会扭曲标签。分配方法(质量/经济价值/独立核算)必须事前确定并披露。

本页口径:两阶段独立核算、独立签发,不做跨阶段分摊;共用设备按机时(kwh_total 归属)拆分到阶段,人员与厂房不摊(已声明排除)。改变分配方法须升版本号。

08中国监管语境:CCER 与碳普惠 待法务确认

全国温室气体自愿减排交易市场(CCER)走"方法学 → 登记 → 核证 → 交易"路径,须由备案的方法学与审定/核证机构支撑;碳普惠则多为地方/消费端自愿减排机制,通常不能进入全国碳市场,多用于兑换与激励。

本机制既非 CCER 项目、也非任何已备案的碳普惠项目,是产品碳足迹标签 + 企业自有积分。公开材料中不得出现"减排量可交易""可抵销""纳入碳市场"等表述;是否需在地方碳普惠体系下备案,须法务与主管部门确认。咖啡育苗/气雾栽培目前未见公开方法学,不得假定可开发。

09电力因子的口径漂移

边际/平均、省级/区域电网、小时/年度、是否含绿电交易,四种口径混用会让同一度电的排放差 2–3 倍。绿电证书(如有)能否抵扣、如何避免与电网因子双重扣减,也需明确。

标签内嵌完整因子表与版本号;GHG Protocol Scope 2 双报告(location-based / market-based)两者分开披露;若采购绿电,须扣减并保留凭证摘要,避免既用绿电又用全国平均因子。

10计量边界漂移与多租户归属

设备增删、棚室改造、同一网关服务多个种植者、批次跨场并批,都会让"这台表为这个批次供能"的假设失效。边界一变,历史数据就不可比。

设备-棚室-批次三层绑定写入注册表(复用 /api/overview 的实体);变更须走变更单并切分批次;跨场并批一律拆账,不做合并签发。

11积分会计与消费权益

积分是负债不是收入;兑换率、有效期、作废规则若在条款中不清,可能构成对消费者的不利条款(农户作为经营者适用不同规则,需分别设计)。

积分台账逐条留痕(签发/兑付/作废/调整);条款明示有效期与变更权;兑换率调整只能对未签发的批次生效;计提按期望兑付率,季末重估。

12生物源碳的错误主张

苗在生长中吸收 CO2,但按 ISO 14067 不计入产品碳足迹,也不得用于冲抵排放。把它写成"固碳"或"负碳"是最常见也最容易被一眼否掉的主张。

边界内明确写"生物源碳不计入、不可冲抵";任何提到固碳的材料须同时说明"短期生物碳储不构成永久移除,且不在本标签核算范围内"。

6.1 发布前置条件 gate to publish

门槛当前状态阻塞项
第三方核证(ISO 14067)未签约 需选定机构、确认范围与抽样方案标签不得印 VERIFIED
基线对照实测未开展 2–3 个常规土壤育苗对照小区不解决则溢价叙事脆弱
因子表来源固定设计值 六段曲线为假设,需省级/区域发布口径或权威库不解决则不可对外
Scope 1 维保台账缺口 制冷剂/柴发记录未结构化截断披露不完整
法务意见(CCER / 碳普惠 / 积分条款)待确认发布前必须闭环
接口实现与冻结设计已完成 四个只读端点见 §4.5—

结论只有一句:这套设计的价值在于"可以被人重算",风险全部集中在"我们是否真的让人来算"。只要把原始区间、因子版本、基线区间和哈希链都交出去,它就是方法学;只要其中任何一项留在我们手里,它就是营销。

← CoffeeJeV CoffeeJeV