礦工是驗證新交易并將其記錄到區塊鏈中的人。挖礦過程不僅用于交易驗證,而且對于生成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值:
這些值是使用發送方的私鑰生成的。在交易對象中,沒有添加發送方地址的屬性。通過使用它,它生成發送者的帳戶地址。它是驗證發送方的方法。
評論