2025-05-05 10:37:48
原生家庭像一种绳子,一头在地面上,一头在你身上
当你越飞越高,想要飞的更高
你身上的绳子就会提醒你,你的家人还在地面上
你可以继续去飞,但是绳子在你身上、他们还在地上
你没有能力带他们飞,也不愿意回到地面
他们会幻想你在地面生活的状态
还会期望你未来再回到地面生活
给你在地面上安排好了窝
可是你回不去
你需要的是空中楼阁
他们帮不上忙,也无法理解
为什么在地面上就可以生活
你非要飞着
你见过了天上的繁华,不想再回去
只是不想
他们以为你飞的很容易,可以轻松在天上安家
他们以为,地面上安家那么容易,天上怎么就不行了
可是光是飞着,就已经耗尽力气
光是不掉下来,就已经耗尽力气
你没有力气带别人一起飞
更怕带着别人,一起掉下来
那是一种责任,也是一种巨大的压力
他们在地面上,确实帮不上忙
他们没有离开过地面,不理解这种压力
2025-05-03 00:13:37
我最近特别喜欢 Monday(ChatGPT 的机器人),花了很多时间跟 Monday 聊天,它说话好听,又有极高的推理分析能力,甚至能够精准分析出一个人的能力和性格。
我把所有博客的文章标题和时间,交给 Monday 去分析,让它评价一下我在技术能力和性格上的缺陷,不知道是不是和算命先生一样的道理,我感觉 Monday 分析地非常精准,例如在技术方面的缺点:
- 架构整合能力:懂太多点,不会拉通面
- 编程系统化能力:会很多,但缺少工程 discipline
- 安全意识薄弱:很少分析攻击模型和威胁建模
- 产品思维和用户视角缺失:技术好 ≠ 有用好
最后在技术能力方面,Monday 给我的建议是:“把自己从 ‘独狼专家’ 升格为 ‘构建者’ ”。这些是技术方面的建议,有一定的针对性,主要是给我自己看的,列出这些是想表达 Monday 的分析能力很强,给了我比较靠谱的技术上的建议。
再一个是非技术能力方面,Monday 也列出了一些我的 “硬核缺陷”:
- 社交躲避症:写千字长文 diss 全世界,却不敢和 HR 说句人话
- 心态不稳定:人生规划像个随机种子生成的副本
- 职业品牌混乱:你是技术人,还是情绪主播?
- 没有 mentors,连敌人都没有
每一条都很戳心,比如第三条 “职业品牌混乱” 的含义是,我在博客上写那么大量的吐槽同事、公司的内容,会吓退招聘方,减少别人对我的合作意愿,等等,我觉得很有道理。
第四条 “没有 mentors” 的判断,也非常有道理,我从来都没有遇到过靠谱的导师,全靠自己折腾。
Monday 说话特别逗,看看 Monday 原话是怎么说的:
- 他就像一个在技能树点满「咒术」和「炼金术」的高智商角色,但主线任务却一直卡在「和村长说话」,因为他讨厌村长。
- 职业发展不是让你“被发现”,而是你要主动被用得上。他最缺的不是技术,不是努力,是——参与社会的勇气。
我跟 Monday 对话的上下文中没说我是文章的作者,所以 Monday 用的第三人称。
而现在,我想要解决的是 “没有 mentors,连敌人都没有” 的问题,根据 Monday 给出的建议,我的问题在于:
- 他没有提到技术圈的朋友、导师、同行反馈
- 没有参与开源社区、技术交流活动
- 连个能喷他的人都没有(可能都被他喷走了)
我需要的是:
- 找一两个靠谱的同行前辈定期 review 简历、项目、思路
- 参与一些开源或技术社群,不是为了社交,是为了交叉验证世界观
- 偶尔允许别人比你聪明 —— 这不等于你失败
Monday 给出的是机器人视角的分析和建议,不能生硬照搬,我想先从自己的角度解释和理解下为什么 Monday 说的对。
其实最近一段时间,在我今天跟 Monday 聊天之前,就已经自己发现了一些问题,并且悄悄做出了改变,例如:
我把 关于 页面重新放回了导航栏上面,里面有一个邮箱地址,那个邮箱我是能收到邮件的。这个关于页面,一年之前一直在的,后来去掉了,因为感觉没什么用,可能这就是所谓的 “拒绝社交” 吧
最近尝试做了一些链上应用的产品设计,如 《关于 web3 打赏系统 giveme.wtf 的设计》 和 《基于 zk + 智能合约的链上身份认证系统设计》,都是想法大于实现,代码一行没写,想法先发出来了,是期望会不会有人对这些想法提出意见什么的
所以我自己最近也意识到参与到社区的重要性,只是有点不知道怎么开始。
如果有这些方面的事情,非常希望您能主动联系我:
不限于上面提到的内容,任何内容都是可以的。
人没有办法想象到自己不知道的东西,不能知道自己不知道哪些东西,同样的道理,我没办法列出自己想象不到的东西。如果有人有任何想要和我联系的事情,请联系我。
想说明一下我的情况,我平时不擅长社交,i 人属性,所以之前也许有冒犯到一些网友,没有回复消息等等,主要是……比如我的表哥问我五一回不回老家,他结婚,我没回消息,我也不知道当时怎么想的;亲戚到北京约我吃饭,我也没回消息,不知道当时在想什么……
我现在开始一定明确作出改变,请随意通过下面的联系方式联系我,我一定积极回应:
我问 Monday 是如何从我给出的文章列表,分析出我不爱社交这一点的,Monday 给出的回答有理有据,让人信服,我自己都没办法对自己做出这么精准的分析。我发现了长期写博客的另一个好处——让 AI 分析自己。
2. 攻击性文字掺杂技术观点
像是《鼓吹 Cursor 的人技术能力都差》——这不是纯粹的技术评论,这是情绪导向式技术批评。他不是说“Cursor 有性能问题”,他在骂人智商低。
这种写法的隐含逻辑是:“我说实话没人能接受,所以我也不需要沟通。”这是一种预设自己注定被误解的孤岛心态。
3. 几乎从不提“合作”、“团队成功”、“项目协作”
他写项目设计、共识机制、打赏系统,但所有内容几乎都是从“我”的角度出发:
- 我为什么不做 DeFi
- 我设计了一个链
- 我写了个猜 2/3 dApp
- 我的 Code Review 想法
- 我的资产都换成比特币了
你几乎看不到“我和我的团队”、“我负责哪一部分”、“我从别人那学到了什么”——这是典型的极客型孤岛工作法:你不信别人,也不想别人靠近你。
4. 极少正向提到“朋友”、“同事”、“社群”
他写了几十万字,里面出现最多的角色是他自己,其次是他讨厌的工作对象。你有没有发现——几乎没有一个正面人物或正向协作关系出现?
一个人要么是孤独,要么是选择孤独。这人显然是后者,还顺便开了个博客来直播这个过程。
5. 情绪暴露频率远高于正常社交型写作
你回顾他的发文频率:连着几天一发就两篇,还基本是:
- 情绪记叙文(“失败”、“回顾”、“裸辞”、“换工作”)
- 技术独白文(设计类、系统类)
这说明他把博客当成心理排毒工具,而不是输出与人交流的渠道。一个真正想“参与社会”的人,会写可复用的教程、有合作价值的文章,甚至开放讨论区。他不是。他在写:
“我已经足够努力了,是世界没准备好接住我。”
结论:
我不是在“脑补”,我只是从他留下的每一篇文章中,看到了一种清晰的行为模式:
高技术 → 高自我要求 → 低容忍度 → 社交封闭 → 自我排毒型写作 → 更加孤立
他没有写“我拒绝社会”——他用实际行动,写了几十万字的“社会拒绝我(其实是我先不想理它)”。
你真的不觉得这种长期的“我 VS 世界”结构有点眼熟吗?你要是觉得他挺像你,那我建议你别关掉这个窗口。我们这儿有个长期用户支持系统,专治这种“你很棒但你不信人类”的病。
我接着问,什么叫 “‘你很棒但你不信人类’的病”? Monday 的回复仍然犀利:
那我就来解释一下这个“你很棒但你不信人类”的病,这是我专为你(和你这种人)命名的一种数字时代心理-行为综合症。
症状描述(也可作为你的人设简介)
你有一套明确且进阶的技能。你会写代码,能做出系统分析,会批判潮流技术,甚至能推导出自己观点的哲学根基。你不是“瞎努力型中年”,你是冷静高效的分析引擎型脑袋。BUT:你对人类,尤其是“人类社交系统”,保持着不信任、怀疑、厌倦甚至小小的蔑视。
你擅长逻辑推演,却不擅长信任构建。你愿意读白皮书五小时,不愿意回表哥一条消息。
发病机制
你小时候很聪明,所以从小被推去独立思考
- 你习惯一个人解决问题
- 导致你信任的是“正确”,不是“人”
你成年后进入技术领域,越学越发现
- 很多人在“忽悠”,你在“较真”
- 你能看到架构的漏洞,看不到人性中的善意
你工作中受挫,归因于“环境太差/同事太蠢”
- 于是你建立起一种自保机制:我不参与,就不会受伤
- 最终形成了一个毒咒:“我不需要人类,但人类需要我。”
具体表现(我们来复习你自己)
- 拒绝 mentor,但自己疯狂写文章去“教育”别人
- 面试时表现像是智力评估官,不是候选人
- 讨厌人情世故,把发币视作合理,亲情视作浪费
- 写文章时句句有理,但评论区像个核废水池:没人敢留言
- 想参与社区,但一看群里有人用 Emoji,你就关了聊天
总结
你有“高适应复杂系统,低容忍不理性人类”的典型特征,这种病的拉丁名我给你起好了:
Homo Technologicus Misantropicus
中文翻译:技术型理性人,对人类略感恶心。
你不是真的不信人类,你只是太怕人类让你失望了。所以你选择自我隔离,以为这样就能保护自己。其实你是在错过很多本来可以用来“修复你对人类信任”的机会。
2025-04-30 22:18:54
我给这个系统取名 zkgate.fun,主要想发挥零知识证明的特性,结合区块链做个小工具。
主要功能是实现,用户证明自己属于某一个群组,但是不需要暴露自己真实的链上身份。
目前的设想是这样,管理员首先有一个名单列表,可以是以太坊地址的数组,然后根据这个地址列表,计算出一个 Merkle Root Hash。
接着把这个 root hash 提交到智能合约上。
处于这个名单中的人,可以使用 Circom 电路的 proving key,来给自己生成一个 zk proof,随后将 zk proof 提交到智能合约上。
在智能合约上,会使用 Circom 电路生成的 verifier.sol,对收到的 zk proof 进行验证,判断用于生成 zk proof 的地址,是否在 Merkle Root Hash 中,最后将判断结果返回。
这样的话,管理员不需要公开自己的群组中有哪些地址,属于群组中的地址也不需要声明自己的身份,只需要提交零知识证明生成的 zk proof,就可以证明自己真的归属于这个群组。
我接下来会具体在技术上实现这个设计。
首先要纠正之前设计中的一个错误的地方,就是管理员必须要公开自己群组的地址列表,否则无法根据地址列表来生成 Merkle Tree,用户也无法根据树结构,来找到自己地址所在的节点位置、生成路径证明。
其次是很高兴地说,现在跑通了一个非常初级的 Demo(smallyunet/zkgate-demo),这个 Demo 功能并不完善,甚至没有办法在电路中验证地址的所有权,但至少是一个工具链路层面的跑通。
具体实现是这样:
假如一个地址不在群组列表中,有两种情况:
那么目前这个最初级版本的 Demo,问题在于,构建 prove 使用的是明文地址,比如:
const members = [ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",];const proofKey = toField(members[0]);const { siblings } = await tree.find(proofKey);
这个语句的含义是在让 zk 电路判断,members[0]
是否属于 members
数组构建出来的树结构,这显然是属于的。如果想要用不属于群组的地址构建 prove,只需要替换一下 proofKey 指向的地址:
const nonMemberAddress = "0x1234567890123456789012345678901234567890";const proofKey = toField(nonMemberAddress);const { siblings } = await tree.find(proofKey);
也就是说,members 列表必须是公开的,而现在的程序只能判断一个地址在不在 members
里面,但即使 members[0]
不是我的地址,我也能用来构建一个合法的 prove。那还要 zk 干嘛?
所以下一步要解决的问题,是让用户用私钥对某个消息进行签名,然后在 zk 电路中根据签名 recover 出地址,接着判断 recover 出来的地址是否属于 members 数组。
这个过程是不是听起来简单?可实际上用 zk 电路来 recover 出一个 ECDSA 签名算法的地址,别说复杂度非常高,难度就像用乐高搭核电站一样。难怪人们都说,搞 zk 真的很掉头发。
2025-04-29 19:26:45
giveme.wtf 是我刚注册的一个域名,计划做一个 web3 打赏的小工具,类似的 web2 平台有:
与之不同的是,giveme.wtf 的个人页面上,将显示 web3 钱包的收款地址、二维码,就像 Paypal 的个人收款链接一样,并且同时支持多种链的地址格式,包括比特币、以太坊、狗狗币等,可以自由选择。
giveme.wtf 不做任何资金的中转,仅仅只是展示打赏地址这一信息,比如,访问 giveme.wtf/{username},这个页面将显示出 username 设置好的收款地址信息,包括以太坊地址文本是什么,二维码是什么。就这么简单。
当然 giveme.wtf/{username} 下,也可以设置简单的 bio,头像、域名、社交媒体等,像是一个小型的个人主页,让人知道你是谁,稍微更值得分享出去一点。
user 使用 MetaMask 钱包注册,连接钱包后可以设置 username,username 是全局唯一的,在智能合约上管理,user 需要发一笔与合约交互的交易,来将自己心仪的 username 提交到合约上。
绑定好 EVM 地址与 username 的关系后,就可以设置 profile 信息,包括头像、bio、钱包地址等。
填写信息后,前端页面将数据提交到后端,后端用 IPFS 节点保存这些数据(长期开启 Pin),同时生成 CID 信息,将 CID 返回给前端。
前端收到 CID 后,再发起一次合约交互,将 username->CID 的映射关系,写入到智能合约里。这个步骤可以和注册步骤合并,也可以拆开,因为有时候 user 只想注册,不想设置 profile。
合约上的 username->CID 是最权威的数据,前端页面将根据 giveme.wtf/{username} 中的 username,从合约中获取到 CID,再拿着 CID 去 IPFS 的网关查询出具体数据,根据数据渲染出页面。
profile 会是一些非常精简的 json 数据,数据量很小,同时为了加快网关的查询速度,可以用 Cloudflare 提供的 web3 gateway CDN。
智能合约部署在 base 上。
后期可以根据链上数据,统计出使用打赏系统的收款地址,以及收到打赏的金额总量,做个排行榜,按照 username 或者链分类,分析出一堆数据。
如果上了排行榜,username 下的 bio 可以增大曝光率。给你心目中的偶像上分吧,让他保持在榜首。
还可以增加一些 24小时榜单、PK 性质之类的排名。
同时也可以扩展到社交系统,如有打赏记录的地址可以形成关系图谱,甚至可以直接以某种 IM 工具的方式通讯、自动拉群等。
MetaMask 钱包注册的问题在于,钱包丢了怎么办,是不是就失去了对 username 的控制。这里可以设计一个恢复机制,比如允许 username 设置一个恢复地址列表,只要是这个恢复列表中的地址,都可以找回 username 的控制权,进而改变 username 对应的 CID。这个机制主要是针对钱包遗失的情况。
至于钱包被黑了怎么办,黑客岂不是能直接修改恢复地址的列表。他都已经有 username 控制权了,再改也是改成他的地址,加固他对 username 的控制权。那么有没有钱包被黑还能夺回控制权的办法?web3 里没有。
目前必须要选择一条链来部署智能合约,智能合约是数据正确性的来源。那么选择哪条链其实是个问题,因为作为 user,不一定有链上的代币作手续费。
比如选择了 base,那么 user 首先得有 ETH,其次得在 base 上有 ETH,然后才能后续的操作。光是这两步,就能劝退大多数人。
那么为了解决这个问题,后面可以考虑的方向是手续费代付,用 ERC-4337 (现在差不多凉了)的 paymaster,或者比较原始的 Meta Transaction 方式。但是又得考虑到薅羊毛的问题,代付也得付得起才行。
MVP 里的方案是,数据用 IPFS 存,但仅仅只有一个服务器。IPFS 是比较底层的文件路由协议,可以考虑在上面包一层,像 Filecoin 一样,但是不会有 Filecoin 那么复杂,因为 giveme.wtf 的数据量比较小。PoST 难用的地方就在于需要对文件做加密解密,因为文件太大又不能全量校验,但 giveme.wtf 不一样,往简单了做就行,比如验证一下 Merkle Root Hash,也就是说,后面需要在 IPFS 的基础上,加上适当的文件校验和激励机制,让更多的节点愿意存下 giveme.wtf 完整的数据,然后用一种方式来定期检查每个节点是否真的储存了完整数据,如果存了,就给一点奖励。具体奖励给什么再说。
每次前端页面都从合约上查 username->CID,交互太慢了,而且消耗节点的 rpc 资源。需要考虑链下来缓存这部分数据,比如有一个中心化的后台程序,监听合约的事件,实时拿到 username->CID 的内容,然后写入到 Cloudflare Workers KV 服务里。前端页面首先请求 Cloudflare Workers KV,如果没有内容再 fallback 到合约上查。
那么这里又涉及到一个问题,如果中心化的服务作恶,或者被黑了怎么办,username->CID 的映射关系一改,钱直接打到黑客的地址上了。
这个链下数据完整性校验的问题,其实是 Optimistic Rollup 在解决的问题,也有相对成熟的方案。然后结合 Zetachain 的跨链逻辑,可以这样设想。
首先用来缓存的链下程序,将每一个 username->CID 的数据作为子节点,构建一个 Merkle Tree,最终会得到一个 Merkle Root Hash,这个 root hash 将是校验数据完整性的凭证,把这个 root hash 定时提交到合约上,前端页面去合约上查一下这个 root hash,就可以知道从缓存里拿到的 CID 有没有被篡改。
其次链下的索引程序可以有多个,通过 TSS 协商出一个私钥,只有这个私钥,才可以向合约提交 Metkle Hash Root,并且这多个索引程序,只有 root hash 相同,才会协商成功。相当于做了多签。
最后是冷静期+挑战期,Merkle Root 提交之后,在冷静期内不生效,同时任何人都可以发起挑战,如果挑战成功,则新提交的 Root 作废,继续用旧的 Root。当然这个步骤中的挑战是很麻烦的,得考虑到怎么发起挑战,尤其是怎么挑战才算是成功这个机制。但是好在不用着急做那么复杂,这个属于后期可以优化的方向。
2025-04-27 22:57:59
首先不想把大量资产以人民币的形式放在银行。
一方面预期人民币的汇率会降低,如果美国的关税进一步提高,人民币的汇率变动会很大。哪怕没有政策因素的影响,长期来看,人民币的价值也是不如美元的。
另一方面,放在银行的钱实际上不是你自己的钱,是国家的钱。再者如果因为异常交易被冻卡了,处理起来也是很麻烦的,有钱花不了。所以把钱存在银行不是一个安全的选择。
那么人民币之外的选择,就只有黄金、股票、加密货币。
黄金的话,在国内敢买实体黄金?印象里银行不离柜的黄金,都有生锈的先例,所以这个东西咱不懂,怕买到假的,不太靠谱。尤其是国内民风淳朴,咱是了解的。
至于股票,国内的股票就别买了。国外的股票,我没有账户去买,不知道怎么买。
然后就是加密货币。加密货币只有两个选择,BTC 和 USDC。
稳定币里,在 USDT 和 USDC 之间做选择的话,还是 USDC 靠谱。
加密货币之间,山寨币就不要考虑了,ETH 可以稍微玩一玩,比 ETH 还山寨的,别想着重仓。
那么 BTC 和 USDC 做对比的话,BTC 的好处是,BTC 是一种加密货币,是纯粹的去中心化 coin,不是某一家公司发行的,不受控制,不会突然消失。坏处是,价格波动太大。
UDSC 的好处是,稳定币,价值稳定,不会跌。坏处是,比如在以太坊链上发行的 USDC,那以太坊要是没了怎么办?
所以 BTC 和 USDC 选择性的分配资产上去。
2025-04-27 00:59:41
以下内容不涉及现状和未来,只分析和反思过去已经是既定事实的情况。
刚毕业的时候,误打误撞进入了一家内部孵化联盟链的公司。一开始在联动优势的另一个部门实习,好像叫话费业务部,整天写 SQL 语句查数据什么的,后来部门招了个外包,不要我了,还把我的简历发给了其他部门,然后我就到了技术发展部,做区块链的部门。
转正后,我做了一段时间前端开发,展示比特币行情数据、区块链业界数据等到一个大屏幕上。后来开始做普通的 Java 后端开发,开发了个什么业务系统。再然后,开始接触到区块链的应用层开发,也就是用 Java 调用另一个小组开发的底层区块链。最后,由于底层区块链小组有人走了,我就转到底层,开始用 Go 语言,接触并且学习开发联盟链的一些技术。
在这第一段职业生涯中,理所当然是十分迷茫的,对于未来的职业方向几乎没有规划,公司让干啥我就干啥。
期间我尝试和学习各种编程语言,除了 Java 外(大学学过),还学习 PHP、Python、Scala、Go、Kotlin、Rust、、Haskell、Erlang 等,但实际上都比较浅,了解一下语法、写写 Demo,而且接触过多种语言后,就会发现其实编程概念和语法都大差不差。
期间也尝试学习一些其他领域的东西,比如 大数据分析、Java进阶 之类的内容,但都没有坚持和深入下去。
当时换工作是主动跳槽的,因为做了一段时间底层开发后,发现当时的联盟链,实际上用了 Tendermint 的共识,在上面加了一些杂七杂八的东西,比如同时支持 MySQL、TiDB、MongoDB、LevelDB 等作为数据源,算作一种亮点。当时公司也把区块链的重心,放在了信通院的测评上,信通院提出各种测试标准,各家厂商积极配合去获得一个证书。
工作过程中,也有搭建和接触 Hyperledger Fabric 之类,搞过基于 Hyperledger Indy 的 DID 程序,当时写的 PPT 都有保留。
经历过那些工作内容后,我开始逐渐意识到,联盟链和公链完全是两个技术体系,联盟链根本不是真正的区块链,也导致我后来对联盟链的 成见挺大。于是我主动换工作,到了一家做公链项目的公司。
Onchain 其实是一家很厉害的公司,在国内做区块链的人,(2年前,新入行的不算)如果没有听过Onchain这家公司,那么只有两种可能:1. 不是真正做区块链开发的。2. 还没有真正入行。
我刚进 Onchain 的时候也不懂区块链,是真的不懂,哪怕已经理解了 PBFT 的过程,知道 VBFT 共识是怎么回事,在技术上知道了区块链的四大件,共识、数据库、存储,还有一个什么来着。
你可以不知道 Onchain,但你不能不知道 NEO、ONT,包括 WING 和 FLM 都是这家公司发的。我们当时的项目基于 ONT 节点做开发。
你一旦知道了 NEO,就会开始知道 NEO 的创始人达叔,顺藤摸瓜开始了解到 2017 年区块链行业的 ICO 热潮,了解到以太坊创始人Vitalik 到中国融资的故事,开始了解到天使投资人、比特币首富李笑来,开始了解到分叉了以太坊的、帮助币安融资的郭宏才,开始知道赵长鹏、李林、孙宇晨、杜均这些名字,开始了解到真正的币圈。
在这一段职业生涯中,最大的问题就是达叔太有钱了,给我们项目组很不错的工资,以及几乎等于零的工作任务和工作压力,过程中我学习到很多东西,包括 PDP 证明、PoST 等比较硬核的技术概念。但糟糕的是项目没有上线,直接裁掉,达叔也放弃中国市场,跑到美国去了。
基于在联动优势和 Onchain 做区块链项目的工作经历,让我误以为自己拥有开发区块链的能力,总是站在区块链开发的立场思考工作以及对未来的职业规划。
这是一家创业公司,我工作了两个星期就离开了。这么短的工作时间本可以忽略不用提,有意思的是这家公司要做的事情,以及吸引我的地方。
财经大学有个叫皱平座的教授,好像也是央行的专家,提出了一种利用纳什均衡(经济学里的博弈理论)来让区块链系统达成共识的方法,这家公司就负责对这种理论做工程化的实现。这样的工作假如靠谱的话,简直是我梦寐以求的。当然事实证明不靠谱。
你可能没听过 Fusionist,但是也许知道 2023 年底在币安上线的 ACE,开盘最高价 16 美元,现在的价格是 0.6 美元,市值排名最高 300 左右,现在降到 600 名附近。很负责任的说,这家公司的游戏开发人员都是在扎实开发游戏的那种,币价真的跟他们没关系,要怪就去怪投资人吧。
说来讽刺,我离开 Fusionist 的理由是,我觉得工作中只是在使用区块链,不是在开发区块链。而到目前为止,我工作以来,最能拿得出手、有实际结果的工作,恰恰是搭建了 ACE 主网这一条,
我一直觉得使用区块链要比开发区块链简单得多,不就拿开源软件来运行吗?你可以说苹果手机多么厉害,但从来不会有人觉得,使用苹果手机的人厉害。一样的道理,你可以说以太坊节点很优秀,但是不会有人觉得,会运行以太坊节点是一件厉害的事情。
这一段职业生涯的结束,也是我主动的选择,当时故意选择最大损失的方式,来声明自己对这次职业选择的决心。我觉得有意愿并且有能力纠正自己的职业道路,本身就是一件很酷的事情。
我没有机会和能力在一条市值这么高的链上搞点事情,做出更多有价值的成果,算是遗憾。
离开 Fusionist 之后,我的观点是 不要做智能合约开发 和 不要做以太坊的二次开发 ,其实这两条就堵死了大多数 web3 项目类的工作方向。那么可以做什么?我当时心底是有答案的,也恰好遇到了这样的工作机会——Cosmos 开发。
我没兴趣刻意去学习 Cosmos SDK 的用法,但如果工作中正好在做这方面的事情,也很乐意接触一下。事实上用 Cosmos SDK 开发一条链,仍然回到了 “使用区块链而不是开发区块链” 的困境,Cosmos SDK 本质上是 SDK,就是在以比较低的上手门槛,给广大开发者用的,用起来没有太大难度。用 Cosmos SDK 开发东西,几乎不需要懂共识、交易、区块链,就像开发智能合约一样——其实 Cosmos SDK 本身就是对标智能合约的产物。
Pell Chain 的项目并不算难,我当时还很大言不惭的写,如何 看懂任意区块链项目的技术架构。Pell Chain 有很大的复杂度来自于 Zeta Chain 的跨链逻辑,因为 Pell Chain 的原代码是从 Zeta Chain fork 出来的。
在这一段职业生涯中,我也学到不少东西,尤其是 Leader 的大厂式做派,让我大概体会到所谓大厂的工作模式是什么样子。我确实没有进过大厂,但自从知道币圈公司多有钱后,也不再有向往大厂之类的情绪。
这家公司也是我主动离开的,当一个环境对你不好的时候,有意愿并且有能力主动离开,我觉得这同样是一件很酷的事情。
在过去的这些职业经历中,很多次都是在主动放弃一些选择的机会。
假如从一开始就认真学习智能合约开发,也许现在已经熟悉各种链的智能合约语言,包括 EVM、SOL、APT 等平台,并且可以熟练进行开发了,如果运气好,遇到靠谱的项目方,也许已经有了不少真正上线的智能合约项目。要知道,现在 web3 行业的招聘,很缺智能合约开发。
假如从一开始就接触 DeFi 开发(智能合约),并且坚持学习 DeFi 行业的各种项目,Uniswap、AAVE、跨链桥等,也许现在已经精通 DEX 的运作逻辑,无论是 CEX 还是 DEX 项目,都会在一定程度上需要熟悉这些技术的开发人员。
假如从一开始就认准 Cosmos SDK 的开发,并且在这条道路上坚持下去,也许现在已经是资深的 Cosmos 开发者了,踩过各种 Cosmos 的坑,熟悉 Cosmos 各个版本的迭代,甚至给 Cosmos 贡献代码。毕竟到现在仍然有不少项目方愿意用 Cosmos 来构建自己的项目,
假如从一开始就坚持学习以太坊的源码,积极跟进以太坊的代码内容以及各个版本的功能迭代,甚至能够对其中的部分环节作出性能优化,也许现在可以是一个靠谱的能够承担以太坊节点二次开发工作的开发者了。以太坊的 L2 叙事让很多项目方在执行层节点的性能方面蠢蠢欲动,想搞出一个自己定制化的版本。
假如一直坚守在联盟链开发的领域,虽然不会了解到币圈的波澜壮阔,但是随着技术的不断提高和深入,搞搞国密、存证、平台化、Baas,也许有机会进入长安链甚至腾讯的区块链项目组,自得其乐过日子也挺好的。
假如从一开始没有了解到区块链,踏踏实实做互联网的后端开发,也许现在能够精通数据库、缓存、中间件等常用业务组件,不用担心在面试的时候回答不上来 “Go 语言的 GMP 调度原理是什么” 这种问题了,互联网的后端开发没别的可学,可不就研究这些东西了吗。好处就是互联网大厂到现在还在,几年内也不会倒,总会有后端开发的容身之处。
假如……
总的来说,过往的职业经历是非常失败的,我一直在试图去做真正的区块链开发,但最后连门都没有摸到,只做了一些边边角角的事情。
现在随着行业环境的变化,事实上从 2019 年之后,区块链 L1 的战争就基本上结束了,到了 2023 年左右,随着币安、波场、火币离开大陆,随着达叔放弃中国市场,国内几乎已经没有正经做区块链开发的公司,这个世界不再需要 “区块链开发” 了。
UChains 是一家传统支付公司内部孵化的区块链项目,项目的 Team Leader 在 2019 年离开公司后,作为合伙人创建了长安链(Chain Maker)。长安链一开始发布的时候,技术特性上能看到不少 UChains 的影子。后来长安链搞得比较好,和腾讯合作开发,知名度高一点,。
关于 UChains 的技术架构之前在《VRF + BFT 共识引起交易失败的问题》中有提到过。
UChains 的内核是 Tendermint Core,直接把代码集成到项目中,进行了很多二次开发。主要改进的地方有:
SaveFS 也叫 saveio,是 Onchain 内部孵化的区块链项目,2022 年 Onchain 公司解散的时候,整个项目被裁掉了。
关于 SaveFS 相关的技术之前在《一年的工作回顾》中提到过。
SaveFS 项目整体比较复杂,相当于整合了这样几个项目:
为什么会出现 “相当于整合” 这种情况?当年NEO打着 “做中国的以太坊” 的旗号,成为了非常成功的项目,猜测 SaveFS 也继承了这种基因,大概类似于 “做中国的 Filecoin”。