2025-12-02 15:09:32
当我的工资从每天 ___人民币上升到每天 ___美元的时候,我开始思考是什么让工资增长。
得到的结论是:
然后我继续思考这几个问题:
所以多年以来,贯彻我人生的思路就是:如何提高技术能力。最明显的体现是,如果工作不能让我成长,就换工作。
那么对于 “如何提高技术能力” 这个问题,我的答案是:
事实一
但是紧接着,我发现了一个令人不安的事实:
得到这个结论有这样几个原因:
事实二
与此同时,我发现另一个令人不安的事实是,AI 在改变游戏玩法:
AI 引起的变化非常大,直接改变 “如何提高技术能力” 这个问题的答案:
复盘一下我之前犯的错误:
EchoEVM 和 EthBFT 的共同特点,是偏低层、侧重技术的实现,试图用硬核项目来证明自己的技术能力。然而在拥有 AI 的今天,这种硬核的代码能力恰恰是 AI 最擅长、最先取代的。
新的问题
结合这两个令人不安的事实,需要回答的新问题是:
新的答案
那么对于新的问题,我的答案是:
对答案的解释
你也许会说,这不废话吗,自古以来,发现问题的能力都是重要的。
不,这不一样,在没有 AI 的时候,你可以不需要有判断力,不需要能够发现问题,哪怕只是听产品经理的话来实现功能,也就是干好程序员的活,就可以活下去。
但是 AI 取代了这种只会听话干活的人。
“发现问题” 同时涵盖技术领域和非技术领域,在技术领域,发现代码有没有问题、功能设计是否存在漏洞、业务的边界条件是否缺少约束;在非技术领域,发现用户有哪些实际的需求,发现市场有哪些比较大的空缺。
那么为什么没有把“提高判断力”放到答案中?因为判断明天的股市涨跌也算判断,这种能力是无法验证以及无法通过努力提高的。
进一步问题
还没完,对于新的答案,有两个问题:
对于 “如何提高自己发现问题的能力” 的问题:
对于 “发现问题的能力该如何量化” 的问题:
2025-11-17 22:36:29
2025-11-03 15:37:35
有这样两个事实:
这样的事实背后是有原因的:
这会带来不同的现象:
所以区块链的技术世界中,有没有什么理论性质的 “真理”,是长久不变、可以复用、无论上层框架如何变化都不需要担心的?
区块链技术世界的三大真理:
掌握了这三个部分的技术,无论区块链形式上怎么推陈出新,无论行业热点如何变化,都不用担心,因为区块链本质上就是在解决这些问题。
怎么样才算是掌握了 “真理”?我看懂了、我理解了,算是我会了吗?算是我掌握了吗?
掌握真理的标准是,可以根据真理,从头构建出知识。
在计算机科学的世界里,假如世界毁灭了,给你一张纸和笔,你可以从头实现 lambda 演算、实现数据结构、实现一个解释器、实现一种编程语言,甚至构造出更多东西,不依赖于教材、框架、API,这叫掌握真理。
真理的意义在于,让你明白知识为何必须如此存在。——这也是王垠的课程在试图教会你的东西,王垠不教知识,只教 “王垠式真理”。所以我一直认为王垠的课程好、价值高。
类似的,在区块链的世界里,如果你可以从脚本写起,实现共识、加密、激励,不一定重建全部细节,但一定要理解现有系统为何那样设计,就差不多了。
要注意,智能合约的编程语言不在真理的范畴之内,无论是比特币脚本、Solidity、Move、Cairo,都只是表达交易逻辑的 DSL,都是在用不同形式,定义区块链执行交易的规则,很重要但是还没到 “真理层”。
非要说智能合约的真理层,可能可以表达为一个确定性的状态转移函数,无论语言如何变化,这个 “真理” 都始终存在:
State_t+1 = f(State_t, Transaction)
下一个状态来自于上一个状态加上一些交易引起的状态变化,简单吧。但我们这篇文章重点关注区块链世界中的 “王垠式真理”,所以依然是三大真理:共识、加密、激励。
2025-10-24 00:55:34
到目前为止,最新的 AA(Account Abstraction)钱包规范仍然是基于 EIP-4337 实现的。
对于 AA 钱包存在的问题,像操作繁琐、Bundler 中心化、可用性低、生态支持不完善、合约安全风险高等表面上的问题就不多说了。
一句话描述 AA 钱包在干什么事情:AA 钱包能实现 “对账户资金的授权” 与 “把交易广播到链上” 这两个行为的分离。
AA 钱包的功能,体现到具体的交易行为上,就是如果没有 AA 钱包,你得自己发交易。有了 AA 钱包,你可以只签名,不发交易,让其他人代替你把交易发到链上就行。
为什么 AA 钱包能做到这一点?因为 AA 钱包本质上就是一个合约,所以你会发现,AA 钱包的大多数 “优点”,其实是智能合约本身就具备的功能,像什么社交恢复、批量操作等。唯一能带来特殊体验的,只有 “代付手续费” 这个特性。
那为什么 AA 钱包能实现代付手续费这个功能?因为 AA 钱包的所有操作实际上不是交易,而是 UserOperation,有一个链下的 Bunlder 程序会把这些用户操作,通过发交易批量提交到链上。
为什么以太坊需要 AA 钱包?因为以太坊的共识层协议要求,交易必须由一个 EOA 地址来发起。这个 EOA 地址,就是交易结构中的 from 字段,以太坊节点会从这个 from 地址计算手续费、扣手续费、验证交易有效性等。
合约没有私钥,交易不可能由合约发起。在这样的规则约束下,就导致以太坊所有的链上行为,都必须由某一个 EOA 地址来发起交易。
你可能觉得不对,部署一个合约,然后让合约来验证 data 里得签名数据就好了。data 里的签名数据,未必需要和发起交易的地址一致。
没错,事实上,AA 钱包的发展链路是:meta-transcations -> EIP-2771 -> EIP-4337。
这些方案在解决的问题本质上都是:如何让使用资金的权限,与发起链上交易的行为分离。
而引起这一系列复杂协议的根源,来自于以太坊 “交易必须由一个 EOA 地址来发起” 的规则。
为什么以太坊要有 “交易必须由一个 EOA 地址来发起” 这个规则?
因为以太坊的账户模型,是账户-余额模型。协议必须要知道,一笔交易的手续费从哪里扣。
比特币的 PSBT 交易格式,可以实现原生的多签。功能是多个钱包只负责签名,最终由另外一个钱包把交易广播出去就可以。
多签交易,就是典型的把对资金的授权,与广播交易行为分离开的场景。
为什么比特币不存在以太坊的这个问题?因为比特币使用的是 UTXO 模型,交易根本没有 from 地址,有的是多个输入脚本,节点只需要校验交易是否符合脚本的解锁规则,而不需要考虑手续费从哪里扣的问题。
我们梳理一下这个链条:以太坊使用账户-余额模型 -> 交易必须由 EOA 地址发起 -> 需要 AA 钱包。
AA 钱包在干的事情,实际上是在给以太坊的账户模型打补丁,为了修补账户-余额模型相比 UTXO 模型的不足,才有了 AA 钱包这个东西。AA 钱包是在不涉及以太坊协议变更的前提下,诞生出的一种 workaround 方案。
从地位上来说,AA 钱包对于以太坊的地位,类似于铭文/符文/RGB 对于比特币的地位。在比特币生态里,因为没有图灵完备的脚本,所以在不触及比特币协议变更的前提下,搞出了铭文/符文/RGB 这些 workaround方案。
AA 钱包需要链下的 bundler 来提交交易,与符文需要链下的索引器来维护符文的数据状态,是不是一个意思,都严重依赖于链下的程序?
而事实上我们都知道,比特币生态的玩法,至今都还没有被主流社会认可。
假如 AA 钱包未来有一天能被社会大众认可,那也就意味着 workaround 方案在区块链世界中是可行的。对于整个生态的叙事都将引起巨大的改变。
综上所述,我们能得出的结论是,以太坊永远不可能支持 “原生” 的 AA 的钱包(在协议层面支持)。
这些结论,对于技术人员的指导意义在于:
2025-10-13 17:22:58
MCP(Modal Content Protocol)是 AI Agent 在使用的一种协议规范,用于 AI 和外部的工具进行交互,MCP Server 则是具体执行外部交互的组件。
MCP 区块链的含义是,首先它是一条区块链,然后每个节点都原生支持 MCP 协议的 RPC 接口,可以直接接受来自 AI Agent 的请求。每一个 MCP 请求,都是一笔交易(智能合约调用),这也就意味着,区块链会记录下所有的 MCP 交互历史。
节点内部的 MCP 执行引擎,功能分两部分,对于内部交互(EVM 在干的事情),只需要维护好内部的状态转移,把结果写入本地的 KV 数据库就可以了。对于外部交互,则只记录下要执行的请求本身,先不做外部调用。那么实际上对于每一个请求,都会改变本地的状态,所以这些交易是可以重放的,也就可以根据哈希值来确认节点数据的完整性。
至于对外部的执行请求,可以由外部的执行节点(一种角色)来完成。每一个外部请求都包含一些详细的参数,比如需要几个执行者、结果如何验证。交易会把一部分手续费作为执行费用,奖励给执行节点。如果执行节点作恶,自然也会有相应的惩罚机制。
对于外部的调用,关键在于如何验证外部执行的结果,这个问题可以交给调用者来定义,比如要创建一个 GitHub 仓库,验证方式就是,可以通过 API 查询到这个仓库的信息。
这就是 MCP 区块链的大体思路。
解释一下这个想法的来源。MCP 区块链并不是想要 “把 MCP Server 去中心化”,而是想要 “给区块链带来与 AI 交互的能力”。这两种动机是截然不同的。
这个想法背后的逻辑很简单,比特币其实有脚本,只不过是生硬的操作码形式。以太坊干了一件很厉害的事情,给操作码加上了编译器,让开发者可以用编程语言来表达操作码。那么如今的 AI,很厉害的一点在于,打通了从自然语言到编程语言的路径。也就是说,未来的区块链,也许可以做到自然语言直接与状态机交互,而不需要经过 自然语言 -> 编程语言 -> 状态机 这样的路径。明显编程语言是一个中间层,MCP 区块链的设想在于消除这个中间层。
另一个边界在于,让区块链完全按照自然语言的意图执行是不切实际的,因为哪怕是人类,也需要书面形式的合同这种东西,所以代码本身不会消失,状态转移也不会消失。目前能够实现自然语言和状态机直接交互的技术方式,就是 MCP。
最近在思考一个问题,区块链的下一个技术趋势是什么?能明确的几个事实是:
行业内已经提过的方向也都不大有机会,DeAI、ZK、Layer2、DeFi、跨链、RWA、GameFi、BaaS、NFT、元宇宙、DAO、DID 等等,都是陈词滥调了。
所以区块链在技术趋势上,需要的一个原语级别的新叙事。