亿聪哲史首页

<亿聪哲史 />

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

Return to Block E20

E20·SSS:Sub-1 Sat Summer

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

阿剑: 我是主播阿剑。

曾汨: 今天这期播客,我们想聊一下近期比特币社区热议的一个话题,叫做 Sub-1 Sat Summer。直译过来就是,低于一聪的手续费率。一直以来,比特币网络有一个不成文的最低消费,就是交易的手续费率通常是不会低于一聪每字节的。这也是为了防止粉尘攻击,也是矿工们默认的一个收益的底线。但是最近,有一些矿池开始主动打破了这个潜规则,甚至支持到了 0.1 聪的极低手续费率。这一下就在社区里面引发了非常热烈的讨论。支持者们认为这是一个伟大的进步,一个链上的天堂,让比特币离小额支付的梦想更加近了一步,而反对者们则认为这在长期来看会威胁到整个比特币网络的安全。这背后还牵扯出一些关于比特币治理模型和经济机制的深刻讨论。那么今天我们的播客希望围绕这个话题来展开。很高兴邀请到了老朋友 Jeffrey 老师来聊一聊这个热点话题。Hi Jeffrey,请你先和大家打个招呼吧。

Jeffrey Hu: Hello,大家好,我是 Jeffrey。很高兴今天又来做一期《亿聪哲史》的播客了。今天讨论的话题也非常有意思,就是我刚才想了个名字,因为我们这个播客名字叫《亿聪哲史》,今天是不是可以改成叫一聪哲史,因为我们讨论的话题叫 1 sat, Sub-1 Sat。所以非常高兴今天能够跟大家一块来分享一下我最近的一些观察吧。

曾汨: 好的,谢谢 Jeffrey 老师。那么首先让我们从一个最基本的问题开始吧,帮助听众朋友们建立一个共同的背景。你能不能首先给我们详细讲一下这个 Sub-1 Sat Summer 它到底是怎么一回事?比如说它大概是什么时候开始的?然后这个现象目前有多么普遍?或者说它的程度现在有多深?

Jeffrey Hu: 好的好的,因为我也是最近在上网的时候一直在看到这个话题,尤其最近这两个月,一直看到像推特上,包括其他的一些像 Nostr 上面,经常会有人讨论这个 Sub-1 Sat 的这个事情,所以我也后来去了解了一下就背后的一些来龙去脉,具体这个定义其实就像刚才曾汨老师说的,他就是这个手续费率,降低到了每字节一聪以下。因为比特币交易的规则其实一直以来是比较统一的,就是按照交易大小来计费。就是 Fee Rate,就是手续费率,就是计算在每个单位的这个交易体积上面,用户你要付出多少手续费的大小。就相当于比如说你的按照一个虚拟字节,你可能需要支付,比如说原来可能是几 Sat,或者是几十甚至几百 Sat 这么一个交易的手续费。然后呢,就是在以往的比特币的客户端,就比如说 Bitcoin Core 的这个客户端上面,那它是设置的最低,你要发一笔交易的话,会有个下限就是一聪的这么一个交易的一个手续费率,然后这样的话,其他节点在收到这个交易之后,才会去帮你去一直这么转发到这个挖矿的这个矿工的这个手里面,这样最终才能去打包上到这个区块链上面。然后之所以有这么一个设置,也确实就像刚才曾汨老师说的,可能会要防止比如说粉尘攻击啊,或者 DDoS 这种攻击等等等等,防止这个太多的交易去淹没到了全节点上面的自己的这个交易池,或者是你自己的带宽,是有这么一个设置的这么一个要求的。然而呢,事情也在起变化,就在 2025 年初的时候,就大家会发现就是有一个现象,就是如果看浏览器的话,当时的待打包的这个交易的堆积已经很少了。就基本上你可以看到,就当时推特上还有人去发一些图片,

就是说这个 mempool 现在已经 clear,就是已经好像没有太多交易需要去打包了,因为从浏览器上面也能看到,就下一个带区块的这个交易,已经没办法去填充到整个这个新的一个区块里面了。然后当时你看到那个 fee rate 就是一个已经是 1 sat,已经是一聪的这么一个手续费率。然后后来呢,其实在年初之后的几个月,大部分情况我自己观察的下来也是一直处于这么一个状态吧,就是手续费率一直在维持在 1,2,或者很低,基本上都是 1 sat, 1 聪的这么一个手续费率上面。除了可能会有一些,比如说一些比特币生态的项目,可能启动的时候会带来一些 fee rate 的手续费率上涨之外。其实它大部分情况都是维持在一个非常非常低的 1 聪的这么一个费率上面。我可能打一个不一定那么恰当或者说比较夸张的一个比喻的话,就有点像这个属于有价无市的一个局面,就是客户端。比如 Bitcoin Core 的这个节点,还维持在这个 1 聪的这个转发费率上面。但是如果想用户要真正想要去发送这个交易,实际有需求的交易手续费可能已经低于一聪那个价格了。后来我也去搜到,比如说上半年当时也有些用户在论坛里面去发帖,就说我现在 1 sat 的交易想去发的话是不是可以改得更低一些,我自己怎么去改这个发送的设置。然后同时也是希望我能够,比如说这种不太标准的这种交易,我怎么样去发送给矿池,能够去让他们去打包出来。所以后来自然而然矿池也是在注意到,也慢慢开始公开支持这种低于一聪的交易去发送过来。然后呢,大概可能会在比如说六七月份左右,就有一些矿池就可以开始去慢慢的去公开,或者是事实上去支持这种费率的这种交易的这个说法了。

