当前位置:首页 » 挖矿知识 » 节点投票挖矿

节点投票挖矿

发布时间: 2025-03-08 08:10:10

① PoC挖矿中的算力是什么意思

PoC的本质,用一个普通人也可以理解的话说,就是用硬盘挖矿。没错,PoW是用CPU(或者显卡、ASIC矿机,他们的本质都是更强的计算芯片,与CPU本质上是一样的)挖矿、PoS是凭借持币比例挖矿,DPoS是根据投票决定超级节点,而PoC就是凭借硬盘挖矿。
我们可以这么理解:
-在PoW里是谁的芯片计算快、谁就容易挖到矿;
-在PoS里是谁持币多,谁就容易挖到矿;
-在DPoS里是谁获得的投票多,谁就能成为超级节点进行挖矿;
-在PoC里就是谁的硬盘容量大,谁就容易挖到矿。
是不是足够简单易懂了吧!
要理解PoC的具体原理,我们还是得从比特币PoW入手(研究区块链,PoW就是你永远也绕不过去的技术概念)。
PoW的全称是Proof of Work,即工作量证明。这儿所谓的工作量,就是矿工的CPU(或者显卡、ASIC芯片,我们前面已经说过,这些硬件只是计算速度更快,本质和CPU并无区别)执行一种叫做哈希算法的计算工作。简而言之,谁能够在单位时间内执行更多次的哈希计算,谁就有更大几率产生一个符合要求的哈希结果、进而拿到写入区块链的权利。
可以这么说,比特币PoW的本质就是算力竞争挖矿。每一个新区块的产生,就是给矿工出一道“难题”,矿工通过算力竞争,比拼谁能够先找到符合要求的“答案”。矿工通过购买牛逼的计算芯片,以及持续地消耗电能进行高频率高强度的哈希计算,去获得更强的算力占比,进而获得更大的找到 “答案”的概率。如果一个比特币矿工拥有全网20%的算力,理论上他就可以挖出20%的新区块、进而获得20%的区块奖励(最早每个块有50个比特币奖励,现在已经减少到12.5个,明年还会继续减半)。
PoW挖矿规则简单粗暴、算力可以自由进出,因此能建立足够的安全性,来保证区块链不被篡改的特性。这就是为什么比特币虽然技术看似简单,但是能够成为币王之王,占据一半左右的市值。
此外,比特币的分叉币(例如BCH和BSV)、莱特币LTC、以太坊ETH、门罗币Monero、达世币Dash也都是全部或部分采用了PoW机制挖矿的币种,只不过这些币种可能在一些技术参数上与比特币有区别,但总体思想是类似的。
我们今天的主角PoC,和比特币PoW有异曲同工之妙,但是又有一些实质性的区别。我们知道,比特币PoW要求矿工持续地、反复地执行哈希计算,矿工需要高强度地运行他们的计算芯片,并消耗极为可观的电力资源。
我们的PoC则是另行开辟了一条极为巧妙的道路:它要求矿工预先计算好数量巨大的哈希结果,并将这些数据存储在硬盘里;挖矿的时候,矿工也是争相破解“难题”,不同的是“难题”的答案要在硬盘数据中找,而不是实时地计算。自然而然,谁的硬盘容量更大,谁就有能预先存储更多的“备选答案”,谁就有更高的概率找到能够匹配“难题”的那个“正确答案”。
有人可能要问了,在PoC这个机制中,矿工有没有可能通过芯片去计算答案作弊呢?不可能。PoC的算法设计决定了它在找“答案”的时候,对存储空间这一要素非常敏感,而对芯片的计算能力不那么敏感。强大的算力对矿工挖矿成功率加成并不是很大,而拥有更多的存储空间倒是能成倍地提高挖矿成功率。PoC的这种特性也被形象地称为“空间换时间”。

② 区块链的共识机制

所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。北京木奇移动技术有限公司,专业的区块链外包开发公司,欢迎洽谈合作。下面我们将一下区块链的几种共识机制,希望对大家了解区块链基础技术有帮助。

因为区块链技术的发展, 大家对共识机制这个词也不再陌生,随着技术发展,各种创新的共识机制也在发展。

POW工作量证明

