所謂「挖礦」就是,將一段時間內比特幣系統中發生的交易進行確認,並記錄在區塊鏈上,形成新的區塊,挖礦的人叫作礦工。簡單來說,挖礦就是記帳的過程,礦工是記帳員,區塊鏈就是版本。
本教學操作環境:windows7系統、Dell G3電腦。
一、「挖礦」究竟是什麼
所謂「挖礦」就是,將一段時間內比特幣系統中發生的交易進行確認,並記錄在區塊鏈上,形成新的區塊,挖礦的人叫作礦工。簡單來說,挖礦就是記帳的過程,礦工是記帳員,區塊鏈就是版本。
比特幣系統的記帳權利是去中心化的,也就是每個礦工都有記帳的權利,只要成功搶到記帳權,礦工就能獲得系統新產生的比特幣獎勵。從這個意義上來說,挖礦就是生產比特幣的過程。
中本聰最初設計比特幣時規定沒生產210000個區塊,比特幣獎勵減半一次,直至比特幣不能再被細分,因為比特幣的總量是有限的,比特幣也被稱為數字黃金。比特幣生產也俗稱挖礦。
二、挖礦必備工具
比特幣透過挖礦生產,每10分鐘全網礦工一起計算一道算術題,只要先算出答案,就相當於挖到了這個區塊,該礦工就能獲得系統新生的比特幣獎勵。
在比特幣剛誕生的時候,透過電腦的CPU便可以挖礦,隨著挖礦的礦工越來越多,目前用CPU已經不能挖出比特幣了,大家開始用礦機挖礦。
挖礦必備工具:1.挖礦機;2.比特幣地址;3.挖礦軟體。
目前,比特幣網路算力太大,個人購置少量礦機,是很難挖出區塊的,很多礦工只能加入礦池一起挖;礦場只負責計算,礦池負責資訊打包。挖到比特幣後,根據礦場的算力佔分配收益,此保證更穩定的投入產出。
三、礦工是怎麼挖礦的
區塊鏈誕生後,礦工不再只是煤礦工人的簡稱,而是一種全新的意義。從事虛擬貨幣挖礦的人和傳統的「礦工」不同,區塊鏈領域的礦工具有更多的科技色彩。礦工的主要工作是交易確認和資料打包。
礦工需要購買一台專用的電腦設備,下載挖礦軟體。挖礦不需要礦工親自動手,完全由電腦在執行特定的運算。對於礦工來說,只要確保礦機電力供應和網路連接就可以。
以比特幣為例,比特幣礦機就是透過運行大量計算,爭奪記帳權從而獲得新生比特幣獎勵的專業設備。
礦機的組成包括:挖礦晶片。散熱片和風扇。只執行單一的電腦程式、耗電量更大,挖礦實際上是礦工之間算力的比拼,擁有較多算力的礦工,挖到比特幣的機率更大。
隨著全網算力上漲,用傳統的設備挖到比特幣的難度越來越大,人們開發出專門用來挖礦的晶片。晶片是礦機最核心的零件,運作過程中會產生大量的熱。為了散熱降溫,比特幣礦機一般配有散熱片和風扇。
用戶在電腦下載比特幣挖礦軟體,用該軟體分配好每台礦機的任務就可開始挖礦。每種幣的演算法不同,所需的礦機也各不相同。
四、中本聰與「挖礦」
對區塊鏈來說,挖礦是必要的嗎?為了解答這個問題,我們先來說下究竟什麼是「挖礦」?以比特幣為例,沒產生一比交易,不算完成,只有將交易資料寫入資料庫,才算成立,對方才能真正收到錢。首先,所有的交易資料都會傳送到礦工,礦工負責把這些交易寫入區塊鏈。
計算哈希的過程叫挖礦,計算哈希的機器就叫礦機,操作礦機的人就叫礦工。根據比特幣協議,一個區塊的大小最大是1MB,而一筆交易大概是500字節,因此一個區塊最多可以包括2000多筆交易。礦工負責把這2000多筆交易打包在一起,組成一個區塊,然後計算這個區塊的哈希(Hash)。
中本聰故意讓增加新區塊變得困難,他的設計是:平均每10分鐘,全網才能產生一個新區塊,一小時只能生成六個。人為設定大量的計算及難度係數,需要大量算力才能得到目前區塊的有效哈希,進而將新區塊加入區塊鏈。為了讓自己第一個添加新區塊進入區塊鏈,礦工之間充滿了競爭,誰先算出來了,就能享受這個區塊的全部收益;而其他礦工只能將那一頁抄寫一份,貼在自己帳本的最後面,然後又開始新的記帳流程。周而復始,生生不息,帳本一頁一頁地增加,帳本越來越厚。由此看來,挖礦其實是一種安全機制,利用密碼學雜湊函數和非對稱加密,確保區塊鏈網路的挖礦節點在廣播區塊前投入大量的計算,提高作假和作惡的成本,保證已有數據不可能被竄改,確保全網達成共識。
筆者認為,中本聰設計這種機制的出發點是為了避免系統受到攻擊。如果攻擊者想用搞亂帳本的方式來進行攻擊,就需要足夠的運算能力。當收益不足以抵銷成本時,攻擊者就沒有了攻擊系統的動力。所以對區塊鏈來說,建立挖礦機制還是有必要的,但未來一定會產生更合理且有效率的解決方案。
更多電腦相關知識,請造訪常見問題欄位!
以上是網路挖礦是什麼原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!