亿聪哲史首页

<亿聪哲史 />

"Bitcoin is the signal. Everything else is noise."

Return to Block E21

E21·纠正错配

曾汨: 听众朋友们大家好,欢迎收听《亿聪哲史》第 21 期,我是主播曾汨。

阿剑: 我是主播阿剑。

曾汨: 今天的这一期播客,我们邀请到了一位比特币生态的研究者和教育者,Aaron Zhang。Aaron 在推特上很活跃地分享自己的比特币学习笔记,目前也正在撰写一本和 Taproot 相关的书籍。在今天的这一期播客里面,我们想和 Aaron 来聊一聊他和比特币的故事,他的学习和研究的方法论以及他对于 Taproot 的独特见解。嗨,Aaron 老师。欢迎做客我们的播客。请你先和听众朋友们打个招呼,做一下自我介绍吧。

Aaron Zhang: 嗯,好的,好的。哈喽,大家好,我是 Aaron。我是一个比特币的开发者,也是这个开源代码的贡献者。今天很高兴也很荣幸能够做客《亿聪哲史》,跟阿剑老师和曾汨老师交流。《亿聪哲史》是我很喜欢的节目,我自己在 Spotify 经常收听你们的节目。感谢感谢,很荣幸。

曾汨: 谢谢,欢迎 Aaron。那么首先我们来先聊一聊你和比特币的故事吧。你是怎么和比特币结缘的?又是什么样的契机让你决定来深入的研究和了解比特币的呢?

Aaron Zhang: 好的,是这样的,其实我自己职业生涯的大部分的时间,我的本职工作其实是一个传统股权投资的投资人。其实之前自己的方向,我主要关注软件、Fintech、区块链这些方向。虽然说听起来比只看消费、制造的这些 VC 更接近前沿一些,但是其实坦率地讲,我还是一直没有勇气真正的 all in crypto。那么这个转折的点呢其实是发生在 2020 年底,当时那个时候我开始带着我的家人旅居海外,所以说我给自己做了两个比较大的决定。第一个是彻底的这个 all-in crypto,那我就放弃了其他产业的方向,在分散精力。第二个就是我决定从这个比特币开始做这个系统性的深入研究。其实我从 17 年开始就在定投比特币了,而且大部分的时间一直都是持有的,中间有做过 trader 的部分。但是我觉得我以前投资比特币更多的是这个投资的直觉,而不是真正的理解了它。有一天我突然意识到,其实我没有真正的去尽职调查过它,就是没有真正的懂它。这种感觉其实很像一个 VC 投资人,你用了自己很多 credit,你融了很多钱,你 all in 了一个很大的项目,然后其实你没有真正的去尽调过它,这也是非常可怕的。那么其实这种不懂的话,它会很影响我的行为的判断,就是第一我到底是一个 trader 还是一个 holder,如果我是一个 holder,那么我是多长周期的 holder?是一年的 holder?四年的 holder?还是就不会卖的 holder?等等。那其实这样的思路,迫使我走上了这个下决心,一定要深入理解比特币的道路。那去真正理解比特币呢,我选择的方式是用,我把它叫,我用代码去 DD 了,就是用代码去尽调它。

我觉得要学习比特币最好的一个方法是去编程的。比特币是一个开源的协议,没有人更有信息优势了。这是一种最公平的研究方法,就是亲自去编程它,因为没有人更有信息优势。你可以去访谈中本聪,对吧?你认识中本聪,你能获得比其他人更多的信息,是没有的。那所有的人其实获得的信息都是公开的,同时所有的人都可以用自己最舒服的方式去研究它嘛。那我第一个开始着手下去去研究比特币的第一个是,首先我就开始阅读各种。经典的书籍啦,从 Mastering Bitcoin,什么 Programming Bitcoin 等等,这些经典的书籍开始。然后接下来了,还有一些比特币的网站,包括两位老师维护的网站,BTC Study,这些网站好多文章我也都深入读过。那么后面开始呢,在这个 AI 的帮助之下呢,我开始逐步的开始自己模拟实现比特币的功能,就是我开始自己无限的接近真实比特币的方式,然后正在 AI 的帮助下去写一个自己的比特币网络,从这些区块链的结构啊,去理解区块的结构,区块头的结构,理解 mempool,理解最长链原则,理解 Bitcoin VM 的这些堆栈的执行逻辑等等。通过自己写一遍最简单的 demo 以后呢,我就开始产生了更多的感觉,对比特币的理解。其实有一段时间我进步得非常快,就是 23 年的下半年开始。23 年下半年,因为这个铭文火起来了嘛,就是 23 年下半年,24 年上半年,这接近一年的时间,是一段比较火的这个铭文的热潮。其实用技术语言看来,它都是一些 Taproot 升级以后的应用,我把它叫做那么这些比特币生态也好,就是以铭文为代表,