像比如说在六七月份左右就已经大家能观察到这个现象,尤其看到就区块里面很多交易都是低于一聪的,所以当时社区里面就开始流行这个 Sub-1 Sat,大家发现这个一聪的这个默认这个限制好像已经被打破了,然后呢还有一些比如当时的比较大的这个比特币浏览器,像比如 mempool.space 这个浏览器,当时就发推特说,0.1 sat 是一个新的一个 Sat 了,这些是在 7 月 15 号左右去发送这个推特,就社区慢慢开始流行了这么一个梗了。然后到 7 月底的时候也有一个统计的数据,大概已经有整个月份应该有大概可能 20 万笔左右的交易的费用是低于 1 的,所以大家发现可能是不是属于这个 Sub-1 Sat Summer 了。对,当然这个梗可能也要分辨一下语境啊,有些是真心高兴,因为我的手续费率肯定是低了嘛,那有些呢,确实大家可能会有些担忧,属于在阴阳怪气,说这个啊,好像又再发出来一个低于一聪的这个交易了,可能不是一个特别好的现象。所以这是一个大概的情况吧。当然最近可能也还会有一些更多的一些开发者方面的讨论,包括 Bitcoin Core 也是专门提出了一个 PR,就在代码库里面的一个拉取请求,说是不是要默认的这个费率从 1 改成 0.1 sat,这样的话可以让这个默认的限制去匹配到现在比较实际的一个情况。对,这是我目前看来大概的一个情况。

曾汨: OK,我这边补充一点相关的背景信息。其实在 6、7 月份的时候,我们整个 mempool 基本上到了一个快清空的状态,然后有一个事情是,比特币网络的难度也下降好像是有 7.5% 嘛。后面就有很多矿池开始加入这个 Sub-1 Sat 这样一个策略,然后到了 7 月中旬的时候,最大的,应该是最大的一块是蚂蚁矿池也跟进了这样一项策略,然后到 7 月中的时候,支持这个低于一聪的手续费的整个哈希算力的占比已经到了百分之 43.7,我当时看数据。然后再过了几天之后,在 7 月 20 号附近的时候,我看 Twitter 上的讨论,已经有超过一半的算力,开始支持了这个低于一聪的手续费了。所以这个是整个 7 月的一个比较大的一个转变。然后刚刚 Jeffrey 你提到了一些细节,可能有些听众会感觉到比较困惑,因为在很多人的认知里面,包括一些钱包的默认设置里面,比特币的最低手续费率它就是一聪。那么为什么会出现这种低于一聪的费率的交易呢?是我们之前的理解有问题,还是说这个一聪它本身并不是一个强制性的规则,我们有各种办法可以绕过它。

Jeffrey Hu: 对,这个技术上肯定是可以实现的,因为我们先讲整个比特币的共识规则这块,比特币的交易手续费计算的方法其实也是比较简单直接的,因为你可以看比特币的 UTXO 它的输出,如果我们要做一个分类的话,你可以从大体上分为两类,一类是正常的花费去向,比如说我去发给曾汨老师或者是阿剑老师,这是一个我正常的 UTXO 的一个输出,去把我的钱花费出去。然后另外一个呢,就是我手续费的一个输出。我相当是在整个 UTXO 里面,我的输入金额减去掉我输出金额之后,剩下这部分就是可以交给挖出这个区块的矿工,你可以去花费的这部分的这个金额的一个差值。这是手续费的一个计算,非常简单的一个方法。那所以费率其实就是也是在此基础上是一个非常简单的一个除法的一个运算。就是手续费,我的整个手续费的值除以到我这笔交易整个的体积大小,就是我的这个手续费率了。那当然了,如果这除下来,它是低于这个比如说一聪每一个字节的话,那肯定是会低于一聪的这么一个手续费率的。那甚至比如说用户可能我不愿意去花费这个手续费输出的话,那我完全可以去让这个输入金额等于输出的我去花费真实花费的金额。那它就是一个零手续费的。那其实零手续费也以前是,如果你看浏览器的话,其实在以前的区块里面也是能够看得到的。就因为你可以看到就很多的区块它的费率,你会看到它的这个范围,就基本上都是从零到多少多少这么一个 sat 的这么一个费率。所以呢,就基本上如果你矿工愿意去接受一个零费用交易,他也是可以去打包的这个区块里面的。具体的方式可以有比较多的形式,一种呢是比如说因为有些矿池也是会对外去提供这个带外付费的这个情况。

就所谓带外付费就是不是我直接在比特币链上去交这个手续费,让朋友来打包,而是比如说我去采用法币,比如说刷信用卡或者是其他这种付费形式,把这部分手续费或者是一个增值服务费然后发给这个矿池,然后矿池来帮我去打包一个极低手续费或者是零手续费的这么一笔交易去发送到链上。同时可能比如说也还附带可能会有些交易加速啊等等的这些服务,这个矿池可以去提供出来的,那这种交易可能就可以去采用一个零费率的这种形式,所以它交易手续费就是零,然后这是一种情况。然后另外一种情况呢,还有一个是我们之前应该在播客里面去讨论过,就是类似于一种 CPFP,就是 Child Pays for Parent,就是子为父偿的这个交易的手续费追加的一种形式。就用户呢可以去同时发送两笔前后关联的交易,然后后一笔呢就是花费的前一笔交易,这样的话前后把这两笔交易关联起来。那第一笔手续费,第一笔的这个交易的手续费率就可以是一个零费率的。然后第二笔呢可以去给一个比较高的一种费用。那所以 CPFP 的意思就是说就像矿工或者是转发节点,你不要在意这个每一笔单笔里面的交易的一个费率,而是你可以去整体去看这一个前后关联的一个交易。如果这两笔交易它总的手续费率其实是足够高,足够能够竞争进下一个区块的话,那还是可以去把这笔交易去打包到区块里面的。所以这个 CPFP 就是一个比较典型的一个交易池的一个交易的一个策略。对,然后其实一聪这个费率还跟我们在前几期讨论的那个 OP_RETURN 的那个限制,其实也会有些相似之处啊。因为它都是不是从共识规则角度去做的一种限制,都是从网络交易转发这个角度去做的一种限制,因为太低的交易手续费率,

