以太坊网络的挖矿过程介绍
扫描二维码
随时随地手机看文章
矿工是验证新交易并将其记录到区块链中的人。挖矿过程不仅用于交易验证,而且对于生成ethers(以太币)也非常必要。每隔15秒,以太坊网络就会生成以太币类物质,而生成以太币类物质的唯一方法就是开采区块。因此,每隔15秒,以太坊网络就会为它的区块链生成一个新区块。采矿者从其他人那里得到开采区块的报酬。
挖矿过程
在以太坊的主网中,交易每时每刻都在发生。但是我们不能把15秒内发生的所有交易都放到一个块中。因此,所有尚未处理的交易都位于一个名为交易池的位置。在该交易池中,可能有一些交易等待处理的时间超过了几个小时。原因是,人们会选择最有利可图的交易,首先进入区块开采。因此,他们首先选择包含交易的较高数量的交易费,然后将它们放入一个块中,并使用块哈希对其进行密封。
但是如果两个节点同时创建两个单独的块会发生什么呢?
这将导致区块链分成两个分支。但是在区块链网络中,只能有一个分支。再过15秒,另一个区块被创建出来,它被连接到区块链的两个分支之一,从而赢得最长的链。因此,丢失分支中包含的其他块(称为孤立块)它们将返回到交易池。
当矿工在开采区块时,他们所做的就是猜测他们要开采的区块的编号。系统本身给出了一个nonce值,可以在其中的子函数范围内计算,所要做的就是在这个范围内正确地计算nonce值。
在正确猜测nonce值之后,系统将把该块添加到区块链中。因此,矿工之间存在着巨大的挖矿竞争。所以他们需要包含巨大处理能力的机器。
这些nonce值是数字。这个数字很难确定,你无法预测。矿工惟一要做的就是检查哈希值,方法是在获取正确值的同时给出不同的nonce值。
交易
交易只是一个记录。例如,如果我们使用一个帐户向另一个帐户发送一些钱,然后创建transaction对象,它记录这些帐户之间交互的所有数据。
交易对象具有一些属性。
Nonce:
发送设置交易的次数
TO:
接收方的地址
Gasprice:
当我们做交易时,我们必须为矿工支付一些费用来处理我们的交易。有数以百万计的采矿团体连接到以太坊网络以开采矿块。因此,我们必须为他们支付一些费用,使我们的交易到达区块链。当他们开采一个区块时,他们会获得最多的gas价格包含的交易,并开采该区块。因此,如果你支付更高的GAS价格,你的交易就会很快得到处理。
· Gas Limit:
交易可以消耗的最大GAS单位。交易需要与其复杂性相关的不同数量的处理能力。根据这种复杂性,交易消耗的GAS价格从低到高。
将智能合约部署到区块链网络也是一个交易。如果智能合约包含无限循环,那么交易的复杂性将是无限的。这些交易在网络的每个节点中执行,如果没有GAS限制,那么将停止整个网络的运行。
为了避免这种风险,每笔交易都有它的GAS限制。
如果您为一个交易分配了较低的GAS限制,并且在智能合约代码完成执行之前就耗尽了GAS,那么该交易将不会发生,并且GAS价格将由矿工获得。简单地说,为了处理我们的交易,我们向矿工支付交易费+天然气价格。所有这些费用都是由开采我们交易块的矿商收取的。
· v,r&s值:
这些值是使用发送方的私钥生成的。在交易对象中,没有添加发送方地址的属性。通过使用它,它生成发送者的帐户地址。它是验证发送方的方法。