毕竟生态活起来以后呢,我就跟我的合伙人我们就是深入的研究了这些铭文的这些源代码。基本上所有的这些源代码我们都逐条看过,都自己深入研究过。还有很多源代码我们还进行了自己的复现,因为编程语言不一样嘛,就是我们用 Python 重新写一遍。然后有的协议我们还要更新了代码。后面我没有自己开发自己基于铭文铸造或者交易的工具。慢慢的后面就到今年年初吧。今年年初我发现我其实已经掌握了比特币里面很多很核心的东西了。我的合伙人比我厉害很多。合伙人是一个高手,是一个去中国交易所的 CTO 啊。后面他又开始进入他自己本质工作的一些事,还是在以太坊 Solana 上面做的一些事情多。由于铭文后面的我们那些工具也好,我们参与做的那些协议也好,其实也好多,现在也不火了,那就是相当于大家的信息方向出现了很多分岔。那我呢,觉得自己慢慢地就掌握了相当的一些知识了,我个人自己认为,然后我就想把它沉淀下来。我也萌生了把自己这个知识系统化的冲动,所以说我就开始做几件事情。第一呢,我开始写我这本开源的这个书籍,叫 Mastering Taproot。也是一个比特币推广和教育的用途了。第二个呢,我在今年上半年也在登链社区开设了一个比特币的编程课程。我们这个课程反响还不错,一个很精品的课程。这其实都是我自己在沉淀我知识的一个方法了。后面呢,我给自己定了一个完整的研究比特币的一个研究的路径。第一呢,就是我在持续地跟踪这个最新的这些 BIP 提案和一些热点的议题。然后第二是我说我都用自己,因为我已经有了他自己完整的开放的框架,也有我自己打磨好的代码和 AI,打磨好我的 AI,所以说我能够快速地进行这些 BIP 的这些技术实验,

然后也可以听他们做一些开源的代码的贡献。我在做一些学术的研究,希望自己以后有机会能够发表一些关于比特币的一些技术或者理论的一些论文。大概是目前这个样子,现在的状态。

曾汨: OK,您刚刚的这一段介绍信息量非常大,然后其实里面有很多个点我都非常好奇,我们一个一个来聊吧。首先第一点,我很好奇的点是,您提到说你是通过编程的方法来学习比特币的。这个方式其实和大部分人来学习比特币,一开始接触到这个领域的学习方式是不一样的。然后你通过把这些 demo 自己跑一遍来加上对它的理解。包括你提到说你用 AI 来辅助你做很多相关的研究。我们其实之前也有一期播客请过几位嘉宾来聊大家是怎么用 AI 的。当时没有聊到说怎么用 AI 来在于比特币学习这个事情上把它发挥好的。然后我关注到你在推特上更新这个技术笔记的频率非常非常的频繁,然后涉及到的角度也非常非常多,比如说不同的开发者,然后你对他们的介绍,以及不同的 BIP,有自我托管的,有限制条款的,还有各种。脚本啊编程之类的都有涉及到,但其实比特币是一个很复杂的领域,然后它学习曲线也非常陡峭,所以我会很好奇就是在你决定说转型到我要研究比特币之后,你具体的一个学习和研究的方式是怎么样的?你是怎么样构建一个自己的研究体系的?有没有些方法能够让我们听众听完之后能有一些参考,让我们自己也能够应用到我们的学习和研究当中来?

阿剑: 好的。

Aaron Zhang: 当然我这个不一定适合所有的人,就是可能适合一些以前有理工科计算机背景的同学。首先我对自己的理工科我不太擅长通过阅读文字去脑补理解。我知道这些很多人是有这能力的,但就是我就不擅长,就是说我通过阅读,很多场景我是获得不了的,就是同样的读一份东西的话,那我获得的那个思维的深度啊,我觉得我没有一些人强,就是他们能够掌握更多的信息,通过推理。但我觉得我擅长的是,我先动手去做,先实践。程序也是一种实践啊。就是另外比如说在一些物理的这种理工科里面,有人去搭建一些东西,比如说做个机器人什么的,他也想,就是去先实践。实践完了以后呢,我就觉得我总能获得我的独特的一些理解。在我们这种比特币的研究里,偏软件类的吧,其实就是写代码的。然后我就先写代码的实验,回头了以后我再去理解背后的理论。这个时候我发现我看那些枯燥的文档也好,还有一些一开始其实看起来是很难有决心去看的一些信息。比如说一个大的英文的网站,他们介绍了各种代码有原理的那些东西。所以我用的方法是,我先有了一个大概我学习的目标,然后在这个目标上面呢我就开始,我写很长的一段 prompt,就是跟我的 AI 进行互动了,我说我要学这些东西,然后这个时候我要做一个 demo,这个时候你教我,我 prompt 了一些模板,就说我已经有了那些东西了,比如说我已经有了我的这个,IDE 了。我有我的 cursor 已经适配好的。我用了那些 Python 的库我都已经装好了。然后我也有哪些自己以前的,等会我可以详细地开展一下,比如说 MCP,就是说我有自己一些代码的实践,就是大概告诉 AI 其实我已经有些基础,因为你们新建一个对话以后,