就 Bitcoin Core 这点可能就就我就不想去转发了。因为我认为是一个不是特别标准的一种交易,是一个可能用户自己魔改出的一种交易,而且也没有手续费率的话,我认为可能这个交易是会是某种形式的粉尘攻击,或者是一种垃圾交易的一种攻击。所以可能我就需要去就屏蔽掉这部分交易,就看到之后我就丢弃掉,不再去进行转发。所以呢,为什么会引入这么一个限制呢?是有一个很有意思的这个事情,就是在 2015 年的这个 7 月份,就是 Bitcoin Core 的 0.11 的客户端里面去引入了这么一个限制,因为想去对抗到当时的一些比较严重的一些粉尘的攻击。所以这么算下,刚好这个从引入这个限制到现在这个 Sub-1 Sat 刚好是过了 10 年,所以这也是比较有意思的一个现象。

曾汨: 所以其实一开始本来也是没有这个限制的,然后十年之前因为那个事情有了这个限制,然后到了现在 Core 又解除了这个限制了。

Jeffrey Hu: 对,我理解是这样,也不能说完全解除这个限制,就是说大家可能会希望把这个门槛调低。对,然后我其实不是特别清楚当时,大家我估计当时可能去讨论到,觉得 1 sat 应该是一个足够低的一个交易手续费的一个下限。大家觉得可能一个字节,然后一聪应该是一个大家都认为可能最低的一个单位型的一种整数了。估计没想到可能现在到十年之后,大家也是已经手续费率一个是这么低,还有一个现象是因为比特币价格应该比十年前应该也是起码有几百倍左右的这么一个上涨了。所以可能也很多情况跟当时也不太一样,因为当时的一聪的价值跟现在可能也不是完全一样。

阿剑: 我这边有两个问题想问 Jeffrey。第一个问题是,刚刚你提到了有两种办法是可以让所需费率低于一聪,甚至是零费率的这个交易得到区块链的确认的。我想知道这些办法是自古以来就有的吗?就一直都有吗?还是说它是什么时候才开始有的?然后第二个问题是,如果是之前一直就其实在共识规则上也没有这个限制。那为什么之前没有出现这个 Sub-1 Sat Summer 是今年会出现这样的情况呢?

Jeffrey Hu: 对,这也是很有意思的一个话题,因为我也去在去看这个事件的这个公众也发现就有一些比较老的比特币用户也是说就在很早的时候,就是零费交易也是经常会出现在非常非常早的时候。在基本上大家可能就发一笔交易就默认是不设置手续费率的,然后也经常就直接在 P2P 网络上面就直接得到确认了,所以这也是很早很早时候有这么一个现象,然后至于刚才我说的,比如说这两种方式,我倒没有具体去考古,比如说从什么时候开始大规模的这种形成这么现在的一些情况,但是呢,比如说应该是至少在最近几个月之前,也一直是有这样一些,比如说矿池服务或者 CPFP 的讨论之后,就已经有可以去这么去发送零费率的交易的这种渠道存在了。然后如果我们再去说回到阿剑老师说,是不是自古以来就有的这么个情况的话。其实我自己可能会分成两个阶段吧,就是一个是比如说在可能区块战争之后吧,就可能会比如说 17、18 年之后,然后呢,其实我自己观察到还没有特别大规模的出现,比如说这个 Sub-1 Sat 这些情况,因为如果你看那个区块链浏览器的这个切换,到,比如说区块的这个 field,就是填充率的这么一个栏目。下面可以看到就大概从 17、18 年之后。整个区块的这个使用率都还是会维持到相对比较高的一个状态,其实你很难去把这个费率压得很低,因为大家都需要竞争到让自己的交易去尽快达不到到下一个区块里面,所以你很难去让这个市场说,我可能会加到一个非常低的一个市场,那个手续费率的一个价格。所以当时可能还没有这个特别普遍的现象,虽然你从区块链的乱性里面可能很难看出来,就像我们刚才说的,可能你看那个费率的话,

它可能一直都是从零到多少多少这个 fee rate 这么一个状态,然后呢,可能从最近大概可能这半年吧,或者从去年年底到现在,可能就是区块的这个填充率基本上会出现一个比较大的一个抖动,很多时候可能会区块是不满的状态出现概率会比较高,所以可能也是导致了现在的一个现象,这是刚才我说的这个第二个阶段,然后第一个阶段可能如果更早一些呢,就是比如说 2017 年 16 年之前,然后那个区块的使用率其实也不是特别稳定,然后有时候也是很多交易是那个区块层中的空间也不是特别高的,所以当时也是可能会出现一些这种零费率,或者是手续费率比较低的一个状态。但是呢也是像刚才一样说的,就可能当时的一些状态跟现在还不太一样,所以我倾向于把现在的比如 Sub-1 Sat,可能会总结为一个比较新的一种状态吧。就跟可能比如说刚才我们说到的这个区块战争之后,跟之前可能都不太一样。

阿剑: 所以总的来说,你认为这是由区块空间它所形成的手续费市场的这个本身它的波动引起的。就是说当区块它打不满的时候,自然而然矿工会想要吸收更多的这个交易。那他自然会至少在他自己能做到的范围之内,他会把那个接受交易的那个门槛值会降下。

