『壹』 Bitcoin挖礦的意義
挖礦實際上是提供了一種計算服務,這種計算服務實際上是對各種BTC交易進行確認。認為確認需要有大量的計算。對這種提供計算的人是需要提供報酬的。說的簡單點,挖礦實際上是相當於你在銀行幹活,挖的的BTC,是你在銀行的薪水。不過這里的銀行本身是給BTC提供結算交易服務的。
這下明白了,挖礦不是白挖的。挖礦的人越多,整個系統的計算力就越強,可以給日漸交易量多的BTC提供結算服務,不至於BTC系統無法確認,或者確認太慢。
『貳』 比特幣有被完全挖完的一天嗎比特幣是如何挖出來的
每10min就會有一塊BTC被挖掘出來,因為市場競爭這么劇烈,12.5比特幣的區塊鏈獎賞將根據其在這一過程中的哈希率奉獻在競爭者中間進行分配。大部分BTC採掘也被挖幣大農場和開采池所取代,因而,為了獲得一些BTC,你必須加入其中一個或另一個開采池,並奉獻你所能貢獻的一切哈希率。應用傳統的個人計算機,乃至GPU服務平台可能需要好多個月的時間才可以掙到BTC,由於ASIC晶元目前在BTC採掘行業佔有主導性。
調整後的難度系數促使每形成一個區塊鏈的預期時間為10min。現今難易度約為480PH/s,約是創世區塊的680億倍左右,換句話說,以現在的算率,各大網站挖礦需要經過約3000萬億元億個哈希運算才能找到一個符合條件的回答,形成一個新的區塊鏈。即使是能夠證明你挖掘出來的BTC或者其他的加密數字貨幣是真實的,可是只不過是臨時存有其他人帳戶。一般這種手機上雲挖礦方式都是要達到一定的總數之後才可以轉幣,而達到這一周期時間或是門坎必須很長一段時間,已經足夠別人跑路了。
『叄』 自學區塊鏈(六)BTC-挖礦難度
我們來看下挖礦的計算公式
H(block header) target,這個target就是 目標閾值
BTC用的哈希演算法是SHA-256,它產生的哈希值是256位,那麼就有2^256種取值,這個就是他的輸出空間,要增大挖礦難度, 就調節目標值在這個輸出空間所佔的比例 。
挖礦難度和目標閾值是成反比的, 當算力強時,調節難度,使目標閾值變小 。
不調節難度,隨著礦工數量增多,隨著算力的上升,那麼挖到區塊的時間就會變短,從10分鍾縮短到1分鍾甚至幾秒鍾,這個會帶來什麼樣的問題呢?可能很多人覺得這不是挺好嗎,交易等六個確認就會縮短時間了,交易就會變快了。其實出塊時間縮到很短,風險是很大的,因為網路延遲,出塊時間變短,不同節點很可能接到不同的區塊信息,導致會有很多分叉節點出現。礦工會根據自己認為正確的區塊接著挖。這種情況下,惡意節點發動分叉攻擊就比較容易成功,因為誠實節點的算力被分散了。
導致不需要51%的算力就能成功,所以縮短出塊時間是不利於BTC系統的穩定的。雖然10分鍾不一定是最優的時間,但是也算是比較合理的。
下面是 算力增長曲線
下面是 挖礦難度曲線
下面是 平均出礦時間
我們來看下難度公式:每2016個區塊調整一次挖礦難度,10分鍾出一個平均算下來是兩星期調整一次。
previous_difficulty是上一次的挖礦難度,分母是最近2016個區塊花費的時間
每個節點挖礦是獨立的,BTC的協議也是開源的,會不會有礦工不修改挖礦難度呢?可能性是存在的,但是不影響結果,因為廣播給其他節點需要獨立驗證block header的哈希值, 這個header裡面有難度的一個壓縮編碼,修改難度產生的結果是不會被誠實的節點認可的。
『肆』 比特幣怎麼挖礦
比特幣挖礦是利用計算機硬體為比特幣網路做數學計算進行交易確認和提高安全性的過程。作為對他們服務的獎勵,礦工可以得到他們所確認的交易中包含的手續費,以及新創建的比特幣。挖礦是一個專業的、競爭激烈的市場,獎金按照完成的計算量分割。並非所有的比特幣用戶都挖礦,挖礦賺錢也並不容易。
通俗點就是利用你計算機的算力解決數學難題,然後給予你一定的比特幣回報。
比特幣挖礦經歷了三個階段,CPU、GPU、ASIC 。目前,比特幣挖礦需要專業的ASIC礦機。目前市場上比較著名的礦機廠商有Avalon(阿瓦隆)、美國蝴蝶實驗室和烤貓,但美國蝴蝶實驗喜歡逃票,烤貓則只出售算力很小的礦機。阿瓦隆生產出了世界上第一台Asic礦機,目前,Avalon已經交付首批三代晶元訂單。Avalon3也即將進入市場。
還有就是現在挖礦你需要加入一個礦池,因為孤軍奮戰挖到比特幣的幾率是很小的,希望能的上你。
『伍』 鏄懼崱鎸栫熆浠涔堟剰鎬
鏄懼崱鎸栫熆鏄鎸囧埄鐢ㄦ樉鍗$殑楂樿$畻鑳藉姏鏉ユ寲鎺樻瘮鐗瑰竵絳夊姞瀵嗚揣甯佺殑榪囩▼銆傝繖縐嶆寲鐭挎柟寮忎嬌寰楁樉鍗¢暱鏃墮棿鍦ㄩ珮璐熻嵎鐘舵佷笅宸ヤ綔錛屽艱嚧鏄懼崱鑳岄潰鏍稿績PCB鏉垮嚭鐜頒弗閲嶅彉鑹詫紝榪欑嶆樉鍗¢氬父琚縐頒負鈥滅熆鍗♀濄
瀵逛簬鐭挎満鏉ヨ達紝鏄懼崱鏄鍏舵牳蹇冪粍浠躲傚垵瀛﹁呭彲浠ラ夋嫨鏀鎸6寮犳樉鍗$殑鏈鍩虹涓繪澘寮濮嬫寲鐭匡紝闅忕潃闇奼傜殑澧為暱錛屽彲浠ュ崌綰у埌鏀鎸12寮犳樉鍗′互涓婄殑杈冨ぇ瑙勬ā涓繪澘銆傚叿浣撻厤緗寤鴻濡備笅錛
1. CPU鈥斺旀寲鐭垮笴PU鐨勮佹眰涓嶉珮錛岃兘姝e父榪愯屾搷浣滅郴緇熷嵆鍙銆備竴鑸鍙浠ラ夋嫨濡侷ntel G3900榪欑被浠鋒牸澶х害200鍏冪殑CPU銆
2. 鍐呭瓨鈥斺斿傛灉鏄6鏄懼崱閰嶇疆錛岃嚦灝戦渶瑕4GB鍐呭瓨銆傚逛簬12鏄懼崱閰嶇疆錛學indows鎿嶄綔緋葷粺寤鴻鑷沖皯8GB鍐呭瓨錛屼互閬垮厤緋葷粺鍗¢】鏃犳硶姝e父鎸栫熆銆傝孡inux鎿嶄綔緋葷粺鍒欏彲浠ヨ冭檻4GB鍐呭瓨銆
3. 涓繪澘鈥斺斿緩璁鏂版墜閫夋嫨涓撻棬閽堝規寲鐭胯捐$殑鏄犳嘲緋誨垪涓繪澘錛屽寘鎷6鍗℃Ы鐨凾B250-BTC鍜12鍗℃Ы鐨凾B250-BTCPro絳夊瀷鍙楓傚彟澶栵紝鍗庢搸鐨凥81緋誨垪涓繪澘涔熸槸涓涓涓嶉敊鐨勯夋嫨銆
4. 紜鐩樷斺旀寲鐭塊渶瑕佷嬌鐢ㄩ珮閫熺殑SSD紜鐩橈紝浠ヤ究蹇閫熻誨彇鏁版嵁錛屽苟璁劇疆鉶氭嫙鍐呭瓨銆傜悊璁轟笂錛孲SD紜鐩樿兘鎻愬崌緋葷粺鎬ц兘銆傚傛灉鏄疻indows緋葷粺錛岃嚦灝戦渶瑕64GB錛岃孡inux緋葷粺鍒欏彲浠ヨ冭檻16GB銆
5. 鎿嶄綔緋葷粺鈥斺斿傛灉閫夋嫨Windows緋葷粺錛屽緩璁浣跨敤Windows 10銆侼VIDIA鍜孉MD緋誨垪鐨勬樉鍗℃渶澶氬垎鍒鍙浠ヨ瘑鍒8寮犲崱銆傚逛簬12鍗′富鏉匡紝鍙鑳介渶瑕佹販鎻扤鍗″拰A鍗′互鍏呭垎鍒╃敤鏄懼崱鎻掓Ы銆
6. 鏄懼崱鈥斺斾富嫻佺殑鎸栫熆鏄懼崱鍖呮嫭AMD緋誨垪鐨凴X470銆丷X570銆丷X580錛屼互鍙奛VIDIA緋誨垪鐨凣TX1060銆丟TX1070絳夈傚緩璁閫夋嫨鍐呭瓨4GB浠ヤ笂錛屾渶濂芥槸8GB鐨勬樉鍗°
『陸』 鍒嗕韓10涓涓嶉渶瑕佽姳閽辯殑鍔犲瘑璐у竵鎸栫熆騫沖彴
鍦ㄥ姞瀵嗚揣甯佺殑涓栫晫涓錛屽嵆浣跨粡鍘嗚繃鐭塊毦鐨勬礂紺礆紝渚濈劧鏈夌熆宸ュ潥瀹堥樀鍦幫紝鍧氫俊鍙瑕佸姞瀵嗚揣甯佺殑瀛樺湪錛屾寲鐭胯屼笟灝辨嫢鏈夋棤闄愮敓鏈恆傞氳繃涓浜虹數鑴戠殑鍔涢噺錛屽姞瀵嗘寲鐭挎垚涓轟簡涓鏉$嫭鐗圭殑鍦ㄧ嚎鐩堝埄璺寰勶紝鏃犻渶鑺辮垂錛屽彧闇璐$尞璁$畻鑳藉姏錛屽嵆鍙鏀惰幏鍖哄潡濂栧姳錛岃繖鏄鍔犲瘑璐у竵鐭垮伐浠榪芥眰鐨勮儲瀵屾簮娉夈
浠諱綍浜洪兘鏈夋満浼氳笍涓婂姞瀵嗙熆宸ョ殑寰侀旓紝鏍規嵁GeekFlare鐨勮存硶錛屽叧閿鍦ㄤ簬鍏峰囦竴瀹氱殑鎶鏈鍩虹錛氭嫢鏈夐珮閫熶簰鑱旂綉榪炴帴錛屼互鍙婂己澶у埌瓚充互鏀鎸佸姞瀵嗚揣甯佹寲鐭跨殑璁$畻鑳藉姏銆傚敖綆$湅浼兼寫鎴橀噸閲嶏紝浣嗗熷姪浜庝竴緋誨垪鏄撲簬浣跨敤鐨勬寲鐭垮鉤鍙幫紝榪欎釜榪囩▼鍏跺疄鍙樺緱鐩稿圭畝鍗曘
1. Awesome Miner
鏃犺烘槸Windows榪樻槸Linux璁懼囷紝Awesome Miner閮借兘鏃犵紳鍏煎廣傜壒鍒鍦幫紝鍏跺熀浜嶹eb鐨勭増鏈璺ㄥ鉤鍙拌繍琛岋紝鍗充嬌鏄鏈鍏ラ棬鐨勭熆宸ヤ篃鑳藉湪鐭鐭涓鍒嗛挓鍐呭惎鍔ㄦ寲鐭誇箣鏃呫傝繖嬈劇熆宸ヨ蔣浠舵彁渚涗簡鐩磋傜殑浠琛ㄦ澘宸ュ叿錛屽疄鏃剁洃鎺т綘鐨勬敹鐩婂拰鐢靛姏娑堣楋紝鍔╀綘鏈澶у寲鏀剁泭銆
2. CryptoTab Browser
鍒涙柊鐨凜ryptoTab嫻忚堝櫒灝嗘寲鐭誇笌嫻忚堜綋楠屾棤緙濈粨鍚堛備竴杈規祻瑙堢綉欏碉紝涓杈規寲鎺樻瘮鐗瑰竵錛屼袱鍏ㄥ叾緹庛傝繖嬈炬祻瑙堝櫒鐢氳嚦鍏峰囪嚜鍔ㄧ畻娉曞垏鎹㈠姛鑳斤紝璁╂寲鐭垮彉寰楁洿鍔犱究鎹楓
3. StormGain
瀵逛簬榪芥眰綆鍗曟搷浣滅殑鐭垮伐錛孲tormGain鎻愪緵浜嗕竴閿寮忔寲鐭匡紝鏃犻渶鑰楄垂澶ч噺璁$畻璧勬簮銆傝櫧鐒朵笓娉ㄤ簬姣旂壒甯佹寲鐭匡紝浣嗗叾鍏嶈垂涓旀瘡鍥涘皬鏃惰疆鐝涓嬈★紝鍙闇瀹氭椂嬋媧誨嵆鍙鍙備笌銆傚敖綆℃湁鍥涘皬鏃墮檺鍒訛紝浣嗗叾鏄撶敤鎬т笉瀹瑰拷瑙嗐
4. Ecos
Ecos涓嶄粎鎻愪緵鍔犲瘑閽卞寘鍜屼氦鏄撴墍錛岃繕鎻愪緵浜戞寲鐭垮拰鏁板瓧璐у竵鎶曡祫鏈嶅姟銆傝櫧鐒舵瘮鐗瑰竵鎸栫熆鏄鏀惰垂鐨勶紝浣嗘湁鍏嶈垂璇曠敤鏈熻╀綘浣撻獙騫沖彴銆傚畠鍏佽鎬綘閫夋嫨浜戞寲鐭挎垨鐩存帴璐涔癇itmain Antminer鍦ㄤ粬浠鐨勮炬柦涓鎸栨帢銆
5. Cruxpool
Cruxpool鏀鎸佸氱嶅姞瀵嗚揣甯佹寲鐭匡紝濡侭EAM銆丒TC銆丒TH鍜孯avencoin錛屼笖鐗瑰埆寮鴻皟鍏剁ǔ瀹氱殑鏀剁泭嫻併傜熆宸ラ渶鏀浠1%鐨勬睜璐癸紝閫傚悎閭d簺瀵繪眰紼沖畾鍥炴姤鐨勭熆宸ャ
6. Braiins Pool
浣滀負鍘嗗彶鎮犱箙鐨勬瘮鐗瑰竵鎸栫熆騫沖彴錛孊raiins Pool鐨勪喚棰濆崰鎹甯傚満3.5%錛屽圭熆宸ユ敹鍙2%鐨勬睜璐廣傚敖綆℃病鏈夌Щ鍔ㄥ簲鐢錛屼絾鍏剁綉欏電増鐨勮處鎴風$悊鍔熻兘鐩稿綋渚挎嵎銆
7. HashCity
HashCity鏀鎸14縐嶅姞瀵嗚揣甯佹寲鐭匡紝鍖呮嫭姣旂壒甯併佷互澶鍧婂拰鑾辯壒甯侊紝鐭垮伐闇鏀浠1%鐨勬睜璐廣傝ュ鉤鍙版彁渚涗簡涓板瘜鐨勬暀紼嬪拰璇︾粏璇存槑錛岃繕涓篈ndroid鐢ㄦ埛寮鍙戜簡涓撶敤搴旂敤錛屾墦閫犱簡涓板瘜鐨勭ぞ鍖轟氦嫻佺幆澧冦
8. Easy BTC Mining
Easy BTC Mining鎻愪緵浜戞寲鐭挎湇鍔★紝璐涔板搱甯屾潈鍗沖彲寮濮嬶紝鏃犻渶棰濆栫‖浠舵姇鍏ャ傚鉤鍙版敮鎸佹瘮鐗瑰竵鍜屼互澶鍧婃寲鐭匡紝鎿嶄綔嫻佺▼綆鍗曚究鎹楓
9. BetterHash
涓撲負Windows鐢ㄦ埛璁捐$殑BetterHash鑷鍔ㄦ寲鎺樺鉤鍙幫紝鎵鎻忎綘鐨勭‖浠跺苟閫夋嫨鏈浣崇畻娉曪紝鏀鎸9縐嶆暟瀛楄揣甯佹寲鐭匡紝鍖呮嫭BTC鍜孍TH銆傝櫧鐒舵彁鍙栨瘮鐗瑰竵鍜孎IRO闇瑕佹敮浠樿垂鐢錛屼絾鎸栫熆鏈韜鏄鍏嶈垂鐨勩
10. Cudo Miner
Cudo Miner閫氳繃鍏剁$悊澶ц勬āASIC鐭垮伐鐨勫鉤鍙版彁渚涘姞瀵嗙熆宸ヨВ鍐蟲柟妗堛傝嚜鍔ㄦ寲鐭垮姛鑳芥兜鐩栦簡澶氳揪9縐嶆暟瀛楄揣甯侊紝鑰屾墜鍔ㄩ厤緗鍒欏厑璁告寲鎺樻洿澶氱嶇被銆侰udoOS涓轟笓涓氱熆宸ユ彁渚涢夐」錛屼劍閲戝埗鐨勬敹璐規ā寮忚╁弬涓庡彉寰楁洿鐏墊椿銆
鍦ㄨ繖浜涘鉤鍙頒笂錛屾瘡涓浜洪兘鏈夊彲鑳芥垚涓哄姞瀵嗚揣甯佺殑鎸栨帢鑰咃紝鏃犻渶鎶曡祫鎴愭湰錛屽彧闇鎶婃彙鏈轟細錛屽紑鍚浣犵殑鏁板瓧鎸栨帢涔嬫棶銆傝板緱錛屽姞瀵嗚揣甯佹寲鐭胯櫧鏃犻渶楂樻槀鎴愭湰錛屼絾渚濈劧闇瑕佸規妧鏈鏈変竴瀹氫簡瑙o紝閫夋嫨閫傚悎鑷宸辯殑騫沖彴錛屾墠鑳藉湪鍔犲瘑璐у竵鐨勬氮娼涓紼寵禋涓嶈禂銆
『柒』 比特幣挖礦的難度和算力
難度是對挖礦困難程度的度量,即指:計算符合給定目標的一個HASH值的困難程度。
difficulty = difficulty_1_target / current_target
difficulty_1_target 的長度為256bit, 前32位為0, 後面全部為1 ,一般顯示為HASH值:, difficulty_1_target 表示btc網路最初的目標HASH。 current_target 是當前塊的目標HASH,先經過壓縮然後存儲在區塊中,區塊的HASH值必須小於給定的目標HASH, 區塊才成立。
例如:如果區塊中存儲的壓縮目標HASH為 0x1b0404cb , 那麼未經壓縮的十六進制HASH為
所以,目標HASH為0x1b0404cb時, 難度為:
比特幣的挖礦的過程其實是通過隨機的hash碰撞,找到一個解 nonce ,使得 塊hash 小於 目標HASH 值。 而一個礦機每秒鍾能做多少次hash碰撞, 就是其「算力」的代表, 單位寫成 hash/s 或者 H/s
算力單位:
比特幣系統的難度是動態調整的, 每挖 2016 個塊便會做出一次調整, 調整的依據是前面2016個塊的出塊時間, 如果前一個周期平均出塊時間小於10分鍾,便會加大難度, 大於10分鍾,則減小難度,目的是為了保證系統穩定的每過 10分鍾 產出一個塊,所以難度調整的時間大概是2周(2016 * 10 分鍾)
全網算力是btc網路中參與競爭挖礦的所有礦機的算力總和。當前難度周期全網算力會影響下一個周期的難度調整, 如果全網算力增加,挖礦難度增大,單台礦機固定時間的產出就會減少。目前全網算力大概是24.42EH/s, 一台螞蟻S9礦機的算力大概是14TH/s
那麼, 已知當前全網算力,下一個周期難度將如何調整呢?
根據公式:
因為出塊時間要穩定在10分鍾, 也就是600s:
那麼,在3.46e+12的難度下, 一台算力為14TH/s的礦機平均要花多長時間才能出一個塊呢?
根據公式:
有:
結果大概是12270天