比特币就是使用PoW工作量证明机制,到后来的以太坊都是PoW的共识机制。Pow相当于算出很难的数学难题,就是计算出新区块的hash值,而且计算的难度会每一段时间就会调整。PoW虽然是大家比较认可的共识机制,计算会消耗大量的能源,还有可能会污染环境。

POS权益证明

通过持有Token的数量和时长来决定获得记账权的机率。相比POW,POS避免了挖矿造成大量的资源浪费,缩短了各个节点之间达成共识的时间,网络环境好的话可实现毫秒级,对节点性能要求低。

但POS的缺点同样明显,持有Token多的节点更有机会获得记账权,这将导致“马太效应”,富者越富,破坏了区块链的去中心化。

DPOS权益证明

DPOS委托权益证明与POS原理相同,其主要区别在于,DPOS的Token持有者可以投票选举代理人作为超级节点,负责在网络上生产区块并维护共识规则。如果这些节点未能履行职责,将投票选出新的节点。同样的弊端也是倾向于中心化。

POA权威证明

POA节点之间无需进行通信即可达成共识,因此效率极高。并且它也能很好地对抗算力攻击,安全性较高。但是POA需要一个集中的权威节点来验证身份,这就意味着它会损害区块链的去中心化,这也是在去中心化和提高效率之间的妥协。

③ 黄金节点怎么赚钱

1、质押获得收益:黄金节点可以将一定数量的黄金质押到链上,获得相应的收益。这种收益可以是黄金本身的增值,也可以是链上的通证奖励等。
2、挖矿获得收益:黄金节袭明点核羡可以通过挖矿获得收益。挖矿是指通过计算机算力来维护链上的交易和安全,从而获得相应的奖励。
3、参与社区治理:黄金节点可以参与链上社区的治理,例如投票选举节点、提出治理提案改禅拍等。通过参与社区治理,可以获得相应的奖励。
4、投资黄金项目:黄金节点也可以将自己的资金投资到黄金项目中,例如黄金ETF等。通过投资黄金项目,可以获得相应的收益。

④ 挖矿怎么赚钱


挖矿怎么赚钱?现在越来越多的朋友正在加入币圈挖矿,作为一个比较靠谱的平台,怎么在上挖矿赚钱呢?一起来看一下吧~
矿池的挖矿机制一般有3种模式。
挖矿即挖矿
一般针对的是BTC等POW机制下要挖矿机挖矿的币,挖矿机在挖这类币的过程中能够将机器对接入矿池上,一份算力得到2份币。这类机制针对一般的用户来讲起始点非常高,可用上挖矿机培李去比特币挖矿的都是高端选手了。
投票即挖矿
这种APP发布了EOS节点的投票功能,假如你用了这种功能,塌和给某一个节点投票,就可以得到HPT奖赏。
锁仓即挖矿
将你的EOS托管锁定,APP会依据你锁仓币的数目和周期时间,给与HPT的收益,而且比例还不低。现阶段锁仓100个EOS,90天周期时间,每日分25个HPT。依照HPT现阶段的市团中盯价,100个柚子90天赚大约120元,年化达8%以上。假如你的柚子数目多,而且打算长期持有,也是一笔不错的收入。

⑤ 币圈内的一些专业术语是什么

26个区块链行业常用名词解释

1、Blockchain——区块链

区块链是分布式数据存储、点对点传输、共识机制、加密货币算法等计算机技术的新型应用模式。是一个共享的分布式账本,其中交易通过附加块永久记录。

2、Block——区块

在比特币网络中,数据会以文件的形式被永久记录,我们称这些文件为区块。一个区块是一些或所有最新比特币交易的记录集,且未被其他先前的区块记录。

3、Node——节点

由区块链网络的参与者操作的分类帐的副本。

4、去中心化

去中心化是一种现象或结构,必须在拥有众多节点的系统中或在拥有众多个体的群中才能出现或存在。节点与节点之间的影响,会通过网络而形成非线性因果关系。

5、共识机制

共识机制是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。

6、Pow——工作量证明

Proofof Work,是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多。

7、PoS——权益证明

Proofof Stake,根据你持有货币的量和时间进行利息分配的制度,在POS模式下,你的“挖矿”收益正比于你的币龄,而与电脑的计算性能无关。

