主页 > imtoken官网下载2.0苹果版 > 区块链节点和钱包、路由、挖掘

区块链节点和钱包、路由、挖掘

imtoken官网下载2.0苹果版 2023-07-01 15:19:08

# 常规节点的分类

官方参考实现的节点同时拥有路由、区块链存储、挖矿、钱包四大模块。根据节点在区块链网络中的作用和自生焦点的功能(当然也有简单的效率和成本考虑)什么叫做节点挖矿,部分节点会缺少其中的一个或几个模块。四个模块的主要功能:

1、网络路由:

路由模块负责发现和维护对等节点的连接,以及广播和接受新块。理论上,路由模块应该是所有节点都应该有的模块,否则单个节点无法参与完整区块链网络的共识和协调。当然,也有例外。例如,矿池模型中没有路由模块,但它严重依赖路由的一些核心协议。

2、区块链存储(完整的区块链数据库):

区块链存储模块负责保存区块链的完整、最新副本,本质上是数据。

3、挖矿(矿工):

在比特币区块链网络上,挖矿模块的任务是通过在特殊的硬件设备上执行 POW(Proof of Work)共识算法,以竞争的方式创建新的区块。. 其他平台链上也存在类似的概念,可能基于不同的硬件或执行的共识算法等。

4、钱包:

钱包模块的主要功能是管理节点的私钥、资产和交易行为。

区块链网络上不同节点的角色扮演分为:

什么叫做正比什么叫做反比_什么叫做节点挖矿_2017挖矿挖矿能回本吗

## 参考实现节点(参考客户端)

在比特币诞生之初,几乎所有的节点都是按照官方推荐的参考实现方式构建的。许多人会在自己的机器上构建这样的节点,用于挖矿或作为钱包。最具代表性的产品是比特币核心。当用户下载并运行客户端时,就意味着加入了比特币区块链主网节点的建设。

##完整的区块链节点

##独立矿工节点(solo miner)

根据我的理解,参考实现节点和独立矿工节点理论上可以称为完整的区块链节点/全节点,因为它们既有区块链存储模块,又有路由模块。唯一不同的是,管理员构建节点的初衷不同,从而赋予节点不同的名称和使命。

## 轻量级钱包节点(轻量级(SPV)钱包)

什么叫做正比什么叫做反比_2017挖矿挖矿能回本吗_什么叫做节点挖矿

与全节点相比,轻量级钱包节点最明显的特点就是不需要完全下载数据,也不需要承担那么多责任。它基于中本聪提出的 SPV(简化支付验证)方法。在移动和网络等平台上运行。要知道,在整个比特币区块链生态系统中,并不是所有的节点都会参与挖矿。对于大多数普通用户来说,比特币和区块链对他们来说最大的意义就是消费和投资。唯一关心的是验证与自身相关的交易是否成功——如果纯粹是为了这种场景,显然SPV可以更有效地满足它们。

在继续介绍 SPV 之前,我们先快速回顾一下全节点是如何验证一条交易记录的,以及需要执行的交易流程:

1、新添加的节点连接到附近的全节点什么叫做节点挖矿,需要提前下载完整区块链上的所有数据。

2、当前节点收到一笔交易后,结合自身节点上的历史数据,可以快速定位到交易记录的具体账户。

3、根据具体账号和从位置获取的交易记录,开始检查交易记录的签名是否准确(是否被篡改),其输入值是否“有效”(是否使用过,避免双花),其输入值的个数之和是否大于等于输出值的个数(余额是否足够花)等等。

现在我们继续讲SPV:SPV的全称是Simplified Payment Verification - Simple Payment Verification。它是“付款-付款验证”而不是“交易-交易验证”。交易验证会涉及到上面讨论的步骤1-2-3-4中的所有验证环节,比较复杂。SPV 提出了另一套简单的,但仅用于验证支付是否可信,其核心是“判断当前支付是否被主网上其他全节点包含,以及未来获得多少块。确认”。交易流程大致如下:

(SPV)节点需要随时连接附近的全节点,需要提前下载完整区块链的区块头信息;注意每个块的块头信息为80字节。

当前(SPV)节点收到交易记录,或以中心化或去中心化的方式获取与其交易相关的交易的Merkle Tree分支时;然后通过一个 Merkle 证明,验证它的根在完整区块链的区块头中。(区块头元信息和Merkle Tree请参考我之前的文章《探索比特币“挖矿”和“区块”的数学本质》)

