<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>subai</title>
        <link>https://paragraph.com/@subai-2</link>
        <description>人生就是一场康波，让我们一起把握这场区块链世界的浪潮吧！</description>
        <lastBuildDate>Sun, 24 May 2026 16:21:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[论比特币和以太坊的“宕机”]]></title>
            <link>https://paragraph.com/@subai-2/cYlflSzkMKHPClqsv4wc</link>
            <guid>cYlflSzkMKHPClqsv4wc</guid>
            <pubDate>Mon, 15 May 2023 12:06:29 GMT</pubDate>
            <description><![CDATA[五月伊始，比特币和以太坊两条市值第一第二的链就接连爆出所谓“宕机”的冷门。但细究起来，其中又有本质区别。下面我们就来说一说。 关于比特币“宕机”的消息是在5月8日爆出的。一天两次。要是笔者没记错的话，那天正好是gate上BRC-20模因币ordi的日子。东八区早上十点上的线。一时之间，引发集体性FOMO，比特币网络爆堵。 好巧不巧的，当天凌晨4点45分（UTC+8），在区块高度788686的地方，发生了两个矿池竞争分叉的事情，请格外注意，Fork Monitor记录的时间戳是UTC+0，所以是20:45）。也许是这次算力角逐，导致一个矿池产出的分叉被抛弃，造成部分交易被重新退回内存池，让本已拥堵不堪的网络雪上加霜。 另一个可能性则是因为有矿工挖出了空区块。导致实际可用区块空间减少，增加了排队队列的拥堵。比如就在7日深夜11点55分50秒（UTC+8），就产出了一个空区块788594。而它距离上一个区块788593的时间戳11点55分10秒（UTC+8）仅仅过去了40秒钟！ 到了下午14点58分（UTC+8），区块高度788759，比特币网络被监测到“卡”了将近一个小时没有产出下一...]]></description>
            <content:encoded><![CDATA[<p>五月伊始，比特币和以太坊两条市值第一第二的链就接连爆出所谓“宕机”的冷门。但细究起来，其中又有本质区别。下面我们就来说一说。</p><p>关于比特币“宕机”的消息是在5月8日爆出的。一天两次。要是笔者没记错的话，那天正好是gate上BRC-20模因币ordi的日子。东八区早上十点上的线。一时之间，引发集体性FOMO，比特币网络爆堵。</p><p>好巧不巧的，当天凌晨4点45分（UTC+8），在区块高度788686的地方，发生了两个矿池竞争分叉的事情，请格外注意，Fork Monitor记录的时间戳是UTC+0，所以是20:45）。也许是这次算力角逐，导致一个矿池产出的分叉被抛弃，造成部分交易被重新退回内存池，让本已拥堵不堪的网络雪上加霜。</p><p>另一个可能性则是因为有矿工挖出了空区块。导致实际可用区块空间减少，增加了排队队列的拥堵。比如就在7日深夜11点55分50秒（UTC+8），就产出了一个空区块788594。而它距离上一个区块788593的时间戳11点55分10秒（UTC+8）仅仅过去了40秒钟！</p><p>到了下午14点58分（UTC+8），区块高度788759，比特币网络被监测到“卡”了将近一个小时没有产出下一个区块。后来，直到一个多小时后的15点59分（UTC+8），区块788760才被计算出来。</p><p>谁料到了晚上20点57分（UTC+8），区块高度788791，比特币出块再次延迟。网络一直等到一个多小时后的22点03分（UTC+8），才找到下一个区块788792。</p><p>第一，出块延迟与BRC-20火爆导致网络拥堵没有什么直接关系。</p><p>第二，比特币网络的出块是概率性的，符合泊松分布。10分钟的出块间隔只是统计控制目标，而实际出块时间可能与此想去甚远。从上面的实际案例可以看出，这个时间间隔可能短至几十秒，也可能长达1个多小时。[1]</p><p>至于为什么比特币矿工会在那么多人花钱冲土狗的“好日子”打包空区块，放着高昂的手续费收入不赚？这是由矿池的工作机制决定的。矿池的算力其实是来自于接入的众多矿机。矿池只负责下发计算任务，和打包区块。矿机负责无脑计算。矿池通常会在收到区块后，立刻下发一个空区块让矿机先计算着，而不是等交易准备好再下发任务。因为如果矿池下发新任务慢了，那么多矿机就会仍然在上一个区块上面计算，这段时间的算力就被白白浪费了。所以，矿池会先下发一个空区块让矿机先算着，然后等准备好交易后，再更新任务让矿机计算。哈希计算是无记忆的，所以更新任务并不会影响爆块概率。</p><p>更巧的是，没过多久，12日、13日以太坊的PoS链也出现了“宕机”问题。</p><p>先是在5月12号的凌晨4点19分（UTC+8）的epoch（轮次） 200553附近，以太坊信标链等了近半个小时都无法最终化区块链[2]。这与设计规格要求的每epoch包含32个slots，每个slots也就是每个区块间隔12秒，这样每个epoch的时间应该是12 * 32 = 384秒即6.4分钟相去甚远。</p><p>还没等以太坊基金会的开发者们搞清楚原因，到了5月13号凌晨2点5分（UTC+8）的epoch 200757附近，以太坊信标链又一次延宕。这次等了超过1小时才恢复[3]。以太坊基金会发布了一个紧急补丁，但是却仍然未能搞清楚真正的原因是什么。</p><p>不能最终化，就意味着区块链的写入是未能最终生效的，存在被篡改的可能性。以太坊从PoW改成PoS之后，就抛弃了比特币采用的概率最终化方法，而是改用了显式最终化[4]。如何既要显式最终化，又要去中心化？为此以太坊引入了信标链、epoch等一系列的概念和设计。</p><p>笔者的这篇文章，把上面几次事件进行了还原和记录。这很重要。尤其是对于以太坊的两次延宕，由于epoch的延宕，事后不会在区块链上留痕，这与比特币区块时间戳会忠实记录下当时的延迟出块时间不同，因此就造成了我们事后追查以太坊最终化延宕历史的困难。</p><p>既然区块链抹去了这个历史，那就只能在文章里进行记述。</p><p>不同于媒体报道的含糊之辞，笔者给出了精确的epoch编号。但是，事实上，延宕并不是发生在这一个epoch，而是发生在前后一大段时间窗口内。那么，为何笔者上面的记述中要用这两个epoch呢？因为这两个epoch具有明显不同于前后正常最终化的epoch的特征，那就是它们的attestations（见证）显著地减少。正常是3000多，epoch 200553只有1792，epoch 200757只有1408。</p><p>计算机科学对于分布式系统的挑战所采取的对策，就是不断弱化问题寻求妥协解的过程。从单机数据库的ACID强一致性，弱化为互联网分布式系统的最终一致性（eventual consistency），再到比特币在拜占庭环境下的概率最终化（probabilistic finality）。中本聪共识的聪明之处就在于，巧妙利用了0.9的无限循环等于1这个知识，让比特币的区块链能够不断逼近于一致性（共识）。以太坊弃PoW而转为PoS，要把概率最终化重新强化为显式最终化，而同时又要保证系统能够在拜占庭环境中工作，不退回互联网的管控环境，这在理论和实践上都将面临未知的挑战。</p><p>总结：比特币出块的设计本身和PoW的特点就是概率最终性，符合泊松分布，短至几十秒，长达1小时，都是正常现象。以太坊PoS出块则试图实现显式最终性，但是最近两次原因不明的最终化失败，预示着在这条道路上探索的艰辛。</p><p>参考资料：</p><ul><li><p>[1] Here Is Why Bitcoin Transactions Take So Long. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://originstamp.com/blog/here-is-why-bitcoin-transactions-take-so-long/">https://originstamp.com/blog/here-is-why-bitcoin-transactions-take-so-long/</a></p></li><li><p>[2] <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.coindesk.com/tech/2023/05/11/ethereum-mainnet-was-unable-to-fully-finalize-transactions-for-25-minutes/">https://www.coindesk.com/tech/2023/05/11/ethereum-mainnet-was-unable-to-fully-finalize-transactions-for-25-minutes/</a></p></li></ul><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://beaconcha.in/epoch/200552">https://beaconcha.in/epoch/200552</a></p><ul><li><p>[3] <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.coindesk.com/tech/2023/05/12/ethereum-resumes-finalizing-blocks-after-second-performance-hiccup-in-24-hours/">https://www.coindesk.com/tech/2023/05/12/ethereum-resumes-finalizing-blocks-after-second-performance-hiccup-in-24-hours/</a></p></li></ul><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://beaconcha.in/epoch/200757">https://beaconcha.in/epoch/200757</a></p><ul><li><p>[4] <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hackmd.io/@prysmaticlabs/finality">https://hackmd.io/@prysmaticlabs/finality</a></p></li></ul>]]></content:encoded>
            <author>subai-2@newsletter.paragraph.com (subai)</author>
        </item>
    </channel>
</rss>