其实常常都还需要新搞一些东西,重置一些东西。同时呢,我也已经有了那些了,就是说我有些理解了,甚至你可以看我以前写过的文章了,然后我现在要搭建一个啊,比如说这个 CSFS 的这个 demo,这个东西如果是很新的话,请你先上网去看相关的资料,相关的最新的一些进展,然后你告诉我,我应该怎么一步一步一步的编程写下去。基本上我是这样开始开展的。但这里面还有很多细节。有的时候比如说像 Claude 之类的,如果没有调好的话,他一开始就动手开始给你写了,就是说你要等很久。他写的那些程序,其实他太进入细节了,就是这个 AI,太喜欢马上就动手了。这个时候我常常还要提示他,我说一开始不要进入编程的细节,我们先对大的框架,你先告诉我哪几个大的步骤。然后有了这几个大步骤以后,有个 whole picture,其实是我在 AI 在导谋我的学习大纲。有了学习大纲以后,好,我们下面开始第一个步骤的实验,这个时候我们开始。他把第一个步骤延伸开来,给我写代码,然后我开始调试,这是我的大概的一些简单的心得了。那第二个呢,其实是刚才曾汨老师也问,其实做这方面的还有一些知识框架相关的吧。我觉得在跟 AI 互动之前,也确实我理解需要一个系统的知识框架。我前面给大家分享的那些书啊,比如像 Mastering Bitcoin 吧,像 Programming Bitcoin 之类的这些书,还是得先看。因为要,它是经典的东西,先看了以后自己有一个整体的一个 picture。其实比如像我自己看完以后,我的总结就是,这是我自己的心得,我把比特币就分为两大部分。一部分是跟这个网络共识相关的这一部分,就是比如说 POW,

mempool,比如说中继的这个最内的这些传播方式,比如说比特币的可追踪性,比如说最长链原则等等,其他的这个网络。跟这个链结构,跟数据结构,跟网络共识相关,这一系列的这些知识点。他本质在说,最后是确定哪个链作为主链吗?这是一大块知识。第二大块知识是跟这个交易知识相关。那其实就是说,如何从一个地址到一个地址,咱们如何精确地控制它的行为。然后比如说这个虚拟机的运行,堆栈的一步一步的怎么运行,堆栈的消除游戏是怎么做的等等。这一类是专注于交易,是在验证交易,在决定交易是否合法。就这两类知识。然后如果后面在研究过程中,我查查我马上就会把它定位到哪一类知识。而这一类知识以后,它可能要有延伸的是那些大牛比较擅长这一类知识。这样的话,有这个框架能够快速地去学习它,能够快速地找到相互印证和相互可以延展的点。大概我简单地分享一些这个知识。但也很粗浅了,这个最佳时间还是要迭代。

阿剑: 首先我想提醒我们的听众的是,这大概已经是我们这一档播客第四次还是第五次,可能也不止提到 Mastering Bitcoin 这本书。所以我非常推荐各位听众,如果各位是像 Aaron 刚刚提到的是喜欢从文字当中获得信息的话,Mastering Bitcoin 这本书,我觉得你肯定是绕不过去的,尤其是它最新的这个版本,就是第三版。其次是我想说 Aaron,我用我自己的话来说,就是用这个时代最先进的武器来去实践,一个属于软件工程师的一个古老的智慧。叫做边干边学。就是刚刚 Aaron 提到的整个过程就是这样的,你如何用最先进的这些 AI,然后来去实现一个非常经典,也是一个非常行之有效的一种学习的方式。