Jeffrey Hu: 对,是的,是的,因为早期的话,可能市场整个或者说网络或者整个区块的空间的市场可能还不是那么成熟。所以可能会有刚才提到的就用户直接发一笔零手续费交易,可能也会得到区块链的这些情况。然后呢,近些年可能也是不太会,因为区块空间也是利用率比较高,然后比特币价格也是在上涨的话,那些手续费率可能也是会有一些不太一样的一些变化,比如说一聪跟以前的一聪价格已经是完全不一样了。所以在现在这种情况下,如果再出现低于一聪的一个手续费率,我倾向于可能会认为跟以前是不太一样的一种状态吧。对。

曾汨: 总结一下,其实这里面有两个概念。一个就是网络交易的转发规则,一个是矿工的打包规则。我们之前说的那个不能低于一聪,它其实是网络大家运行的一个客户端对它的一个默认设置。如果低于这个一聪的手续费,我们就不转发它了。但实际上在矿工这个层面,它是事实上都是可以去打包低于一聪的交易的。这个也是总结了以前面说的为什么这个技术能够实现的一个原因之一。我刚刚想到一个比方,我觉得不是特别恰当,但有点像我们买东西的时候,很多东西上面不是有一个建议零售价吗?商家会建议你这个东西卖多少钱?但是实际这个东西它在店里面卖多少钱,它并不是由这个建议零售价来决定的。比如一瓶矿泉水,它建议卖 2 块钱,但你在高原上在景区里面,它也可以卖 10 块钱,但它需求很多,供给很少的时候。但如果供给很多,需求很少的时候,它就可能会降价卖。所以这个东西它并不是一定限死的。希望我这么解释一下,听众能够比较好理解这个概念。

Jeffrey Hu: 对对,而且这个建议的参考价,它不一定是一个固定的数额,就在比特币手续费率之外,它设置了一个最低的参考价格,就相当于以前的最低参考价格,它是 1 sat,但现在是把相当于是大家可能都会至少在比较积极讨论吧,是不是应该把这个最低参考价去降低下来,以及一些矿池已经开始去支持这个。

阿剑: 对,其实这里要补充的一个细节是,刚刚 Jeffrey 和曾汨老师说的那个节点转发的这个费率,它其实我们讲到这个一聪每虚拟字节,它其实是一个默认值。它其实是可以配置的。各个节点自己可以把它调得更低或者是调得更高。那么其实在我们看到这个 Sub-1 Sat Summer 的时候,其实我觉得应该也就意味着其实这个网络当中,很多节点已经自己把自己的节点的这个数值。就是说最低转发费率的这个数值已经把它降低了,所以从而许多人的这个低于一聪的这个交易都能够发送给矿工,从而最后进入区块。我觉得应该是可以这么推测的。

曾汨: 那其实这个听起来对于用户来说应该是一件好事,因为我们可以发送手续费更低的交易了,可以更便宜的把我的交易打包进这些区块了。但是我们也听到很多来自一些开发者的担忧,比如说有些开发者像 Bitcoin Core 的 Antoine Poinsot 和 LDK 的 Matt Corallo,他们评论说到说这样一个举措会破坏致密区块的效果,那么这个说法听起来非常的技术性。Jeffrey 你能帮我们拆解一下吗?就是什么是致密区块?基于一聪的这个手续费分析为什么会破坏这样一个效果?

Jeffrey Hu: 那我先来回答就致密区块的这么一个问题吧,因为致密区块如果看英文的话它叫 compact block,然后它指的意思呢是如果看比特币的发送一个原理的话,就是新发送的这个未确认的交易,比如说你从钱包里面去发送了一笔交易,它都是在比特币的这个全节点的这个 P2P 网络里面去传播的,然后最终一步一步传播到可能矿工矿池的这个节点里面,然后再等待矿工打包。然后呢,等到这个出块之后,全节点又会从矿工手里面重新去拿到一个整个矿工打包好的一个区块并下载下来。那么这时候可能就会发现有一个情况了,就是如果我站在一个全节点的视角会看到,比如说其他节点去比特币传播的时候,我已经拿到了一个未确认的一笔交易,在之前节点里面我其实拿到过这个信息。然后等到矿工出块之后呢,我又回去在新下载的区块里面又会拿到一个同样的一笔交易,如果之前的这笔交易真正成功的是打包这个区块里面。所以这笔交易就相当是这个被这个全节点去传播和下载的两次。那么自然而然所以我们就可以想到一个优化的一个办法,就是说我在 P2P 网络传播的时候,然后传播完之后呢,我先不要去很快去丢弃它,我先暂存到我的节点自己的这个交易池里面。然后呢,等到矿工新的这个区块去打包之后呢,然后呢,我也先不用去着急去把整个这个区块的数据全部都塞下来了,我先去请求或者是矿工先发送一个这个区块的一个摘要的信息,就意思说这个区块里面都包含了哪些的交易,然后呢,我这个全节点我都可以自己对比,比如说这个新区块里面的这个交易,是不是跟我之前的这个暂存的交易里面有重合的地方?是不是我之前已经拿到这个交易了。如果是这样的话,那我就不用再重新去请求这笔交易。

