2019 年总结杂谈和展望

17 minute read Published: 2020-01-04

2020 年来了,对我来说很重要的 2019 年已全部远去。

以前从来没想过要以什么样的心情和状态去迎接 2020 年,可时间就是这么逝者如斯,转眼一个世纪都已经过去了五分之一。2019 年应该是对我非常重要的一年,在这里既做出过重要决定,也有所收获,无论以后怎么看,它都值得在此刻写下记录和回顾。

2019 年做出的最重要的决定就是,我把加密货币作为自己的职业方向领域。最早的时候,我最想要的工作领域是保密传输协议,这个想法最早能追溯到 2011 年,它也是我认同的「即时通讯自由」。但在 2019 年,我把它的优先级降低了,变成了第二关注点,第一关注点变成了加密货币,也就是「货币自由」。

为什么发生了这种变化?一个原因是从 2011 年到 2019年,似乎在网络协议方面,尤其是保密传输,已经有比较成熟的方案了。另一方面,加密货币在近 10 年里,作为一个新事物开始流行起来。没有哪个领域能像加密货币那样充满争论,技术和经济、政治、哲学的观点紧密相连,它们前所未有地混合在了一起。抛开投机者不论,只说领域内的研发/研究人员,对不同技术选型的偏好都反映了个人背后的政治哲学观点。所以加密货币比网络传输有着更大的愿景。第二个也与自己的经历有关,目睹了高通胀对财富的洗劫,去中心化货币的需求显得更为迫切,而加密货币是目前看起来最有可能实现这一点。最后,这两个关注点其实也有很强的关联,也许以后它们会合二为一呢,比如现在也有基于 IM 的 Token。从原理上来看,它们的共同知识点是密码学和网络,像 Openssl 在传输协议、比特币里面都有着非常重要的作用。

对于加密货币的未来会怎么样,这个很难预测。但有个很有意思的类比,我至今还没有发现谁同样也注意到过。我认为上一个具有同样大抱负的运动是世界语 Esperanto,它试图让全世界讲一种语言,人们之间再也没有沟通障碍。我自己学人造语言 Elefen 还在了解比特币原理之前,当时在 2017 年觉得花点时间可能只要几个月就能掌握一门罗曼语,还是挺有意思的。就学习体验来说,人造语言一般目标是半年学习就能上手,而 Elefen 是非常简洁而一致的,符合我的偏好,如果全世界都能以一门人造语言作为第二语言,那绝对是件幸事,可惜也只有想想了。

把人造语言和加密货币对比着来看就会发现许许多多的共同点,也许这些特征都会出现在想改变一些基础定义(比如语言和钱)的运动上面。同样雄心勃勃试图改变世界(一个想改变人对语言的定义,一个想改变对钱的定义)、同样创世之光(第一个项目)在设计上有许多缺陷、同样地被分叉(为了修复世界语的一些缺陷,世界语后面有分出了两个主要的分支:Ido 和 Interlingua)、同样在认同的人里面弥漫着宗教情绪(世界语在全世界各地都有协会,会说世界语就是兄弟姐妹,其它人造语言语种里面也有这种认同感;加密货币里面每个币种都有 Maximalism,只认为自己的币最好,其它都是 shitcoin)、同样的最初的项目一家独大。

加密货币的结局会像人造语言一样吗?也就是最终是失败的,变成了小打小闹,但也不会最终消亡,仍有一个紧密地圈子在继续发展,另外绝对人数并不少还有几百万人(比得上一些小国家)在使用,并且最初的项目仍是受众最多的。让人学人造语言容易,还是接受加密货币容易?它们都需要改变人的观念,这恰恰是说难也难、说容易也容易的事情。但我认为人们对钱,也就是经济上的差异更敏感,相比于语言,他更有动力去改变对钱的观念。加密货币能在主权国家内自发地流行开来吗?我认为这不仅仅取决于项目本身有多好,更重要的是所在国家或地区的货币政策有多差。就像一部老电影里说的那样:皇帝需要惧怕丐帮的人多势众吗?如果国家治理得好,哪里有人愿意做乞丐。但恰恰是没有一个国家能抵抗印钞票的诱惑,无论它是纸质的还是数字的,所以我对加密货币的未来是有信心的,它绝对不会缺少「神助攻」。

