主页 > 最新imtoken官网下载链接 > 致敬金马先生的方式就是完整抄写他的作品:《精通比特币》第6、7章

致敬金马先生的方式就是完整抄写他的作品:《精通比特币》第6、7章

最新imtoken官网下载链接 2023-01-27 05:20:14

快速入门比特币所需的最低限度知识:协议、节点

协议:是计算机领域的专业术语(协议)。 计算机领域的协议有很多,比如:http协议。 协议是大家一起制定并共同遵守的文件比特币中节点的功能包括,比如一些离婚协议、租房合同; 如果大家都同意,协议的内容可以扩展。

节点:一般指计算机网络中的单个计算机或网络设备。 每个节点的功能可能不同,但它是网络中一个独立且相互关联的实体。 在比特币网络中,我们常说的节点,往往是带有比特币客户端的计算机或网络设备。

6.1 p2p网络架构

P2P(peer to peer):点对点; 比特币网络架构是P2P。 比特币网络中的每一台计算机都是互为对等体,各个节点共同提供网络服务,不存在“特殊”节点。 每个节点对外平等地提供服务,同时使用其他节点提供的服务。

比特币网络是一系列按照比特币 P2P 协议运行的节点的集合。

6.2 节点类型及分工(按功能)

比特币节点的价值和地位都是平等的,但每个节点的功能不同,每个节点的分工不同。

一个全节点包括4个功能: 1. 钱包; 2、矿工; 3.完整的区块链; 4.网络路由节点。

? ? ? 包含 4 个函数的节点是一个完整节点。 有没有不包含4个函数的节点? 它是天生不完整,还是故意不完整?

我先是百度了一下,然后记得查原文(点开直播里的链接)才知道节点有7种。

1、核心客户端(全节点);

2、完整的区块链节点(包括:完整的区块链、网络路由节点);

3、独立矿工(包括:矿工、完整区块链、网络路由节点);

4、轻量级spv钱包(钱包、网络路由节点);

5、矿池协议服务器(如:矿池、stratum服务器。会运行其他协议的节点:如矿池挖矿节点、stratum节点、接入P2P网络的网关路由器);

6、挖矿节点(包括没有区块链但有层协议节点(s)或其他矿池挖矿协议节点(p)的挖矿功能);

