比特幣的挖礦機制分配
近日,比特幣挖礦難度下降,是兩個月內首次下降,下降了2.87%,降至16.85T,挖礦難度下降,比特幣挖礦自然更受投資者的喜愛,眾所周知,想要挖礦就需要選擇比特幣挖礦機,那麼,比特幣挖礦機是什麼原理賺錢的呢?針對這個問題,幣圈子小編就給大家深度解析一下比特幣挖礦機原理。
比特幣挖礦機是什麼原理賺錢的?
比特幣系統由用戶(用戶通過密鑰控制錢包)、交易(交易都會被廣播到整個比特幣網路)和礦工(通過競爭計算生成在每個節點達成共識的區塊鏈,區塊鏈是一個分布式的公共權威賬簿,包含了比特幣網路發生的所有的交易)組成。
比特幣礦工通過解決具有一定工作量的工作量證明機制問題,來管理比特幣網路-確認交易並且防止雙重支付。
由於散列運算是不可逆的,查找到匹配要求的隨機調整數非常困難,需要一個可以預計總次數的不斷試錯過程。這時,工作量證明機制就發揮作用了。當一個節點找到了匹配要求的解,那麼它就可以向全網廣播自己的結果。其他節點就可以接收這個新解出來的數據塊,並檢驗其是否匹配規則。如果其他節點通過計算散列值發現確實滿足要求(比特幣要求的運算目標),那麼該數據塊有效,其他的節點就會接受該數據塊。
中本聰把通過消耗CPU的電力和時間來產生比特幣,比喻成金礦消耗資源將黃金注入經濟。比特幣的挖礦與節點軟體主要是透過點對點網路、數字簽名、互動式證明系統來進行發起零知識證明與驗證交易。每一個網路節點向網路進行廣播交易,這些廣播出來的交易在經過礦工(在網路上的計算機)驗證後,礦工可使用自己的工作證明結果來表達確認,確認後的交易會被打包到數據塊中,數據塊會串起來形成連續的數據塊鏈。
每一個比特幣的節點都會收集所有尚未確認的交易,並將其歸集到一個數據塊中,礦工節點會附加一個隨機調整數,並計算前一個數據塊的SHA256散列運算值。挖礦節點不斷重復進行嘗試,直到它找到的隨機調整數使得產生的散列值低於某個特定的目標。
比特幣挖礦機的風險:
1.電費問題
顯卡「挖礦」要讓顯卡長時間滿載,功耗會相當高,電費開支也會越來越高。國內外有不少專業礦場開在水電站等電費極其低廉的地區,而更多的用戶只能在家裡或普通礦場內挖礦,電費自然不便宜。甚至雲南某小區有人進行瘋狂挖礦導致小區大面積跳閘,變壓器被燒毀的案例。
2.硬體支出
挖礦實際是性能的競爭、裝備的競爭,有些挖礦機是更多這樣的顯卡陣列組成的,數十乃至過百的顯卡一起來,硬體價格等各種成本本身就很高,挖礦存在相當大的支出。除了燒顯卡的機器,一些ASIC(應用專用集成電路)專業挖礦機也在投入戰場,ASIC是專門為哈希運算設計的,計算能力也相當強勁,而且由於它們的功耗遠比顯卡低,因此更容易形成規模,電費開銷也更低,單張獨顯很難與這些挖礦機競爭,但與此同時,這種機器的花費也更大。
3.貨幣安全
比特幣的支取需要多達數百位的密鑰,而多數人會將這一長串的數字記錄於電腦上,但經常發生的如硬碟損壞等問題,會讓密鑰永久丟失,這也導致了比特幣的丟失。
4.系統風險
系統風險在比特幣這個裡面非常常見,最常見的當屬於分叉。分叉會導致幣價下跌,挖礦收益銳減。不過很多情況表明,分叉反而讓礦工收益,分叉出來的競爭幣也需要礦工的算力來完成鑄幣和交易的過程,為了爭取更多的礦工,競爭幣會提供更多的區塊獎勵及手續費來吸引礦工。風險反而成就了礦工。
通過以上介紹,相信大家對比特幣挖礦機原理有所了解,比特幣挖礦機的選擇是挖礦准備工作中最為主要的一步,投資者在選擇礦機的時候,一定要看比特幣挖礦機的算力,看比特幣挖礦機每秒進行多少次哈希運算,同時也要看比特幣挖礦機運轉時要消耗的電量指標,這關繫到投資者的挖礦成本,最後一定要看比特幣挖礦機廠商經營的穩定性,可以通過用戶評價、售後服務等方面來判讀。
❷ 如何看待《財經郎眼》中郎咸平對於比特幣的觀點
作為比特幣玩家,看了這一期的財經郎眼,感覺有必要糾正郎教授一些並不專業的比特幣知識:
1.比特幣的分配機制:
比特幣的挖礦分配機制,不是10000個人(也就是礦工)中的50個人分50個比特幣,而是10000個人中只有1個人能拿到50個比特幣。
聽上去不公平,但是礦池的存在相當於礦工組團挖比特幣,假如10000個人組成一個團隊,這10000個人中的任何一個人拿到了50個比特幣,根據團隊協議,大家根據貢獻均分,多勞多得,少勞少得,貢獻多的所得大於0.005個幣,貢獻少的所得小於0.005個幣,而只要有貢獻,再爛的電腦都有所得(入不敷出而已),形成了相對公平的分配機制。
2.比特幣是不是貨幣
比特幣英文名BITCOIN,從來未聲稱自己是貨幣,而是類似於硬幣的支付系統或記賬單位,現在討論比特幣是不是貨幣其實沒有意義,貨幣是從商品中分離出來固定地充當一般等價物的商品。
而比特幣的發展還在實踐過程中,還遠從商品中分離出來,成為固定的一般等價物,如果在固定的實驗過程中失敗了,比特幣就不是貨幣;如果成功了,比特幣才會是歷史上替代法幣的貨幣。可喜的是,實驗到目前階段來說,是有走向成功的趨勢的。
3.比特幣的內在價值
節目中比特幣中國的CEO無法回答比特幣的內在價值,而是用了一個模稜兩可的價格來反駁,甚至惱怒地反問給你100個比特幣你要不要,被郞教授擊潰。佩服郎教授的睿智,卻也遺憾郞教授沒有相關的計算機知識,沒有讀懂比特幣的內在價值。
回到正題,比特幣的內在價值是什麼。
比特幣本身毫無價值。它只是一串代碼,一個用來記賬的數字,沒有價值,卻價格高得離譜。
真正有價值的是比特幣的協議!而這份協議卻是全網公開的。
打個比方,就像互聯網的域名是有價格的,好的域名還很貴,但是域名只是一串字元,沒有什麼價值,而整個互聯網是任意使用的,全球的上網都使用著完全相同的互聯網協議,在協議之上才可以有大量的域名。但互聯網的協議卻成為人類信息社會的基石,協議之上才衍生了眾多高價格的服務。
很神奇吧,有價值的沒有價格,超高價格的卻沒有價值。
用一句話解釋比特幣協議的價值:將人與人之間支付的誠實性,託付給了數學,由全網來監督。
你可以不相信和你交易的人,他可能會騙你,但是你可以相信1+1永遠等於2。
表現在比特幣上也就擁有了去中心化、總量恆定、無法造假、手續簡化等法幣所沒有的特點。
4.比特幣的接盤問題
節目多次說到比特幣是比誰更傻,誰做最後一個接盤的游戲。
最初發明比特幣的時候,我不知道是不是為了換取大家的財富,但是比特幣發展至今天,用法幣換取比特幣的人確實都是為了贏得更多的財富。前期擁有比特幣的人,掙得後期進場的人。現在進場的人,也是為了賺未來進場的人的錢。我們想像一下,最後一棒進場的人,擁有了比特幣,沒有了下家,它也賺不到錢了,而且比特幣的發展也已經像我前面講的大家都了解比特幣的特性了,但這個時候比特幣擁有者們有什麼選擇呢?
a.防通脹繼續持有——比特幣價格穩定在高位(因為沒有人接手)
b.逛拋比特幣——比特幣價格下跌
c.去和接受比特幣的商家兌換商品——比特幣的貨幣實現
針對這三種情況,我們再思考一下。
a.價格穩定在高位,說明沒有大規模拋售,比特幣價格穩定,無通貨膨脹現象,財富不被隱性掠奪,成為適合作為貨幣的一般等價物。法幣因為在貶值會被逐漸拋棄,比特幣完全勝利。
b.逛拋,價格暴跌,在暴跌中,會有無數人等著抄底,因為大家都已經知道比特幣的協議是抗通脹的,相比法幣來說是保值的,所以前期沒來得及在低位買幣的人會來繼續抄底比特幣,直到比特幣跌到底,抄底的人會一擁而上,最終使比特幣成為價格更高的商品,成為新的比特幣最後一棒接力者。而這個答案,也與我們之前最後一棒進場的人假設違背。
c.比特幣作為法幣的補充,充當了一般等價物。
綜上所述,比特幣如果有可能正常發展下去,會在漲跌之間,經歷成為法幣補充的過程,再取代法幣,成為貨幣。當然,這是一個極其漫長和艱難的過程,也有可能失敗。
5.中國大媽炒比特幣
中國大媽的概念,特指2013年金價大跌期間瘋狂搶購黃金的一群中國散戶,因為在中國,黃金的主要消費群體是大媽們,她們一有資金實力,二沒有相關知識經驗,三有勇氣做瘋狂投資,因為有了這一稱謂。
而比特幣的暴漲暴跌期間,也流傳出了中國大媽炒比特幣這一概念。
比特幣的玩家,有過大量的統計,93.6%是男性,且為20-40歲,且本科以上學歷為絕大多數。當然,其中相當部分人,也是一有資金實力,二沒有比特幣相關知識經驗,三有勇氣做瘋狂投資,如果擁有這部分特質的人被稱為中國大媽,那他們確實也是,是個冷笑話。
按照這個概念,節目里與郎教授爭論的比特幣中國CEO,也屬於中國大媽的群體吧。
❸ 詳解比特幣挖礦原理
可以將區塊鏈看作一本記錄所有交易的公開總帳簿(列表),比特幣網路中的每個參與者都把它看作一本所有權的權威記錄。
比特幣沒有中心機構,幾乎所有的完整節點都有一份公共總帳的備份,這份總帳可以被視為認證過的記錄。
至今為止,在主幹區塊鏈上,沒有發生一起成功的攻擊,一次都沒有。
通過創造出新區塊,比特幣以一個確定的但不斷減慢的速率被鑄造出來。大約每十分鍾產生一個新區塊,每一個新區塊都伴隨著一定數量從無到有的全新比特幣。每開采210,000個塊,大約耗時4年,貨幣發行速率降低50%。
在2016年的某個時刻,在第420,000個區塊被「挖掘」出來之後降低到12.5比特幣/區塊。在第13,230,000個區塊(大概在2137年被挖出)之前,新幣的發行速度會以指數形式進行64次「二等分」。到那時每區塊發行比特幣數量變為比特幣的最小貨幣單位——1聰。最終,在經過1,344萬個區塊之後,所有的共20,999,999.9769億聰比特幣將全部發行完畢。換句話說, 到2140年左右,會存在接近2,100萬比特幣。在那之後,新的區塊不再包含比特幣獎勵,礦工的收益全部來自交易費。
在收到交易後,每一個節點都會在全網廣播前對這些交易進行校驗,並以接收時的相應順序,為有效的新交易建立一個池(交易池)。
每一個節點在校驗每一筆交易時,都需要對照一個長長的標准列表:
交易的語法和數據結構必須正確。
輸入與輸出列表都不能為空。
交易的位元組大小是小於MAX_BLOCK_SIZE的。
每一個輸出值,以及總量,必須在規定值的范圍內 (小於2,100萬個幣,大於0)。
沒有哈希等於0,N等於-1的輸入(coinbase交易不應當被中繼)。
nLockTime是小於或等於INT_MAX的。
交易的位元組大小是大於或等於100的。
交易中的簽名數量應小於簽名操作數量上限。
解鎖腳本(Sig)只能夠將數字壓入棧中,並且鎖定腳本(Pubkey)必須要符合isStandard的格式 (該格式將會拒絕非標准交易)。
池中或位於主分支區塊中的一個匹配交易必須是存在的。
對於每一個輸入,如果引用的輸出存在於池中任何的交易,該交易將被拒絕。
對於每一個輸入,在主分支和交易池中尋找引用的輸出交易。如果輸出交易缺少任何一個輸入,該交易將成為一個孤立的交易。如果與其匹配的交易還沒有出現在池中,那麼將被加入到孤立交易池中。
對於每一個輸入,如果引用的輸出交易是一個coinbase輸出,該輸入必須至少獲得COINBASE_MATURITY (100)個確認。
對於每一個輸入,引用的輸出是必須存在的,並且沒有被花費。
使用引用的輸出交易獲得輸入值,並檢查每一個輸入值和總值是否在規定值的范圍內 (小於2100萬個幣,大於0)。
如果輸入值的總和小於輸出值的總和,交易將被中止。
如果交易費用太低以至於無法進入一個空的區塊,交易將被拒絕。
每一個輸入的解鎖腳本必須依據相應輸出的鎖定腳本來驗證。
以下挖礦節點取名為 A挖礦節點
挖礦節點時刻監聽著傳播到比特幣網路的新區塊。而這些新加入的區塊對挖礦節點有著特殊的意義。礦工間的競爭以新區塊的傳播而結束,如同宣布誰是最後的贏家。對於礦工們來說,獲得一個新區塊意味著某個參與者贏了,而他們則輸了這場競爭。然而,一輪競爭的結束也代表著下一輪競爭的開始。
驗證交易後,比特幣節點會將這些交易添加到自己的內存池中。內存池也稱作交易池,用來暫存尚未被加入到區塊的交易記錄。
A節點需要為內存池中的每筆交易分配一個優先順序,並選擇較高優先順序的交易記錄來構建候選區塊。
一個交易想要成為「較高優先順序」,需滿足的條件:優先值大於57,600,000,這個值的生成依賴於3個參數:一個比特幣(即1億聰),年齡為一天(144個區塊),交易的大小為250個位元組:
High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000
區塊中用來存儲交易的前50K位元組是保留給較高優先順序交易的。 節點在填充這50K位元組的時候,會優先考慮這些最高優先順序的交易,不管它們是否包含了礦工費。這種機制使得高優先順序交易即便是零礦工費,也可以優先被處理。
然後,A挖礦節點會選出那些包含最小礦工費的交易,並按照「每千位元組礦工費」進行排序,優先選擇礦工費高的交易來填充剩下的區塊。
如區塊中仍有剩餘空間,A挖礦節點可以選擇那些不含礦工費的交易。有些礦工會竭盡全力將那些不含礦工費的交易整合到區塊中,而其他礦工也許會選擇忽略這些交易。
在區塊被填滿後,內存池中的剩餘交易會成為下一個區塊的候選交易。因為這些交易還留在內存池中,所以隨著新的區塊被加到鏈上,這些交易輸入時所引用UTXO的深度(即交易「塊齡」)也會隨著變大。由於交易的優先值取決於它交易輸入的「塊齡」,所以這個交易的優先值也就隨之增長了。最後,一個零礦工費交易的優先值就有可能會滿足高優先順序的門檻,被免費地打包進區塊。
UTXO(Unspent Transaction Output) : 每筆交易都有若干交易輸入,也就是資金來源,也都有若干筆交易輸出,也就是資金去向。一般來說,每一筆交易都要花費(spend)一筆輸入,產生一筆輸出,而其所產生的輸出,就是「未花費過的交易輸出」,也就是 UTXO。
塊齡:UTXO的「塊齡」是自該UTXO被記錄到區塊鏈為止所經歷過的區塊數,即這個UTXO在區塊鏈中的深度。
區塊中的第一筆交易是筆特殊交易,稱為創幣交易或者coinbase交易。這個交易是由挖礦節點構造並用來獎勵礦工們所做的貢獻的。假設此時一個區塊的獎勵是25比特幣,A挖礦的節點會創建「向A的地址支付25.1個比特幣(包含礦工費0.1個比特幣)」這樣一個交易,把生成交易的獎勵發送到自己的錢包。A挖出區塊獲得的獎勵金額是coinbase獎勵(25個全新的比特幣)和區塊中全部交易礦工費的總和。
A節點已經構建了一個候選區塊,那麼就輪到A的礦機對這個新區塊進行「挖掘」,求解工作量證明演算法以使這個區塊有效。比特幣挖礦過程使用的是SHA256哈希函數。
用最簡單的術語來說, 挖礦節點不斷重復進行嘗試,直到它找到的隨機調整數使得產生的哈希值低於某個特定的目標。 哈希函數的結果無法提前得知,也沒有能得到一個特定哈希值的模式。舉個例子,你一個人在屋裡打檯球,白球從A點到達B點,但是一個人推門進來看到白球在B點,卻無論如何是不知道如何從A到B的。哈希函數的這個特性意味著:得到哈希值的唯一方法是不斷的嘗試,每次隨機修改輸入,直到出現適當的哈希值。
需要以下參數
• block的版本 version
• 上一個block的hash值: prev_hash
• 需要寫入的交易記錄的hash樹的值: merkle_root
• 更新時間: ntime
• 當前難度: nbits
挖礦的過程就是找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET
上式的x的范圍是0~2^32, TARGET可以根據當前難度求出的。
簡單打個比方,想像人們不斷扔一對色子以得到小於一個特定點數的游戲。第一局,目標是12。只要你不扔出兩個6,你就會贏。然後下一局目標為11。玩家只能扔10或更小的點數才能贏,不過也很簡單。假如幾局之後目標降低為了5。現在有一半機率以上扔出來的色子加起來點數會超過5,因此無效。隨著目標越來越小,要想贏的話,扔色子的次數會指數級的上升。最終當目標為2時(最小可能點數),只有一個人平均扔36次或2%扔的次數中,他才能贏。
如前所述,目標決定了難度,進而影響求解工作量證明演算法所需要的時間。那麼問題來了:為什麼這個難度值是可調整的?由誰來調整?如何調整?
比特幣的區塊平均每10分鍾生成一個。這就是比特幣的心跳,是貨幣發行速率和交易達成速度的基礎。不僅是在短期內,而是在幾十年內它都必須要保持恆定。在此期間,計算機性能將飛速提升。此外,參與挖礦的人和計算機也會不斷變化。為了能讓新區塊的保持10分鍾一個的產生速率,挖礦的難度必須根據這些變化進行調整。事實上,難度是一個動態的參數,會定期調整以達到每10分鍾一個新區塊的目標。簡單地說,難度被設定在,無論挖礦能力如何,新區塊產生速率都保持在10分鍾一個。
那麼,在一個完全去中心化的網路中,這樣的調整是如何做到的呢?難度的調整是在每個完整節點中獨立自動發生的。每2,016個區塊(2周產生的區塊)中的所有節點都會調整難度。難度的調整公式是由最新2,016個區塊的花費時長與20,160分鍾(兩周,即這些區塊以10分鍾一個速率所期望花費的時長)比較得出的。難度是根據實際時長與期望時長的比值進行相應調整的(或變難或變易)。簡單來說,如果網路發現區塊產生速率比10分鍾要快時會增加難度。如果發現比10分鍾慢時則降低難度。
為了防止難度的變化過快,每個周期的調整幅度必須小於一個因子(值為4)。如果要調整的幅度大於4倍,則按4倍調整。由於在下一個2,016區塊的周期不平衡的情況會繼續存在,所以進一步的難度調整會在下一周期進行。因此平衡哈希計算能力和難度的巨大差異有可能需要花費幾個2,016區塊周期才會完成。
舉個例子,當前A節點在挖277,316個區塊,A挖礦節點一旦完成計算,立刻將這個區塊發給它的所有相鄰節點。這些節點在接收並驗證這個新區塊後,也會繼續傳播此區塊。當這個新區塊在網路中擴散時,每個節點都會將它作為第277,316個區塊(父區塊為277,315)加到自身節點的區塊鏈副本中。當挖礦節點收到並驗證了這個新區塊後,它們會放棄之前對構建這個相同高度區塊的計算,並立即開始計算區塊鏈中下一個區塊的工作。
比特幣共識機制的第三步是通過網路中的每個節點獨立校驗每個新區塊。當新區塊在網路中傳播時,每一個節點在將它轉發到其節點之前,會進行一系列的測試去驗證它。這確保了只有有效的區塊會在網路中傳播。
每一個節點對每一個新區塊的獨立校驗,確保了礦工無法欺詐。在前面的章節中,我們看到了礦工們如何去記錄一筆交易,以獲得在此區塊中創造的新比特幣和交易費。為什麼礦工不為他們自己記錄一筆交易去獲得數以千計的比特幣?這是因為每一個節點根據相同的規則對區塊進行校驗。一個無效的coinbase交易將使整個區塊無效,這將導致該區塊被拒絕,因此,該交易就不會成為總賬的一部分。
比特幣去中心化的共識機制的最後一步是將區塊集合至有最大工作量證明的鏈中。一旦一個節點驗證了一個新的區塊,它將嘗試將新的區塊連接到到現存的區塊鏈,將它們組裝起來。
節點維護三種區塊:
· 第一種是連接到主鏈上的,
· 第二種是從主鏈上產生分支的(備用鏈),
· 第三種是在已知鏈中沒有找到已知父區塊的。
有時候,新區塊所延長的區塊鏈並不是主鏈,這一點我們將在下面「 區塊鏈分叉」中看到。
如果節點收到了一個有效的區塊,而在現有的區塊鏈中卻未找到它的父區塊,那麼這個區塊被認為是「孤塊」。孤塊會被保存在孤塊池中,直到它們的父區塊被節點收到。一旦收到了父區塊並且將其連接到現有區塊鏈上,節點就會將孤塊從孤塊池中取出,並且連接到它的父區塊,讓它作為區塊鏈的一部分。當兩個區塊在很短的時間間隔內被挖出來,節點有可能會以相反的順序接收到它們,這個時候孤塊現象就會出現。
選擇了最大難度的區塊鏈後,所有的節點最終在全網范圍內達成共識。隨著更多的工作量證明被添加到鏈中,鏈的暫時性差異最終會得到解決。挖礦節點通過「投票」來選擇它們想要延長的區塊鏈,當它們挖出一個新塊並且延長了一個鏈,新塊本身就代表它們的投票。
因為區塊鏈是去中心化的數據結構,所以不同副本之間不能總是保持一致。區塊有可能在不同時間到達不同節點,導致節點有不同的區塊鏈視角。解決的辦法是, 每一個節點總是選擇並嘗試延長代表累計了最大工作量證明的區塊鏈,也就是最長的或最大累計難度的鏈。
當有兩個候選區塊同時想要延長最長區塊鏈時,分叉事件就會發生。正常情況下,分叉發生在兩名礦工在較短的時間內,各自都算得了工作量證明解的時候。兩個礦工在各自的候選區塊一發現解,便立即傳播自己的「獲勝」區塊到網路中,先是傳播給鄰近的節點而後傳播到整個網路。每個收到有效區塊的節點都會將其並入並延長區塊鏈。如果該節點在隨後又收到了另一個候選區塊,而這個區塊又擁有同樣父區塊,那麼節點會將這個區塊連接到候選鏈上。其結果是,一些節點收到了一個候選區塊,而另一些節點收到了另一個候選區塊,這時兩個不同版本的區塊鏈就出現了。
分叉之前
分叉開始
我們看到兩個礦工幾乎同時挖到了兩個不同的區塊。為了便於跟蹤這個分叉事件,我們設定有一個被標記為紅色的、來自加拿大的區塊,還有一個被標記為綠色的、來自澳大利亞的區塊。
假設有這樣一種情況,一個在加拿大的礦工發現了「紅色」區塊的工作量證明解,在「藍色」的父區塊上延長了塊鏈。幾乎同一時刻,一個澳大利亞的礦工找到了「綠色」區塊的解,也延長了「藍色」區塊。那麼現在我們就有了兩個區塊:一個是源於加拿大的「紅色」區塊;另一個是源於澳大利亞的「綠色」。這兩個區塊都是有效的,均包含有效的工作量證明解並延長同一個父區塊。這個兩個區塊可能包含了幾乎相同的交易,只是在交易的排序上有些許不同。
比特幣網路中鄰近(網路拓撲上的鄰近,而非地理上的)加拿大的節點會首先收到「紅色」區塊,並建立一個最大累計難度的區塊,「紅色」區塊為這個鏈的最後一個區塊(藍色-紅色),同時忽略晚一些到達的「綠色」區塊。相比之下,離澳大利亞更近的節點會判定「綠色」區塊勝出,並以它為最後一個區塊來延長區塊鏈(藍色-綠色),忽略晚幾秒到達的「紅色」區塊。那些首先收到「紅色」區塊的節點,會即刻以這個區塊為父區塊來產生新的候選區塊,並嘗試尋找這個候選區塊的工作量證明解。同樣地,接受「綠色」區塊的節點會以這個區塊為鏈的頂點開始生成新塊,延長這個鏈。
分叉問題幾乎總是在一個區塊內就被解決了。網路中的一部分算力專注於「紅色」區塊為父區塊,在其之上建立新的區塊;另一部分算力則專注在「綠色」區塊上。即便算力在這兩個陣營中平均分配,也總有一個陣營搶在另一個陣營前發現工作量證明解並將其傳播出去。在這個例子中我們可以打個比方,假如工作在「綠色」區塊上的礦工找到了一個「粉色」區塊延長了區塊鏈(藍色-綠色-粉色),他們會立刻傳播這個新區塊,整個網路會都會認為這個區塊是有效的,如上圖所示。
所有在上一輪選擇「綠色」區塊為勝出者的節點會直接將這條鏈延長一個區塊。然而,那些選擇「紅色」區塊為勝出者的節點現在會看到兩個鏈: 「藍色-綠色-粉色」和「藍色-紅色」。 如上圖所示,這些節點會根據結果將 「藍色-綠色-粉色」 這條鏈設置為主鏈,將 「藍色-紅色」 這條鏈設置為備用鏈。 這些節點接納了新的更長的鏈,被迫改變了原有對區塊鏈的觀點,這就叫做鏈的重新共識 。因為「紅」區塊做為父區塊已經不在最長鏈上,導致了他們的候選區塊已經成為了「孤塊」,所以現在任何原本想要在「藍色-紅色」鏈上延長區塊鏈的礦工都會停下來。全網將 「藍色-綠色-粉色」 這條鏈識別為主鏈,「粉色」區塊為這條鏈的最後一個區塊。全部礦工立刻將他們產生的候選區塊的父區塊切換為「粉色」,來延長「藍色-綠色-粉色」這條鏈。
從理論上來說,兩個區塊的分叉是有可能的,這種情況發生在因先前分叉而相互對立起來的礦工,又幾乎同時發現了兩個不同區塊的解。然而,這種情況發生的幾率是很低的。單區塊分叉每周都會發生,而雙塊分叉則非常罕見。
比特幣將區塊間隔設計為10分鍾,是在更快速的交易確認和更低的分叉概率間作出的妥協。更短的區塊產生間隔會讓交易清算更快地完成,也會導致更加頻繁地區塊鏈分叉。與之相對地,更長的間隔會減少分叉數量,卻會導致更長的清算時間。
❹ 挖礦的核心機制:PoW與PoS詳解
工作量證明機制(PoW)
比特幣採用的PoW機制,是通過礦工使用計算機解決復雜的數學問題來獲取獎勵。這可以理解為一種競賽,誰最先找到正確答案,誰就能將最近的交易打包成數據塊,加入到整個交易記錄鏈上。這種過程被稱為「挖礦」,成功者不僅確認了交易,還能獲得比特幣作為獎勵。
優點:PoW機制非常安全,因為要篡改已確認的信息需要巨大的計算力,幾乎不可能實現。它確保了網路中每個人都能遵循規則,因為作弊成本高昂。
缺點:消耗大量電力,導致資源浪費或環境影響。可能引發資源集中問題,少數大礦池控制大部分挖礦能力。
權益證明機制(PoS)
權益證明機制通過持有區塊鏈項目原生代幣來獲得驗證交易和創建新區塊的權利。持有更多貨幣的驗證者有更大的機會被選中驗證交易,創建新區塊。
想像另一種游戲,這里不是看誰算得快,而是看誰手裡的籌碼多。在PoS系統中,創建下一個數據塊的人通過押注更多貨幣作為「抵押」。押得越多的人,被選中的機會越大,類似於一個根據投入籌碼數獲得抽獎號碼的抽獎。
以太坊採用PoS,從工作量證明過渡,降低了參與驗證網路的門檻,讓更多用戶參與到網路中。
優點:更環保,不需要大量電力和昂貴設備。鼓勵長期持有貨幣,增加被選為下一個區塊創建者的機會。
缺點:可能導致財富不均,原本持有大量貨幣的人更容易獲得創建區塊的權利,從而賺取更多。在某些情況下,這種機制的安全性可能不如PoW。
結語
PoW類似於全力以赴的算力競賽,而PoS則更像是基於信任和財富的抽獎游戲。兩者各有優劣,適應不同場景和需求。隨著技術發展,未來可能有更多新的共識機制出現,以解決現有問題,但目前這兩種機制是最常見的。
❺ 為什麼比特幣挖礦要在礦池裡挖,不能自己挖嗎
挖礦其實就是在競爭區塊打包權
由於有數以萬計的礦工競爭打包權,單個礦工搶得打包權的概率非常小,產出非常不穩定,有可能走狗屎運1小時就搶到一次,也有可能一年都搶不到一次。
為穩定挖礦產出,礦工往往選擇加入礦池挖礦,礦池將大量礦工的算力整合在一起,在全網總算力中占據一定的份額,由此得到較穩定的挖礦產出,礦池在收取2%~4%礦池手續費後,將產出按礦工算力分配給礦工。
這就好比一個人買彩票很難中獎,於是礦池把很多人組織在一起買彩票,中獎了再按出資額分配給大家。
❻ 數字貨幣挖礦是什麼挖礦真的可以賺到錢嗎
現在比特幣挖礦不是普通人可以做的。其他的挖礦,挖的是空氣幣。騙騙智商不夠用,對生活充滿幻想的人。