<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Web3 on </title>
    <link>http://blog.chuckchan.top/tags/web3/</link>
    <description>Recent content in Web3 on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>© 2026 Chuck Chan</copyright>
    <lastBuildDate>Sat, 29 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://blog.chuckchan.top/tags/web3/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>15. 交易树与收据树</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/15.-%E4%BA%A4%E6%98%93%E6%A0%91%E4%B8%8E%E6%94%B6%E6%8D%AE%E6%A0%91/</link>
      <pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/15.-%E4%BA%A4%E6%98%93%E6%A0%91%E4%B8%8E%E6%94%B6%E6%8D%AE%E6%A0%91/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;交易树与收据树&#xA;    &lt;div id=&#34;交易树与收据树&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%ba%a4%e6%98%93%e6%a0%91%e4%b8%8e%e6%94%b6%e6%8d%ae%e6%a0%91&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;上篇文章中讲了数据结构MPT及状态树，这篇文章再来讲交易树与收据树。交易树与收据树同样基于MPT，分别用于存储区块内的交易信息与交易执行结果，是保证以太坊数据可验证性和透明性的关键组件。二者均与区块一一对应，其根哈希会被记录在区块头中，确保数据不可篡改。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;交易树&#xA;    &lt;div id=&#34;交易树&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%ba%a4%e6%98%93%e6%a0%91&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;交易树是每个区块内所有交易的结构化存储载体，本质是一棵以&lt;strong&gt;交易在区块中的序号为键&lt;/strong&gt;的 MPT。&lt;/p&gt;&#xA;&lt;p&gt;其核心作用：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;记录区块内所有交易的完整信息，包括发送方、接收方、转账金额、Gas 设置、智能合约调用数据等。&lt;/li&gt;&#xA;&lt;li&gt;生成&lt;strong&gt;交易根哈希&lt;/strong&gt;并写入区块头，任何人可通过该哈希验证区块内交易是否被篡改，也可通过Merkle Proof快速验证某笔交易是否存在于区块中。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;结构特点：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;交易的索引（在区块中的序号）会被 RLP 编码后作为 MPT 的键，由于交易序号是连续的数字，其路径前缀共享的概率极低，因此交易树的 MPT 路径压缩特性几乎无法体现，但仍保留 MPT 的密码学验证能力。&lt;/li&gt;&#xA;&lt;li&gt;与状态树不同，每个区块的交易树仅包含相关的交易，不同区块的交易树不会共享节点。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;收据树&#xA;    &lt;div id=&#34;收据树&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%94%b6%e6%8d%ae%e6%a0%91&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;收据树也叫回执树，存储每笔交易执行后的结果信息，同样是基于 MPT 构建，且与交易树的节点一一对应。&lt;/p&gt;&#xA;&lt;p&gt;核心作用：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;记录交易执行的最终状态，包括交易是否成功、消耗的 Gas 量、智能合约触发的事件日志（Log）、区块哈希与交易哈希关联信息等。&lt;/li&gt;&#xA;&lt;li&gt;生成&lt;strong&gt;收据根哈希&lt;/strong&gt;写入区块头，为轻节点验证交易执行结果提供依据，比如钱包可通过收据树验证转账是否到账、智能合约事件是否触发。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;结构特点：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>16. 以太坊的共识协议</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/16.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E5%85%B1%E8%AF%86%E5%8D%8F%E8%AE%AE/</link>
      <pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/16.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E5%85%B1%E8%AF%86%E5%8D%8F%E8%AE%AE/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;前言&#xA;    &lt;div id=&#34;前言&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;前面的文章中说过比特币的出块时间在10m左右，且需要经过多个区块确认后才能认为交易已完成（一般是6个区块，主要是为了防止临时性分叉）。这也就意味着在比特币中大概要1h左右才能确保交易已完成。而以太坊的出块时间降到了15s左右，大大提升了以太坊的吞吐与效率，但是出块时间太快又会带来临时性分叉的问题，导致那些符合难度要求但没有成为最长合法链区块被抛弃，严重影响了矿工的积极性。对此以太坊使用了改进版的&lt;strong&gt;GHOST协议&lt;/strong&gt;来解决这一问题。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;GHOST协议&#xA;    &lt;div id=&#34;ghost协议&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ghost%e5%8d%8f%e8%ae%ae&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;GHOST（Greedy Heaviest-Observed Sub-Tree，贪婪最重可观测子树）是区块链共识优化机制，核心是在快速出块场景下将孤块 “叔块” 纳入权重与奖励，提升安全性与吞吐量。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>14. 以太坊的状态树</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/14.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E7%8A%B6%E6%80%81%E6%A0%91/</link>
      <pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/14.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E7%8A%B6%E6%80%81%E6%A0%91/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;以太坊的状态树&#xA;    &lt;div id=&#34;以太坊的状态树&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%a5%e5%a4%aa%e5%9d%8a%e7%9a%84%e7%8a%b6%e6%80%81%e6%a0%91&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;上一篇文章中我们说了每个以太坊账户中有余额、nonce、code、storage等属性，这篇文章就是讲用什么数据结构，将用户地址与这些属性关联起来。简单来说就是如何存储 address -&amp;gt; state 映射关系。首先要明确这个数据结构需要实现的目的：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;给手机钱包等轻节点提供Merkle Proof验证，能够验证任意用户的状态。&lt;/li&gt;&#xA;&lt;li&gt;保证账户状态的防篡改与可验证性，任意微小的改变都能被感知。&lt;/li&gt;&#xA;&lt;li&gt;适配以太坊的状态模型与性能需求，以高效快捷的方式在各节点之前同步及验证状态。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;方案1:  哈希表&#xA;    &lt;div id=&#34;方案1--哈希表&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%96%b9%e6%a1%881--%e5%93%88%e5%b8%8c%e8%a1%a8&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;既然是映射，一个直观的想法是哈希表，即系统中的全节点维护一个哈希表，查询与操作的时间复杂度都是O(1)，简单又高效。但是缺点也很明显，哈希表没法提供地址状态的Merkle Proof。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;方案2: Merkle Tree&#xA;    &lt;div id=&#34;方案2-merkle-tree&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%96%b9%e6%a1%882-merkle-tree&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;既然要满足Merkle Proof，那能Merkle Tree就天然地满足了这个需求，能跟比特币一样否直接使用Merkle Tree？答案是NO。&lt;/p&gt;&#xA;&lt;p&gt;为什么比特币中能使用Merkle Proof，而以太坊不行呢？是因为比特币中用Merkle Tree存储的是一个区块的交易数据，前面我们分析过大概是4000个交易。而以太坊需要存储的是&lt;strong&gt;所有用户的状态数据&lt;/strong&gt;，这里可能是千万量级的，如果每次发布区块都要重新构建这个Merkle Tree，从效率上来说并不可行，实际上每次发布区块只涉及部分地址的状态变更，从这点来看重建Merkle Tree的&lt;strong&gt;性价比也太低了&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;另外，每个节点打包时虽然状态一样，但是只要叶子节点顺序不一致，那Merkle Tree的&lt;strong&gt;根哈希值也不一样&lt;/strong&gt;，无法做到节点之间同步。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\13. 以太坊账户\merkle树.png&#34; style=&#34;zoom: 33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;如上图所示，虽然两个节点打包的都是ABCD四个账户的状态数据，但最后他们的根哈希值并不相同。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>11.比特币思考</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/11.%E6%AF%94%E7%89%B9%E5%B8%81%E6%80%9D%E8%80%83/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/11.%E6%AF%94%E7%89%B9%E5%B8%81%E6%80%9D%E8%80%83/</guid>
      <description>&lt;h3 class=&#34;relative group&#34;&gt;哈希指针&#xA;    &lt;div id=&#34;哈希指针&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%93%88%e5%b8%8c%e6%8c%87%e9%92%88&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币系统中很多地方都用到了哈希指针，但是指针是只指向某个内存地址的，这个指针只有在本地计算机才有意义，如果一个新的区块发布，区块里的哈希指针在其他的节点中并不适用，那么比特币是如何设计这个哈希指针的呢？&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\11. 比特币思考\哈希表.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;实际中，比特中的哈希指针&lt;strong&gt;只有哈希，没有指针&lt;/strong&gt;。全节点一般将区块存储于一个kv数据库（如上图所示）中，key为哈希，value为区块内容，一个常用的kv数据库是levelDB。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;区块恋&#xA;    &lt;div id=&#34;区块恋&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8c%ba%e5%9d%97%e6%81%8b&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;有的情侣共用一个账户购买比特币，账户的私钥一人保管一半，如果两人感情一直好，则可以一直维持，但一旦两人感情破裂，那这些比特币将会变成死钱，永远取不出来。同样的，如果一个商铺有四个合伙人，每人保管1/4的私钥，这样也会带来一些列问题：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;其中一个人忘记私钥，将永久无法交易，买的币将永久存于UTXO集合，对矿工不友好。&lt;/li&gt;&#xA;&lt;li&gt;截断私钥长度会降低安全性，128位密钥的破解难度要远小于256位的密钥，假设有三个合伙人串通起来瞒着另一个合伙人将钱取出来，那他们&lt;strong&gt;只需要尝试2^64次&lt;/strong&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;分布式共识&#xA;    &lt;div id=&#34;分布式共识&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%88%86%e5%b8%83%e5%bc%8f%e5%85%b1%e8%af%86&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;从理论上来说，分布式系统中取得共识是不可能的，那比特币为什么能够取得共识呢？&lt;strong&gt;严格地说，比特币并没有取得真正意义上的共识，因为取得的共识随时都有可能被推翻&lt;/strong&gt;。比如分叉攻击，本来以为已经达成了某个共识，分叉攻击后，系统会回滚到前一个状态。&lt;/p&gt;&#xA;&lt;p&gt;此外，理论与实际之间存在差异，在实际中窒只需要把模型稍微改改，就能够变得适用。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;比特币的稀缺性&#xA;    &lt;div id=&#34;比特币的稀缺性&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e7%9a%84%e7%a8%80%e7%bc%ba%e6%80%a7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;前面我们说过，比特币的总量在2100万个，并且每隔一个周期，出块奖励都会减半，这样会导致越到后面比特币会越稀缺，但是实际上是&lt;strong&gt;稀缺的东西是不适合用来做货币的&lt;/strong&gt;。我们可以参考黄金，黄金在很长一段时间作为货币在使用，但是现代社会基本都抛弃了金本位，因为现实中每年黄金产量要远远小于社会产生的财富，如果继续用黄金作为货币，那么黄金会变得越来越值钱，以致于前期拥有黄金的人会一直在食物链顶端，后面的人怎么怎么赶也赶不上，个人奋斗将变得毫无意义，一个健康向上的社会不应该出现这种情况。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;量子计算&#xA;    &lt;div id=&#34;量子计算&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e9%87%8f%e5%ad%90%e8%ae%a1%e7%ae%97&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币是建立在密码学的基础上的，量子计算起来之后这些加密货币会不会变得不安全？&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>12. 以太坊</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/12.-%E4%BB%A5%E5%A4%AA%E5%9D%8A/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/12.-%E4%BB%A5%E5%A4%AA%E5%9D%8A/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;概述&#xA;    &lt;div id=&#34;概述&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;比特币跟以太坊是两种最主要的加密货币，以太坊可以说是比特币的2.0版本，相较于比特币，其做了如下改进。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;核心功能&#xA;    &lt;div id=&#34;核心功能&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%a0%b8%e5%bf%83%e5%8a%9f%e8%83%bd&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币的核心仅支持简单的价值转移交易，协议逻辑简洁，只能实现去中心化支付相关功能，无法承载复杂业务逻辑。以太坊引入了&lt;strong&gt;智能合约&lt;/strong&gt;和&lt;strong&gt;以太坊虚拟机（EVM）&lt;/strong&gt;，能实现任意复杂的逻辑运算。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;共识机制&#xA;    &lt;div id=&#34;共识机制&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%85%b1%e8%af%86%e6%9c%ba%e5%88%b6&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;特币采用工作量证明（PoW）机制，节点需通过大量算力运算竞争记账权，而ASIC芯片的出现将挖矿算力集中化，已经偏离了比特币最开始的设计。以太坊使用的是&lt;strong&gt;权益证明（PoS）机制&lt;/strong&gt;，验证者无需靠算力竞争，而是通过质押 ETH 获取记账和验证资格。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;经济模型&#xA;    &lt;div id=&#34;经济模型&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%bb%8f%e6%b5%8e%e6%a8%a1%e5%9e%8b&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币总量固定为 2100 万枚，采用固定的挖矿奖励减半机制，经济模型核心围绕 “稀缺性” 设计，以太坊&lt;strong&gt;无固定总量上限，但通过 PoS 机制减少发行量&lt;/strong&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;性能与扩展&#xA;    &lt;div id=&#34;性能与扩展&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%80%a7%e8%83%bd%e4%b8%8e%e6%89%a9%e5%b1%95&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币区块大小和出块时间固定，导致网络吞吐量极低，仅能满足少量交易需求，一旦交易激增就会出现拥堵，且手续费大幅上涨。以太坊将区块链&lt;strong&gt;拆分为多个平行分片，并行处理交易&lt;/strong&gt;，理论上大幅提升吞吐量。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>13. 以太坊的账户</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/13.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E8%B4%A6%E6%88%B7/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/13.-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%9A%84%E8%B4%A6%E6%88%B7/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;前言&#xA;    &lt;div id=&#34;前言&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在讲以太坊的账户之前，先说下比特币的账户有哪些缺点，再来讲以太坊跟比特币账户模式的不同点。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;比特币账户&#xA;    &lt;div id=&#34;比特币账户&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e8%b4%a6%e6%88%b7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;前面我们说过，比特币中账户就是一个私钥地址，且账户并没有&lt;strong&gt;显式的余额&lt;/strong&gt;的概念，余额是通过UTXO集合算出来的。此外，在比特币的一次转账中，必须要一次性的把一个UTXO集合的输出全部花掉。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\13. 以太坊账户\比特币交易.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;例如上图所示，如果A的UTXO输出有10个比特币，要转3个比特币转给B，那么A要把剩下的7个毕业币转给自己的另外一个账户A&amp;rsquo;，否则那7个比特币就变成给矿工的手续费了。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;以太坊账户&#xA;    &lt;div id=&#34;以太坊账户&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%a5%e5%a4%aa%e5%9d%8a%e8%b4%a6%e6%88%b7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在以太坊中账户与现在的银行账户模式类似，都是显式地记录了账户的余额，转账只需要查询转账者的账户中是否有足够余额的钱。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\13. 以太坊账户\以太币交易.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;这种模式的好处是：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;转账变得简单清晰，不再需要将余额转给自己的另一个账号。&lt;/li&gt;&#xA;&lt;li&gt;天然地防范了 Double Spending 攻击，因为花两次，就会扣账户两次的钱 。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;以太坊的账户模式解决了比特币中的Double Spending 攻击，但又会带来另一种问题，就是Replay 攻击。以上图来举例，假如B是有恶意的，将A-&amp;gt;B的这个交易再广播给其他的节点，那么A的钱会被再扣一次，B的钱会再加一次。其实可以看出Replay 攻击跟Double Spending 攻击是对称的，前者是收款人有恶意，后者是付款人有恶意。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;如何解决&#xA;    &lt;div id=&#34;如何解决&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%a6%82%e4%bd%95%e8%a7%a3%e5%86%b3&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;以太坊中是引入&lt;strong&gt;nonce值&lt;/strong&gt;来解决Replay 攻击的。在以太坊的每个交易中不仅有交易相关的信息，而且有一个nonce值，其是一个&lt;strong&gt;连续递增的整数&lt;/strong&gt;，nonce值可以理解为账号的第几次交易。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>10. 比特币匿名性</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/10.-%E6%AF%94%E7%89%B9%E5%B8%81%E5%8C%BF%E5%90%8D%E6%80%A7/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/10.-%E6%AF%94%E7%89%B9%E5%B8%81%E5%8C%BF%E5%90%8D%E6%80%A7/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;比特币的匿名性&#xA;    &lt;div id=&#34;比特币的匿名性&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e7%9a%84%e5%8c%bf%e5%90%8d%e6%80%a7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;比特币的 “匿名性” 是一个&lt;strong&gt;被广泛误解的核心特性&lt;/strong&gt;—— 它并非绝对匿名，而是一种&lt;strong&gt;伪匿名&lt;/strong&gt;，更准确的描述是&lt;strong&gt;地址匿名、交易公开可追溯&lt;/strong&gt;。甚至与纸币相比，纸币的匿名性更好，因为纸币上面没有任何任何个人相关的信息。&lt;/p&gt;&#xA;&lt;p&gt;下面分别从几个角度分析下比特币匿名的局限性。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;账号关联&#xA;    &lt;div id=&#34;账号关联&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%b4%a6%e5%8f%b7%e5%85%b3%e8%81%94&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;在一次比特币交易中，通常会有多个输入及多个输出。我们前面说过，比特币基于utxo集合，在现实世界中很少某个utxo输出刚好等于你要交易的金额，这就意味着某笔交易可能需要多个utxo输出及&amp;quot;找零&amp;quot;的情况。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\10.比特币匿名性\账号关联.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;在上面的情况中，输入的两个账号很可能都是同一个人的，很可能该人同时用于这两个账号的私钥，从而发起的交易。同样的，account_4也很可能是找零的地址，account_3是实际的交易金额（为什么不是反过来？因为如果实际交易金额是account_3的3个比特币的话，那account_1跟account_2单个账号金额就足够了，也没必要用两个账号了）。&lt;/p&gt;&#xA;&lt;p&gt;由上，能由交易的账号信息，从而将这些账号进行关联。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;身份关联&#xA;    &lt;div id=&#34;身份关联&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%ba%ab%e4%bb%bd%e5%85%b3%e8%81%94&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;任何使得比特币和实体世界中关联的操作都有可能泄露用户真实身份，其中最典型的就是比特币与法币的交易。例如在钱包软件中使用法币购买比特币，或者将比特币出售以换取法币（但对于大额法币的转入与转出，很难逃避司法机构的监管）。&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;监管机构通过链上分析工具已破获多起利用比特币洗钱的案件 比较著名的有&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E7%B5%B2%E8%B7%AF_%28%E8%B3%BC%E7%89%A9%E7%B6%B2%E7%AB%99%29&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;silk road事件&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;p&gt;实际上，很难不让比特币与现实世界产生关联，除非，你完全不使用比特币。这样的人也不是没有，比特币的发明人中本聪就是其中一个（传闻他有大量比特币，但从未使用过）。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;如何提高匿名性&#xA;    &lt;div id=&#34;如何提高匿名性&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%a6%82%e4%bd%95%e6%8f%90%e9%ab%98%e5%8c%bf%e5%90%8d%e6%80%a7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;如果要提高比特币的匿名性，可以从两个方向来实现，一个是网络层，一个是应用层。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>4. 比特币挖矿</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/4.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/4.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;比特币共识&#xA;    &lt;div id=&#34;比特币共识&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e5%85%b1%e8%af%86&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在文章开始之前，必须先聊聊共识。共识是在某个群体或系统中，针对特定问题或规则达成的&lt;strong&gt;普遍一致意见或共同认识&lt;/strong&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;为什么需要共识&#xA;    &lt;div id=&#34;为什么需要共识&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81%e5%85%b1%e8%af%86&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;通过前面的知识我们知道，比特币是一个去中心化的账本，在这个世界上的每一个节点都可以打包交易的信息，即获得&lt;strong&gt;比特币的记账权&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;究竟以哪个节点打包的信息为主？&lt;/li&gt;&#xA;&lt;li&gt;如何让所有用户都认可某个节点打包的账单信息？&lt;/li&gt;&#xA;&lt;li&gt;打包交易有什么利可图？&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;如何达成共识&#xA;    &lt;div id=&#34;如何达成共识&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%a6%82%e4%bd%95%e8%be%be%e6%88%90%e5%85%b1%e8%af%86&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;在日常生活中，投票是一个达成共识的好办法。那在比特币中能否使让用户投票，来决定记账权呢？答案自然是否定的，因为在比特币中的账号可以&lt;strong&gt;无限产生&lt;/strong&gt;，只要生成一对公私钥对就相当于生成了一个账户，如果有人恶意生成足够多账户，那他就可以控制投票的结果（女巫攻击）。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\4.比特币挖矿\共识.png&#34; style=&#34;zoom: 25%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;在比特币中也是利用投票机制，但不是按照账户投票，而是按照&lt;strong&gt;计算力来投票&lt;/strong&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;挖矿&#xA;    &lt;div id=&#34;挖矿&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%8c%96%e7%9f%bf&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;发行货币&#xA;    &lt;div id=&#34;发行货币&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%91%e8%a1%8c%e8%b4%a7%e5%b8%81&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;在讨论挖矿之前，我们先来说说如何发行比特币。前面的文章中我们讨论的交易都是在两个用户之间进行的，例如A转给B，B转给C，但在这些交易自始至终都没有产生新的货币，那这些货币最开始是从哪里产生的呢？答案就是&lt;strong&gt;出块奖励&lt;/strong&gt;。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>9. 比特币分叉</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/9.-%E6%AF%94%E7%89%B9%E5%B8%81%E5%88%86%E5%8F%89/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/9.-%E6%AF%94%E7%89%B9%E5%B8%81%E5%88%86%E5%8F%89/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;什么是分叉&#xA;    &lt;div id=&#34;什么是分叉&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%af%e5%88%86%e5%8f%89&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;比特币分叉的本质是区块链因&lt;strong&gt;规则变更&lt;/strong&gt;或&lt;strong&gt;数据一致性冲突&lt;/strong&gt;，导致原本单一的区块链分裂成为两条甚至多条独立的链。分叉的核心原因是比特币网络中不同节点对 “交易验证规则”“区块结构” 等核心协议产生分歧，且无法达成统一共识，最终各自遵循新规则继续记账，形成并行的区块链。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;软分叉与硬分叉&#xA;    &lt;div id=&#34;软分叉与硬分叉&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%bd%af%e5%88%86%e5%8f%89%e4%b8%8e%e7%a1%ac%e5%88%86%e5%8f%89&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;根据分叉的性质、触发方式及对网络的影响，主要分为两大类：&lt;strong&gt;软分叉&lt;/strong&gt;和&lt;strong&gt;硬分叉&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;硬分叉&#xA;    &lt;div id=&#34;硬分叉&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%a1%ac%e5%88%86%e5%8f%89&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;hard fork 即硬分叉，是对现有协议的&lt;strong&gt;非向后兼容式修改&lt;/strong&gt;，新规则与旧规则完全冲突，遵循旧规则的节点无法识别新规则的区块，最终网络会&lt;strong&gt;永久分裂&lt;/strong&gt;为两条独立的链，各自拥有独立的代币、交易历史和社区。&lt;/p&gt;&#xA;&lt;p&gt;例如，当比特币中出现协议更新，但并非所有节点都认同这个协议更新时，就会出现硬分叉。我们前面提过，每个区块的大小的上限是1MB，假设每笔交易大小占250KB，那么一个区块大概能容纳4000个交易。按照每10分钟出一个区块，那么每秒仅能写入7个交易，这跟现有的中心化的金融体系的每秒交易数量差了好几个数量级。&lt;/p&gt;&#xA;&lt;p&gt;假设有人提议修改比特币协议，将每个区块的容量上限从1MB改成4MB，那么同意新协议的节点跟不同意的节点将会产生硬分叉。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;D:%5cNotePitcure%5c9.%e6%af%94%e7%89%b9%e5%b8%81%e5%88%86%e5%8f%89%5c%e7%a1%ac%e5%88%86%e5%8f%89.png&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;在上图中，上限1MB的节点收到上限4MB的节点不会认同，会认为他是一个非法的区块，下面这条链&lt;strong&gt;永远&lt;/strong&gt;不会认同上限4MB的区块。而上限4MB的节点收到一个上限1MB的区块会认同（因为其上限没有超过4MB），但下面的链&lt;strong&gt;永远&lt;/strong&gt;不会认可上面这条链，因为其始终认为上面的链是非法的。&lt;/p&gt;&#xA;&lt;p&gt;典型案例&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2017 年因 “区块大小扩容” 争议引发的硬分叉。原比特币区块大小上限为 1MB，部分社区认为这一限制导致交易拥堵，主张将区块大小提升至 8MB。由于与另一部分社区无法达成共识，支持扩容的节点和算力分裂出去，基于原比特币区块链在特定高度分叉，形成新的加密货币 BCH，原链则继续作为比特币（BTC）存在。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;软分叉&#xA;    &lt;div id=&#34;软分叉&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%bd%af%e5%88%86%e5%8f%89&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;软分叉是对现有协议的&lt;strong&gt;向后兼容式修改&lt;/strong&gt;，新规则发布后，遵循旧规则的节点仍能识别和验证遵循新规则的区块，&lt;strong&gt;不会导致网络永久分裂&lt;/strong&gt;。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>3. 比特币的交易</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/3.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%9A%84%E4%BA%A4%E6%98%93/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/3.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%9A%84%E4%BA%A4%E6%98%93/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;UTOX模型&#xA;    &lt;div id=&#34;utox模型&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#utox%e6%a8%a1%e5%9e%8b&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在讲比特币交易之前，必须先理解比特币的交易模型。在比特币的交易体系中，并没有“余额”这一概念，它使用的是utxo模型（unspent transaction outputs，未使用过的交易输出）来记录用户的交易信息。我们在交易过程中经常说的钱包余额，实际上是一个钱包地址的utxo集合。所以，在比特币中，余额是&lt;strong&gt;实际上是别人转给你的，且未使用的额度&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;这样说还是比较抽象，举个日常生活中的例子来说明，假如B、C给A分别转账20元，10元，那么用户A的钱包里有30元，这30元是A钱包里的余额。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\3.比特币的交易\钱包余额.png&#34; style=&#34;zoom: 33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;我们将这个场景类比到比特币交易中，假如B、C给A分别转账20个比特币，10个比特币，那么用户A的钱包里有30个比特币，但这30个比特币不是直接得出来得，而是通过计算获取出来得。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\3.比特币的交易\比特币余额.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;当A把币花掉后，就会在utxo集合里删除。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\3.比特币的交易\钱包余额2.png&#34; style=&#34;zoom:33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;简单来说，传统的账户系统中存在这一个&lt;strong&gt;余额变量&lt;/strong&gt;，每当产生交易时都会对这个余额变量进行修改，用户想要获取余额时直接读取整个余额变量即可。但在比特币的系统中并没有这个余额变量，而是每次都通过&lt;strong&gt;求和自己收到并且未花的钱&lt;/strong&gt;来获取余额（当然一些钱包软件可能会对这个余额做一些缓存）。&lt;/p&gt;&#xA;&lt;p&gt;我们上面所说的utxo集合都是用户自己相关的utxo集合，这种数据一般会单独保存在钱包软件中。其实在全节点中我们还保留一个比特币系统中&lt;u&gt;所有交易的utxo集合&lt;/u&gt;，用户之间的交易要通过挖矿机制同步到这个完整的utxo集合中去，这样用户之间的交易才能被同步到其他用户那里去（后续我们会逐步提到这一机制）。&lt;/p&gt;&#xA;&lt;p&gt;为什么要使用utxo模型，相对于传统的账户模型，有什么好处？&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;增强隐私性&lt;/strong&gt;：utxo模型使得交易与账户分离，增加了追踪资金流动的难度，从而保护用户身份。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;可拓展性&lt;/strong&gt;：utxo模型支持并行处理交易，提高了网络的扩展性。每个节点只需要验证自己的收到的uxto，而不需要处理整个账户的余额。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;安全性&lt;/strong&gt;：utxo模型通过验证每笔交易的输入，确保&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;了解了比特币得交易模型，接下来再思考讨论下比特币交易相关的一些问题。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;传统的中心化交易&#xA;    &lt;div id=&#34;传统的中心化交易&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bc%a0%e7%bb%9f%e7%9a%84%e4%b8%ad%e5%bf%83%e5%8c%96%e4%ba%a4%e6%98%93&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在中心化的交易系统，例如支付宝中，必须有一个中心化的数据库，其记录了用户有多少余额，这样可以确保交易的绝对准确性，不会出现一份钱花两次等问题（依赖于第三方服务，例如支付宝、微信等，保证账户的钱不会多花、漏花）。其次，货币的发行由中心化的机构（例如央行）来决定。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;去中心化交易&#xA;    &lt;div id=&#34;去中心化交易&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8e%bb%e4%b8%ad%e5%bf%83%e5%8c%96%e4%ba%a4%e6%98%93&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在去中心化的交易系统中，并没有一个中心化的机制来帮我们保证交易的准确性，即比特币系统中任需要解决如下问题：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如何发行货币&lt;/li&gt;&#xA;&lt;li&gt;如何解决双花攻击&lt;/li&gt;&#xA;&lt;li&gt;如何避免冒名顶替&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;双花攻击&#xA;    &lt;div id=&#34;双花攻击&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%8c%e8%8a%b1%e6%94%bb%e5%87%bb&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;第一个问题后面会详细讨论，先来看下比特币中是如何解决双花攻击的。首先，每一个比特币交易都包含输入跟输出两个部分：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>8. 比特币脚本</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/8.-%E6%AF%94%E7%89%B9%E5%B8%81%E8%84%9A%E6%9C%AC/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/8.-%E6%AF%94%E7%89%B9%E5%B8%81%E8%84%9A%E6%9C%AC/</guid>
      <description></description>
      
    </item>
    
    <item>
      <title>5. 比特币挖矿难度</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/5.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF%E9%9A%BE%E5%BA%A6/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/5.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF%E9%9A%BE%E5%BA%A6/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;挖矿难度&#xA;    &lt;div id=&#34;挖矿难度&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%8c%96%e7%9f%bf%e9%9a%be%e5%ba%a6&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;前面提到了挖矿是不断地调整 block header 中的nonce值，使得 hash(block_header) 的值小于等于一个目标值target。可以看出，&lt;strong&gt;target越小，挖矿的难度越大&lt;/strong&gt;，他们之间是反比的关系。&#xA;$$&#xA;difficulty = \frac{difficulty1(最小挖矿难度)}{target}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;调整挖矿难度原因&#xA;    &lt;div id=&#34;调整挖矿难度原因&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%b0%83%e6%95%b4%e6%8c%96%e7%9f%bf%e9%9a%be%e5%ba%a6%e5%8e%9f%e5%9b%a0&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在比特币系统中，出块的平均时间保持在10min左右，但随着参加挖矿的人增加及设备性能的提升，系统的总算力会不断地增强，出块的时间会越来越短，挖矿的难度越来越低。实际上，在比特币系统开发过程中，中本聪便考虑到了这个问题，&lt;strong&gt;并设计了一个相应的难度调整算法&lt;/strong&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;出块时间太短会带来什么问题？&#xA;    &lt;div id=&#34;出块时间太短会带来什么问题&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%87%ba%e5%9d%97%e6%97%b6%e9%97%b4%e5%a4%aa%e7%9f%ad%e4%bc%9a%e5%b8%a6%e6%9d%a5%e4%bb%80%e4%b9%88%e9%97%ae%e9%a2%98&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;出块时间太短，会导致区块链分叉过多，不利于系统达成共识，会让各个节点处于不一致的状态，且会造成算力分散，大大降低了黑客发动51%攻击的成本。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;出块时间10min是最优解吗？&#xA;    &lt;div id=&#34;出块时间10min是最优解吗&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%87%ba%e5%9d%97%e6%97%b6%e9%97%b410min%e6%98%af%e6%9c%80%e4%bc%98%e8%a7%a3%e5%90%97&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;不一定，比特币选择 10 分钟作为出块时间，是中本聪在设计时权衡多方面因素的结果，10 分钟的间隔让交易有足够时间在全网传播，同时又降低了上述分叉攻击带来的风险。但是无论如何，这个出块时间都要维持在一个稳定的值。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>0. 说明</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/0.-%E8%AF%B4%E6%98%8E/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/0.-%E8%AF%B4%E6%98%8E/</guid>
      <description>&lt;p&gt;本系列文章是基于北京大学肖臻老师《区块链技术与应用》做的笔记，文章将会从多个角度来探讨区块链技术，在课程的基础上会加入自己的一些理解。文章的整体风格尽量遵循3W原则，即：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Why：为什么&lt;/li&gt;&#xA;&lt;li&gt;How：如何做&lt;/li&gt;&#xA;&lt;li&gt;What：是什么&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;本文不会做过多繁杂概念的介绍，主要内容为一些理解性的内容，概念性的东西大家可以自行google。此外笔记的顺序也不完全按照肖臻老师的课程章节顺序&lt;/p&gt;&#xA;&lt;p&gt;另外，区块链并不等于比特币，&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>6. 比特币挖矿设备及矿池</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/6.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF%E8%AE%BE%E5%A4%87%E5%8F%8A%E7%9F%BF%E6%B1%A0/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/6.-%E6%AF%94%E7%89%B9%E5%B8%81%E6%8C%96%E7%9F%BF%E8%AE%BE%E5%A4%87%E5%8F%8A%E7%9F%BF%E6%B1%A0/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;全节点与轻节点&#xA;    &lt;div id=&#34;全节点与轻节点&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%85%a8%e8%8a%82%e7%82%b9%e4%b8%8e%e8%bd%bb%e8%8a%82%e7%82%b9&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;前面我们说过比特币的节点分为全节点和轻节点，全节点包含了区块的header及body，轻节点只包含header，下面我们详细地来对比下他们之间的异同。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;轻节点&lt;/th&gt;&#xA;          &lt;th&gt;全节点&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;是否一直在线&lt;/td&gt;&#xA;          &lt;td&gt;不是一直在线&lt;/td&gt;&#xA;          &lt;td&gt;一直在线&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;包含信息&lt;/td&gt;&#xA;          &lt;td&gt;在本地硬盘保存完整的区块信息&lt;/td&gt;&#xA;          &lt;td&gt;只保存每个区块的块头&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;交易信息&lt;/td&gt;&#xA;          &lt;td&gt;在内存中保存完整的utxo集合&lt;/td&gt;&#xA;          &lt;td&gt;不保存全部交易，只保存和自己有关的交易&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;合法性校验&lt;/td&gt;&#xA;          &lt;td&gt;监听比特币网络上的交易信息， 验证每个交易的合法性&lt;/td&gt;&#xA;          &lt;td&gt;无法验证大多数交易的合法性，只能验证与自己有关的交易的合法性&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;打包交易&lt;/td&gt;&#xA;          &lt;td&gt;决定哪些交易会打包到区块中&lt;/td&gt;&#xA;          &lt;td&gt;无法检测网上发布的区块的正确性&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;合法性&lt;/td&gt;&#xA;          &lt;td&gt;监听其他矿工挖出的区块，验证其合法性&lt;/td&gt;&#xA;          &lt;td&gt;仅可以验证挖矿难度&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;挖矿&lt;/td&gt;&#xA;          &lt;td&gt;决定沿着哪条链挖下去&amp;amp;当出现等长分叉，选择哪一个分叉&lt;/td&gt;&#xA;          &lt;td&gt;只能检测哪个是最长链，不知道哪个是最扯昂合法链&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;比特币网络中大部分节点都是轻节点，在挖矿过程中，如果监听到别人已经挖出一个新的区块，延申了最长合法链，那么应该重新组装一个新的候选区块，重新开始挖矿。这样做是不是有些可惜？并不，因为挖矿是无记忆性的，每一次nonce值的尝试，都不会对下一次的尝试造成影响。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;挖矿设备&#xA;    &lt;div id=&#34;挖矿设备&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%8c%96%e7%9f%bf%e8%ae%be%e5%a4%87&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;挖矿设备的演化趋势是越来越趋于专业化，从普通的家用电脑，到如今的ASIC矿机。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;一代设备：CPU&#xA;    &lt;div id=&#34;一代设备cpu&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%b8%80%e4%bb%a3%e8%ae%be%e5%a4%87cpu&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;开始的时候大家用普通的家庭电脑的CPU来进行挖矿，但实际上使用家用电脑来挖矿是十分不划算的，因为在挖矿过程只用到了电脑的一部份资源，大部分内存、CPU资源都是在闲置的。如果用通用计算机来挖矿，那么挖矿很快会变得无利可图，因为性价比太低。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>7. 比特币网络</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/7.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%BD%91%E7%BB%9C/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/7.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%BD%91%E7%BB%9C/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;比特币网络&#xA;    &lt;div id=&#34;比特币网络&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e7%bd%91%e7%bb%9c&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;上篇文章中说到用户打包交易发布到区块链网络中去，那么新发布的区块是如何传播到其他节点上去呢？&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;比特币网络&#xA;    &lt;div id=&#34;比特币网络-1&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%af%94%e7%89%b9%e5%b8%81%e7%bd%91%e7%bb%9c-1&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币协议工作在应用层，其底层是一个 &lt;em&gt;P2P Overlay Network&lt;/em&gt;（P2P覆盖网络）。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\7.比特币网络\比特币网络.png&#34; style=&#34;zoom: 33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;比特币系统中所有节点完全平等，没有所谓的超级节点，要加入这个P2P网络，首先至少要知道一个种子节点，通过种子节点来获取其他节点的信息。节点之间是通过TCP协议进行通信，方便穿透防火墙。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;设计原则&#xA;    &lt;div id=&#34;设计原则&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%ae%be%e8%ae%a1%e5%8e%9f%e5%88%99&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;比特币网络的设计原则是&lt;strong&gt;简单、鲁棒&lt;/strong&gt;，而不是&lt;strong&gt;高效&lt;/strong&gt;，消息在节点中传播是使用flooding的方式，当某个节点收到消息时，会把这个消息传播个他的邻居节点，同时标记该消息已经接收过，避免重复接收消息。邻居节点的选举是随机的，并不是考虑实际的网络拓扑结构，这样做的好处是可以增强鲁棒性。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\7.比特币网络\flooding传播.png&#34; style=&#34;zoom: 33%;&#34; /&gt;&#xD;&#xA;&lt;p&gt;在比特币的每个节点中都要维护一个等待上链的交易集合，第一次收到交易消息，验证完其合法性后，需要将这个消息放到这个集合中，并且通知其他的邻居节点。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;交易冲突&#xA;    &lt;div id=&#34;交易冲突&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%ba%a4%e6%98%93%e5%86%b2%e7%aa%81&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;假设有A -&amp;gt; B，A -&amp;gt; C两笔交易（A为同一笔交易的UTXO输出），同时广播到网络上，每个节点在网络中的位置不同，有些节点可能先收到A -&amp;gt; B，有些节点可能先收到A -&amp;gt; C。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>2. 比特币的数据结构</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/2.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/</link>
      <pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/2.-%E6%AF%94%E7%89%B9%E5%B8%81%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;整体结构&#xA;    &lt;div id=&#34;整体结构&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%95%b4%e4%bd%93%e7%bb%93%e6%9e%84&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;比特币中的一个最基本的数据结构就是区块链，即一个一个区块组成的链表。其中，每个区块又可以分为&lt;strong&gt;header&lt;/strong&gt;跟&lt;strong&gt;body&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\2\块头与块身.png&#34; style=&#34;zoom: 50%;&#34; /&gt;&#xA;&lt;p&gt;header里存储这个区块的一些元信息，例如版本、时间戳等。body里则存储区块里包含的具体交易。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;全节点跟轻节点&#xA;    &lt;div id=&#34;全节点跟轻节点&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%85%a8%e8%8a%82%e7%82%b9%e8%b7%9f%e8%bd%bb%e8%8a%82%e7%82%b9&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;节点是指接入比特币网络的计算机（或设备），它们通过运行比特币客户端软件参与网络维护、数据同步和交易处理。（了解P2P的同学应该很容易理解节点）&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\2\全节点与轻节点.png&#34; style=&#34;zoom: 50%;&#34; /&gt;&#xA;&lt;p&gt;比特币中的节点又分为全节点和轻节点，全节点指存储了整个区块的节点（包括&lt;strong&gt;header与body&lt;/strong&gt;，一般为矿工节点、交易所节点等）。轻节点指仅存储区块部分数据的节点（仅&lt;strong&gt;header&lt;/strong&gt;，一般为手机钱包）。后续我们会再详细述说全节点与轻节点区别，这里只要有个大致的概念即可。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;哈希指针&#xA;    &lt;div id=&#34;哈希指针&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%93%88%e5%b8%8c%e6%8c%87%e9%92%88&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;前面说过区块链是由一个个区块组成的，跟普通的链表用普通指针来连接数据不一样的是，区块之间是通过&lt;strong&gt;哈希指针&lt;/strong&gt;来连接区块的。&lt;/p&gt;&#xA;&lt;img src=&#34;D:\NotePitcure\2\哈希指针.png&#34; style=&#34;zoom: 50%;&#34; /&gt;&#xA;&lt;p&gt;哈希指针会将前一个区块的哈希值存入当前区块中，并且使用&lt;strong&gt;指针指向前一个区块&lt;/strong&gt;。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;为什么需要哈希指针&#xA;    &lt;div id=&#34;为什么需要哈希指针&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81%e5%93%88%e5%b8%8c%e6%8c%87%e9%92%88&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;防止区块内容被篡改&lt;/p&gt;&#xA;&lt;p&gt;在普通的链表中，指针指向的数据是可以被修改&amp;amp;替换的。而比特币这样一个去中心化的系统中，区块里的数据都是一笔笔已经发生的交易，是不应该被篡改的。哈希指针在通过指针找到前一个区块的时候，会对前一个区块进行hash运算，并且与当前存储的前一个指针的hash值做对比。假如有人恶意篡改了前一个区块的数据，那么与当前存储的hash值会不一致，则证明了前一个区块被篡改。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>1. 哈希与签名</title>
      <link>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.-%E5%93%88%E5%B8%8C%E4%B8%8E%E7%AD%BE%E5%90%8D/</link>
      <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
      
      <guid>http://blog.chuckchan.top/posts/web3/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.-%E5%93%88%E5%B8%8C%E4%B8%8E%E7%AD%BE%E5%90%8D/</guid>
      <description>&lt;h1 class=&#34;relative group&#34;&gt;什么是哈希&#xA;    &lt;div id=&#34;什么是哈希&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%af%e5%93%88%e5%b8%8c&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;简单来说就是把任意输入 通过特定方式（hash函数） 处理后 生成一个值。或者说，对一个数据生成其对应的摘要。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;我的截图&#34;&#xA;    src=&#34;D:%5cNotePitcure%5c1%5chash.png&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;哈希特性&#xA;    &lt;div id=&#34;哈希特性&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%93%88%e5%b8%8c%e7%89%b9%e6%80%a7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;##抗碰撞性&#xA;指极难找到两个输入，他们的经过哈希函数处理后的哈希值相同。&lt;/p&gt;&#xA;&lt;p&gt;注意，这里是极难，&lt;strong&gt;但并非不可能&lt;/strong&gt;（找出哈希碰撞的两个输入的代价，要远远大于碰撞带来的收益，所以这里可以近似地认为不可能）&lt;/p&gt;&#xA;&lt;p&gt;##不可逆性&#xA;简单来说，就是对于一个哈希函数，不能根据他的输出，去反推他的输入&lt;/p&gt;&#xA;&lt;p&gt;##难题友好&#xA;指哈希值的计算不可预测，仅跟据输入很难预测输出，例如：我们需要一个哈希值，存在于某一个范围内，只能通过不停运算查找出来。该性质保证了比特币系统中，只能通过“挖矿”获得比特币。&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;什么是签名&#xA;    &lt;div id=&#34;什么是签名&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%af%e7%ad%be%e5%90%8d&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;在中心化的系统中，通常有一个账号来代表用户的身份。例如支付宝中的支付系统，用户需要登录自己的账号，再输入支付密码，才能完成一笔交易。但在比特币的世界中，并没有中心化系统中的“账号”、“密码” 这一概念。那么，比特币系统是如何唯一标识用户的呢？答案就是签名。&lt;/p&gt;&#xA;&lt;p&gt;我们通常会在写信的时候附上自己的签名，其作用是证明这封信是出自此人之手（实际并不能完全证明，签名是可以伪造的，对吧）。并且，信的内容与签名并无直接关联。&lt;/p&gt;&#xA;&lt;p&gt;在比特币的交易中，需要对每一笔交易生成一个签名，但与写信不同，我们需要生成的签名，是根据交易内容来生成的，并且证明交易是由你发起的。&lt;/p&gt;&#xA;&lt;p&gt;在比特币系统中，也需要一个“账号”来证明这比交易是由你本人发起的（即对这笔交易进行签名），这个“账号”就是私钥&amp;amp;私钥对。总之，这对密钥就代表了比特币系统中的一个账户，如果其中私钥泄露，则相当于泄露了银行卡的密码。从另一个角度看，只有用于私钥，才能对比特币进行交易，保证了交易的安全性。&lt;/p&gt;&#xA;&lt;p&gt;这里关于公钥&amp;amp;私钥&amp;amp;签名&amp;amp;验签的内容不再详细赘述，有需要可以参考&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
