以下内容不涉及现状和未来,只分析和反思过去已经是既定事实的情况。
刚毕业的时候,误打误撞进入了一家内部孵化联盟链的公司。一开始在 **** 的另一个部门实习,好像叫话费业务部,整天写 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 都有保留。
经历过那些工作内容后,我开始逐渐意识到,联盟链和公链完全是两个技术体系,联盟链根本不是真正的区块链,也导致我后来对联盟链的 成见挺大。于是我主动换工作,到了一家做公链项目的公司。
**** 其实是一家很厉害的公司,在国内做区块链的人,(2年前,新入行的不算)如果没有听过**** 这家公司,那么只有两种可能:1. 不是真正做区块链开发的。2. 还没有真正入行。
我刚进 **** 的时候也不懂区块链,是真的不懂,哪怕已经理解了 PBFT 的过程,知道 VBFT 共识是怎么回事,在技术上知道了区块链的四大件,共识、数据库、存储,还有一个什么来着。
你可以不知道 **** ,但你不能不知道 ** 、**,包括 ** 和 ** 都是这家公司发的。我们当时的项目基于 ** 节点做开发。
你一旦知道了 **** ,就会开始知道 ** 的创始人 **,顺藤摸瓜开始了解到 2017 年区块链行业的 ICO 热潮,了解到以太坊创始人 Vitalik 到中国融资的故事,开始了解到天使投资人、比特币首富李笑来,开始了解到分叉了以太坊的、帮助币安融资的郭宏才,开始知道赵长鹏、李林、孙宇晨、杜均这些名字,开始了解到真正的币圈。
在这一段职业生涯中,最大的问题就是 ** 太有钱了,给我们项目组很不错的工资,以及几乎等于零的工作任务和工作压力,过程中我学习到很多东西,包括 PDP 证明、PoST 等比较硬核的技术概念。但糟糕的是项目没有上线,直接裁掉,达叔也放弃中国市场,跑到美国去了。
基于在 **** 和 **** 做区块链项目的工作经历,让我误以为自己拥有开发区块链的能力,总是站在区块链开发的立场思考工作以及对未来的职业规划。
这是一家创业公司,我工作了两个星期就离开了。这么短的工作时间本可以忽略不用提,有意思的是这家公司要做的事情,以及吸引我的地方。
财经大学有个叫 ** 的教授,好像也是央行的专家,提出了一种利用 **** (经济学里的博弈理论)来让区块链系统达成共识的方法,这家公司就负责对这种理论做工程化的实现。这样的工作假如靠谱的话,简直是我梦寐以求的。当然事实证明不靠谱。
你可能没听过 **** ,但是也许知道 ** 年底在币安上线的 **,开盘最高价 ** 美元,现在的价格是 ** 美元,市值排名最高 ** 左右,现在降到 ** 名附近。很负责任的说,这家公司的游戏开发人员都是在扎实开发游戏的那种,币价真的跟他们没关系,要怪就去怪投资人吧。
说来讽刺,我离开 **** 的理由是,我觉得工作中只是在使用区块链,不是在开发区块链。而到目前为止,我工作以来,最能拿得出手、有实际结果的工作,恰恰是搭建了 *** 主网这一条,
我一直觉得使用区块链要比开发区块链简单得多,不就拿开源软件来运行吗?你可以说苹果手机多么厉害,但从来不会有人觉得,使用苹果手机的人厉害。一样的道理,你可以说以太坊节点很优秀,但是不会有人觉得,会运行以太坊节点是一件厉害的事情。
这一段职业生涯的结束,也是我主动的选择,当时故意选择最大损失的方式,来声明自己对这次职业选择的决心。我觉得有意愿并且有能力纠正自己的职业道路,本身就是一件很酷的事情。
我没有机会和能力在一条市值这么高的链上搞点事情,做出更多有价值的成果,算是遗憾。
离开 **** 之后,我的观点是 不要做智能合约开发 和 不要做以太坊的二次开发 ,其实这两条就堵死了大多数 web3 项目类的工作方向。那么可以做什么?我当时心底是有答案的,也恰好遇到了这样的工作机会——Cosmos 开发。
我没兴趣刻意去学习 Cosmos SDK 的用法,但如果工作中正好在做这方面的事情,也很乐意接触一下。事实上用 Cosmos SDK 开发一条链,仍然回到了 “使用区块链而不是开发区块链” 的困境,Cosmos SDK 本质上是 SDK,就是在以比较低的上手门槛,给广大开发者用的,用起来没有太大难度。用 Cosmos SDK 开发东西,几乎不需要懂共识、交易、区块链,就像开发智能合约一样——其实 Cosmos SDK 本身就是对标智能合约的产物。
**** 的项目并不算难,我当时还很大言不惭的写,如何 看懂任意区块链项目的技术架构。**** 有很大的复杂度来自于 Zeta 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 年左右,随着币安、波场、火币离开大陆,随着 ** 放弃中国市场,国内几乎已经没有正经做区块链开发的公司,这个世界不再需要 “区块链开发” 了。
**** 是一家传统支付公司内部孵化的区块链项目,项目的 Team Leader 在 2019 年离开公司后,作为合伙人创建了**** 。长安链一开始发布的时候,技术特性上能看到不少 **** 的影子。后来长安链搞得比较好,和腾讯合作开发,知名度高一点,。
关于 **** 的技术架构之前在《VRF + BFT 共识引起交易失败的问题》中有提到过。
**** 的内核是 Tendermint Core,直接把代码集成到项目中,进行了很多二次开发。主要改进的地方有:
SaveFS 也叫 saveio,是 **** 内部孵化的区块链项目,2022 年 **** 公司解散的时候,整个项目被裁掉了。
关于 SaveFS 相关的技术之前在《一年的工作回顾》中提到过。
SaveFS 项目整体比较复杂,相当于整合了这样几个项目:
为什么会出现 “相当于整合” 这种情况?当年**** 打着 “做中国的以太坊” 的旗号,成为了非常成功的项目,猜测 SaveFS 也继承了这种基因,大概类似于 “做中国的 Filecoin”。