Aaron Zhang: 谢谢,谢谢。我自己有下意识地在实践这方面来申请,因为现在在主权个人嘛。以前我自己做这封建投资公司的时候,其实我也有不少的这个我们叫 real 的这个 person,真实的同事啊,真实的员工啊。我其实有些比较偏激的观点。第一呢,你把工资发给真实的人,他们干的活你不如把这个钱都发给比特币。因为他们带来的生产力所创造的社会的价值肯定是不如定投比特币的。大家想一想,就是一个老板,包括现在的还有效,还不要说更早以前的事情。你想打造一个产品以后做一些事,你组织了很大的一个团队,给很多人发工资,然后最后这个产品如果没有做起来,如果这个产品本来一开始格局就不是很大,本来这个概率就不大的话,那还不如把这笔钱都投给比特币,这是第一个。第一个是偏激的观点。第二个偏激的观点是,你还不如把这笔钱,把这个工资发给 AI。因为 AI 的生产力是远高于大部分的人的生产力。以前我没时间去做一些技术,以前我们投一些开源软件的时候,我没时间去做技术的时候,我还曾经幻想过,找一个研究的团队,全是程序员,专门去分析很多最前沿的技术,然后讲给我听,讲给我们同事,其他的 banker 们听。这个事我也做过,他们的工资都很高。但是他们的效率还是很低。就是因为最前沿的那些以前我们比如说研究云计算那些东西,后面研究 AI 的一些前沿的东西的时候,他们要花很多时间。如果他不是本身就在最前沿的那个地方去做这个研究的人的话,是我们这样的在外面的人来研究的话,他花很多时间。然后他还很擅长用深入浅出的语言讲给其他的人,同事们听。然后这个时候我们首先他的产出很低。第二,他们也常常在更远更深的地方,他们没有这种研究的能力。

但一切等 AI 出现以后,我觉得,啊,我突然发现这个一切都变化了。这个 AI 就是人的 N 倍,这个系数的 N 倍啊,然后这个太厉害了,就不需要这样的角色了,也不需要这样的人。

曾汨: 这两个观点确实有一点偏激。我们先把话题从 AI 转回比特币来。然后我接下来的一个问题就是,在你利用 AI 来深入研究比特币的这个过程当中,你有哪些发现?有没有一些比较具体的发现让你印象很深刻,甚至彻底颠覆了你以前对比特币的一些看法的?

Aaron Zhang: 还是说回对比特币的看法,就是在我研究比特币的这一过程之中,其实确实有一些感触。第一就是,其实我在动手或者下决心要认真研究比特币之前,其实我有一个固有的感知,我估计跟很多人的观点都很像,就是觉得比特币是一个很老的协议,是一个老爷车。他进步非常缓慢的,甚至都不值得大家去研究他。包括很多大佬也这样说过。还有一个就是大家觉得有很多币的这些大佬也好,矿工也好,他们也很保守了,他们也都不想要比特币进步,就比特币就让它成为最古老的比特币就好了,对吧?就是大家是是这样的一个观点。但我其实深入研究比特币以后,觉得知识越来越多,对代码的分析觉得越来越多以后,越接触会发现信息量越大,觉得自己越渺小,包括我去看这个 Bitcoin Core 的这些进展,看这个 Bitcoin-Dev 的这些邮件组的这些讨论等等,Optech 的这些 newsletter,我其实觉得比特币的进步是非常非常快速的,它的是非常前沿的。而且这里面有很多顶级的研究者、开发者,他们讨论得非常的惬意。而他们现在在讨论的一些东西,可能未来的几年之内就会用上,就是大家还不知道一些悄然发生的变化而已。而同时呢,也有很多一些我们说这个顶尖的这个开发的大佬们,比如什么 Peter Todd 呀。Adam Back 这些人,其实他们有很多比特币的,但他们其实一直都很 open 的在推动这个进步的发展,并没有像以前说很多大佬都很保守,就不要让它再进步了,对吧?所以这个所谓的慢啊,说比特币慢,其实是说因为它没有一个中心嘛。也没有像 Vitalik 这样的一个中心的人物,我们也只是一个神秘的人物。

这个比特币很去中心化,它每一个共识要形成,它需要很长的时间。但每一次,一般以四年计,无论是更早的 SegWit 或者是 Taproot 这些升级,他们都以四年计。但一旦推动了呢,就是很大的一个进步。因为它需要花很长的工时嘛。当然有部分不恰当的比喻,像美国大选一样,为什么美国要这么大规模的进行全民的选举嘛?其实它也在推动一个共识嘛。它的成本是巨高的。但它一旦推动了一个共识的话,其实一些共识是很难改变的。其实它是有自己本身的一个底层原理在。当然是这样。这是我觉得一个很颠覆我之前看法的一个印象。

