以太坊網(wǎng)絡(luò)的挖礦過程介紹
礦工是驗(yàn)證新交易并將其記錄到區(qū)塊鏈中的人。挖礦過程不僅用于交易驗(yàn)證,而且對于生成ethers(以太幣)也非常必要。每隔15秒,以太坊網(wǎng)絡(luò)就會生成以太幣類物質(zhì),而生成以太幣類物質(zhì)的唯一方法就是開采區(qū)塊。因此,每隔15秒,以太坊網(wǎng)絡(luò)就會為它的區(qū)塊鏈生成一個新區(qū)塊。采礦者從其他人那里得到開采區(qū)塊的報酬。
挖礦過程
在以太坊的主網(wǎng)中,交易每時每刻都在發(fā)生。但是我們不能把15秒內(nèi)發(fā)生的所有交易都放到一個塊中。因此,所有尚未處理的交易都位于一個名為交易池的位置。在該交易池中,可能有一些交易等待處理的時間超過了幾個小時。原因是,人們會選擇最有利可圖的交易,首先進(jìn)入?yún)^(qū)塊開采。因此,他們首先選擇包含交易的較高數(shù)量的交易費(fèi),然后將它們放入一個塊中,并使用塊哈希對其進(jìn)行密封。
但是如果兩個節(jié)點(diǎn)同時創(chuàng)建兩個單獨(dú)的塊會發(fā)生什么呢?
這將導(dǎo)致區(qū)塊鏈分成兩個分支。但是在區(qū)塊鏈網(wǎng)絡(luò)中,只能有一個分支。再過15秒,另一個區(qū)塊被創(chuàng)建出來,它被連接到區(qū)塊鏈的兩個分支之一,從而贏得最長的鏈。因此,丟失分支中包含的其他塊(稱為孤立塊)它們將返回到交易池。
當(dāng)?shù)V工在開采區(qū)塊時,他們所做的就是猜測他們要開采的區(qū)塊的編號。系統(tǒng)本身給出了一個nonce值,可以在其中的子函數(shù)范圍內(nèi)計(jì)算,所要做的就是在這個范圍內(nèi)正確地計(jì)算nonce值。
在正確猜測nonce值之后,系統(tǒng)將把該塊添加到區(qū)塊鏈中。因此,礦工之間存在著巨大的挖礦競爭。所以他們需要包含巨大處理能力的機(jī)器。
這些nonce值是數(shù)字。這個數(shù)字很難確定,你無法預(yù)測。礦工惟一要做的就是檢查哈希值,方法是在獲取正確值的同時給出不同的nonce值。
交易
交易只是一個記錄。例如,如果我們使用一個帳戶向另一個帳戶發(fā)送一些錢,然后創(chuàng)建transaction對象,它記錄這些帳戶之間交互的所有數(shù)據(jù)。
交易對象具有一些屬性。
Nonce:
發(fā)送設(shè)置交易的次數(shù)
TO:
接收方的地址
Gasprice:
當(dāng)我們做交易時,我們必須為礦工支付一些費(fèi)用來處理我們的交易。有數(shù)以百萬計(jì)的采礦團(tuán)體連接到以太坊網(wǎng)絡(luò)以開采礦塊。因此,我們必須為他們支付一些費(fèi)用,使我們的交易到達(dá)區(qū)塊鏈。當(dāng)他們開采一個區(qū)塊時,他們會獲得最多的gas價格包含的交易,并開采該區(qū)塊。因此,如果你支付更高的GAS價格,你的交易就會很快得到處理。
· Gas Limit:
交易可以消耗的最大GAS單位。交易需要與其復(fù)雜性相關(guān)的不同數(shù)量的處理能力。根據(jù)這種復(fù)雜性,交易消耗的GAS價格從低到高。
將智能合約部署到區(qū)塊鏈網(wǎng)絡(luò)也是一個交易。如果智能合約包含無限循環(huán),那么交易的復(fù)雜性將是無限的。這些交易在網(wǎng)絡(luò)的每個節(jié)點(diǎn)中執(zhí)行,如果沒有GAS限制,那么將停止整個網(wǎng)絡(luò)的運(yùn)行。
為了避免這種風(fēng)險,每筆交易都有它的GAS限制。
如果您為一個交易分配了較低的GAS限制,并且在智能合約代碼完成執(zhí)行之前就耗盡了GAS,那么該交易將不會發(fā)生,并且GAS價格將由礦工獲得。簡單地說,為了處理我們的交易,我們向礦工支付交易費(fèi)+天然氣價格。所有這些費(fèi)用都是由開采我們交易塊的礦商收取的。
· v,r&s值:
這些值是使用發(fā)送方的私鑰生成的。在交易對象中,沒有添加發(fā)送方地址的屬性。通過使用它,它生成發(fā)送者的帳戶地址。它是驗(yàn)證發(fā)送方的方法。