8、智能合约

智能合约是一种旨在以信息化方式传播、验证或执行合约的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。

9、时间戳

时间戳是指字符串或编码信息用于辨识记录下来的时间日期。国际标准为ISO 8601。

10、图灵完备

图灵完成是指机器执行任何其他可编程计算机能够执行计算的能力。

11、Dapp——去中心化应用

是一种开源的应用程序,自动运行,将其数据存储在区块链上,以加密货币令牌的形式激励,并以显示有价值证明的协议进行操作。

12、DAO——去中心化自治组织

可以认为是在没有任何人为干预的情况下运行的公司,并将一切形式的控制交给一套不可破坏的业务规则。

13、PrivateKey——私钥

私钥是一串数据,它是允许你访问特定钱包中的令牌。它们作为加密货币,除了地址的所有者之外,都被隐藏。

14、PublicKey——公钥

是和私钥成对出现的,公钥可以算出币的地址,因此可以作为拥有这个币地址的凭证。

15、矿机

尝试创建区块并将其添加到区块链上的计算设备或者软件。在一个区块链网络中,当一个新的有效区块被创建时,系统一般会自动给予区块创建者(矿机)一定数量的代币,作为奖励。

16、矿池

是一个全自动的挖矿平台,使得矿机们能够贡献各自的算力一起挖矿以创建区块,获得区块奖励,并根据算力贡献比例分配利润(即矿机接入矿池—提供算力—获得收益)。

17、公有链

完全开放的区块链,是指任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、全世界的人都可以参与系统维护工作,任何人都可以通过交易或挖矿读取和写入数据。

18、私有链

写入权限仅面向某个组织或者特定少数对象的区块链。读取权限可以对外开放,或者进行任意程度地限制。

19、联盟链

共识机制由指定若干机构共同控制的区块链。

20、侧链

楔入式侧链技术(pegged sidechains),它将实现比特币和其他数字资产在多个区块链间的转移,这就意味着用户们在使用他们已有资产的情况下,就可以访问新的加密货币系统。

21、跨链技术

跨链技术可以理解为连接各区块链的桥梁,其主要应用是实现各区块链之间的Atom交易、资产转换、区块链内部信息互通,或解决Oracle的问题等。

22、硬分叉

区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。

23、软分叉

当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。

24、Hash——哈希值

一般翻译做”散列”,也有直接音译为”哈希”的。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

25、主链

主链一词源于主网(,相对于测试网),即正式上线的、独立的区块链网络。

对币圈“行话”还不了解的小伙伴,赶快来学习一下:

1、法币是什么?

法币是法定货币,是由国家和政府发行的,只有政府信用来做担保,如人民币、美元等等。

2、token是什么?

token,通常翻译成通证。Token是区块链中的重要概念之一,它更广为人知的名字是“代币”,但在专业的“链圈”人看来,它更准确的翻译是“通证”,代表的是区块链上的一种权益证明,而非货币。

Token的三个要素

一是数字权益证明,通证必须是以数字形式存在的权益凭证,代表一种权利、一种固有和内在的价值;

二是加密货币,通证的真实性、防篡改性、保护隐私等能力由加密货币学予以保障;

三是能够在一个网络中流动,从而随时随地可以验证。

3、建仓是什么?

币圈建仓也叫开仓,是指交易者新买入或新卖出一定数量的数字货币

4、梭哈是什么?

币圈梭哈就是指把本金全部投入。

5、空投是什么?

空投是目前一种十分流行的加密货币营销方式。为了让潜在投资者和热衷加密货币的人获得代币相关信息,代币团队会经常性地进行空投。

6、锁仓是什么?

锁仓一般是指投资者在买卖合约后,当市场出现与自己操作相反的走势时,开立与原先持仓相反的新仓,又称对锁、锁单,甚至美其名曰蝴蝶双飞。

7、糖果是什么?

币圈糖果即各种数字货币刚发行处在ICO时免费发放给用户的数字币,是虚拟币项目发行方对项目本身的一种造势和宣传。

8、破发是什么?

破指的是跌破,发指的是数字货币的发行价格。币圈破发是指某种数字货币跌破了发行的价格。

9、私募是什么?