我就在本地,我用这些已有的交易,我去按照新区块里面的这些交易信息,我去把这个新区块拼装起来就行了。这样的话我就可以很快地去把这部分交易去重建出来,而且不用去再重复下载这部分交易的这个区块的信息。当然了,如果可能确实是有笔交易是在新区块里面,我没有见过的这个节点,肯定是要重新去请求这个其他节点,然后让他把这个新的这笔交易去传播过来,然后我再去放到这个新区块里面,我再组装起来。所以这个就是致密区块 Compact Block 的原理。所以这样你会看到可能就会有两种好处。一个是我保证了一笔交易,可能最多只要下一次就够了,不需要在比如说在 P2P 网络传播的时候下载一次,然后在出块之后我再从区块里面再去下一次,能够节省很多的带宽。然后另外一个好处就是区块里面数据,因为都相当于是在这个节点在等待,比如说矿工出块的过程中。其实我的这个时间也没有去浪费掉,因为那矿工可能会需要等待几分钟的这个哈希的这个碰撞去计算,那到全节点就可以相当是定性的。去把这个区块里面未来可能会用到的信息已经在我本地去。暂存下来,这样我就能节省一部分信息,等到有新区块的话,立刻我就可以去把这部分信息去组装起来,所以我能节省很多信息。这有这么两个好处吧。那么这是致密区块它的原理能带来的一些好处。所以这是我们再看看,就比如说刚才曾汨老师提到的第二个问题,就是如果所有的这个交易或者很多交易都低于一聪的情况下,可能我们会发生什么?那其实我自己理解,就这个问题之所以存在,也是因为就比特币现在的 Bitcoin Core 的客户端,它默认设置还是限制在了一聪的这么一个转发的速率。

估计很多用户都还没有去自行去修改掉,而且很多如果要改的话,一般来说就可能很多用户也是往高了去调,因为不想自己的节点被太多的这种低费用的这个交易去淹没掉,然后呢可能会对自己节点可能造成一些压力。但是呢就是因为没有修改的话,那么这时候如果再讲致密区块的话,就可能会有一个问题在于就是矿工的他的交易的转发的策略,可能跟全节点的这个转发策略如果不一样的话。那么意味着就是矿工打包到区块里面交易,那可能很多都是 Sub-1 Sat,那这些交易之前是在比特币网络里传播的时候,都是被全节点去看到就丢弃掉了。比如说一个极端情况下,那么矿工打包的这个交易全都是零点几聪的这种交易,那这部分交易全都是没有被全节点之前暂存下来的话,那虽然整个新的区块,那么全节点都要重新去下载一次,所以就相当于是没有让刚才我们提到这个致密区块这个机制能够实际的发挥出来作用。也是回到刚才那个问题,所以就像比如说 Antoine 或者是其他一些开发者,应该之前也做了一些统计吧,就是说好像从这个 Sub-1 Sat 这么一个设置开始流行起来这一两个月,也看到了就是很多的这个致密区块,它的成功率会有一个比较明显的一个降低。也是存在这么一个情况的。

阿剑: 所以这个致密区块,它本身它的作用应该是说节点通过付出更多的这个计算量来。包括本身借助网络当中有一套通行的交易转发规则,借助这个便利以及它本地付出更多的这个计算量来节约自己的带宽。但是如果这些低于一聪的交易由于比较少节点在转发它,而大部分节点实际上都没有收到它的话,那么这个时候它就很难利用上致密区块这个效果,因为它都总是必须在新区块到达的时候完整地下载新的这个区块,从而拖慢了区块的传播的速度,是这么理解对吧?

Jeffrey Hu: 对的对的,就相当于原来一个可能比较乐观优化的一个策略,但现在属于在对全世界来看来说都是走到了一个比较不理想的状态,所以它都是退化到了原来最早的那个状态,没有让这个优化策略能够去发挥作用。所以这也是为什么开发者可能再去呼吁吧,可能大家可能比如说让全节点的这个默认的设置,跟现在整个网络或者说更直白点,就是矿池矿工的这个转发策略一致。那这样子呢会效率更高,这也是他们的一个比较简单直接的一个想法。

曾汨: Matt Corallo 其实还有一个观点,他认为虽然有了这种低于一聪的手续费的打包机制,那些大的矿池表面上也通过这种机制打包了更满的区块,赚了更多的手续费。但是由于每个打包的节点之间,他们的信息是不对称的,他们内存池里面用的交易都是不一样的,增加了区块在网络中传播的延迟之后,那么也有可能会导致区块被孤立的风险增加,也就是说可能更容易发生分叉。那么从整体上来说,他认为矿工可能实际上是为亏钱的。你同意这个看法吗?

Jeffrey Hu: 其实我没有对这个问题可能会有太深入的一些分析,但是从我目前的观察来看,应该风险不是特别大,尤其是如果把整个的这个中继费率的这个限制再调低到 0.1 sat 的话,那反而大家可能在更多的节点能够看到相同的这个 mempool 的话,那么各自去挖矿的这种情况可能会是降低。那哪怕比如说在现在这个情况下,如果矿池都是在逐步去调低这个交易手续费率的限制。从目前观察看应该很多大的这个矿池都已经去支持这个 0.1 sat 的这个手续费率了。所以在这种情况下呢,可能这些矿池它能看到的这个 mempool 的情况可能是会比较类似的。所以他们可能也不太会存在,比如说这个交易之间差异特别大的一些情况。这是一个,然后另外一个可能就是如果存在比如说孤块的一些状态的话,那可能更多的是在于这个交易的概率本身,就是哈希计算的时候可能有一些矿工因为同时在挖,那可能确实有一些比如说两个矿工同时出了一个块。然后那这可能更多的根源是在于这个就哈希本身的碰撞的这么一出现的一个几率上面。那如果说真的碰撞出现了,可能也是会有一个两个块再去竞争的一个情况。那但是可能跟各自去打包了哪些交易可能关系也不是特别大。所以从这点来看呢,我觉得倒是风险应该不是特别大。就如果是 Matt 他提到的分叉值的是这种 quark 或者 royal 的这种情况的话。对,我不知道这点上就阿剑老师或者曾汨老师有没有其他一些课吧?

