區塊鏈礦工如何以七個步驟處理挖礦工作並進行交易

買賣虛擬貨幣

你有沒有想過區塊鏈的挖掘過程如何進行的,或者你的交易如何得到確認並新增到了區塊鏈?好吧,我也是如此。由於我找不到任何明確的逐步解釋這個過程文章,我決定深入研究並自己編寫指南。以下是區塊鏈交易如何透過七個步驟從你的錢包處理到區塊鏈中。

步驟1

使用者登出交易從他們的錢包應用程式,嘗試從他們傳送某個加密幣或代幣給其他人。

步驟2

交易由錢包應用程式廣播,現在等待礦工在相應的區塊鏈上接收。只要它沒有被挖掘,它就會在“未經證實的交易池”中徘徊。此池是網路上等待處理的交易的集合。這些未經證實的交易通常不會收集在一個巨型池中,但更常見的是在小型細分的本地池中。

步驟3

網路上的礦工(有時稱為節點,但不完全相同!)從這些池中選擇交易並將其形成“塊”。除了一些後設資料之外,塊基本上是交易的集合(此時,仍然是未經證實的交易)。每個礦工都構建他們自己的區塊,但是多個礦工可以選擇要包含在他們區塊中的相同交易。

示例:兩名礦工,礦工A和礦工B。礦工A和礦工B都可以決定將交易X包含在他們的區塊中。塊具有最大資料大小。在比特幣區塊鏈中,塊的最大大小是最大1MB的資料。但在將交易新增到其塊之前,小型企業需要根據區塊鏈歷史檢查交易是否有資格執行。如果發件人的錢包餘額根據現有的區塊鏈歷史記錄具有足夠的資金,則該交易被認為是有效的並且可以新增到該塊中。礦工通常會優先考慮設定高交易費的交易,因為這會給他們更高的回報。

步驟4

透過選擇交易並將其新增到其區塊,礦工建立一個交易塊。要將此交易塊新增到區塊鏈(以使所有其他節點和礦工註冊交易),該塊首先需要簽名。此簽名是透過解決每個交易塊所特有的非常複雜的數學問題來建立的。每個塊都有不同的數學問題,這意味著每個礦工都會處理他們構建的塊所特有的不同問題,但所有這些問題同樣難以解決。為了解決這個數學問題,需要大量的計算能力(因此需要大量的電力)。這是稱為挖掘的過程。如果你想了解更多有關其工作原理的資訊,請繼續閱讀下面的內容,否則請跳至第5步。

挖掘aka雜湊(工作量證明演算法)

當嘗試向區塊鏈新增塊時,每個礦工面臨的數學問題是找到其塊中的資料的雜湊輸出(也稱為簽名),其以一定量的連續零開始。這聽起來很複雜吧?但實際上並不那麼難。讓我試著用一個簡單的方法向你解釋。

在我們繼續之前,解雜湊函式是什麼很重要。不用擔心,我不會涉及太多的技術細節。雜湊函式只是一個很難解決的數學問題,但答案很容易驗證。

雜湊函式接受數字和字母的輸入字串(字面意思是任意字串的隨機字母,數字和/或符號),並將其轉換為由隨機字母和數字組成的新的32位字串。這個32位數字符串是雜湊輸出。如果輸入字串中的任何數字或字母發生更改,則雜湊輸出也將隨機更改。但是,相同的輸入字串將始終提供相同的輸出字串。

現在考慮塊內的資料作為雜湊輸入(一串資料)。當對此輸入進行雜湊處理時,它會提供雜湊輸出(32位數字符串)。比特幣區塊鏈的一個規則是該輸出字串需要以連續數量的零開始,以便有資格作為塊簽名。這是每個礦工在嘗試向區塊鏈新增區塊時所尋找的東西;以一定量零開始的輸出字串。但是如果塊的資料字串沒有雜湊到以零的數量開頭的輸出字串中呢?好吧,這就是為什麼礦工們反覆更改其塊內的一部分資料,稱為nonce。由於隨機數會一直在變化,因此雜湊函式的輸入資料也會發生變化,從而導致不同的雜湊輸出。最終,礦工希望找到一個輸入字串(塊資料和字串的字串),這些字串雜湊為符合條件的輸出字串(以零的數量開頭)。下面的例子使用七個零,但這個零的數量實際上取決於區塊鏈的區塊難度。如果你還沒準備好,請不要點選它。

這就是礦工們需要找到符合條件的簽名的方式,這也是解決這個數學問題需要如此大的計算能力的原因。猜測這麼多不同的nonce需要花費大量的時間和計算能力。如果你順利完成了很好的工作,現在讓我們繼續前進到第5步。

注意:此過程實際上並未定義為數學問題,而是定義為確定性事項——計算機正在對數字執行預定操作以檢視輸出是否合乎需要。

步驟5

礦工首先為其區塊找到符合條件的簽名(解決方案),將此簽名廣播給所有其他礦工。

步驟6

其他礦工現在驗證該解決方案是否與發件人塊的問題相對應(如果雜湊輸入實際上導致該簽名)。如果有效,其他礦工將確認解決方案並同意該塊可以新增到區塊鏈中。這就是“工作量證明”定義的來源。找到解決方案的礦工將其“工作量證明”(又稱解決方案)傳送給其他礦工,然後他們將驗證解決方案是否合法。如果是,那麼其他礦工將同意並且就區塊鏈達成“共識”。現在可以將塊新增到區塊鏈中,並將其廣播到網路上的所有其他節點及其簽名。只要塊內的交易與該時間點的當前錢包餘額(交易歷史)正確對應,其他節點將接受該塊並將其儲存到其交易資料中。

步驟7

如果大多數礦工達成共識,則塊被新增到中。每次在此塊的頂部新增另一個塊時,它將被視為其下方塊的另一個“確認”。例如,如果我的交易包括在塊502中,並且區塊鏈是507個區塊長,則意味著我的交易有5個確認(507-502)。這也是Etherscan在向你展示交易詳情時所指的內容。你的交易確認越多,攻擊者就越難以改變它。當新區塊被新增到區塊鏈時,所有礦工將不得不在第3步重新開始,形成一個新的交易區塊。礦工們不能繼續(好吧,他們可以,但這是無關緊要的)採礦也解決了他們正在研究的區塊問題,原因有兩個。

1.它可能包含已被新增到區塊鏈的最後一個塊確認的交易,因此其中一些交易現在可能無效,使得整個塊無效。
2.每個塊都需要新增雜湊輸出新增到區塊鏈的最後一個塊到其後設資料中。

這就是它成為區塊鏈的原因。如果礦工繼續挖掘他們已經在處理的塊,其他礦工會注意到雜湊輸出與區塊鏈上最新新增的塊的輸出不對應,因此將拒絕該塊。

來源:匯智網
多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;