<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Merkle Tree on </title>
    <link>http://blog.chuckchan.top/tags/merkle-tree/</link>
    <description>Recent content in Merkle Tree on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>© 2026 Chuck Chan</copyright>
    <lastBuildDate>Thu, 02 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://blog.chuckchan.top/tags/merkle-tree/index.xml" rel="self" type="application/rss+xml" />
    
    <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>
    
  </channel>
</rss>