阿剑: 我觉得其实最终来说你是要算数学的,就是说会需要经过一定的这个计算来去判断,就是说现在网络当中,比如说可以假设有多大比例的这个节点,他们已经用了这种低于一聪的这个转发费率的这个要求,然后去计算,致密区块相对它影响致密区块传播的这个效果,以及相应的它会造成的 re-org,就区块重组和孤块的这些风险,然后你最终会得到一个数值。但是就像 Jeffrey 刚刚讲到的,十年前的一聪跟今天的一聪,可能它的这个经济意义已经不一样了。因为致密区块,它是一个非常非常早就应用到比特币网络上的一个带宽优化措施。那跟当时相比的话,带宽虽然不一定提升的非常多,但是其实整个网络的这个带宽毕竟还是有进步的。所以比特币网络也已经不是昨天的这个比特币网络,所以可能这个影响不一定特别大,也是有可能的,就是说给定带宽比过去毕竟已经增长。对,我现在就只能想到这些。

曾汨: 我前几天在推特上看到说现在支持那个 Sub-1 Sat 的算力已经占到了 95% 以上。

阿剑: 其实它不单纯是跟算力有关,因为致密区块的这个传播的这个效果最终来说是要看整个网络的节点,你的交易池里面的内容的一致性够不够强?足够强的话,它的效果就不会受影响,也不太管到底有多少的算力支持它,因为矿工的节点只是网络的节点的一部分嘛。但是如果这个一致性非常差,就大家收到这个交易都是不一样,都不同样的,那你就可以说那这个效果就会大大打消,甚至你就根本没有实现什么优化的效果,最后大家还是得一五一十的下载完整的这个区块。对。这里有个问题就是 Bitcoin Core 的开发者,他们开启了一个代码的拉取请求,就是说提议降低最低转发费率这个门槛的默认值。然后我们刚刚讲到那个开发者 Antoine,他甚至是希望这个 PR 能够反向移植为已经发布的 Bitcoin Core 29.0 的版本当中。我想知道 Jeffrey 老师你是怎么看这个 PR 以及它的反向移植的想法?

Jeffrey Hu: 这块我说实话可能我没有太多的这个 insights,就太多的这个洞见,关于这个 PR 是不是应该合并,或者是应该反向移植过来。但是我的一个直观的感觉,其实就像刚才我们讨论到,就这个配置其实你去如果真的要修改的话,其实可以在这个节点客户端里面可以去进行一些修改。然后同时呢,就这个 PR 里面,它能够提供的内容还包括了一些,就我们现在观察到的可能不一定准确,就是还包括了一些,比如说你每次修改的增量等等等等这些限制。它改的更多的是可能未来比如说再去调整的话,那一个是这个比如说你下载之后默认的这个手续费率就已经是 0.1 了,然后另外一个就是每次修改的这个增量,可能也是会有一个更明确的一些规定。所以主要从这些点上来去看的。那么我估计可能也是因为大家可能看到现在矿池它所支持的情况跟很多全节点的一个情况已经差异很大了。所以可能也是会比较着急,可能是不是应该都是呼吁大家尽量去采用一个新的一个配置,所以采用了这么一种策略。对,但是我不太确定这种方式,比如说就算真的比如说 PR 反向合并到 29.0,那如果大家可能都还没有去真正在自己的节点上面去升级新的版本的话。那其实理论上你和自己手动去改配置应该差异也不是特别大,因为你都是需要去做一些操作才能去实现这个效果的。所以可能比如说除了改代码之外呢,是不是也可以再去更多去呼吁一下这个比如说运行阶段的人去修改配置,或采用什么其他一些方式来尽快能够去推行这么一个新的一个手续费率的配置。

阿剑: 对,我的感觉是 Antoine,他主要关心的其实就是我们前面讲的这个致密区块重构的这个效果嘛。所以他是看到了这个效果受到很大的这个影响,然后他就比较担心,所以他甚至会提议说要不要让这个 PR 能够反向移植,因为 29.0 它是一个已经发布的一个版本,但是 30.0 的这个版本,如果我记得没错,应该是今年的 10 月份才会发布,对吧?所以他可能就会比较着急。但是我自己感觉这个想法可能不太跟比特币全节点的这个用户不太匹配。因为我自己的感觉哈是。全节点的这个用户的话,他会每当有新版本发布就马上更新到新版本,或者说他一定会紧跟。各项这个新闻嘛,我觉得可能也不一定,甚至我觉得可能节点的这个使用者不会有那么一致的这个步调,就是说现在突然发生什么事情,那我们全部都更新到新版本或者怎么样。我的意思就是说,他的这个想法跟我自己想象中的这个比特币全节点的这个用户画像不是这么一致。

Jeffrey Hu: 对,我自己的观察或者是一个印象吧,应该也是这样,至少我自己也不是会很快去只要发布新版本就会升级的这种用户。所以可能一方面是拖延,另外一方面也是确实担心比如新版本万一有点什么问题,所以可能也不太敢就很快就会去新版本一定要去升级。

阿剑: 关于这个 PR,我觉得可以给我们的听众补充一些信息,就是这个 PR 它其实改动了三个数值,但是其实我认为应该是有两个是比较重要的,一个就是最低转发费率的这个门槛值,把它调低了,另外一个就是 Jeffrey 刚刚提到的,我们知道比特币的这个交易,它有一个特性叫做选择性的 RBF,当你已经发送了一笔交易之后,你使用这笔交易的其中一个输入的话,你可以再发送一笔费率更高的交易,来去把原来的那笔交易替换掉,这是 RBF 的特性。那么在使用 RBF 的时候,交易也需要遵守一些规则,比如说你的费率必须比原来的那笔交易的费率以及手续费都要高出一定的数值。这样其他节点才会转发你的交易。那么这项 PR 其实也是改变了中间的这个差额的这个数值,就是你需要追加的费率的这个数值。但是也有一个很重要的点是,他没有改变当前的这个节点关于粉尘输出的这个面额的这个设定。所以这个也是一个我觉得比较重要的点。目前来谈这个 PR 还是挺多开发者表示支持的。

