19 · evidence-first:测而非断言、自我更正纪律
第五层第二篇——整套知识库的收官。01–17 是知识、18 是核查工具,19 是驱动前 18 篇全部成立的"那条 学习态度":所有断言都得被证据支撑,包括(特别是)我自己的断言;错了就保留更正轨迹,不删不抹。 docs 2026-05-19 那条"不对吧,人家是实实际际在做且拿到结果赚到利润的"用户挑战,是本项目最珍贵的史料 ——它是我把"残差 = footprint" 这条核心方法论从一次错读中拔出来的支点。本篇把那次更正从单点事件 抽象为一套可复用的学习纪律。沿用 01–18 的村庄画面。结构见
README.md§1。
0. 一句话本质
Evidence-first = 把"我相信"和"我验证过"在脑子里做严格区分,默认前者为 0, 每一条非平凡断言都得有可被独立复算的证据支撑。代价是慢 5×、需要公开承认错误**、 不能靠权威拍胸口;回报是真知——那种你 5 年后回头看仍站得住的判断。 这套纪律最难的不是对外坚持,是对自己坚持:看到自己分析错了,能不能不删不抹、 把更正轨迹完整留下来作为"未来不再犯"的物证。docs 2026-05-19 的那次自我更正就是 项目里 evidence-first 在自我身上跑通的样板。**
1. 怎么产生的:它解决什么问题
01–18 全部建立在"被验证过的事实"之上。19 是这条态度的显性化:
- 你前 18 篇说的每个数字(487,252 / 897,176 / 0.00105 ETH / 33 链)从哪来?
⇒ 都是真测过 / 真核查过的。从来不是 "差不多"、"我记得是"、"网上说"。
- gas 数字 =
forge test实跑输出 - 链上地址 = 跨多 explorer 现场核查
- LayerZero / Aave / Uni V2 / Chainlink 配置 = 主网 storage 读出
- 这就是 evidence-first 在项目数据层的体现:每一句都可被独立重跑。
- gas 数字 =
- 如果某个事实写错了怎么办? ⇒ 我们的 docs/学习路径方案.md 已经发生过一次:2026-05-19 我把"残差 ≈ 0"读为 "没机会"——错。修法:不删旧文字、加新日期、写明更正理由 + 用户挑战原文。 这样未来读这份归档的人能看到"曾经犯过这个错"——这是反复犯同类错误的最好预防。
- 为什么不直接编辑掉错的部分?干净不更好?
⇒ 因为错误是数据:
- 别人能从你的错误轨迹判断"你哪类问题容易栽"
- 未来的你看到旧错能避免重蹈
- 抹掉错误的人 = 在堆"我从来不错"的假象,反而更危险
- 这就是为什么本 KB 每篇都有"Q&A / 更正记录区"且严格按日期追加。
- evidence-first 是不是太慢了?普通人哪有时间凡事都测?
⇒ 不是凡事。只对 load-bearing claim 做——你的判断/决策依赖它的那些断言。
比如:"USDC 用 6 decimals" 是 load-bearing(影响所有金额计算)→ 必须测。
"Vitalik 喜欢吃什么" 不是 → 不用测。
- 关键技能是识别哪些断言是 load-bearing——这是经验积累的能力。
- 如果数据/逻辑互相矛盾我怎么办?
⇒ 数据赢。从无例外。这是 17 §6 跨链残差案的实践:
- 我的逻辑:"价差 < 桥成本 → 没机会"
- 用户提示的数据:"0x65A8 实实在在赚钱"
- 我的更正:重新解释逻辑——残差 = footprint——让逻辑符合数据
- 不让数据屈服于逻辑,永远是反过来:逻辑屈服于数据。
- 谁能挑战我的判断?非专业人士能吗?
⇒ 任何人。evidence 不分故事来源:
- 朋友 / 用户 / 不懂技术的家人 / 看起来"显然错"的小白挑战 → 都是数据
- 我的反应只能是:1) 听清楚他在说什么 2) 验证他的事实 3) 调整自己(或反证)
- 不能反应:"你不懂"、"专家是这么说的"、"你这种人懂个屁"
- docs 2026-05-19 那次挑战来自用户,他用的就是常识 + 朴素疑问,不是技术分析。 朴素疑问把我专业分析里的反向因果错误拍出来——这是 evidence-first 最美的瞬间。
- 如何在团队/合作里推 evidence-first?
⇒ 不强推。自己跑通 + 公开错误 + 拿数据说服——这套自然有传染性。
强推会激发对抗,"我从来不错"会增加。
- 这是为什么 19 篇放在 KB 末尾——它不是入门门票,是走完全程后的回望整理。
→ 这一篇答全部。
2. 它本质在做的"那一件事"
把"知识"从"我相信"提纯到"我测过且能给你复跑的步骤"。 这是科学方法在工程/金融/链上世界的具体化:默认怀疑、刻意验证、保留错误、欢迎挑战。 在 AI / 噪声 / KOL 营销 / 大佬喊单充斥的当代信息环境里,evidence-first 是少数能在 5 年后仍可靠的学习态度。 docs 2026-05-19 那条自我更正 + 18 §6 双案 + 14-17 wei-exact 数字网 → 全部是它的具体物质化。
→ 这是 KB 19 篇背后唯一的"那条线":前 18 篇是这条线上挂的具体知识; 拿掉这条线,KB 就只是另一份"加密入门教程"——网上几百份。
3. 类比:村庄的"实验科学家"
01–18 的村庄已经有了所有设施和方法。19 加的是一种人物:
┌── 实验科学家 vs 听信传闻者 ────────────────────────────────┐
│ │
│ 传闻者: │
│ 朋友说"X 桥不错" → 跟 X 桥转钱 → 桥 hack → 钱没了 │
│ 群里说"A 地址在套利" → 跟单 → 亏 │
│ 自己读"价差 10 bps 没机会" → 但不知道为什么 → 听天由命 │
│ │
│ 实验科学家: │
│ 朋友说"X 桥不错" → etherscan 核查 + 看历史漏洞 + 资金量 │
│ → 自己 5 分钟核查后才决定 │
│ 群里说"A 地址在套利" → 18 §6 核查 → verdict → 永不跟单 │
│ 自己读"价差 10 bps 没机会" → 用户挑战 → 我更正: │
│ "残差 = footprint" → 全 KB 重新校准 │
│ │
│ 二者区别不在能力,在态度: │
│ 传闻者:"我信" → 行动 │
│ 科学家:"我信什么?凭什么?数据呢?复盘呢?错误呢?" │
└─────────────────────────────────────────────────────────────┘
→ 这就是 evidence-first 在日常生活里的样子。技术 / 工程 / 金融 / 医学 / 创业 都一样—— 任何有真实成本的事,evidence-first 都该是默认态度。
4. 核心关键点(5 条)
-
四种"我知道"的可信度阶梯:
级别 来源 可信度 例子 1. Authority 某人说 ★ "听某 KOL 说 X 桥安全" 2. Theory 模型推 ★★ "AMM 数学说残差应趋零" 3. Experiment 自己测 ★★★★ "fork 测试 12/12 wei-exact 通过" 4. Production 真世界长期跑 ★★★★★ "0x65A8 跨 33 链 ~407k 笔已确认主网行为" - 公共信息环境大部分卡在 1
- 学术大部分在 2
- 高质量工程在 3
- 真正知识在 4
- 本项目尽量推到 3-4——这就是为什么所有数字都是真测、所有地址都是主网现查
-
Evidence-first 五条工作纪律:
- Test before assert:任何 load-bearing claim 落笔前先有可复算证据
- Wei-exact when possible:精度具体到能复现的最小单位;"大约 5%"会藏 100 倍的错
- Failure modes documented:不只写"做对了哪些",也写"曾经错在哪里"
- Self-correction archived:更正按日期追加,绝不删旧文字
- External challenge welcomed:用户/朋友/路人的挑战都是数据,听清楚 → 核查 → 调整或反证
-
常见的反 evidence-first 失败模式(接 18 §4.5):
- Reverse causality:把结果当原因(我曾犯的"残差=没机会"就是这条)
- Survivorship:只看赢家忽视输家
- Confirmation:只找支持已有信念的证据
- Authority bias:权威说的优先
- Theory-data conflation:模型说该是 X,数据是 Y → 怀疑数据;这是科学头号坏习惯
- Over-attribution:从单一观察反推完整因果链(18 §7)
- Stale evidence:用旧数据当现状
-
Evidence-first 的代价 vs 回报:
代价 回报 慢 5×(每个 claim 都要核查 / 测试) 5 年后判断仍站得住 需要公开承认错误 错误数据 = 反复犯错的最佳预防 不能靠"专家说"舒适 不被任何 KOL / hype / scam 牵着走 自我怀疑常驻 真正的"知道"取代"以为知道" - 这是为什么大多数人不做:短期代价具体可见,长期回报抽象
- 但对有真实成本的事(钱 / 健康 / 关键决策),evidence-first 不可替代
-
本项目的 evidence 链全景(怎么从 01 走到 19 都靠 evidence):
- Phase 1: 3352 次 CEX 价差测量,0 正残差
- Phase 4: 12/12 wei-exact fork tests; demo-backrun P1 = P2 字节级一致
- Phase 5: demo-flashbots 真 relay 握手 →
1050000000000000 weistructured error 端到端证明 - Phase 4 跨链补遗: 3 链 WETH ~10 bps 残差 + 0x65A8 / 0x6bdc 双核查
- docs 2026-05-19 自我更正:从"残差=没机会"到"残差=footprint"的转向
- 每个 gas 数字(306k arb / 487k 多池 / 897k 清算 / 271k revert)都是 forge 真跑出来的
- 每个地址(USDC / WETH / Aave / Chainlink / 0x65A8 / 0x6bdc)都是主网现查的
- 整套 19 篇 KB 没有一处"我猜想 / 大概 / 我以为"——每一条都可被独立核查
5. 必须先认识的前置名词(小词典)
| 名词 | 一句话 | 类比 |
|---|---|---|
| evidence-first | 默认不知道、要有证据才相信 | 实验科学家心态 |
| load-bearing claim | 你的决策依赖它的那种断言 | 房梁 |
| wei-exact | 精确到最小单位(1 wei = 10^-18 ETH) | 微克级 |
| falsifiability | 一个断言能被实验证伪 | "可被实验推翻"的资格 |
| reverse causality | 把结果当原因 | 看尸体说"葬礼会让人死" |
| survivorship bias | 只看活下来的 | 只看战场上还能说话的兵 |
| confirmation bias | 只找支持已有信念的证据 | 戴特定颜色眼镜看世界 |
| authority bias | 权威说的优先 | 听爹妈的不听数据 |
| theory-data conflation | 模型与现实搞混 | 把地图当地形 |
| over-attribution | 从少量观察推完整因果 | 看 1 笔 tx 推 100 笔策略 |
| stale evidence | 用旧数据当现状 | 用 2008 房价指导今天买房 |
| self-correction archive | 错误轨迹的日期化保留 | 实验日志 |
| external challenge | 别人对你结论的质疑 | 同行评审 |
| public good correction | 自己改正供他人参考 | 共享反思 |
| fact-anchored writing | 每个事实都链接到可核查源 | 学术引用 |
6. 一个完整过程走一遍:本项目 evidence-first 的真实工作循环
走一遍完整循环——从一个断言 → 实验 → 错读 → 挑战 → 更正 → 落入 KB:
─── T0: 我做完 Phase 4 跨链补遗 ─────────────────────────────
观察:跨 3 链 WETH 价差 ≈ 10 bps(实测数据)
─── T1: 我做初步分析 ──────────────────────────────────────
跨链桥成本 ~3-15 bps + 1-15 分钟延迟
逻辑:"10 bps < 桥成本 + 风险 → 没机会"
我得出:"跨链套利对 retail 不可执行"
我写进 crosschain-observe.ts verdict
─── T2: 用户挑战 ──────────────────────────────────────────
用户:"不对吧,人家是实实际际在做且拿到结果赚到利润的,
照你这一波分析一样都不符合啊"
+ 提供地址 0x65A8F07Bd9A8598E1b5B6C0a88F4779DBC077675
─── T3: 我的反应(evidence-first 的关键时刻)─────────────
错误反应:"用户不懂技术,我专业分析过"
正确反应:"听清楚他在说什么 → 验证他的事实"
我执行 18 §6 5-步核查 0x65A8:
- nonce 高、~407k tx、33 链活跃
- verdict: 真职业跨链运营
**数据胜出**:确有人在做并赚钱
─── T4: 我开始想 ───────────────────────────────────────────
"既然有人在做并赚钱、而残差 ≈ 0,那残差 ≈ 0 不能等于"没机会"
那它等于什么?"
新解读:残差 ≈ 0 = **职业玩家持续套到剩下的均衡点**
= "footprint of profitable operators,不是 absence of opportunity"
─── T5: 我更正 ──────────────────────────────────────────────
更新 docs/学习路径方案.md:
- 不删旧文字("我曾读为'没机会'"保留)
- 加新日期 2026-05-19
- 写明更正理由 + 用户原话完整保留
更新 crosschain-observe.ts 输出 verdict
更新 code/phase4-onchain-basics/notes-crosschain-layerzero.md §2.1 / §7
后来落入 notes/15 §4.4 / 17 §6 / 18 §4.3 / 19 §6(本篇)
─── T6: 这条更正成为 KB 的"骨架"───────────────────────────
"残差 = footprint" 现在贯穿:
- 14 §8 末(看到机会 ≠ 抢到执行权)
- 15 §4.4(残差精确机制)
- 17 §0 / §8(跨链场景的精确版)
- 18 §4.3(地址是结果不是策略的根本原则)
- 19 §0 / §1 / §6(evidence-first 的样板案例)
→ 从一次错读 → 5 篇核心 notes 的支柱原则——这就是 evidence-first 自循环的全部价值。
这一过程的可复用模板
1. 我做出 X 断言(基于已有逻辑)
2. 外部数据 / 挑战 → 与 X 矛盾
3. **不要本能反驳**——先验证挑战的事实
4. 如果挑战事实成立 → 我的逻辑有 bug → 找 bug
5. 写新解读,**保留旧解读 + 找 bug 的过程**
6. 用新解读更新所有依赖原断言的文档
7. 把这次更正存档(19 §0 "不删不抹")
→ 每经过一次完整循环,KB 鲁棒性 +1
→ 经过 N 次循环的 KB ≫ 没经过的"看起来完整"KB
7. 常见误区(逐条拍死)
| 误区 | 实情 |
|---|---|
| "Evidence-first 太慢,赶不上节奏" | 慢的是错误判断带来的代价。evidence-first 实际上更快——5 分钟核查救几个月 |
| "凡事都测不可能" | 只测 load-bearing claim。识别 load-bearing 是核心技能 |
| "犯错就改掉,干净点" | 错误是数据。删除等于堆"我从来不错"的假象 |
| "权威说的不用核查" | 越是权威越要核查——他们的错被引用得最广 |
| "用户/外人挑战是攻击" | 是数据。evidence-first 的反应只有 3 种:听清楚 / 核查 / 调整或反证 |
| "理论说该是 X,但数据是 Y——数据肯定测错" | 反了。数据永远先于理论。理论该被改 |
| "AI 现在啥都说,evidence-first 没用" | 反了。AI 时代 noise 更多,evidence-first 更稀缺 |
| "Evidence-first 是学术象牙塔的事" | 错。任何有真实成本的事都该用 |
| "公开承认错误丢人" | 不公开承认才丢人。错而不改导致反复犯同类错才是真丢人 |
| "5 年前的判断现在还对,说明 evidence-first 不必要" | survivorship。5 年前类似判断有 1000 个,对的可能是运气 |
| "Self-correction 别人会拿来攻击我" | 想攻击的人不用你的更正轨迹也能攻击。反而坦诚轨迹让你长期可信 |
| "我已经按 evidence-first 做了" | 你确定吗?看看你的最近 10 条断言每条有几条 evidence。多数人测验后发现:其实不到 30%。 |
8. 与本项目实践的对应
docs 2026-05-19 自我更正(项目里 evidence-first 的核心案例)
- 详见 §6 完整复盘
- 该条更正现在贯穿 14 §8 / 15 §4.4 / 17 §0§6§8 / 18 §4.3 / 19 §0§1§6(本篇)
- 是整个 KB 19 篇能站在一起的最重要的脚手架
项目里的失败保留清单(不删不抹原则的物质化)
- publicnode mempool filter 5s 过期(05 §3.2 / 14 §8)→ 不是"我没用过专业 RPC",是写下"为什么 publicnode 不行"
- predictBackrun factory mismatch(14 §8 / 18 §8)→ 不删旧 bug,写下"曾误报"
- 25% WETH crash 不够触发清算(11 §8)→ 不删,写下"为什么 45% 才行"
- viaIR Stack too deep(07 §1.5 / §8)→ 不删初始 fail,写下根因
- anvil_mine vs evm_mine 误用(保留在 Phase 5 调试日志)
- 残差 reverse causality 错读(docs 2026-05-19 / 本篇 §6)→ KB 最重要的更正
- 这些都没被编辑掉——每一条都在某处 KB / 代码 / docs 里被找到、被注明日期、被说"我曾这么错过"
项目所有 evidence 链的全景汇总(接 §4.5)
| 项目阶段 | Evidence | 单位 |
|---|---|---|
| Phase 1 | CEX 价差测量 | 3352 次 / 0 正残差 |
| Phase 4 fork tests | wei-exact | 12/12 通过 |
| Phase 4 demo-backrun | P1 = P2 | 字节级一致 = 2419.7984 USDC |
| Phase 5 Flashbots | 真 relay 握手 | structured error 1050000000000000 wei = 0.00105 ETH |
| 跨链补遗 | 3 链 WETH 残差 | ~10 bps + 0x65A8 / 0x6bdc 双核查 |
| docs 自我更正 | 用户挑战 + 我更正 | 2026-05-19 完整保留 |
| Gas 数据 | forge 真跑 | 306k arb / 487k 受害者偏 / 897k 清算 / 271k revert 等 |
| 地址 | 主网现查 | USDC / WETH / Pool / Oracle / Chainlink / 33 链 etc. |
→ 本 KB 没有一条数据是手画的、估的、记忆的。全部可被任何人独立复跑。
Three-Corner Closure 是 evidence-first 的工程化(接 README §4)
- notes/:解释(知识,01-19)
- code/:实现(测试,Phase 0-6 + watcher + Flashbots)
- docs/:归档(结论,含 2026-05-19 自我更正 + 7 阶段诚实结论链)
- 三者必须互相印证:有 notes 没 code 测 = 空话;有 code 没 docs 归档 = 没结论;有 docs 没 notes 解释 = 黑箱
- evidence-first 是让这三角对齐的纪律
整个 KB 19 篇的"骨架式"回顾
| 层 | 题 | evidence-first 在此层的体现 |
|---|---|---|
| 1 (01-05) | 基础 | 类比 + 真实地址 + 主网核查、不停留在"差不多就这样" |
| 2 (06-09) | 以太坊 / EVM / 合约 / ERC-20 | 每个 gas 数字 + storage 槽公式都可主网现验 |
| 3 (10-13) | DeFi | getAmountOut wei-exact + AaveOracle mock 字节级 + 闪电贷 6 步原子原理 |
| 4 (14-17) | MEV + 跨链 | demo-backrun P1=P2 + demo-flashbots structured error + 0x65A8 实证 + docs 自我更正 |
| 5 (18-19) | 方法论 | 5 分钟核查 checklist + evidence-first 五纪律 |
→ 19 篇连成一条单链:每一篇都依赖前面的事实、每一篇都被 evidence-first 串起。 这种结构本身就是 evidence-first 的实物。
9. 自检问题(答得出才算过)
- "我知道" 的四级可信度阶梯是什么?给自己最近 10 条断言归类一遍。
- Evidence-first 五条工作纪律是什么?最难做到的哪一条?为什么?
- Load-bearing claim 怎么识别?给 3 个最近你做过的判断、分类哪些是 / 哪些不是。
- 数据和逻辑矛盾时,evidence-first 的规则是什么?为什么这条规则反人性?
- "残差 = footprint" 这条 KB 核心方法论的产生过程是什么?走 §6 全 6 步。
- 你愿意为 evidence-first 付什么代价?这些代价对你目前生活的具体场景是怎样的?
- 三-角闭环(notes / code / docs)在你过去的工作里是否出现过缺角?哪角缺最多?
- 5 年后回看现在的判断,预先写下哪些你愿意被未来证伪、哪些不愿意?为什么后者危险?
── Q&A / 更正记录区(按日期追加)──
规范见
README.md§0。质疑/反馈/纠错按日期累积,不抹错误轨迹。
-
2026-05-19(docs 同步追溯):
本篇所述的"evidence-first 五纪律"的样板案例就是这一天。
用户原话:"不对吧,人家是实实际际在做且拿到结果赚到利润的,照你这一波分析一样都不符合啊"
这条挑战完整保留在 docs/学习路径方案.md 2026-05-19 / 17 Q&A 区 / 18 Q&A 区 / 本篇 §6。它从一次单点错读 → 5 篇核心 notes 的支柱原则,是 KB 19 篇能站立的核心脚手架。
没有这条挑战:KB 会以"残差 = absence"为基础写作 → 后果不堪设想(误导未来读者 + 让 docs/学习路径方案.md 7 阶段结论的第 7 条"诚实更正"无法存在)。
这条挑战是项目里最珍贵的史料。
-
(2026-05-21 编纂为系统化笔记。19 篇 KB 至此完整。)
✦ 19 篇 KB 收官 ✦
01–05 基础 / 06–09 以太坊 / 10–13 DeFi / 14–17 MEV+跨链 / 18-19 方法论。 19 篇互相印证、字节级数据可复算、所有错误轨迹保留、所有断言可被独立核查。 这不是一份"加密入门教程"——它是一份evidence-first 学习态度跑通一整个领域的物质化样本。
看完不代表懂;自己跑通其中至少一条 evidence 链才代表懂。 项目永远欢迎任何挑战:任何你能找出的事实错 / 逻辑错 / 自我更正不彻底处,都按 Q&A 区追加。 错误是数据。