币圈私募是一种投资加密货币项目的方式,也是加密货币项目创始人为平台运作募集资金的最好方式。

10、K线图怎么看?

K线图(Candlestick Charts)又称蜡烛图、日本线、阴阳线、棒线、红黑线等,常用说法是“K线”。它是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成。

11、对冲是什么?

一般对冲是同时进行两笔行情相关、方向相反、数量相当、盈亏相抵的交易。在期货合约市场,买入相同数量方向不同的头寸,当方向确定后,平仓掉反方向头寸,保留正方向获取盈利。

12、头寸是什么?

头寸是一种市场约定,承诺买卖合约的最初部位,买进合约者是多头,处于盼涨部位;卖出合约为空头,处于盼跌部位。

13、利好是什么?

利好:指币种获得主流媒体关注,或者某项技术应用有突破性进展,有利于刺激价格上涨的消息,都称为利好。

14、利空是什么?

利空:促使币价下跌的消息,如比特币技术问题,央行打压等。

15、反弹是什么?

币价在下跌趋势中因下跌过快而回升的价格调整现象。回升幅度小于下跌幅度。

16、杠杆是什么?

杠杆交易,顾名思义,就是利用小额的资金来进行数倍于原始金额的投资,以期望获取相对投资标的物波动的数倍收益率,抑或亏损。

⑥ 什么是POV的共识

POV共识就是投票挖矿。
在POS共识的基础上加了独特设计,即可以将投票权转给类似矿池的角色,让矿池代替挖矿,在用户获取挖矿收益的同时矿池会收取相应手续费。相比传统的DPOS共识,POV更加去中心化,DPOS权重被大节点把持相比,而POV共识权重处于尾部的矿池仍有机会出块。与PoW共识相比则不需要浪费大量算力和资源去挖矿也能达到像PoW一样比较分散的去中心化。

⑦ 详解比特币挖矿原理

可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。

比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。

至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。

通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。

在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。

在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。

每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:

交易的语法和数据结构必须正确。

输入与输出列表都不能为空。

交易的字节大小是小于MAX_BLOCK_SIZE的。

每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。

没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。

nLockTime是小于或等于INT_MAX的。

交易的字节大小是大于或等于100的。

交易中的签名数量应小于签名操作数量上限。

解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。

池中或位于主分支区块中的一个匹配交易必须是存在的。

对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。

对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。

对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。

对于每一个输入,引用的输出是必须存在的,并且没有被花费。

使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。

如果输入值的总和小于输出值的总和,交易将被中止。

如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。

每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。

以下挖矿节点取名为 A挖矿节点

挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。

验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。

A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。

一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:

High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000

区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。

然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。

如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。

在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。

UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。

块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。

区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。

A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。

用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。

需要以下参数

• block的版本 version

• 上一个block的hash值: prev_hash

• 需要写入的交易记录的hash树的值: merkle_root

• 更新时间: ntime

• 当前难度: nbits

挖矿的过程就是找到x使得

SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET

上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。

简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。

如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?

比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。

那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。

为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。

举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。

比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。

每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。

比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。

节点维护三种区块:

· 第一种是连接到主链上的,

· 第二种是从主链上产生分支的(备用链),

· 第三种是在已知链中没有找到已知父区块的。

有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。

如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。

选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。

因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。

当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。

分叉之前

分叉开始

我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。

假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。

比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。

分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。

所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。

从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。

比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

热点内容
bfc币对usdt 发布:2025-04-16 16:34:11 浏览:780
怡亚通区块链平台 发布:2025-04-16 16:18:36 浏览:532
区块链百倍币有哪些 发布:2025-04-16 16:13:31 浏览:913
如何通过百度区块链赚钱 发布:2025-04-16 16:11:54 浏览:156
区块链的演化逻辑与经济学意义 发布:2025-04-16 15:58:22 浏览:933
usdt转化成人民币的汇率 发布:2025-04-16 15:47:13 浏览:756
北交所跟USDT 发布:2025-04-16 15:44:02 浏览:241
犇比特币是中国的吗 发布:2025-04-16 15:07:50 浏览:607
xrp中心化分析 发布:2025-04-16 15:07:06 浏览:310
eth到现在多少年了 发布:2025-04-16 14:52:46 浏览:666