Jeffrey Hu: 实际上我自己观察到的也是很多开发者,至少是比如说概念上面是比较支持的。然后具体的实施上,大家可能还要再讨论具体采用什么方式来去做这个事情比较合适一些。然后我观察到可能还是偏这个。态度可能开发者会居多一些,还有一些开发者可能会认为这可能要尽快去实施,然后还有一些呢,可能是认为这个还是可能会降低发送垃圾交易的这个门槛。可能还是会对网络造成一些用途,所以大家的意见基本上还是集中在这么几块里面吧。

阿剑: 对,但是这里面有一个问题是一直以来其实都会有一种观点,就是认为交易的转发的规则就是应该由矿工说了算,或者说一个理想的,应该被整个网络部署的交易转发规则,就是应该跟矿工完全一致。你只需要考虑矿工是怎么收集怎么挑选交易的,也就是说,在整个网络中,适用的规则,应该跟矿工的这个利益尽可能的兼容。那我想知道 Jeffrey 你是怎么看这个想法的?

Jeffrey Hu: 这也是一个非常有意思也非常大的一个话题了。我先暂且先不回答这个问题,我先暂且来分析这次事件吧。就是这次事件可能跟我们以往看到的,我们猜背后可能是比如说有类似阴谋集团,或者是这种矿工群体去主导的,很多事情可能还不太一样。就为什么这么说呢?就至少从我个人的分析来看呢,就比如说很多人之前说一些像比如 BRC20 啊或者其他一些交易,可能是背后有很多矿工去推动这些应用啊,或者是 token 的协议在比特币链上发出来。理由是这样的话可以去给比特币链上带来更多的这个交易的手续费,然后能够补贴矿工在这个区块减半之后,他的这个收入下降的这么一个情况,所以是可能会有矿工自己绑定利益之后可能会去推这件事情。这是一类情况。然后这一次的事件呢,从目前来看的话,至少从我观察来看,首先是整个的区块空间,它的交易手续费率已经是维持到了一个比较低的一个状态,因为已经是属于在除了你去发一聪的话,实际上是属于不是一个特别合理的一个市场价格的一个手续费,然后在此之上再会造成到刚才我们说到的,比如说很多的 compact block 或者其他的一些问题,以及呢大家可能比如说在这么一个可以说是软件上面限制了一个非市场最优价格的一个情况下。用户又觉得可能是不是我们可以去更低的去降低这个手续费率,以保证我的这个一方面能比较合理的去竞争这个手续费率的价格,然后也能够去比较合理去让矿工去打包,形成一个更公开的市场,而不是说可能我私下发行更低的交易给到矿工,然后矿工就采用 API 就节点啊或者其他的这种服务。帮我打包,采用这种私下市场的方式,而是更倾向于采用公开市场的方式。

我大家都把这个所需费率采用这个 mempool 里面去竞价的方式来做。所以这个首先是可能是有一个用户的需求在这里。然后去推动了这可能手续费率降低的这么一个事情,然后可能在六七月份之后,可能一些矿工才开始慢慢的去试试或者公开的去支持这么一个策略。所以还是有一个从需求去引发了后续一些事情的这么一个先后顺序的存在。所以倒并不是说可能一定是矿工去决定了很多事情的这么一个现象,这是我目前观察到的整个事情发展大概的一个时间线的这么一个关系。所以,那这时候再回答刚才阿剑老师的这么一个问题。那有了这么一个情况,那么在此基础上,我们再来讨论,比如说交易转发策略或者 mempool 应该怎么设置。那么。在这种情况下,虽然说矿工他的这个策略已经是先改成 0.1,但这不意味着大家说一定是,比如软件或者用户的设置保持到了跟矿工一致。而是可能说大家都是朝着一个已经存在的一个市场上面的一个交易手续费率去改到这么一个状况。我不知道是不是解释清楚,就是类似于我观察的现象是,大家都是朝着一个可能更公开的一个手续费率去设置的。只不过有些人先改,有些人后改,而并不是说就大家是矿工先改了,大家跟着矿工去改。所以这是我觉得还是有逻辑上的一个区别的。

曾汨: 好的,其实关于手续费的讨论,在社区里面还有一个问题,叫做安全预算。大家讨论的也比较多,就是认为比特币挖矿的收益,包括区块补贴和手续费收入,对比特币网络的安全非常重要。如果没有足够多的手续费的收入,比特币就要完蛋了。现在来看,由于这个 Sub-1 Sat Summer 的出现,我们可以很明显的看到,现在的手续费是非常低的。那么现在这个下降的手续费率是否表明比特币的情况已经不容乐观了呢?我们很想听一下 Jeffrey 老师对这个问题的看法。