阿剑: 曾老师你有吗?你在哪一刻的时候你会觉得这个跟我想的完全不一样?

曾汨: 其实刚刚 Aaron 的这个观点我也有过这么一个瞬间,但是我这个瞬间更早是在我在 20 年年底的时候做了一个 123BTC 的这个网站。我是在做这个网站的时候有了完全一模一样的想法。因为以前觉得比特币就是一些价值存储。但是当时我做那个网站的时候,我会发现原来比特币有这么多分支,每一个分支里面有这么多人,这么多项目在做这件事情。如果想把这些研究清楚,它的复杂程度往往不是说我一个月一年时间能够把它弄懂的。所以我当时就意识到了这个里面的所涵盖的东西太多太多的,它完全不是我们以往的所谓的炒币者意识里面的这个比特币。

阿剑: 我贡献我的一点点小的观察吧。我想讲一个东西是跟安全性有关。那一般大家会理解到这个安全性有各方各面的安全性,比如说软件的这安全性,你的网络是否能平稳的运行,共识是否稳健。那我这里讲的就讲一个很小的这个细节。现在的话,大家基本上都逐渐意识到了,你要让你的签名器在一个独立的环境当中,离网的环境当中来运行签名的这个步骤。可以极大的加强你的整个的密码货币保管的这个安全性,你的保管装置的安全性,但是大家可能也很快会想到一个问题,就是当我的签名器在签名的时候,他怎么去对待签名的这个信息去做一些验证。这个验证当然极为关键,因为有两个方面,一方面它帮你对抗可能被恶意的代码感染的这个软件的钱包,软件钱包的这个前端它可能是不值得信任的,那你有这个独立的一个签名器的话,那它可以帮你呈现一个真正的被签名的准确的这个信息。第二方面是它可以在这个过程当中防止你出错。但是这个签名器它怎么去验证这个信息呢?这是非常非常关键的一环。它怎么保证你签完名之后,这个签名是能够准确地表达你的这个意思,而这个签名不会被挪用到其他地方去,不会被用来做一个你不愿意做的这个事情?在这一点上,实际上比特币与其他的你在市场上看到的其他的密码,货币产生了一个截然的非常大的一个区别。你可以说他们之间的差距是非常非常遥远的,就比特币走在非常非常前面,而这个差距实际上就也跟 Aaron 前面提到的隔离见证升级跟 Taproot 升级是有很明确的这个关系的。那我就讲到这里,我们听 Aaron 接下来继续展开。

Aaron Zhang: 其实我大概就是首先想表达这个观点,然后表达这个观点以后,我们再说到其实大部分的人一开始入行的时候,其实是一开始就进入了以太坊嘛。其实包括我自己也是,我 17 年入行的,基本上一开始就以太坊,就 MetaMask,然后就在那个上面去参与做一些投资,然后也看 Bankless 的一些播客,对吧。大家其实基本上都是往那个,很多人吧。我不能说大部分人,就是我这样的人和我身边很多人,就是大部分人就是这样来在区块链世界里支持迭代的。然后其实呢。Vitalik 一开始只是 Bitcoin Magazine 的研究者,对吧?那其实他的很多思想其实是来自于对比特币的推动的。那其实好多思想,你如果说的极端一点,其实很多都讨论过。只是后面他自己创办以太坊以后,渐渐地很多思想又把很多思想拿过去了。其实并不是他原创的,比特币的这些都有。那么哪怕是我们想要研究以太坊,然后一个人一直只是想成为以太坊的专家,其实他也应该研究比特币。因为很多东西来自于比特币嘛。所以从这个角度,也得把比特币搞得更明白一些。我目前的这个观点是这样。而比特币前面就像阿剑老师说,其实它已经很值得我们花很多时间去研究了。首先它也还前沿,也还有很多新的进步就研究了。把它搞明白也足够了。我前面谈到过,就是我觉得跟投资相关。那么比如说,很多人不敢投资比特币,其实还是你没有搞清楚比特币是什么东西呢。比如说我们比特币涨到 6.7 万美金,我指的是 21 年上一次的高点,应不应该卖?比如说现在 12 万美金,你到底卖不卖?很多人也说是很高的高点,那卖还是不卖呢?就是说它是卖。比如说再说慢一点,比如到了 18 年的下半年的时候,