7.轻量级(SPV)Stratum钱包(包括没有区块链的钱包,网络节点运行stratum协议。

7个葫芦娃。

怎么搭建比特币节点_比特币节点是什么_比特币中节点的功能包括

每个节点参与整个网络的路由功能,还可能包括其他功能。每个节点参与验证和传播交易和区块信息,发现和维护与对等节点的连接

路由功能意味着每个节点都会主动连接到它的邻居节点来为整个网络服务。

四种功能任意组合,就会出现不同的节点,也就是说,很多节点都不是全节点:比如钱包。

6.3 扩展比特币网络

比特币网络本身是遵守比特币协议的节点组合。 但是,协议本身的一些功能是无法实现的,例如:挖矿和钱包功能。 如果要实现,就需要扩展比特币网络协议。

例如:很多接入比特币网络的大公司都运行基于Bitcoin Core客户端的全节点客户端,拥有完整的区块链和网络节点副本,但不具备挖矿和钱包功能。

为了具备这些功能,这些网络公司会在原有的比特币网络协议中加入一些针对上述功能的特殊协议。

协议:这是规则,但一切都可以协商。

扩展后的比特币网络包括各种类型的节点、网关路由器、边缘路由器、钱包客户端以及它们互连所需的各种协议。

这些扩展协议的存在使得整个比特币网络拥有了更多的功能。

6.4 网络发现

比特币网络中的节点存在于一个复杂的网络中。

每一个新的节点出现后,为了与整个区块链网络中的节点进行协作,这个节点必须主动联系已有的节点。 只有这样,我们才能加入比特币网络这个大家庭。

在这个新节点和现有节点之间建立连接的过程称为:网络发现。 发现的目的是找到自己的对等节点。

网络发现的过程就像:搬家后寻找邻居。 (家乡地址就是IP地址)

一个新节点如何找到它对应的节点并建立连接?

区块链中有许多网络节点。 当一个新节点刚开始寻找邻居时,很难一下子找到自己的对等节点。

为了提高网络发现的效率,全网有一类特殊的节点,称为:种子节点。

怎么搭建比特币节点_比特币节点是什么_比特币中节点的功能包括

如果说为一个新节点寻找对应节点的过程就像是搬家找邻居,那么种子节点就是你将要居住的小区的居委会大妈。

居委会阿姨手里掌握着很多小区里邻居的资料。 你把信息给阿姨,阿姨帮你找一个能对应到你的邻居节点。

下一步是在你自己和你的邻居之间建立深厚的联系。 你把你的信息给你的邻居,你的邻居会帮你把你的信息再传递给他的邻居。 邻居的邻居还会传话,一旦下来,很快,整个社区都会知道你的地址,很容易找到你。

阿姨们很热情。

此外,还可以向自己的邻居节点发送请求,获取邻居已知的其他邻居节点的地址信息。

这样,全网所有节点都知道彼此的节点地址。

也可以和你一起寻找对等节点,完成网络发现的目标。

这个村子好温馨!

还有一种情况:节点与整个比特币网络失去联系,退出网络,就好像你可以自由进出社区一样。 就好像你做了一段时间的矿工,突然间不想立即启动比特币网络。

人搬进社区去异地居住,节点能搬到哪里去? 消耗了吗。

在这种情况下,节点之间的地址是不可靠的,比特币网络发明了一套自己的机制来应对这种情况。

比特币网络中的每个节点都必须不断地做两件事:在丢失时发现新的邻居节点,找到并主动提供帮助。

网络发现实际上是节点间主动协助的结果。

下面解释节点如何知道它们的邻居是否已经移动。

事实证明,节点需要定期发送信息来维持连接。 和人一样的社会规则。 如果两个节点之间在90分钟内没有发送任何信息,任何一方节点都可以确定邻居节点已经离开网络,此时可以找到新的邻居。

这样的机制保证了整个比特币网络可以自动调整节点大小的增减。

节点的规则与人与人之间的规则相同。 节点不能独善其身,人不社交也不可能。

6.5 全节点

比特币中节点的功能包括_怎么搭建比特币节点_比特币节点是什么

具有完整且最新的区块链副本的节点称为完整节点。

全节点可以独立建立和验证整个区块链,即网络中从第一个创世块到最新块的整个比特币网络。

由于全节点有一个全新的副本,全节点“可以独立验证所有信息,而无需诉诸或信任其他系统”。

由于全节点包含了整个区块链的完整信息,如果你的电脑想要拥有一个全节点,你的硬盘至少需要20GB的存储空间。

6.6 库存清单

清单列表其实是一个比喻,意思是:每个节点里面都存储着一个和自己相连的节点列表。

当网络中的两个节点需要连接时,这两个节点会互相交换自己存储的节点列表信息,这样可以保证一个新的全节点能够构建完整的区块链信息。

这是交换库存清单的过程。

6.7 SPV 简单支付验证节点

如前所述,只有全节点才拥有全网区块链的完整副本,也只有全节点才具备独立验证的能力。

很多节点不具备全节点独立验证能力,因此会采用一种称为SPV的验证方式。

采用 SPV 验证方式的节点称为 SPV 节点。

SPV节点不会下载所有的区块链信息,只会下载每个区块的头部信息。 (并且是区块头信息)

SPV的验证方式是参照交易在区块链中的深度,而不是高度来验证交易。

简单来说,检查一个区块上是否叠加了6个区块,如果有,就证明交易确实发生了。

6件可以证明交易确实

第7章:区块+链

区块是区块链最基本的单位。 每个区块包含大量的交易信息,也包含一些与相邻区块相关的信息。 你可以简单地把一个区块看成一个账本,里面包含了很多交易信息。

比特币中节点的功能包括_比特币节点是什么_怎么搭建比特币节点

链:是比喻。 连锁关系是一种非常稳定的关系,往往意味着前后关系非常密切。 在区块链中,每个区块都是来回连接的。

7.1 区块链

区块链的意识是:一种数据结构,由包含信息的区块从后向前依次链接起来。

事实上,区块链并不是一条完整的链条,而是一条断开连接的链条。 也可以看成一条垂直链条。

底部块称为创世块。

区块链中的高度是指区块与创世区块之间的距离。 top 或 top block 是新添加的,新的块离创世块最远。

您还可以将垂直块与玻璃杯中堆叠的冰块进行比较。 这个结构就是编程领域常见的数据结构:栈。

SPV的验证方式取决于区块高度。

其实从垂直的角度来看,这个块按从高到低的顺序叠加了多少个块,只要它的深度超过6(也就是在上面叠加了6个块),就可以表明您提供的交易信息已通过验证。

“从上到下,超过6个区块后,区块在区块链中的位置越深,被更改的可能性就越小。100个区块后,区块链足够稳定。此时,Coinbase Transactions(包含新交易的交易挖出的比特币)可以支付,几千块(一个月)后的区块链将成为历史,永远无法改变。

7.2 块结构

单个区块的结构,即单个账本的内部结构。

单个区块由两部分组成:一个是区块头,另一个是区块体。

区块头中有三组元数据:父区块哈希值、挖矿竞争相关数据、默克尔树根(所有交易信息的数据结构)

7.3 区块头标识符

每个块都有自己的标识符,使其易于查找和识别。

第一种方式:识别方式为:区块头的哈希值,相当于每个区块的身份证

通过SHA256加密算法,对区块头中的信息进行计算,得到一个区块头的唯一哈希值。

比特币节点是什么_比特币中节点的功能包括_怎么搭建比特币节点

整个比特币网络中的区块都有自己独特的哈希值。 这个哈希值不存储在自己的区块中,整个网络都会有专门的存储。 就好比,你有身份证,但是身份证是放在派出所的。

第二种识别方法:区块链的高度。

相当于街区所在楼层的高度。 但是,与区块头的哈希值不同,区块高度并不是区块的唯一标识,因为存在区块链分叉。

区块链分叉可以理解为:两个或多个区块可能具有相同的区块高度,并在区块链中竞争相同的位置。

在整个区块链网络中,每个矿工都有自己的区块,同时只有一个区块获胜并最终加入区块链。

因此,在区块链的顶端,在某个时刻,可能存在多个区块高度完全相同的区块。 这时候,即使知道了方块的高度,也无法确定是哪个方块。

因此,高度并不是块的唯一标识。

7.4 区块链接:区块+链

链是指块之间的连接。 在每个区块的头部区块中,都会存储自己“父区块”的区块哈希值。

有意思的是:该区块存储的不是自己的哈希值,而是父亲的身份证。 是为了延续辉煌吗?

父块:当前块的前一个块。 从垂直角度看比特币中节点的功能包括,它是您身体下方最近的块。

以此类推,第二个区块的父区块是创世区块,也就是第一个区块。

这样的机制使得每个区块都可以根据其父区块的唯一标识符一直搜索到创世区块。

这形成了一个完整的链结构。

7.5 默克尔树

默克尔树是一种独特的数据结构。 该结构主要用于表示每个区块中的所有交易记录。 这棵树的目的是快速验证交易是否存在。 这就涉及到二叉树的算法,可以理解为提高计算效率的数学公式。

标记树结构的应用大大降低了验证交易信息是否存在的时间复杂度。

Markle 树的特点和作用如下:当区块大小从 16 个交易(4KB)急剧增加到 65535 个交易(16MB)时,证明交易存在的 Markle 路径的长度增加极其缓慢,仅从 128字节到 512 字节

这种方式使 SPV(简单支付验证)成为可能。

SPV 节点不保存所有交易,也不下载整个区块,只保存区块头,它们使用认证路径或 Merkle 路径来验证区块中是否存在交易,而不必下载区块中的所有交易。