Jeffrey Hu: 对,这个也是一个非常有意思的话题,就是比特币安全预算的这么一个事儿。就是我是这么看这个事情,就是一个是单纯看这次事件的话,它是手续费率的下降,但是我们也看得出安全预算,如果你看到这个我们以这个金额来看的话,那也肯定要看一个总量,就是比如说你在矿工再出一块的时候,他能够去拿到多少的这么一个区块奖励加上手续费总的一个金额。所以我们如果看整个 Bitcoin Core 的节点,如果还是维持在一个比较高的一个有价无市的这么一个费率上的话,那么它的手续费,一个区块里面手续费总收入肯定是会步入降低之后去来的更高的。可能最近如果很多矿池修改了之后呢,它的这个总的一个区块里面的手续费收入应该还是会比这个修改之前,它的总的手续费收入是要高的。所以这是一个可能目前观察到的一个现象吧。然后另外一个就是刚才我们也提到的,就如果我们对比,比如说十年前或者甚至十几年前吧,就如果我们说的更早一点的话,那么其实比特币对于法币的价格就还是上涨了非常多的。那么所以从这点上来看,其实降低这个限制也是比较合理的一个状态。比如说 10 年前如果限制一聪了,现在改成 0.1 聪的话,哪怕你当时的话,其实最低的这个手续费的限制应该也是要上涨几十倍了。所以从这个市场角度来看也是相对比较合理的一个状况,因为毕竟的这个整个价格是不太一样。那当然这块也会有一个自己的一点观察,因为也是社区里面很多人去讨论到了一点,虽然很多用户会比较欢迎这个修改,因为毕竟付的手续费低了嘛,就很多人也会去站在就是反对矿工的角度去说,我们就不要去给矿工额外去付费,我们一定要是尽可能去省手续费。然后呢,还有一些人呢,对这点可能会有一些担忧,

就是一方面是安全预算的问题,另外一方面是不是会有一个滑坡的一个悖论在这块。意思是,比如说你今天能改 0.1,那是不是明天就能改 0.01,以及以后是不是能改得更低,以及甚至设置为 0 等等等等,就是可能完全放开这个限制。那么这点上可能也可以去类比到,比如说原来的,比如区块大小的一个修改。因为那区块大小修改其实也是我认为很多的背后的一些原因,也是跟安全预算是有一定的关系的。就是因为大家觉得很多如果都维持在一个。1 兆这么一个空间的话,那么它能容纳的费量肯定是不如比如你改到 4 兆、8 兆、1G 等等,能容纳的费用那么高的。所以当时做区块战争的时候,也是带大家讨论是不是应该用硬分叉的方式来直接扩大。然后呢,如果再应用到刚才说到的滑坡困境的话,那是不是也是我只要能修改一次这个区块大小,那么未来就有可能会修改无数次,从 1 兆改到甚至几个 GB 都是有可能的。那么就像以太坊去提高 Gas Limit 是类似的,就是比如说我今年年初提高一次,7 月份又提高一次一样,那可能是未来是不是也是可以无限的去增加下去,所以大家可能社区里面也会有这么一个。但是我从手续费率这角度来看,可能我认为跟这个区块大小的修改可能还不太一样,因为这次的修改主要还是存在于这个交易池的这个转发策略上面,它并不是一个硬分叉,甚至连软分叉都算不上,就是节点的一个策略,那反倒是修改之后,至少是在这个市场层面上面,能够让大家的这个竞赛能够更加公开一些。这是一点。然后另外一点,可能跟之前我们讨论的那个 OP_RETURN 的那个事情也还不太一样,虽然也都是修改 mempool 的一个策略,

但是 OP_RETURN 的那次更像是一种非受迫性的一种失误,就是大家可能没有一个特别紧迫的一个要求在那边,并不是有一个很明显的一个市场的需求,就是说我一定不改就不行了,不改就可能会对整个网络上面,比如说 compact block 或者是这些其他的这种影响效率的事情,可能会有一个比较大的负面影响的时候,我们必须要改。所以可能跟那次 OP_RETURN 的修改也还不太一样,而这次修改是明显能看到,能够给大家都带来一些好处的一次修改。对,所以这是我目前观察到的一些情况。然后另外一个可能再回到刚才的问题里面,就是安全预算的话。我自己认为是这么应该看这个事实。我们要去计算的安全预算可能还是以法币计价更合适一些。虽然长远来看,如果大家都希望用 BTC 作为本位的话,其实可能是更优的一种策略。但是目前来看,就至少比如说矿机或者电费,其实大家都是还是用法币来计价的。那么哪怕你去算这个关机币价的时候,也是会按照法币去算这个成本,到底是哪一天可能我是能够赚钱或者是亏钱。所以都是按照法币去计价的。所以呢,安全预算按照刚才我们讨论,其实也是要考虑到比特币的价格的一个因素在这块。所以这是一个目前安全预算的时候我们需要考虑这个因素。就哪天如果真的是,比如说我们整个市场都进化到了,都是按照比特币计价了。那到时候可能会再需要有一个重新对安全预算的一个认识吧。不过那个比特币的一个好处就是在于可能从第一天开始,整个的经济模型都是已经固定下来。并不是说从哪一天开始,可能我们去修改了经济模型,可能跟之前的规划不太一样,或者是整个的安全预算,或者整个的安全假设是会有一个比较大的一个变化。

所以大家都是在一个我认为是在一个充分博弈,在公开透明的情况下去算这个安全预算的。所以我觉得可能实际上参与者,比如说矿工,比如说用户应该都是对于这种安全预算,如果在未来某些时候发生变化。应该会有一个更长更充分的一个准备期对这些会有一些认识。所以可能再简单的回答这个问题,就第一就目前来看的安全预算其实并没有降低,可能反而就修改的时候可能会有一点点的提升。第二呢,可能就是从目前来看应该大家也不太用担心这个事情。

曾汨: OK,那么感谢今天 Jeffrey 老师带我们全方位了解了一下最近社区里面热议的这个 Sub-1 Sat Summer。希望大家从今天的播客当中有所收获。我们下期再见。

阿剑: 拜拜。拜拜。

Follow us:
RSS Feed:

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

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