主页 > 苹果版imtoken钱包官网 > 学习笔记《张海霞-比特币白皮书精读》第7讲-网络

学习笔记《张海霞-比特币白皮书精读》第7讲-网络

苹果版imtoken钱包官网 2023-04-20 07:42:14

传统中心化网络

sitemytokencap.com 比特币白皮书_比特币白皮书英语_sitebtc112.com 比特币白皮书

这是典型的中心化结构。 C1、C2、C3等之间没有直接连接,C节点要想连接,必须借助中心化的S节点作为桥梁。 集中节点充当服务提供者和中介。 比如我们没有办法直接把资金从一个人转到另一个人,必须要经过银行这个中介。

比特币网络-P2P网络

P2P网络是指同一网络中的每一台计算机都是平等的,各个节点共同提供网络服务。 没有“特殊”的节点,每个网络节点以扁平(flat)的拓扑结构相互连接。

sitemytokencap.com 比特币白皮书_比特币白皮书英语_sitebtc112.com 比特币白皮书

与中心化网络相比,P2P 网络中没有服务器或中心化服务。

sitemytokencap.com 比特币白皮书_sitebtc112.com 比特币白皮书_比特币白皮书英语

P2P 网络的节点是交互连接和协调的。 每个节点在对外提供服务的同时,也使用网络中其他节点提供的服务。 每个节点既是服务器又是客户端。

除了应用于比特币网络的P2P网络模型外,广泛使用的BT下载也是基于P2P网络。

P2P 网络不仅消除了中心化的风险,还提高了传输效率。

如何发现节点

由于每个网络节点都是平等的(指的是节点在网络层面是平等的,但每个节点在功能上可以有不同的分工,比如钱包节点、挖矿节点等),所以没有“特殊”中心节点,那么当一个新的网络节点启动时,它是如何与其他节点建立连接从而加入比特币网络的呢?

在中心化网络中,新加入的节点只要连接到一个“特殊”的中心节点就可以加入网络。

为了能够加入比特币网络,比特币客户端将执行以下操作:

比特币白皮书英语_sitebtc112.com 比特币白皮书_sitemytokencap.com 比特币白皮书

1、节点会记住最近连接成功的网络节点,重启后可以快速重新建立与之前对端节点网络的连接。

2. 节点在失去现有连接时会尝试发现新节点。

3.] 当建立一个或多个连接时,节点会向其邻居发送一条包含其自身 IP 地址的消息。 相邻节点再将此消息依次转发给各自的相邻节点,以保证节点信息被多个节点接收到,连接更稳定。

4. 一个新加入的节点可以向它的邻居发送一个getaddr 消息,要求它们返回一个已知对等节点的IP 地址列表。 节点可以找到要连接的对等点。

5. 节点启动时,可以为节点指定一个活动节点IP。 如果不是,客户端还维护一个列表,列出那些已经稳定运行了很长时间的节点。 这样的节点也称为种子节点(其实和BT下载的种子文件是一样的),通过种子节点可以快速发现网络中的其他节点。

什么是叉子

如果一个节点同时广播两个不同的新区块 A 和 B,一些节点将接收 A 而其他节点将接收 B。在这种情况下,它们将各自从最先收到的区块开始工作,但保留另一个区块的信息以防万一它胜出并成为更长的链。 这是叉子。 只有在找到下一个工作证明并且其中一个成为更长的链时,僵局才会被打破; 在另一条链上工作的节点切换到更长的链。 孤儿块会被网络忽略比特币白皮书英语,发现这个块的矿工将失去区块奖励。所以通常矿工只想挖一个有效的块并加入最长的链

sitebtc112.com 比特币白皮书_比特币白皮书英语_sitemytokencap.com 比特币白皮书

以下为译文:

英文原文:

运行网络的步骤如下:

1) 新交易被广播到所有节点。

2) 每个节点将新交易收集到一个块中。

3) 每个节点都致力于为它的块找到一个困难的工作量证明。

4) 当一个节点找到一个工作量证明时,它会将这个块广播给所有节点。

比特币白皮书英语_sitebtc112.com 比特币白皮书_sitemytokencap.com 比特币白皮书

5) 只有当其中的所有交易都有效且尚未花费时,节点才会接受该块。

6) 节点通过创建链中的下一个块来表达他们对块的接受,使用接受块的哈希值作为前一个哈希值。

节点始终认为最长的链是正确的链,并将继续努力扩展它。 如果两个节点同时广播不同版本的下一个区块,一些节点可能会先接收一个或另一个。 他们收到了一个,但保存另一个分支以防它变得更长。 当找到下一个工作证明并且一个分支变得更长时,平局将被打破; 在另一个分支上工作的节点将切换到更长的分支。

新的交易广播不一定需要到达所有节点。 只要他们到达很多节点,他们很快就会进入一个区块。 块广播也可以容忍丢失的消息。 如果一个节点没有收到一个块,它会在收到下一个块并意识到它错过了一个时请求它。

中文对比:

网络工作如下:

1. 新的交易被广播到每个节点。

sitemytokencap.com 比特币白皮书_sitebtc112.com 比特币白皮书_比特币白皮书英语

2. 每个节点将新交易包含到一个块中。

3. 每个节点为其块找到一个困难的工作量证明方法。

4. 当一个节点找到工作量证明时,它会将区块广播给所有节点。

5.只有当区块中的所有交易都是合法的且没有被双花时,才会被所有节点接受。

6. 每个节点接受该区块作为顶链,并使用该区块的哈希值在自己的链上创建一个新区块。

所有节点确定最长的链为正确的链比特币白皮书英语,并不断工作以扩展它(这保证了最长的链是正确的链,正确的链是最长的链)。 如果一个节点同时广播两个不同的新区块 A 和 B,一些节点将接收 A 而其他节点将接收 B。在这种情况下,它们将各自从最先收到的区块开始工作,但保留另一个区块的信息以防万一它胜出并成为更长的链。 只有在找到下一个工作证明并且其中一个成为更长的链时,僵局才会被打破; 在另一条链上工作的节点切换到更长的链。

新交易不一定触及所有节点。 只要这些新交易被多个节点接收到,它们就会很快被包含在区块中。 块广播仍然会接受丢失的信息。 如果一个节点不接受某个块,当它收到下一个块时,它会收到它并意识到它错过了一个块。

参考分析 比特币网络:一种去中心化的点对点网络架构