比特币曾经到过 3000 美金一个,然后后面有一个很舒服的平台,其实在 6000 到 9000 美元。那就是说买还不买呢,对吧?因为很多人都认为比特币快不行了,矿机都已经开始按斤卖了。23 年年初的时候,比特币曾经到过 2 万以下,我如果没记错的话。后面有一个很舒服的一个平台,其实在 2 万 5 和 3 万 5 之间。那这个时候应不应该买呢?就是那个时候跟很多很多大的平台爆雷,跟 FTX 爆雷这些相关。那这个时候又应不应该买?谈到该不该买,其实很多时候本身还是我们没有真正的去懂它嘛。既然比特币是一个母币,是一个加密世界的基石,它也在整个三万亿、四万亿的一个加密总市场里面占 50%,甚至更高比例的一个事物,那我们值不值得花 50% 以上的时间去研究它呢?我相信很多人 50% 以上的时间都没有拿去研究比特币的,就在研究加密的时候啊。这个肯定是错配了嘛。我认为这个肯定是跟他本身的这个地位不一样的。那么,再反过来说,其实在科技行业里边,有很多现象是说,一开始第一代科技,第一代的这个事物,它出现以后,它事实会被新的东西迭代以后会超越的。举个例子,比如说电报这个行业。开始出现电报的这个第一个公司,我忘了什么名字了。它最开始就是上市的时候,也上市了,市值是挺高的。后面有什么贝尔实验室,还有这些。但是后面有更新的电报出现以后,它第一代的那个公司就已经归零了,市值都已经归零了。那么我们在 IT 行业也有,比如说最早 IT 的代名是 IBM,IBM 的市值才多少呢?对吧?到了现在来看,后面它又被微软超过了,但微软现在还是继续抓住了第二第三曲线,还是继续辉煌。

第一代的互联网的企业,比如说 Yahoo,它现在在哪里?它都被新的 Web2.0 的很多公司超越了。但如果是说它不进步的话,就会被超越的话,那在加密这个世界却很奇怪。那比特币如果说它没有进步,当然这有两个思维。第一说比特币不进步,没有进步,那为什么它还在 50% 的市值呢?这个思维那就反而是说,比特币其实一直在进步,它一直在推动其他的人也在进步,所以它占 50% 的市值,对吧?各种方面真的反过来想吧,结果就是比特币一直在进步,比特币非常值得我们的研究。

阿剑: 所以,尽职调查是非常重要的呀,各位听众。那我们就进入一个具体的尽职调查的对象,就是你刚刚提到你在写一本关于 Taproot 的书,就是 Mastering Taproot,然后我是注意到你,在你的个人博客上,你写了一篇文章,叫做为什么 Taproot 不能让比特币成为以太坊。就麻烦你给我们展开一下吧,就是说 Taproot 它的升级它的核心作用是什么?然后有哪一些误解或者是有哪一些大家其实认识不到位的地方?可以给我们展开一下。

Aaron Zhang: 哦,好。其实当然我也是班门弄斧地说一下啦。我们这个听众们,我相信《亿聪哲史》喜欢比特币的朋友们,其实研究这方面都挺深的。我只是站在我自己的一些角度,和一些写过代码以后的一些感悟来说吧。就是说其实这篇文章,我之前还写过一篇文章。当时我呢,我那篇文章是想谈论以太坊是不是比特币的测试链呢?其实它是一个姊妹篇。首先我想说的是,随着 Taproot 的升级,比特币能够做很多事。而以太坊开始转向模块化以后,它把底层拆成了共识层,而把计算层,存储层等等其实又交给了其他的层或者交给了链下。那么这个思维呢,其实就是比特币要做的事情。某种意义上来说,如果是说要如此的模块化以后,而比特币有了 Taproot 升级以后,那么为什么还需要以太坊呢?以太坊是不是其实本质是一种比特币的测试链?我其实是当时的第一篇文章是这样来分析的。当然,我又写了第二篇文章,是说为什么这个 Taproot 又还是不能够让比特币成为以太坊呢?其实又想说的是说,Taproot 升级呢,也不能让比特币全能化。也不是说就像很多人所认为的,Taproot 升级以后,比特币有了智能合约,然后又真的就没有以太坊这个角色了,其实也不是这样。所以写了这篇文章,大概是这样。接下来我再具体展开一下这篇文章想表达的一些观点是什么呢?当然也是技术上的一些理解。我的理解里边呢,Taproot 主要是两大类的这个升级啊。第一个就是签名的升级嘛。所以说他把升级从 ECDSA,从这个椭圆曲线的这个签名呀,把它改成了 Schnorr 签名。那么 Schnorr 签名,有一个很重要的属性是什么呢?是它有了聚合性。就是说不同的人都进行签名以后,它能产生一种化学反应。