再谈谈加密货币后面的「去中心化」。把去中心化往一般来说,加密货币只是最近十年对钱去中心化的一个尝试,所以去中心化是一面更大的旗帜。去中心化在不同人的语义里面,可能指的意思都有很大差异,这里只谈我对去中心化的理解。去中心化要给个体更多自由权利。由于过去的条件限制,很多想法都没办法实现,所以导致了现在的方案。这个「过去」,往短的说,可以是几十年,比如在网络服务里面 C/S 结构到 P2P 结构的转变;往长了说,可以是几千年,比如政府体制的变化。这些当下的结构都不是必然如此的,虽然里面的既得利益者往往会声称生来如此。加密货币想改变的就是钱,把创造钱的权利由中央银行拿给人民。去中心化让每个人都能更方便的获取以往没有的权利。人们不一定真的要实施这个权利,但他想的话,他能更容易、更低门槛地去做到,这种选择的自由很重要。有些技术能促成这种权利下放,它是去中心化的技术,比如加密货币。有些技术不是,它处于另一端,它让政府/大科技公司(Gov/Big Tech)比以往更方便的驾驭某些能力,或者利用新技术从而拥有了以前没有的某些能力,比如人工智能。我在这里不是说人工智能不好,只是它从技术属性上就具有这样的特征,大量数据源、昂贵硬件只会把普通人拒之门外,而政府/大科技公司则是如虎添翼。从这个角度来看,我对加密货币 PoS 方案也称不上满意,PoS 虽然减少了 PoW 的能源消耗,但它不是去中心化技术。如果以鸡蛋和墙、蚂蚁和大象类比,PoS 让墙永远是墙,而且是越来越坚固的墙,它把墙变得坚固的过程变得轻松而简单,降低了这个过程的门槛,这完全是去中心化的反面。去中心化要把权利给鸡蛋,降低鸡蛋获得权利的门槛,墙则要小心翼翼,让技术来限制大象不能践踏蚂蚁。在某种诡辩的思维下,在去中心化前面加上不同的主语,「什么东西」去中心化,去中心化可以有一个完全相反的含义,也就是中心集权化。某个东西非中心者不可拥有,某件事情非中心者不可办到,非中心的人永远也不可能获取到这个东西。从这个含义上来看,大数据、人工智能都是【去中心化】。

谈了那么多加密货币,下面谈对 2020 年的展望。2020 年已是自己工作的第三年了,按照比尔·盖茨的说法,程序员在工作三年时就会反映出他到底优不优秀,这真是贩卖焦虑呀。

希望在这一年自己能够再下沉一点,在技术方面继续学习基础原理性的教材。自己不懂的东西真是太多了,「见贤思齐焉,见不贤而内自省也」。

尝试用不同编程范式写东西,在 2019 年的后几个月,看完了 Pony 和 Carp 的教程资料,这下可以用 Rust、Nim、Pony、Carp 多写写实践代码了。

在 2019 年主要靠小本子实施 GTD,今年要使用一套 App 组合,来体验一下电子 GTD 的优缺点。

另外多尝试一些写作,尤其是叙述性的写作。写作不能只是要点清单的形式,这样的写作是机械的,感觉不到里面作为人的气息。只列出要点清单,而没有说清它的逻辑、内在联系,这是买椟还珠,对问题的思考过程其实更值得被记录下来,叙述性写作恰恰能做到这一点。列要点可以用来做前期头脑风暴,但不能作为最终记录主体。

最后记录一下 2019 年看过的书籍。

在年底时看的这本书是今年印象最深刻的书。当我在写代码的时候我想的是什么?什么是好代码?这本书讲的就是这些。不一定要生搬硬套,但先自己按照里面的原则写上一年再说,直到形成自己的体会。

上半年看的印象最深的书,从代码层面将清楚了比特币节点在干什么,我也尝试用 Rust 完成了前面 7 章的内容,2020 年要继续写这个项目。

第一时间买了这个书看完,内容很好,国内能出一本这样的书还是了不起的。

如果《A Philosophy of Software Design》是在代码编写层面讲如何降低复杂性,那这本书就是在更高的层面讲如何降低复杂性。里面对于建模的认识我尤其喜欢和似曾相识,也许是因为我把它类比到了控制论中的建模。软件要对现实中的业务建模,建模需要领域知识,模型建得越不走样,越能反映出业务本质,复杂性就越低。但模型不是对现实的照搬模仿,它需要对现实进行抽象,模型实现的是这个抽象。

RSM 的固执和目光长远恰恰是对自由软件运动来说是最宝贵的。自由不是靠施舍,还是许许多多的人不懈斗争而来结果,而且远没有胜利,甚至还有凋亡的风险。

程序员的事情几十年都没变,现在网上一堆程序员讨论来讨论去的事情,都可以在这本书里面找到相似的内容。

一本介绍门罗币的小册子,内容深度和广度都和《Mastering Bitcoin》差很远,但仍值得一看,毕竟门罗币的资料真是一片荒芜。

用一个例子程序,从小到大逐步编写,介绍了测试驱动开发的过程。

如果怀着《Mastering Bitcoin》的期望去打开这本书,那一定会大失所望。这本书更适合的名字是以太坊智能合约扫盲。

介绍了一种挺有意思的日常事项管理方法论,核心和 GTD 差不多,它的载体是一个笔记本,通过一套记笔记的方法来管理个人的生活,让它井井有条。我已经实施了大半年,但我还是更习惯于 GTD,也许今年可以尝试把两者结合起来。

介绍和睡眠相关的知识点,内容含量其实很少,但日本书籍就是这种啰嗦特性,适合在通勤中阅读而不会让你感觉信息密度太高。

对一位研究共情的神经科学家的采访。共情对人类的进化非常重要,不需要真的去体验就能获得相似的感受。

2019 年看完一半的书籍:

《Redis 入门指南》

《黑客与画家》

另外在 2019 年还看过许多其它材料,值得记录的应该都会发布到博客上面来。