1. 如何挖比特幣
1、首先連接好網線,把網線插進礦機的網線介面,記得插緊一點哦。只有連接上網線礦機才能挖礦,寬頻沒有限制。
(1)比特幣挖礦機怎麼連接礦池擴展閱讀
用戶可以買到比特幣,同時還可以使用計算機依照演算法進行大量的運算來「開采」比特幣。在用戶「開采」比特幣時,需要用電腦搜尋64位的數字就行,然後通過反復解謎密與其他淘金者相互競爭,為比特幣網路提供所需的數字,如果用戶的電腦成功地創造出一組數字,那麼就將會獲得25個比特幣。
由於比特幣系統採用了分散化編程,所以在每10分鍾內只能獲得25個比特幣,而到2140年,流通的比特幣上限將會達到2100萬。換句話說,比特幣系統是能夠實現自給自足的,通過編碼來抵禦通脹,並防止他人對這些代碼進行破壞。
2. 浠涔堟槸鐭挎睜錛
鐭挎睜鏄浠涔堬紵
鍦ㄥ叏緗戠畻鍔涙彁鍗囧埌浜嗕竴瀹氱▼搴﹀悗錛屽崟鍙版満鍣ㄦ寲鍒板潡鐨勬傜巼鍙樺緱闈炲父鐨勪綆銆傝繖縐嶇幇璞$殑鍙戝睍錛屼績浣誇竴浜涒渂itcointalk鈥濅笂鐨勬瀬瀹㈠紑鍙戝嚭涓縐嶅彲浠ュ皢灝戦噺綆楀姏鍚堝苟鑱斿悎榪愪綔鐨勬柟娉曪紝浣跨敤榪欑嶆柟寮忓緩絝嬬殑緗戠珯渚胯縐頒綔鈥滅熆奼犫(MiningPool)銆
鐭挎睜瀛樺湪鎰忎箟涓烘彁鍗囨瘮鐗瑰竵寮閲囩ǔ瀹氭э紝浣跨熆宸ユ敹鐩婅秼浜庣ǔ瀹氥
鐭挎睜鏄濡備綍榪愪綔錛
鐭挎睜閫氳繃涓撶敤鎸栫熆鍗忚榪炴帴鐭挎満錛岀熆鏈洪氳繃鏈哄櫒鍐呰繍琛岀殑鎸栫熆杞浠惰繛鎺ュ埌鐭挎睜鎸囧畾鐨勫煙鍚嶅拰絝鍙c傜熆鏈哄湪鎸栫熆鏃朵繚鎸佸拰鐭挎睜鏈嶅姟鍣ㄧ殑榪炴帴錛屽拰鍏朵粬鐭挎満鍚屾ュ悇鑷鐨勫伐浣滐紝榪欐牱鐭挎睜涓鐨勪笉鍚岀殑鐭挎満錛堝瑰簲涓嶅悓鐨勭熆宸ワ級鎷垮埌涓嶅悓鐨勬寲鐭誇換鍔★紝涔嬪悗鍒嗕韓鏀剁泭銆傜熆奼犳瘡澶╂寜鐭垮伐璐$尞鏀浠樻敹鐩婂埌鐭垮伐鐨勯挶鍖呭湴鍧錛屼絾鍥犱負鏀浠樻湁鎵嬬畫璐癸紝鐭挎睜閮戒細璁劇疆鏈浣庤搗浠橀噾棰濓紝濡傛灉褰撴棩璧蜂粯閲戦濇湭杈懼埌鐭挎睜鏈浣庤搗浠橀噾棰濓紝鐭挎睜浼氬皢榪欓儴鍒嗛噾棰濈瘡璁★紝鐩村埌鏌愬ぉ鐭垮伐寰呮敮浠樼殑鏀剁泭澶т簬鐭挎睜鐨勬渶浣庤搗浠橀噾棰濄
鍥句負甯佸嵃鐭挎睜鍚勫竵縐嶆渶浣庤搗浠橀噾棰濄
鐭挎睜灝嗗尯鍧楅毦搴︿換鍔★紙job錛夎繘琛屽垎鍓詫紝鍙戦佺粰鐭垮伐涓嶅悓闅懼害鐨勪換鍔★紙job錛夛紝姣忔¤$畻瀹屾垚涔嬪悗錛岀熆宸ヤ究鎻愪氦緇欑熆奼犱竴涓宸ヤ綔閲忥紙share錛夈傚綋鐭挎睜楠岃瘉榪欎簺share娌℃湁闂棰樺悗錛屽氨浼氭帴鏀跺苟緇熻℃暟閲忋傜熆奼犲湪鍒嗛厤鏀剁泭鏃訛紝鏍規嵁鍚勪釜鐭垮伐鎻愪氦鐨剆hare錛屾寜鍗犳瘮錛屾潵鍒嗛厤榪欎簺鏂板竵銆
鐭挎睜鏈澶х殑浼樺娍鍦ㄤ簬鐭挎睜紿佺牬鍦扮悊浣嶇疆鐨勯檺鍒訛紝灝嗗垎鏁e湪鍏ㄧ悆鐨勭熆宸ュ強鐭垮満鐨勭畻鍔涜繘琛岃仈緇擄紝涓璧鋒寲鐭褲傜熆奼犺礋璐e皢浜ゆ槗鎵撳寘錛屾帴鍏ヨ繘鏉ョ殑鐭挎満璐熻矗絝炰簤璁拌處鏉冦傜悊璁轟笂鐭挎睜鐨勭畻鍔涜秺澶э紝瓚婂規槗鎸栧埌鍧楋紝浣嗕粎浠庢傜巼瑙掑害璇達紝鍚勪釜鐭挎睜鍜岀熆宸ヤ韓鏈夊悓絳夌殑鍑哄潡姒傜巼銆
鐭挎睜鏄涓涓鍏ㄨ嚜鍔ㄧ殑寮閲囧鉤鍙幫紝鍗崇熆鏈烘帴鍏ョ熆奼犫斺旂熆鏈烘彁渚涚畻鍔涒斺旇幏寰楁敹鐩娿
鐭挎睜鐨勫嚑縐嶇粨綆楁ā寮忥紵
鐭挎睜灝嗗崟浣嶇熆宸ョ畻鍔涜繘琛屾暣鍚堬紝鍚屾椂灝嗘寲鐭跨殑闅懼害鍒嗘垚寰堝氬皬浠誨姟鍙戦佺粰鐭垮伐錛岀熆宸ユ牴鎹浠誨姟榪涜岃$畻錛屽悓鏃跺悜鐭挎睜鎻愪氦浠誨姟絳旀堬紝涔熷氨鏄鎻愪氦鎴戜滑緇忓父璇寸殑share錛堜竴涓宸ヤ綔閲忥級銆傜粨綆楁敹鐩婃椂錛屽氨闇瑕佹湁涓瀹氱殑緇撶畻妯″紡鏉ュ垎閰嶆寲鐭挎敹鐩娿傚父鐢ㄧ殑妯″紡鍖呮嫭PPS錛孭PLNS錛孭PS+錛孎PPS錛孲OLO絳夈傚叾涓閮ㄥ垎緇撶畻妯″紡涓鏀剁泭鐨勫垎閰嶄細璺熺熆奼犵殑騫歌繍鍊兼寕閽┿
騫歌繍鍊兼寚鐨勫氨鏄鐭挎睜鐨勮繍姘斿ソ鍧忥紝鏁板間笂絳変簬瀹為檯鍑哄潡鏁伴噺/鐞嗚哄嚭鍧楁暟閲*100%銆備婦涓渚嬪瓙錛屽傛灉鐪嬪埌A鐭挎睜騫歌繍鍊200%錛屾剰鍛崇潃榪囧幓24灝忔椂鐞嗚轟笂鍙鎸杗涓鍧楋紝瀹為檯鎸栦簡2n涓銆
涓昏佺殑鍒嗛厤妯″紡錛
PPS錛圥ay Per Share錛
綆鍗曟潵璇達紝PPS灝辨槸鎵撳伐妯″紡錛岀熆宸ユ妸綆楀姏鍗栫粰浜嗙熆奼犲幓鑾峰緱鍥哄畾鏀剁泭錛岀熆奼犺嚜璐熺泩浜忥紝鍥犱負鐭挎睜鎵挎媴浜嗕竴瀹氶庨櫓錛屾墍浠PPS妯″紡鐭挎睜璐圭巼鐩稿硅侀珮涓浜涖
Share鍗蟲彁鍒扮殑鐭垮伐鎻愪氦緇欑熆奼犵殑浠誨姟絳旀堬紝PPS鏀剁泭妯″紡涓嬫牴鎹鐭垮伐鎻愪氦鐨勪換鍔¢噺鏉ヨ$畻銆
涓句釜渚嬪瓙錛氱熆宸ョ殑綆楀姏涓1T錛屾暣涓鐭挎睜綆楀姏100T錛屽叏緗戞葷畻鍔1000T錛屾瘮鐗瑰竵緗戠粶騫沖潎姣10鍒嗛挓鍑轟竴涓鍧楋紝鍑哄潡濂栧姳涓12.5涓狟TC錛岀熆奼犲崰鍏ㄧ綉鎬葷畻鍔涚殑鍗佸垎涔嬩竴錛岀熆奼犳敹鐩婃湡鏈涘間負1.25涓狟TC錛岀熆宸ョ殑綆楀姏鍗犵熆奼犵畻鍔涚殑鐧懼垎涔嬩竴錛屾棤璁虹熆奼犳槸鍚︽寲鍒板尯鍧楋紝鐭垮伐鐨勬敹鐩婇兘鎸夌収鐞嗚烘敹鐩1.25涓狟TC鐨勭櫨鍒嗕箣涓鑾峰緱銆
PPLNS錛圥ay Per Last N Share錛
綆鍗曟潵璇達紝PPLNS鎴愬姛鎸栧埌鍖哄潡鍚庯紝鐭垮伐鏍規嵁鑷宸辮礎鐚鐨剆hare鏁伴噺鏉ュ垎閰嶆敹鐩娿傝繖鏍風殑緇撶畻鏂瑰紡鍜岀垎鍧楋紙涔熷氨鏄涓婃枃鎻愬埌鐨勫垢榪愬礆級灝辨伅鎮鐩稿叧浜嗭紝濡傛灉鐭挎睜涓澶╂寲鍑哄氫釜鍖哄潡錛岀熆宸ユ敹鐩婁細寰堥珮錛涘傛灉鐭挎睜涓澶╀笅鏉ラ兘娌℃湁鑳藉熸寲鍒板尯鍧楋紝閭d箞鐭垮伐涓澶╂敹鐩婃槸0銆
鐭鏈熸潵鐪嬶紝PPLNS妯″紡鍜岀熆奼犵殑騫歌繍鍊煎叧緋誨緢澶э紝鍜孭PS鐩告瘮錛孭PLNS鏇存帴榪戜竴縐嶇粍闃熸ā寮忔寲鐭褲傞渶瑕佹敞鎰忕殑鏄錛岀熆宸ュ姞鍏ュ埌涓涓鏂扮殑PPLNS鐭挎睜錛岃繖涓鏃跺欎細鍙戠幇鍓嶉潰鍑犱釜灝忔椂鐨勬敹鐩婃瘮杈冧綆錛岄偅鏄鍥犱負鍏朵粬鐭垮伐鍦ㄨ繖涓鐭挎睜閲屽凡緇忚礎鐚浜嗗緢澶氫釜share浜嗭紝鏂板姞鍏ョ殑鐭垮伐鐨勮礎鐚榪樺緢灝戱紝鎵浠ュ垎綰㈡椂鏂板姞鍏ョ熆宸ョ殑鏀剁泭閮芥槸姣旇緝浣庣殑銆傝繖鏄鍥犱負PPLNS鍏鋒湁涓瀹氱殑婊炲悗鎯鎬у拰鍛ㄦ湡鎬э紝鏂板姞鍏ョ殑鐭垮伐鐨勬寲鐭挎敹鐩婁細鏈変竴瀹氱殑寤惰繜銆
PPS+ 錛圥ay Per Share + Pay Per Last N Share錛
鏄疨PS鍜孭PLNS涓ょ嶈垂鐜囨ā寮忕殑緇撳悎錛屽嵆瀵瑰嚭鍧楀栧姳鎸夌収PPS妯″紡緇撶畻錛岃屽圭熆宸ヨ垂/浜ゆ槗鎵嬬畫璐規寜鐓PPLNS妯″紡榪涜岀粨綆椼備篃灝辨槸璇達紝鍦ㄨ繖縐嶆ā寮忎笅錛岀熆宸ュ彲鍦≒PS鏀剁泭妯″紡鐨勫熀紜涓婏紝棰濆栬幏寰楅儴鍒嗕氦鏄撹垂鐨勬敹鐩娿
FPPS錛團ull Pay Per Share錛
鍗沖畬鍏≒PS錛屽圭熆奼犵悊璁哄嚭鍧楀栧姳鍜岃繃鍘諱竴孌墊椂闂寸悊璁虹熆宸ヨ垂/浜ゆ槗鎵嬬畫璐瑰潎鎸夌収PPS榪涜岀粨綆椼
3. 姣旂壒甯佹寲鐭誇駭涓氶摼鏄鎬庢牱鐨勫憿
姣旂壒甯佹寲鐭誇駭涓氶摼涓昏佺敱鍥涢儴鍒嗘瀯鎴愶紝鍒嗗埆鏄鐭挎満鐢熶駭鍟嗐佺熆鍦恆佺熆奼犮佺熆宸ャ1.鐭挎満鐢熶駭鍟嗭細鐭挎満鐢熶駭鍟嗘槸鎸栫熆棰嗗煙鐨勪笂娓革紝鏈澶х殑鐭挎満鐢熶駭鍟嗘瘮鐗瑰竵澶ч檰鍚屾椂涔熷湪緇忚惀鐭挎睜絳変笟鍔★紝瀵規暣涓浜т笟閾懼叿鏈夊緢寮虹殑鎺у埗鍔涖2.鐭垮満錛氱熆鍦轟笌鐭挎睜鏄浜т笟閾句腑鐨勪腑娓革紝瀹冧滑鏄鎻愪緵鍩虹璁炬柦錛岀被浼間簬鈥滄敹榪囪礬璐光濈殑瑙掕壊銆傜熆鍦轟富瑕佹槸璧氱$悊璐廣佺數璐圭殑宸棰濈瓑錛岀熆奼犱富瑕佹敹鍙栨湇鍔¤垂銆備竴鑸鐭ュ悕鐨勭熆奼犱竴騫寸殑鏀跺叆涔熷湪鏁板崈涓囷紝鍒╂鼎闈炲父涓板帤銆3.鐭挎睜錛氱熆宸ヤ綅浜庝駭涓氶摼鐨勪笅娓革紝闇瑕佷粠鐭挎満鐢熶駭鍟嗚喘涔扮熆鏈猴紝鐒跺悗灝嗘満鍣ㄦ墭綆″湪鐭垮満錛岀劧鍚庡姞鍏ョ熆奼狅紝絳夊緟鐭挎睜灝嗗彈鐩婂彂鏀懼埌璐︽埛涓銆4.鏃峰伐錛氱熆宸ョ殑鏀跺叆涓烘寲鍒扮殑姣旂壒甯侊紝鐭垮伐鐨勬垚鏈鏈変袱涓澶ч」錛屼竴欏規槸涓嬈℃ф姇鍏ョ殑鐭挎満璐涔版垚鏈錛屼竴欏規槸姣忓ぉ闇瑕佹敮浠樼殑鐢佃垂銆
鎴戜滑閫氳繃浠ヤ笂鍏充簬姣旂壒甯佹寲鐭誇駭涓氶摼鏄鎬庢牱鐨勫憿鍐呭逛粙緇嶅悗,鐩鎬俊澶у朵細瀵規瘮鐗瑰竵鎸栫熆浜т笟閾炬槸鎬庢牱鐨勫憿鏈変竴瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
4. 鋩傝殎D3鐭挎満鎬庝箞鏍瘋
鋩傝殎D3鐭挎満鎬庝箞璁劇疆
鋩傝殎D3鐭挎満鏄涓縐嶄笓涓氱殑鍔犲瘑璐у竵鎸栫熆璁懼囷紝瀹冨彲浠ョ敤鏉ユ寲鎺樺氱嶄笉鍚岀殑鍔犲瘑璐у竵錛屼緥濡傛瘮鐗瑰竵銆佽幈鐗瑰竵銆佽揪涓栧竵絳夌瓑銆備互涓嬫槸鋩傝殎D3鐭挎満鐨勮劇疆姝ラわ細
榪炴帴鐢墊簮鍜岀綉綰匡細棣栧厛錛屽皢鋩傝殎D3鐭挎満榪炴帴鍒扮數婧愬拰璺鐢卞櫒銆傜『淇濈數婧愬拰緗戠嚎閮借繛鎺ョ墷鍥恆
榪涘叆鐭挎満璁劇疆鐣岄潰錛氬湪鐢佃剳涓婃墦寮嫻忚堝櫒錛岃緭鍏ョ熆鏈虹殑IP鍦板潃錛堥粯璁や負192.168.1.254錛夛紝鎵撳紑鐭挎満鐨勮劇疆鐣岄潰銆
璁劇疆鐭挎睜淇℃伅錛氬湪璁劇疆鐣岄潰涓錛岄夋嫨鈥滅熆奼犺劇疆鈥濋夐」錛岃緭鍏ユ偍鎯寵佹寲鐭跨殑鐭挎睜淇℃伅錛屼緥濡傜熆奼犵綉鍧銆佺鍙e彿銆佺敤鎴峰悕鍜屽瘑鐮佺瓑絳夈傝風『淇濊緭鍏ョ殑鐭挎睜淇℃伅姝g『鏃犺銆
璁劇疆鎸栫熆鍙傛暟錛氬湪璁劇疆鐣岄潰涓錛岄夋嫨鈥滄寲鐭胯劇疆鈥濋夐」錛岃緭鍏ユ寲鐭垮弬鏁幫紝渚嬪傚伐浣滄ā寮忋佹寲鐭垮己搴︾瓑絳夈傝鋒牴鎹鎮ㄧ殑闇奼傚拰鐭挎睜瑕佹眰榪涜岃劇疆銆
淇濆瓨璁劇疆錛氬畬鎴愪互涓婃ラゅ悗錛岃峰姟蹇呯偣鍑燴滀繚瀛樿劇疆鈥濇寜閽錛岀『淇濇偍鐨勮劇疆鐢熸晥銆
寮濮嬫寲鐭匡細瀹屾垚浠ヤ笂姝ラゅ悗錛屾偍鍙浠ュ紑濮嬫寲鐭誇簡銆傜熆鏈哄皢鑷鍔ㄨ繛鎺ュ埌鎮ㄨ劇疆鐨勭熆奼犲苟寮濮嬫寲鐭褲
闇瑕佹敞鎰忕殑鏄錛屽湪璁劇疆鋩傝殎D3鐭挎満鏃訛紝鎮ㄩ渶瑕佷簡瑙d竴浜涗笓涓氭湳璇鍜屾妧鏈鐭ヨ瘑銆傚傛灉鎮ㄤ笉鐔熸倝鎸栫熆璁懼囩殑鎿嶄綔鍜岃劇疆錛屽緩璁鍏堜簡瑙g浉鍏崇煡璇嗗啀榪涜岃劇疆銆
5. 比特幣怎麼挖
第一步:准備礦機和礦池
如果你想挖比特幣,你必須准備好專業的設備。 目前市面上有很多專業的礦機,礦池也是必不可少的。 在選擇礦池時,還應該比較每個礦池。 產出和收入差距,然後選擇最合適的礦池。
第二步:注冊礦池賬號並設置
准備好礦池後,需要注冊一個礦池賬號,設置一個普通的郵箱。 設置礦工賬號時,每個CPU或GPU都需要設置一個礦工賬號。
第 3 步:下載比特幣礦工
注冊並設置帳戶後,您需要下載比特幣礦工。 下載礦機時,一定要選擇能最大限度發揮你的CPU和顯卡性能的礦機。 下載後,設置伺服器、用戶名、密碼、設備等。
第 4 步:采礦
設置好礦機後,點擊「開始挖礦」按鈕,礦機進入全速運行狀態,礦機自動開始挖礦。
6. 比特幣礦池的協議stratum
轉自: https://zhuanlan.hu.com/p/23558268
getblocktemplate協議誕生於2012年中葉,此時礦池已經出現。礦池採用getblocktemplate協議與節點客戶端交互,採用stratum協議與礦工交互,這是最典型的礦池搭建模式。
與getwork相比,getblocktemplate協議最大的不同點是:getblocktemplate協議讓礦工自行構造區塊。如此一來,節點和挖礦完全分離。對於getwork來說,區塊鏈是黑暗的,getwork對區塊鏈一無所知,他只知道修改data欄位的4個位元組。對於getblocktemplate來說,整個區塊鏈是透明的,getblocktemplate掌握區塊鏈上與挖礦有關的所有信息,包括待確認交易池,getblocktemplate可以自己選擇包含進區塊的交易。
挖礦有兩種方式,一種叫SOLO挖礦,另一種是去礦池挖礦。前文所述的在節點客戶端直接啟動CPU挖礦,以及依靠getwork+cgminer驅動顯卡直接連接節點客戶端挖礦,都是SOLO挖礦,SOLO好比自己獨資買彩票,不輕易中獎,中獎則收益全部歸自己所有。去礦池挖礦好比合買彩票,大家一起出錢,能買一堆彩票,中獎後按出資比率分配收益。理論上,礦機可以藉助getblocktemplate協議鏈接節點客戶端SOLO挖礦,但其實早已沒有礦工會那麼做,在寫這篇文章時,比特幣全網算力1600P+,而當前最先進的礦機算力10T左右,如此算來,單台礦機SOLO挖到一個塊的概率不到16萬分之一,礦工(人)投入真金白銀購買礦機、交付電費,不會做風險那麼高的投資,顯然投入礦池抱團挖礦以降低風險,獲得穩定收益更加適合。因此礦池的出現是必然,也不可消除,無論是否破壞系統的去中心化原則。
礦池的核心工作是給礦工分配任務,統計工作量並分發收益。礦池將區塊難度分成很多難度更小的任務下發給礦工計算,礦工完成一個任務後將工作量提交給礦池,叫提交一個share。假如全網區塊難度要求Hash運算結果的前70個比特位都是0,那麼礦池給礦工分配的任務可能只要求前30位是0(根據礦工算力調節),礦工完成指定難度任務後上交share,礦池再檢測在滿足前30位為0的基礎上,看看是否碰巧前70位都是0。
礦池會根據每個礦工的算力情況分配不同難度的任務,礦池是如何判斷礦工算力大小以分配合適的任務難度呢?調節思路和比特幣區塊難度一樣,礦池需要藉助礦工的share率,礦池希望給每個礦工分配的任務都足夠讓礦工運算一定時間,比如說1秒,如果礦工在一秒之內完成了幾次任務,說明礦池當前給到的難度低了,需要調高,反之。如此下來,經過一段時間調節,礦池能給礦工分配合理難度,並計算出礦工的算力。
礦池通過getblocktemplate協議與網路節點交互,以獲得區塊鏈的最新信息,通過stratum協議與礦工交互。此外,為了讓之前用getwork協議挖礦的軟體也可以連接到礦池挖礦,礦池一般也支持getwork協議,通過階層挖礦代理機制實現(Stratum mining proxy)。須知在礦池剛出現時,顯卡挖礦還是主力,getwork用起來非常方便,另外早期的FPGA礦機有些是用getwork實現的,stratum與礦池採用TCP方式通信,數據使用JSON封裝格式。
先來說一下getblocktemplate遺留下來的幾個問題:
礦工驅動:在getblocktemplate協議里,依然是由礦工主動通過HTTP方式調用RPC介面向節點申請挖礦數據,這就意味著,網路最新區塊的變動無法及時告知礦工,造成算力損失。
數據負載:如上所述,如今正常的一次getblocktemplate調用節點都會反饋回1.5M左右的數據,其中主要數據是交易列表,礦工與礦池需頻繁交互數據,顯然不能每次分配工作都要給礦工附帶那麼多信息。再者巨大的內存需求將大大影響礦機性能,增加成本。
Stratum協議徹底解決了以上問題。
Stratum協議採用主動分配任務的方式,也就是說,礦池任何時候都可以給礦工指派新任務,對於礦工來說,如果收到礦池指派的新任務,應立即無條件轉向新任務;礦工也可以主動跟礦池申請新任務。
現在最核心的問題是如何讓礦工獲得更大的搜索空間,如果參照getwork協議,僅僅給礦工可以改變nNonce和nTime欄位,則交互的數據量很少,但這點搜索空間肯定是不夠的。想增加搜索空間,只能在hashMerkleroot下功夫,如果讓礦工自己構造coinbase,那麼搜索空間的問題將迎刃而解,但代價是必要要把區塊包含的所有交易都交給礦工,礦工才能構造交易列表的Merkleroot,這對於礦工來說壓力更大,對於礦池帶寬要求也更高。
Stratum協議巧妙解決了這個問題,成功實現既可以給礦工增加足夠的搜索空間,又只需要交互很少的數據量,這也是Stratum協議最具創新的地方。
再來回顧一下區塊頭的6個欄位80位元組,這個很關鍵,nVersion,nBits,hashPrevBlock這3個欄位是固定的,nNonce,nTime這兩個欄位是礦工現在就可以改變的。增加搜索空間只能從hashMerkleroot下手,這個繞不過去。Stratum協議讓礦工自己構造coinbase交易,coinbase的scriptSig欄位有很多位元組可以讓礦工自由填充,而coinbase的改動意味著hashMerkleroot的改變。從coinbase構造hashMerkleroot無需全部交易,
如上圖所示,假如區塊將包含13筆交易,礦池先對這13筆交易進行處理,最後只要把圖中的4個黑點(Hash值)交付給礦工,同時將構造coinbase需要的信息交付給礦工,礦工就可以自己構造hashMerkleroot(圖中的綠點都是礦工自行計算獲得,兩兩合並Hash時,規定下一個黑點代表的hash值總是放在右邊)
。按照這種方式,假如區塊包含N筆交易,礦池可以濃縮成log2(N)個hash值交付給礦工,這大大降低了礦池和礦工交互的數據量。
Stratum協議嚴格規定了礦工和礦池交互的介面數據結構和交互邏輯,具體如下:
1. 礦工訂閱任務
啟動挖礦機器,使用mining.subscribe方法鏈接礦池
返回數據很重要,礦工需本地記錄,在整個挖礦過程中都用到,其中:
Extranonce1,和 Extranonce2對於挖礦很重要,增加的搜索空間就在這里,現在,我們至少有了8個位元組的搜索空間,即nNonce的4個位元組,以及 Extranonce2的4個位元組。
2. 礦池授權
在礦池注冊一個賬號 ,添加礦工,礦池允許每個賬號任意添加礦工數,並取不同名字以區分。礦工使用mining.authorize方法申請授權,只有被礦池授權的礦工才能收到礦池指派任務。
3. 礦池分配任務
以上每個欄位信息都是必不可少,其中:
有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖礦了。
4. 挖礦
1) 構造coinbase交易
用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,構造很簡單:
為啥可以這樣,因為礦池幫礦工做了很多工作,礦池已經構建了coinbase交易,系列化後在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含區塊高度,coinb2包含了礦工的收益地址和收益額等信息,但是這些信息對於礦工來說無關緊要,礦工挖礦的地方只是Extranonce2 的4個位元組。另外Extranonce1是礦池寫入區塊的指定信息,一般來說,每個礦池會寫入自己礦池的信息,比如礦池名字或者域名,我們就是根據這個信息統計每個礦池在全網的算力比重。
2) 構建Merkleroot
利用coinbase和merkle_branch,按照上圖方式構造hashMerkleroot欄位。
3) 構建區塊頭
填充餘下的5個欄位,現在,礦池可以在nNonce和Extranonce2 里搜索進行挖礦,如果嫌搜索空間還不夠,只要增加Extranonce2_size為多幾個位元組就可輕而易舉解決。
5. 礦工提交工作量
當礦工找到一個符合難度的shares時,提交給礦池,提交的信息量很少,都是必不可少的欄位:
礦池拿到以上5個欄位後,首先根據任務號ID找出之前分配任務前存儲的信息(主要是構建的coinbase交易以及包含的交易列表等),然後重構區塊,再驗證shares難度,對於符合難度要求的shares,再檢測是否符合全網難度。
6. 礦池給礦工調節難度
礦池記錄每個礦工的難度,並根據shares率不斷調節以指定合適難度。礦池可以隨時通過mining.set_difficulty方法給礦工發消息另其改變難度。
如上,Stratum協議核心理念基本解析清楚,在getblocktemplate協議和Stratum協議的配合下,礦池終於可以大聲的對礦工說,讓算力來的更猛烈些吧。
7. 比特幣怎麼挖 挖比特幣的方法
比特幣是一本大賬本,賬本需要有人來記賬,記賬的獎勵就是比特幣。而這個記賬的權利是需要大家來搶的,挖礦就是搶奪記賬權。誰的算力大,誰就更有可能搶到這個記賬權。
1、准備好礦機和電源,還需要網線和電腦。
2、安裝找IP軟體(如已下載則跳過此步驟)
每台礦機都有自己的IP,需要配備軟體才能識別出來,可以在比特大陸的官網-技術支持-設備支持里上找到該軟體,軟體叫作IPReporter。
3、准備自己的礦池、礦工號(如已注冊則跳過此步驟)
如果沒有自己的礦池號和礦工號,那就不能保證挖到的比特幣都是到自己賬戶上了,所以准備這些是必須的。在螞蟻礦池官網注冊一個自己的礦池賬號,並創建一個礦工號。
4、礦機接網線
首先連接好網線,把網線插進礦機的網線介面,記得插緊一點哦。只有連接上網線礦機才能挖礦,寬頻沒有限制。
5、礦機接電源線
把礦機電源的各個介面接入礦機,電源有10根接線,分別接入算力板和控制板。把所有的電源線介面全都接好了,接好線之後記得檢查一下有沒有插得不夠深的地方。接完所有的線就可以讓電源通電了,這時候礦機的燈會開始亮,機器開始響。
6、設置IP
打開剛才下載好的IPReporter這個軟體,點擊「Start」,然後按住礦機的IPReporter這個按鈕,按一秒之後松開。此時軟體上會自動彈出這台礦機的IP地址,將IP地址復制到瀏覽器中。點擊回車鍵,在彈出的身份驗證中,用戶名和密碼都輸入「root」,點擊確定。
7、復制礦池地址
這個時候我們就進入管理礦機的後台,在miner configuration(礦機配置)這里,把螞蟻礦池的挖礦服務地址復制過來,只復制//後面的內容即可。總共有三個地址,全部都要復制到礦機後台。這一步就是保證挖到幣都能到你自己的賬戶里來。
Worker這一欄填上自己螞蟻礦池的剛剛創建的礦工名就行,三個都填一樣的,密碼自己設置即可。點擊右下角的Save&Apply;,等待設置完成即可。
8、監控算力
進入Miner Statu(礦機狀態),多刷新幾次,就可以出現螞蟻礦機目前的運行情況了,再打開自己的礦池,就可以看到礦機為你挖出了多少幣。
8. 鑷宸辨庝箞鏍峰仛姣旂壒甯佺熆
鑷宸辨庝箞鍋氭瘮鐗瑰竵鐭挎睜
鍒涘緩涓涓姣旂壒甯佺熆奼犻渶瑕佷互涓嬫ラわ細
1.鍑嗗囩熆奼犳湇鍔″櫒鍜岀熆鏈猴細鍒涘緩姣旂壒甯佺熆奼犻渶瑕佽嚦灝戜竴涓鐭挎睜鏈嶅姟鍣錛屽拰瓚沖熺殑鐭挎満鏉ュ弬涓庢寲鐭褲傜熆奼犳湇鍔″櫒搴旇ユ湁瓚沖熺殑澶勭悊鑳藉姏鍜屽瓨鍌ㄧ┖闂存潵澶勭悊鐭垮伐鐨勮繛鎺ュ拰鏁版嵁銆
2.閮ㄧ講鐭挎睜杞浠訛細閫夋嫨涓嬈鵑傚悎鐨勬瘮鐗瑰竵鐭挎睜杞浠訛紝濡侭itcoind錛孊FGMiner鎴朿gminer錛屽苟灝嗗叾閮ㄧ講鍦ㄧ熆奼犳湇鍔″櫒涓娿傝劇疆鐭挎睜鐨勫弬鏁幫紝濡傝垂鐜囥侀毦搴︾洰鏍囧拰濂栧姳緇撴瀯絳夈
3.閰嶇疆鐭垮伐榪炴帴錛氱熆宸ラ渶瑕佽繛鎺ュ埌鐭挎睜鏈嶅姟鍣ㄦ墠鑳藉弬涓庢寲鐭褲備負浜嗘柟渚跨熆宸ヨ繛鎺ワ紝鍙浠ヤ嬌鐢╓eb鍓嶇鍜孉PI鎺ュ彛鏉ョ$悊鍜岀洃鎺х熆宸ョ殑榪炴帴鍜屽伐浣溿
4.寮濮嬫寲鐭匡細涓鏃︾熆奼犻厤緗瀹屾垚騫惰繛鎺ュ埌姣旂壒甯佺綉緇滐紝鐭垮伐灝卞彲浠ュ紑濮嬫寲鐭褲傜熆奼犳湇鍔″櫒浼氫負鐭垮伐鎻愪緵宸ヤ綔浠誨姟錛岀熆宸ラ渶瑕佷嬌鐢ㄤ粬浠鐨勭熆鏈鴻繘琛岃$畻錛屽苟灝嗗伐浣滅粨鏋滄彁浜ょ粰鐭挎睜鏈嶅姟鍣ㄣ
5.鍒嗛厤濂栧姳錛氬綋涓涓鐭垮伐鎻愪氦涓涓鏈夋晥鐨勫伐浣滅粨鏋滄椂錛岀熆奼犱細鍒嗛厤濂栧姳緇欒ョ熆宸ワ紝濂栧姳鍙浠ユ槸姣旂壒甯併佷氦鏄撹垂鐢ㄦ垨鍏朵粬浠e竵銆傜熆奼犻氬父浼氫嬌鐢ㄤ竴縐嶅叕騫崇殑濂栧姳鍒嗛厤鏂規堬紝浠ョ『淇濇瘡涓鐭垮伐鑾峰緱鍏姝g殑濂栧姳銆
6.綆$悊鍜岀洃鎺э細鍒涘緩姣旂壒甯佺熆奼犻渶瑕佷笉鏂鐩戞帶鍜岀$悊銆傛偍闇瑕佷笉鏂浼樺寲鐭挎睜鐨勫弬鏁板拰閰嶇疆錛岀『淇濈熆宸ョ殑榪炴帴鍜屽伐浣滄e父榪愯岋紝浠ュ強鍙婃椂澶勭悊浠諱綍鐭挎睜鏁呴殰鎴栨敾鍑匯