这个签名又聚合在一起了,有了聚合性,就看起来像一个人的签名。这是第一个作用。第二个作用是说,Taproot 把很多比特币、支付的条件组合,把它们都打包,折叠起来,放在一个默克尔根里面,然后大家再进行解锁。它通过编程的方式才可以解锁你。而同时解锁的时候,你只需要解锁你的其中一个花费条件。你只需要证明这个花费条件在这个默克尔根里面,那你就可以花费这个东西。大概主要就是这两种升级嘛。它提高了比特币的这个隐私性,提高了比特币的编程性,这就是 Taproot 主要的这个作用了。确实有了 Taproot 以后,比特币就实现了这种狭义的智能合约的这种作用,就是这些 IF ELSE,而且是非常多功能的嵌套的 IF ELSE,咱们就可以做起来了。但是这个 Taproot 还是没有,其实从底层来看,从虚拟机的角度来看,从底层技术的角度来看,从软件设计的角度来看,它还是有两样东西其实没有的。第一个是没有循环,没有 loop,或者说没有 for in range,没有循环。没有循环就使得咱们在这个计算机科学里面,没有循环就使少了我们让这个计算机用蛮力的方法。少了这方面的这种功能。第二呢,它还是没有全局的变量。常常来说,比如在应用上面没有全局变量会使得咱们在一些复杂的应用的时候,你常常用不了那个全局变量。那这样的话,其实本质来说,一句话也是大家都经常听到的,就是说比特币即使有了 Taproot 升级,还是没有图灵完备。没有图灵完备的话,那么在实现,比如我们说 DeFi 里面的一些应用的时候,还是费劲的。还是比较绕的。然后这个还是效率够高的。所以这就是说,Taproot 并不是让比特币成为以太坊。

当然,比特币为什么要成为以太坊呢?比特币并不需要成为以太坊,对吧?那么我们说,这些所谓的想要图灵完备的东西,想要这个循环的东西,想要这个全局变量的东西,我们可以加个第二层来做。那么现在的 RGB 这些协议啊,包括 Lightning 啊,还有更新的一些协议,这些二层的,加个链上的这些协议,他们就在实现类似这些功能。其实,某种意义上来说,也就是说,中本聪一开始都设计得好,或者再加上各种大家社区一起维护这些大佬,让比特币就专注来只做它的验证,只跑共识就可以了,这是全世界最安全的一个网络,在上面做承诺最好的一个网络,在上面全证最好的一个网络就行了,然后再把其他的复杂性交给未来要模块化的整个区块链,让区块链更加的工程化,未来更加的走进千家万户,比特币就实现它自己最惊艳的那一层就好了。大概是这个思维。

曾汨: 好的,谢谢 Aaron 的科普。然后您刚刚前面也提到了您正在写一本书,就是 Mastering Taproot。然后这本书其实跟我们前面提到的像 Mastering Bitcoin 这些书标题看起来很相似。然后首先我们想知道就是你为什么会要写这样一本书?然后包括能不能详细介绍一下这本书大家会写一些什么样的内容?它希望解决什么样的一个问题?

Aaron Zhang: 好的,想写这本书,首先是我自己想要沉淀自己知识体系的一个过程了,同时也想对社区做一些贡献。Mastering Bitcoin 这本书呢,其实它大家又好像都要学的一本圣经嘛,这本书科普了很多比特币的基本知识,很多时候是站在用户的角度来写的,其实是很多比特币的用户啊,比如说是软钱包的用户,比如说是 Sparrow 钱包的用户,是硬件钱包的用户等等,也必须得掌握着一些基本的知识。公钥私钥啊,这些原理啊,地址啊,它们之间的相互关系啊,等等吧。他用户的东西多,但是对于程序员的少。所以整个行业里面有个第二本书叫 Jimmy Song 的 Programming Bitcoin。这本书其实就是站在程序员的角度来说。两本书之间有一个很重要的区别是,比如说站在用户的角度,只知道我们把这个 Bitcoin 从一个地址打到另外一个地址,然后就够了,他知道这层知识。而这些知识呢,知道这个地址还有这个,比如说 Legacy 的地址。P2PKH,P2WPKH 这个地址,然后 SegWit 地址,Taproot 地址之类,他知道有些区别就可以了。比如说程序员来说,他还需要更进一步,就是说这个地址,我们把钱打到一个地址,本身是打到了这个地址所对应的一个脚本里面去,对吧?那么我们去花费这笔钱呢,其实本身是我们在解锁这个脚本。这是第二本书所解决的问题。但是在 Jimmy Song 的第二本书里面呢,针对这个像 Taproot 的这个编程啊,还是放在了一个比较前沿的那个章节。很显得写了一部分,它就结束了。跟他写这本书的这个时间是比较相关。但实际上比特币真正最有编程性的地方点就在于有了 Taproot 的编程,

