礦機算出比特幣咋分的
比特幣是一個記錄交易的工具或是系統,他所做的事,在中心化的系統中都可以做到,他的天才之處在於不需要任何一台中心伺服器就能做到,而且從理論上證明了目前是不可攻破的。
挖礦,專業解釋是計算機hash(哈希或散列函數)隨機碰撞的過程。簡單一點說,就是比特幣系統出一道數學題,看誰家挖礦設備先有解。
比特幣系統中的任何一台礦機,都在監聽網路中的交易信息,每收到一條交易信息,就記在自己的塊里,並且都把自己當前所有接收到的交易記錄放到塊里,然後對塊里的所有數據進行哈希計算,生成一個哈希值,或者說是數字指紋。
哪比特幣是怎麼挖礦的呢?現在可以看出來的:
礦就是一小段可以改變,對區塊的其它內容不構成影響的一串數字,礦機在記賬的同時,不斷修改這一小段數據,計算hash值,直到這個hash值滿足當前系統的要求。
如果你算出來了滿足要求的哈希值,你就把這個哈希值和塊一起廣播出去:「哈哈,我挖到了」,大家幫你驗證一下,發現是對。然後就默默地把你的塊放到系統里
如果你輸入一段字元串,經過hash運算,會得到另一串相應(夾雜數字和字母)的字元串。如果稍微做一點改動重新輸入一遍,就算只改動了一個字母,得到的hash值也完全不一樣。
再打個比方,區塊007號假設出了一道題:最先計算出下列值的礦工可以得到比特幣!
各色計算機在礦工們的帶領下,開始苦哈哈地計算正確答案。比特幣系統自身也會調節難度,控制解題的時間,一般來講,約每10分鍾挖出一個區塊。在這10分鍾內,計算機只能不停地去計算,去試各種字元串。
這也是不同計算機計算能力(簡稱算力)之間的較量。擁有更大算力計算機/挖礦機的礦工,獲得的收益越大。雖說挖礦是概率事件,擁有更大算力的礦工不是每次都能最快得到正解,但從比例上講,如果這個礦工擁有10%算力,那麼100個區塊他基本能挖到10個。
其實的普通的電腦都可以做,這裡面最主要的是要不停地計算,用CPU算效率太低,所以很多人開啟GPU並行計算挖礦,更有甚者,直接開發了挖礦的晶元!結果大家用CPU根本搶不過他們嘛。
據報道,最知名加密貨幣比特幣的價格,近一段時間持續在高位運行,2月7日以來一直在40000美元之上,還一度逼近65000美元,市值超過1萬億美元也已有一段時間。
這就是算力的集中化和礦霸的來源。
② 詳解比特幣挖礦原理
可以將區塊鏈看作一本記錄所有交易的公開總帳簿(列表),比特幣網路中的每個參與者都把它看作一本所有權的權威記錄。
比特幣沒有中心機構,幾乎所有的完整節點都有一份公共總帳的備份,這份總帳可以被視為認證過的記錄。
至今為止,在主幹區塊鏈上,沒有發生一起成功的攻擊,一次都沒有。
通過創造出新區塊,比特幣以一個確定的但不斷減慢的速率被鑄造出來。大約每十分鍾產生一個新區塊,每一個新區塊都伴隨著一定數量從無到有的全新比特幣。每開采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分鍾,是在更快速的交易確認和更低的分叉概率間作出的妥協。更短的區塊產生間隔會讓交易清算更快地完成,也會導致更加頻繁地區塊鏈分叉。與之相對地,更長的間隔會減少分叉數量,卻會導致更長的清算時間。
③ 挖礦到底在計算什麼
比特幣挖礦到底在計算什麼?如何看待比特幣挖礦,比特幣的挖礦對於不同的礦工而言是一種競爭記賬權的合作記賬行為,在合作的大框架下有序地競爭。也就是利用電腦硬體計算出比特幣的位置並獲取的過程稱之為挖礦。挖礦既能生產比特幣,又能保障交易信息,下面來具體解釋挖礦。
比特幣在2017年底暴漲至將近20萬人民幣一枚,不僅火了數字貨幣行業,更是火爆了區塊鏈行業,正因為如此,很多人想方設法去挖礦,獲取比特幣來實現自己的財富自己,首先,”比特幣“挖礦是怎挖的,比特幣是一中虛擬貨幣,基於區塊鏈技術。如果我們簡單地把區塊鏈的區塊比作一個個的賬本,那麼”挖礦“就是“打包”過去十分鍾整個區塊鏈網路的交易,把這些交易寫入新的區塊,那麼就“打包”完成,那就是完成了“挖礦”旅搭譽。完成了挖礦之後就獲得了系統分發給你的比特幣。這就是比特幣“挖礦”比較簡化的說法,當中的原理和運行還是相當復雜的。
如何分配“打包權”
比特幣的價格超過2w元一個,每一次獲得“打包權”,完成工作就會獲得12.5個比特幣(會隨時間遞減),獲利可謂相當豐厚。
天下熙熙皆為利來天下攘攘皆為利往,只要有利潤的地方就有人。網路上礦工眾多,那麼如何確定應該分配給哪個礦工去做這事呢?
比特幣的創始人中本聰採用這種方法:採用一種叫“工作證明(Proof Of Work,簡稱POW)機制,即工作量的證明。
這種方法通常來說只能從結果證明,因為監測工作過程通常是繁瑣與低效的。這是用來確認你做過一定量的工作,但是監測工作的整個過程極為低效,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。
我們可以比喻成,要證明您會開車技術好,企業不可能給您幾天時間,跟著您在市區上走。但是,你可以提供駕駛證和之前在公交車公司當公交車司機的工作證明, 來說明您得能力。你要獲得這個能力需要付出大量的時間和精力,但是企業驗證卻非常簡單。
比特幣這種加密系統所使用工作量證明機制的證明是哈希現金,需要算出對應的哈希函數。哈希現金是一種工作量證明機制,它是亞當·貝克在1997年發明的,主要用於抵抗郵件的拒絕服務攻擊及垃圾郵件網關濫用。在比特幣之前,哈希現金被用於垃圾郵件的過濾,也被微軟用於hotmail等產品中。
對於比特幣這種加密系統所使用的哈希函數,它需要具備以下的性質:
1. 免碰撞,即不會出現輸入x≠y,但是H(x)=H(y)
2. 隱匿性,也就是說,對於一個給定的輸出結果H(x),想要逆推出輸入x,在計算上是不可能的。
3. 不存在比窮舉更好的方法,可以使哈希結果H(x)落在特定的范圍。
比特幣在區塊鏈的生枝鋒成過程中使用了POW機制,一個符合要求的區塊哈希函數由N個前導零構成,零的個數取決於網路的拆段難度值。
要得到合理的區塊哈希碼需要經過大量嘗試計算。當某個節點提供出一個合理的區塊哈希值,那就是說明該節點確實經過了大量的嘗試計算,那麼系統就把”打包權“分配給該節點(礦工)
當然這不能得出計算次數的絕對值,因為尋找合理hash是一個概率事件,所以當節點(礦工)擁有佔全網n%的算力時,該節點基本上就是有n/100的概率找到區塊哈希。那就是意思上說比拼算力。
當能不能記住前面幾個0,然後可以使用呢?不能的,因為難度值不一樣, 0的數量就不一樣。而且要證明的數是一個哈希碼,而且需要驗證的工作量證明非常龐大,基本上無法造假。只存在一個方法:窮舉!
那麼意味著,你不僅要算出你的哈希值,還需要對比對不對,如果不對的話繼續算。
所以需要大量的顯卡進行大量的並行運算,獲取哈希值。讓我們來看看,礦場是一個怎麼樣的存在:
這些礦場都是用很貴的顯卡來算,他們的算里是人工的N倍。如果單靠人力,算十年都沒有它們工作一小時的工作量大。
比特幣和傳統貨幣不同,美元和英鎊這種法幣由央行和金融機構管理,進行轉賬交易時這些機構也同時參與,而比特幣只在分布式賬本中進行交易,每一項交易就儲存在比特幣的全球網路節點中,不可復制,不可篡改。所以每個儲存數據的節點都會有相應的獎勵,目前已經開採的節點有1700萬個,比特幣總量只有2100萬個,意味著還有400萬個比特幣待開采。
④ 家用台式電腦24小時挖礦,多久能挖到一枚比特幣
09年那會你用普通電腦還有可能挖得出來比特幣,現在別試了,現在即使專業挖礦機也都是挖礦池,礦池的原理就是集合接入礦池裡的所有算力去挖比特幣,挖出來多少後按比例分配給參與挖礦的人員,具體能分給你多少一看挖出來多少,二看礦池平台分配比例。個人電腦挖一千年都不一定能挖出來。
我們先看一下多少算力一天才能挖出一個比特幣,用挖礦收益計算器算一下就知道,150000TH的算力一天才能挖1.04個比特幣。比特大陸專用礦機算力也只有100TH,它一天只能挖1/1500個比特幣,挖一個需要1500天,差不多4年的時間。
那個人電腦呢?筆記本一般都是集成顯卡,算力只有200MH,台式機獨立顯卡也只有600MH。MH是TH的1/1000,那意味著獨立顯卡的普通電腦算力只有專業礦機的 150(100*1000/600)分之一,反過來說,專業礦機要四年,那麼普通電腦就要600年,咱們三代人都看不到結果[捂臉]。
那普通電腦挖比特幣的話一年到底能賺多少錢呢?目前差不多四十萬一個比特幣,600年挖一個,平均下來一年7000塊錢,看上去好像還不錯對嗎?錯!你沒有算電費和電腦耗損費,算上電費咱就虧了。一度電五毛錢,挖礦模式下電腦功耗差不多1000瓦,一天24度電,12塊錢,一年電費就4000多塊錢。電腦挖一年顯卡和CPU基本也廢了,算上耗費,基本等於零,忙了一年一場空。
所以當前比特幣只能用專業礦機挖,不要幻想用普通電腦挖了。
三種比特幣開采方式,家用電腦挖礦最不靠譜,其餘兩種就像買彩票一樣
比特幣的全球計算難度是21,724,134,900,047,一個家用的2.5GHz的CPU,算力大概是 2.24,每T日產出為 0.00000579 BTC,咱們算下:
1比特幣 (2.24 TFLOPs 0.00000579比特幣/每日) 365=211年
也就是說……200多年可以挖出來一個比特幣(希望我小數點沒數錯)
「挖」比特幣是想賺錢,可以考慮,但只有專業挖礦者「可能」可以獲得比特幣的方法,不賠錢的難度很高。
挖礦要有硬體設備,挖比特幣礦的特製晶片我們通稱礦機,操作礦機有硬體投入成本和運作成本,這些成本包括:硬體購入、安裝、電費、更換、折舊、場地、散熱等等;維持硬體運作的種種成本(如電費等)是重復性的,加上硬體過時折價,一次性總投入的資金額度大,所以擁有自己礦機的投資風險非常高。
挖礦是資本密集的事。有資金的人可以做為挖礦硬體的所有人,以出租算力來回收成本;沒有資金的散戶想要挖礦則可以承租別人的硬體算力來挖礦,兩方各取所需。結果是,資金流向是由算力承租人將錢交給算力出租人,而算力出租人將錢交給了硬體商供應商。在整個比特幣挖礦的產業鏈,礦機商在上游,風險小、資金回收也早,出租算力者是中游,也有利潤;最下等的是終端算力的購買者,通常是賠錢的買賣。
既然比特幣礦工難為,要想搭上比特幣擁有者的列車,直接買入比特幣後長期持有是最為簡單、直接的方法。
「挖」比特幣(bitcoin/比特幣)的做法大致上可以分為三種:
1. 獨力挖礦/開采(Solo Mining) -用家用慢慢挖,有幸挖到時,自己一人分礦。
2. 合力挖礦/開采(Pool Mining) -貢獻你的計算力到一個團體參加團挖,挖到時全團每個人依計算力的貢獻度照比例分礦。
3. 雲端挖礦/開采(Cloud Mining) -租用在「雲端」礦場的 計算力 來團挖。雲端挖礦通常被包裝成一種商品在公開網上出售,利用人們喜歡「不勞而獲」的心理,雲礦業者賺取「租金」,讓持有計算力的人來分來分挖到的礦。
以上三種挖礦作法當中,獨立開採的時代早已過時,這是因為采礦難度日日不斷提升的結果,以至於今天要單靠一己之力要能挖到礦的機率太微小了,比中彩票還難。
雖然獨立開采如同中獎時可以個人獨得一批次的礦金,但是一般比較可行的作法是用團挖法或雲端開采法集合眾人之力才能挖到一個批次。團挖就好比大家集資買彩票的做法是一樣的,只要有一張彩票中了獎,團里的人挖到那一批次的礦的結果是全團大家一起分。
除非你有便宜又超人一等的算力,不然,挖礦已經不值得一試了。無論自設「礦場」來獨立挖礦或購買雲端合約都不用考慮,因為團隊挖或雲端挖礦其實要回收成本都不易。您想,如果有礦機的人能靠挖礦賺到錢,為什麼還要以賣礦機、或賣合約來賺錢呢?
希望通過這篇文章讓您了解當個比特幣礦工不賠錢實在太不容易了,用家用電腦來挖更是不可能。
據圖吧老哥透露,3080一天能挖四十,耗費七度電,一個月輕松賺一千,不過現在顯卡價格也就看看,3080得上萬了,要啥自行車啊,本來剛需想配一台直接打消念頭。聽說小縣城網吧都會挖礦了,哎
如今挖礦也包含了另一層含義,那就是挖比特幣和以太坊為首的數字貨幣。挖數字貨幣其實不是用真正的機械式設備去運作,而是用礦機計算出比特幣其中的種種難題,可以得到比特幣的獎勵!
在早些年的時候,如果你想參與挖比特幣,只需要一台家用電腦就可以參與挖礦行列,如今隨著比特幣的價格飆升至數萬甚至十幾萬一枚,比特幣的挖礦人數也是暴漲,普通電腦的演算法已經完全無法滿足現在挖礦的難度需求了。如果你想要挖比特幣或以太坊,必須得准備一台專業挖礦的礦機才行。
⑤ 比特幣礦機是如何通過計算挖幣的
中本聰打造比特幣的時候,希望比特幣是一個去中心化的貨幣,不僅使用、交易如此,挖礦也應該如此。但是事與願違,隨著比特幣等加密貨幣的價值越來越高,挖礦成為了一個產業,競爭越來越激烈,對挖礦算力的追求越來越高,所以從普通電腦挖礦,進化出了ASIC礦機與GPU礦機。
用ASIC礦機挖礦的幣,演算法幾乎都為SHA256,而用GPU挖礦的演算法則不同,例如BTG的演算法是Equihash,BCD的演算法是optimized X13。雖然不是絕對,但可以簡單的認為,SHA256演算法的幣,一般都是用ASIC礦機挖。其他演算法的幣則基本都使用GPU礦機。也有例外,scrypt演算法的萊特幣以前用GPU礦機挖,但後來scrypt演算法也被ASIC晶元攻克,比如螞蟻礦機L3+,就是用來挖萊特幣的ASIC礦機。
ASIC礦機,是指採用ASIC晶元作為算力核心的礦機。其中ASIC是Application Specific Integrated Circuit的縮寫,是一種專門為某種特定用途設計的電子電路(晶元)。有礦機廠專門為計算比特幣的SHA256演算法而設計了ASIC晶元,使用它們的礦機就是ASIC礦機。由於ASIC晶元只為特定計算打造,所以效率可以比CPU這種通用計算晶元要高很多。舉個例子,當前主流的螞蟻礦機S9就是ASIC礦機,使用了189片ASIC晶元,算力達到了13.5TH/s,功耗僅為1350W。作為對比,當前電腦顯卡旗艦GTX1080Ti挖比特幣的算力,就算優化的好基本也不會超過60MH/s。相差了數萬倍,非常懸殊。
而GPU礦機,是指使用GPU顯卡作為算力核心的礦機。諸如以太坊、比特幣鑽石等加密貨幣用的是圖形演算法,所以用顯卡計算的速度會最高。相對於ASIC礦機,GPU礦機更被大眾熟知,因為說白了它就是一台加強了顯卡配置的電腦。
GPU礦機的目的是賺錢,所以要追求功耗比與最大收益,所以選擇要注重性價比,一般中高端定位的顯卡,比如AMD RX560、RX570的功耗比高,是GPU礦機的好選擇。而GTX1080Ti、AMD Vega64這樣旗艦雖然單卡性能最強,但售價與功耗算下來並不劃算。
另外,ASIC礦機也有一些比較奇葩的產品,比如燒貓的USB礦機,是個比U盤略微大一些的東東,功耗也只有2.25W,是目前最小的比特幣礦機。
以上引用挖幣網—「礦機分類介紹」,專業名詞較多,希望對您有幫助,謝謝!
⑥ 比特幣礦機日收益是多少 比特幣礦機收益怎麼計算
首先挖比特幣需要的成本基本可以分為三大塊:
1、 機器成本:購買礦機的成本。
2、 電力成本:機器挖礦所消耗的電力成本。
3、 輔助成本:人員維護、網路、線纜耗材、散熱等
簡單舉個例子,就拿市面上功耗較小的螞蟻s9的礦機來說算力是13.5t,功耗是1400w
礦機在二十四小時運行的情況下:1.4千瓦*24=33.6度
市面上功耗較大的機器神馬m3:算力是11.5t,功耗是2150w
二十四小時運行情況下單台耗電量:2.15千瓦*24=51.6度
大概就相當於比較節能的空調的用電量,但是比特幣礦機是需要二十四小時不間斷運行的,一年算下來就單台機器耗電量就是非常大的,家用電的階梯電價成本太高,在行情不好的時候甚至可能收益不夠電費支出的,所以目前挖礦都會選擇在礦場託管,可以拿到便宜電,降低挖礦成本價,三毛以下的價格是比較理想的價格,可以保持比特幣價格跌到低谷時期還有一定的收益。
就目前比特幣的挖礦難度來看:
btc每t收益:1TH/S*24H=0.00007087btc
按綜合12t的機器算力來算每天產量為:
0.00007087*12t=0.00085044btc
那麼單台挖到一個btc的時間需要:
1/0.00085044=1175天
十台礦機挖到一個btc的時間需要:
1/0.0085044=117天
一百台礦機挖到一個btc的時間需要:
1/0.085044=11.7天
也就是說按照目前的難度來算,大概單台礦機需要三年的時間可以產出一枚比特幣,十台礦機需要3.9個月可挖一個比特幣,一百台礦機只需要11.7天可挖出一個比特幣,投入單台機器成本價8500左右,十台在85000左右,一百台投入850000,不到一百萬,一個月收入超過兩枚比特幣,按目前的幣價來算大概價格十二萬,如此看來,目前比特幣挖礦的收益雖然不及之前,但相較於其他投資項目還是很可觀的。
然而這些收益不包括扣除電費成本,和後期的機器維護,所以挖礦的前提也是要找好便宜電費的礦場。量大的話更需要找到一個安全靠譜、穩定的礦場,更主要的是需要便宜的電費來拉低成本價。