如果交易确实存在于主链中某个区块的区块头中,则需要顺带做一定程度的验证,以验证该区块之后是否还有额外的区块连接(工作量证明),最终实现需要大量的验证。证明付款是合法的。

相比之下,可以看出全节点对交易数据的验证非常依赖于自身完整区块链的数据。要完成对交易记录的验证,大量冗余数据的协调和执行步骤是必不可少的。这可以有效地提高安全性和独立性。SPV可以大大节省存储空间,丰富用户使用场景;区块头只有80个字节,无论未来的交易量有多大,按照6/小时的出块速度,每年都会出块52560个,相当 每年新增的存储需求只有4MB ,而一百年后的累积存储只有400MB。目前的主流装备Hold完全没有问题……显然,

2017挖矿挖矿能回本吗_什么叫做节点挖矿_什么叫做正比什么叫做反比

# 矿池节点分类

上面我们讲的是常规节点的分类。众所周知,由于全网算力呈指数级增长,独立矿工节点(solo miner)挖出区块并获得奖励的概率在今天几乎是不可能的。独立矿工需要 只有提前投入大量资源,才有机会加入“矿工俱乐部”,包括但不限于大容量区块链存储空间、繁重的运维成本、逐年上涨的电费年。基于上述现状,技术极客们提出了矿池的概念,一种结合少量算力进行计算和挖矿的组织方式。在这种机制下,个人可以通过一定的矿池协议(如Stratum)加入矿池组织进行挖矿,无论算力大小,是否需要大容量存储空间。与矿池签订“合约”后,矿工每天可以根据贡献的算力稳定获得一定的收益,不再需要等到真正挖出一个区块才能获得奖励。

矿池概念的引入解决了我开始研究比特币和区块链时的一个困惑——据说挖矿需要提前同步几十GB的历史数据,硬盘肯定是少不了的,但为什么有一个裸显卡或ASIC芯片可以开始挖矿吗?!

## 池协议服务器

除了用于挖矿的 Stratum 协议,矿池协议服务节点还严重依赖 P2P 协议连接一个或多个完整的区块链节点,间接达到访问区块链完整副本的目的。

##挖矿节点

挖矿节点不需要额外的硬件模块,最终由矿池协议服务节点自己验证区块和交易,从而减轻了挖矿节点运行全节点的负担。

##轻量级Stratum钱包节点(轻量级(SPV)stratum钱包)

抽象地说,矿池可以想象成比特币主网中的一个黑盒子网。通过在这个子网中设置比主网难度低1000倍以上的难度,矿池就可以挖矿了。挖矿节点挖矿的东西类似于比特币/区块,但命名为“共享”。这种机制可以保证子网中的挖矿节点有很高的概率挖到“份额”。

让我们以掷骰子为例。比特币网络要求节点掷出小于等于②的数字,才能赢得整场比赛并获得(比特币)奖励;但是矿池只需要节点投出小于等于⑤的数就可以组胜。竞争,获得(分享)奖励。所以,当一个挖矿节点掷出数字④时,虽然他没有通过完成更高难度的游戏获得更大的奖励,但至少他可以以更低的成本获得这个矿池奖励的“份额”。同时时间,对于矿池中所有节点的累加,总有一个节点抛出数字①或②的概率很大,那么对于矿池来说,矿池作为一个整体将赢得整个竞争和(比特币)奖励。显然,

2017挖矿挖矿能回本吗_什么叫做节点挖矿_什么叫做正比什么叫做反比

结合以上所有节点,比特币区块链网络中的最终拓扑大概如下图所示:

参考实现节点、完整区块链节点、独立矿工节点、轻量级钱包节点相互连接,轻量级钱包节点需要连接至少一个完整区块链节点/全节点。矿池协议服务节点一对多为无数挖矿节点和数量有限的轻量级 Stratum 钱包节点服务,矿池协议服务节点本身必须连接至少一个全区块链节点/全节点。

# 钱包的分类,是否是节点,是否可以挖矿?

钱包和节点是两个完全不同的概念,本来不应该放在一起讨论的,但是因为两者之间有一点交集,而且现在大部分用户使用的都是围绕ERC20协议设计的imToken、Kcash等,比较接近中心化这让很多新手误解了区块链节点的作用,尤其是轻节点和轻钱包。如果您对此确实有一些歧义,请继续阅读:

对不起,可能是几句废话。节点和钱包的区别只是一开始讨论问题的角度不同:比如这里,因为我们提前提出要讨论“节点的分类”,所以我们只从比特币开始。区块链网络中的主要节点抽象出参考实现节点、完整区块链节点、独立矿工节点等节点类型。这些节点的主要任务是验证和维护越来越多的包含交易记录的区块链。

钱包的使命更加明确——保存私钥、管理交易和数字资产等。钱包的分类可以分为很多维度。我们在这里不讨论,只讨论其中之一——根据“中心化程度”对钱包进行分类。混乱主要源于:

根据钱包对中心化的依赖程度,我们可以将钱包分为:全节点钱包、轻钱包、中心化钱包。

## 全节点钱包

完整且最新的区块链副本保存在全节点钱包中。工作不仅是保存私钥、管理交易和数字资产等,还要承担区块链上交易数据的验证和区块的验证。路由和其他复杂的工作。也正因如此,全节点钱包具有良好的隐私性,可以独立完成所有交易数据的验证,无需依赖其他节点;缺点是需要一定的存储空间和耗时的同步。

可见,参考实现节点在某种意义上相当于一个全节点钱包。你可以把参考实现节点当做普通的挖矿节点,也可以干脆把它当钱包用,这取决于所有者设置节点的初衷。其中,最具代表性的比特币全节点钱包是Bitcoin Core,类似概念还有以太坊中的Mist和Parity。

什么叫做节点挖矿_什么叫做正比什么叫做反比_2017挖矿挖矿能回本吗

##轻钱包/轻节点钱包/轻节点钱包/SPV钱包/SPV轻钱包/链上轻钱包...

轻钱包、轻节点钱包、SPV钱包、链上轻钱包等本质上是一回事。唯一的鉴别标准是核心设计思想是否参考了中本聪的SPV(Simple Payment Verification)理论。关于SPV理论,我们在介绍轻量级钱包节点时已经做了简单的概念解释,这里不再赘述。

前提是基于SPV验证,在主网最长链上确实存在某笔支付,并且后续已经被其他区块确认。可以看出,如果从我们的角度来定义轻钱包,节点部分提到的轻钱包节点其实可以大致等同于这里的轻钱包/SPV钱包,区别主要看所有者的设置。这个节点的初衷是作为一个钱包,还是作为一个普通节点在主网上发扬共产主义精神。其中,比特币中广为人知的 SPV 钱包是 Electrum,在以太坊中也有类似的概念如 imToken、MetaMask 和 MyEtherWallet。

至此,我们可以回答下一段开头提出的问题:

“钱包,尤其是轻钱包,也可以是我的吗?”

首先,我们需要明确定义挖矿的定义。我们这里假设挖矿是指节点拥有一定的算力,然后进行POW工作量证明。不再是手写挖掘的讨论范围。基于这个前提讨论,那么,如果钱包是全节点钱包(或者更直接的Bitcoin Core),则具有一定的挖矿效果;如果只是SPV轻钱包,本身不具备挖矿功能。.

## 中心化钱包/托管钱包/链下轻钱包……

这种类型的钱包完全依赖于操作钱包的主体和机构。钱包客户端只存储私钥,只有在需要交易时,才通过客户端本地私钥完成签名,其他数据则放在中央云端。甚至很多钱包,比如交易所型的钱包,实际上并不归用户所有,而是以“借贷”和“托管”的形式存储在中心平台上。优点是实时效率高,用户体验好;不用说,缺点是用户需要认真信任钱包的运营实体。

为方便起见,有些人还称这种类型的钱包为轻钱包。他们只认为不需要同步节点数据、交易便利等,所以给出了“轻”的概念。这是很多人不愉快甚至困惑的根源,所以我给他取名为“链下轻钱包”,以区别于“SPV轻钱包”/“轻钱包”/“链上轻钱包”,但这些不重要,如果你真的能理解内部机制的区别,那叫什么都无所谓。

梳理完节点和钱包的知识点,我们终于可以轻松回答下一章开头提出的另一个问题了:

“只有成为节点才能进行交易吗?”

答案显然是“不”。对于中心化钱包,比如99%的交易所,普通用户并不作为区块链主网上的节点存在,但他可以高效地完成交易,但他的交易是基于“借贷”和“托管”的。表格保存在中央平台上。即使成为节点,节点和交易之间也没有等号。需要判断节点是否有“钱包”模块。对于没有钱包模块的节点,它无法完成价值的转移。