Taproot 升级以后,所以说真正有大量的这个可以玩的,可以保安的,用代码去编程性的,反而恰恰出现在了 Taproot 上面。所以在目前来看,我认为有这样的一个空白,很多程序员想要编程起来比特币,最要需要掌握的 Taproot 升级以后的很多知识,没有。所以我想要在这上面来写作。我前面谈到,其实在 23 年下半年,24 年上半年,就是有半年多的时间,铭文火的那一波,大部分的这些项目,他们都是用上了 Taproot 的升级所编出来的一些花样。其实里面有很多的东西都是他很好的一些应用。这里面有包括了 commit-reveal 的一些编程的模式等等。这些东西其实是可以把它呈现出来。让这些开发者们来这里学习的。那么他们只要把这些 commit-reveal 的这些方式搞清楚,就相当于有一个坚实的基础了。以后遇到一个更高级的一些,更前沿的一些开发,比如说 RGB 的开发,比如说 Taproot Assets 的开发等等,他会觉得自己如鱼得水。这是一个必须要学的一门课。所以我立志要把这本书写清楚一点,写好一点。那么我们这本书里面呢,其实它也有一些我们自己的一些特点的。第一呢就是说,它是一个不断的演变的过程。就是说从 Native 的地址是怎么编的。P2SH 就是 P2 脚本的这个地址是怎么做的。再到 P2SigWay 是怎么做的。最后是 P2Taproot 地址是怎么做的。它是学术鉴定的。是把传统的编程也包含在里面。那么包含在里面同时呢,市面上有一空白是没有人详细的把每一次编程结束以后,就是我们用高级语言来写完结束以后,这个堆栈,在汇编这个层面,堆栈这个层面,

它的每一部分是怎么运行的,在比特币的这个堆栈机里面怎么运行的,怎么用一个图形化的方式把它给表现出来。这块之前的书籍也没有,那么我在这个可视化方面也做了一些自己的创新吧,致力于把它讲得非常明白,让大家很可视化地能够了解它。最后比如说 Taproot 的这个编程以后,它还有一些自己独特的一些点,这点我也加入了一些自己,或者说我参加一些开源协议里面所贡献的一些代码的这个真实的案例放在了里面。特别是一些很复杂的这个脚本树的一些解锁的方式啊。因为脚本树随着它的叶子增多,它的复杂性变强,会跟只是单叶的脚本不太一样。那么我从单叶的脚本一直写到多叶的脚本,这些案例都写上去以后,在自己创造了一些复杂的一些。支付的条件综合地把比如说如果多签呢,比如说有哈希时间锁啊,有一些这个你要多少个区块以后才能成熟,才能够再解锁啊等等的,把很多条件都把它揉进去,有点像支付变成一个项目的大作业一样,那大家编写以后呢,他就对很多很简单的各方面的那些小的点都能够了解。我就想让它成为一本像高效的教材一样的写作思路。最后我们这本书是开源的,如果大家感兴趣,可以在 LinkedIn 上面去看。回头我也会把它放在 GitBook 或者 GitHub 上面,大家都可以去开源的都可以阅读。我后面想先看看大家的反馈,看看这个读者给我一些建议。最后我也想考虑去这个传统的出版社,像 O'Reilly 这个地方去出版它,就像这本书的前辈 Mastering Bitcoin,这个 Programming Bitcoin 一样,去一个著名的出版社去合作。这本书呢,我立志要成为一个第一本华人在比特币的编程领域上面写的书,

因为它名字在后面会看到 Aaron Zhang 嘛,是华人写的嘛,对吧?以前都是这个白人写的,都是洋人写的书。

阿剑: 那你可要好好写。

Aaron Zhang: 要好好写,确实。

曾汨: 现在这本书写到什么样的进度了?

Aaron Zhang: 其实已经快写完了,80% 的进度了吧。最后我还有一些最前沿的一些,就像 RGB 所用的 Taproot 的东西,像这个 Taproot Assets 所用到的呀。我想在这本书的前沿部分再把它再提一下,再把一些简单的。但是骨干部分已经基本上写完了。

曾汨: 好的,那么感谢 Aaron 今天带来的分享,希望今天这期节目也能给听众朋友们带来一些启发。那么我们下期播客再见,拜拜。

Aaron Zhang: 拜拜。

Follow us:
RSS Feed:

Vires in Numeris
// 以数字铸就力量

Libertas in Cryptographia
// 以密码学捍卫自由