比特幣挖礦算的到底是什麼
Ⅰ 姣旂壒甯佺殑鎸栫熆鍒板簳鎸栫殑鏄浠涔
姣旂壒甯佹渶鍚稿紩浜虹殑鏄鎸栫熆銆備負浠涔堥噰鐭垮傛よ糠浜猴紵鍥犱負鎸栫熆鍙浠ュ緱鍒版瘮鐗瑰竵銆傚湪鍐欒繖綃囨枃絝犵殑鏃跺欙紝姣旂壒甯佺殑浠鋒牸鏄3900緹庡厓銆傚傛灉鑳芥寲鍒頒竴涓鍖哄潡錛屽彲浠ヨ幏寰48750緹庡厓鐨勫紑閲囨敹鍏ュ拰澶х害6000緹庡厓鐨勪氦鏄撹垂鏀跺叆銆傝繖闅鵑亾涓嶄護浜虹潃榪峰悧錛
閭d箞鍒板簳浠涔堟槸閲囩熆鍛錛熺熆宸ュ備綍閫氳繃鎸栫熆鑾峰緱姣旂壒甯侊紵榪欓渶瑕佷粠姣旂壒甯佸尯鍧楅摼緋葷粺閲囩敤鐨凱oW(宸ヤ綔閲忚瘉鏄)鍏辮瘑鏈哄埗璇磋搗銆
鏈変竴涓鏉戝瓙錛屽緢澶氫簨鎯呴渶瑕佷竴璧峰喅瀹氥傛瘮濡傛湁涓澶╂潙闀塊渶瑕佹墍鏈夋潙姘戜竴璧峰喅瀹氫粖澶╀腑鍗堝湪鏉戦熷爞鍖呴ズ瀛愯繕鏄鍗烽潰鏉°傞氬父鎴戜滑鑳芥兂鍒扮殑鏂瑰紡鏄鎶曠エ鈥斺旀瘡涓鏉戞皯涓紲錛屽皯鏁版湇浠庡氭暟銆備絾鏄鏈変簺鏉戞皯涓嶆効鎰忓湪椋熷爞鍚冮キ錛屽彲鑳戒細鎶婅嚜宸辯殑紲ㄨ╃粰鍒浜猴紝鍙鑳戒細瀵艱嚧涓嶅叕騫熾傚ぇ閮ㄥ垎鍦ㄩ熷爞鍚冮キ鐨勪漢錛屽彲鑳介兘瀹炵幇涓嶄簡鑷宸辯殑鎰挎湜銆
浜庢槸鏉戦暱鎹浜嗕竴縐嶆柟寮忋10鐐50鍒嗭紝浠栫敤鍠婅瘽鍣ㄥ悜鍏ㄤ綋鏉戞皯騫挎挱錛氣滀腑鍗堟垜浠鍦ㄩ熷爞閫夊仛楗哄瓙榪樻槸闈㈡潯銆傛兂鍘婚熷爞鍚冮キ鐨勶紝灝辨帹椋熷爞闂ㄥ彛鐨勫法鐭熾11鐐規暣錛岀煶澶翠細鎺ㄥ埌澶ч棬涓滆竟錛屼粬浠涓鍗堝悆楗哄瓙錛涙帹鍒板ぇ闂ㄨタ杈癸紝涓鍗堝悆闈銆傗
浜庢槸鎯沖湪椋熷爞鍚冮キ鐨勪漢璺戝幓鎺ㄧ煶澶淬傝礎鐚澶氱殑浜烘渶鍚庡疄鐜頒簡鎰挎湜錛岃礎鐚灝戠殑浜哄績鐢樻儏鎰匡紝鍥犱負鏉戦噷涓鐩村氨鏄榪欐牱鐨勮勭煩銆
榪欎釜鏁呬簨璁茶堪浜嗕竴縐嶅湪姘戜紬涓杈炬垚鍏辮瘑鐨勬柟寮忥紝鎴戜滑鍙浠ョО涔嬩負鈥滃伐浣滈噺璇佹槑鏈哄埗鈥濄傜敤鍔鍔涚殑澶氬皯鏉ヨ瘉鏄庤嚜宸辯殑閫夋嫨鎰忔効銆
鍦ㄦ湰緋誨垪鐨勭涓綃囨枃絝犱腑錛屾垜浠璁ㄨ轟簡鍙浠ヤ繚鎸佹瘡涓浜虹殑璐︾翱涓鑷寸殑鍖哄潡閾劇郴緇熴傝繖縐嶄繚鎸佹墍鏈夎妭鐐規暟鎹涓鑷寸殑鏈哄埗縐頒負鍏辮瘑鏈哄埗銆備笉鍚岀殑鍏辮瘑綆楁硶鍙浠ヨ揪鍒頒笉鍚屾ц兘鐨勫叡璇嗘晥鏋滐紝鏈緇堢洰鐨勬槸淇濇寔鏁版嵁涓鑷淬
娉ㄦ剰絎涓涓錛屽湪浠諱綍鍧椾腑錛岀涓涓閮芥病鏈夎漿鍑哄湴鍧錛屼篃灝辨槸鎵璋撶殑CoinBase(miningtransaction)銆傛病鏈変漢浠樼粰鐭垮伐榪欎簺閽憋紝浣嗘槸鐭垮伐鍙鏄鍐欑潃浠栦滑寰楀埌浜12.5涓姣旂壒甯併傛墍鏈夎妭鐐歸兘鍚屾剰鐭垮伐榪欐牱鍐欙紝鎵浠ョ熆宸ヨ幏寰楅噰鐭挎敹鍏ャ
涓嶅悓鐭垮伐濉鍧楃殑鏃跺欙紝鏁版嵁鑲瀹氭槸涓嶄竴鏍風殑錛屽洜涓烘瘡涓鐭垮伐鐨勭涓鏉¤勫垯鑲瀹氭槸涓嶄竴鏍風殑錛岀熆宸ュ彧浼氭妸寮閲囨墍寰楄漿鍒拌嚜宸辯殑鍦板潃銆傛墍浠ョ熆宸ヨ繄鍏嬪皵鐨凜oinBase鏄鈥滆繄鍏嬪皵鑾峰緱浜12.5涓姣旂壒甯佲濓紝鐭垮伐鍗楀笇鐨凜oinBase鏄鈥滃崡甯岃幏寰椾簡12.5涓姣旂壒甯佲濄
姣忎釜鐭垮伐閮藉~濂戒簡鑷宸辨敹闆嗙殑浜ゆ槗鍜屽簲璇ュ緱鍒扮殑鏀跺叆銆傞偅涔堬紝璋佺殑璁板綍浼氬緱鍒板ぇ瀹剁殑璁ゅ彲鍛錛熸瘮鐗瑰竵浣跨敤宸ヤ綔閲忚瘉鏄庢満鍒訛紝璁╃熆宸ョ浉浜掔珵浜夋潵瑙e喅涓涓鏁板﹂棶棰樸傝皝鍏堣В鍐籌紝璋佸氨寰楀埌澶у剁殑璁ゅ彲銆傚氨鍍忓紑綃囨晠浜嬩腑璁茶堪鐨勯偅涓鏉戝簞涓鏍鳳紝姣忎釜鐭垮伐閮藉湪鐢ㄥ姏鎺ㄧ潃宸ㄧ煶銆備竴鏃︾煶澶村帇浣忎簡浠栫殑璐︽埛欏甸潰錛屼粬鍠婇亾錛氣滄垜鐨勫伐浣滈噺璇佹槑鏄鎴愬姛鐨勩傚揩鏉ョ湅錛佲濇墍鏈夌殑鐭垮伐閮芥潵浜嗭紝鎶勪笅閭d竴欏佃處鐩錛岃創鍦ㄨ處鏈鍚庨潰錛岀劧鍚庡紑濮嬫柊鐨勮拌處嫻佺▼銆傚懆鑰屽嶅嬶紝鐢熺敓涓嶆伅錛岃處鏈涓欏甸〉鐨勫炲姞錛岃處鏈瓚婃潵瓚婂帤銆
褰撲腑鏈鑱鍐沖畾閲囩敤宸ヤ綔閲忚よ瘉鏈哄埗鏃訛紝鍑哄彂鐐規槸涓轟簡閬垮厤緋葷粺鍙楀埌鏀誨嚮銆傗滀腑鏈鑱鈥濊や負錛屽傛灉鏀誨嚮鑰呮兂閫氳繃鎼炰貢璐︽湰鏉ユ敾鍑伙紝浠栭渶瑕佽凍澶熺殑璁$畻鑳藉姏銆傛崲鍙ヨ瘽璇達紝浠栨瘮澶у氭暟鎺ㄧ煶澶寸殑浜洪兘鍘夊熾傝繖鏍蜂粬瑕佷粯鍑哄法澶х殑鎴愭湰錛屼絾鍥炴姤涓嶈凍浠ユ姷娑堟垚鏈錛屾墍浠ユ敾鍑昏呮病鏈夌粡嫻庡姩鏈哄幓鏀誨嚮姣旂壒甯佺郴緇熴
浣嗘槸錛岀幇鍦ㄧ敱浜庢瘮鐗瑰竵鐨勪環鏍艱秺鏉ヨ秺楂橈紝鎺ㄧ煶澶寸殑浜哄凡緇忎笉婊¤凍浜庤嚜宸卞幓鎺ㄤ簡錛岃屾槸鎶婂墮噷鐨勫ぇ楠″瓙澶ч┈閮芥淳涓婂幓騫叉椿浜嗐傚湪鈥滀腑鏈鑱鈥濇渶鍒濈殑璁捐¢噷錛屼竴涓狢PU涓紲錛岀敤綆楀姏鏉ュ喅瀹氬摢涓鐭垮伐璁扮殑璐︽垚涓烘渶緇堢殑璐︾洰銆傞殢鐫姣旂壒甯佷環鏍肩殑澧為珮錛屽紑濮嬪嚭鐜頒簡GPU鎸栫熆錛屽悗鏉ヤ漢浠鍙堜笉婊¤凍浜嶨PU鐨勯熷害錛屽紑濮嬪埗閫犱笓鐢ㄨ姱鐗囨寲鐭褲備笓鐢ㄨ姱鐗囧湪璁$畻姣旂壒甯侀棶棰樼殑鑳藉姏涓婃槸鏅閫欳PU鐨勬暟涓囧嶏紝鍥犳ょ幇鍦ㄦ瘮鐗瑰竵宸茬粡涓嶆槸鈥滀竴涓狢PU涓紲ㄢ濅簡錛岃繖涔熻儗紱諱簡褰撳垵鈥滀腑鏈鑱鈥濈殑璁捐★紝姣旂壒甯佺綉緇滃凡緇忓熀鏈涓婅鍑犲ぇ鐭挎睜鎵鍨勬柇錛岃儗紱諱簡鍘諱腑蹇冨寲璐у竵榪欎竴鍒濊》銆
闆烽攱緗戠壒綰︾誇歡錛屾湭緇忔巿鏉冪佹㈣漿杞姐傝︽儏瑙佽漿杞介』鐭ャ
鐩稿叧闂絳旓細鏄懼崱鎸栫熆鏄浠涔堟剰鎬濓紵涓轟粈涔堟樉鍗′環鏍煎拰鎸栫熆鏈夊叧錛
浣滀負涓涓鏇劇粡鈥滄ⅵ鎯充竴澶滄毚瀵岋紝鏈鍚庤鏈鏃犲綊鈥濈殑鈥滆佺熆宸モ濓紝鏉ュ洖絳旇繖涓闂棰橈紝鏈鏂囧敖閲忕敤閫氫織鐨勮璦鏉ユ弿榪頒竴涓嬫寲鐭褲佹樉鍗℃寲鐭垮拰鏄懼崱浠鋒牸鐨勪竴浜涚浉鍏抽棶棰樸
綆鍗曟潵璁詫紝鎸栫熆灝辨槸浜х敓鏁板瓧璐у竵鐨勬剰鎬濓紝鏁板瓧璐у竵鏈夊緢澶氱嶏紝鍖呮嫭鎴戜滑鍚鍒拌繃姣旂壒甯併佽幈鐗瑰竵銆佷互澶鍧娿佸竵瀹夊竵銆佺嫍鐙楀竵絳夈
榪欓噷錛屾垜浠浠ユ瘮鐗瑰竵涓轟緥錛屾潵澶ц嚧浜嗚В涓涓嬶紝姣旂壒甯佸氨鏄涓縐峆2P褰㈠紡鐨勬暟瀛楄揣甯侊紝P2P鐨勫幓涓蹇冨寲鐗規т笌綆楁硶鏈韜鍙浠ョ『淇濇棤娉曢氳繃澶ч噺鍒墮犳瘮鐗瑰竵鏉ヤ漢涓烘搷鎺у竵鍊箋傛墍浠ワ紝姣旂壒甯佸叾鎬繪暟閲忔湁闄愶紝璇ヨ揣甯佺郴緇熸浘鍦4騫村唴鍙鏈変笉瓚呰繃1050涓囦釜錛屼箣鍚庣殑鎬繪暟閲忓皢琚姘鎬箙闄愬埗鍦2100涓囦釜銆
浣嗘槸錛屼笌澶у氭暟璐у竵涓嶅悓錛屾瘮鐗瑰竵涓嶄緷闈犵壒瀹氳揣甯佹満鏋勫彂琛岋紝瀹冧緷鎹鐗瑰畾綆楁硶錛岄氳繃澶ч噺鐨勮$畻鏈烘暟鎹璁$畻鑰屼駭鐢燂紝姣忛殧涓瀹氭椂闂村氨浼氶氳繃鈥滄寲鐭庫濅駭鐢熶竴閮ㄥ垎姣旂壒甯併
鈥滄樉鍗℃寲鐭庫濇槸浠涔堟剰鎬濓紵鎴戜滑鐭ラ亾浜嗏滄寲鐭庫濈殑鍚涔夛紝綆鍗曞湴璇達紝涓嶅氨鏄璁╃數鑴戣繘琛屽ぇ閲忚$畻鍚楋紵榪欎笉姝f槸鐢佃剳鐨勯暱澶勫悧錛
閭d箞錛屼負浠涔堚滄寲鐭庫濇昏佹嬁鏄懼崱鍘繪寲錛屾洿涓哄帀瀹崇殑CPU錛屽畠涓嶈兘鎸栧悧錛熸瘯絝燂紝鏄懼崱涓鑸閮芥槸鐢ㄦ潵鎵撴父鎴忕殑錛屾庝箞浼氬拰鏁板瓧璐у竵鎵涓婂叧緋誨憿錛
榪欓噷灝辮佹彁鍒頒竴涓璇嶈錛氱畻鍔涖
鎴戜滑瑕佺煡閬擄紝鎸栫熆鏈閲嶈佺殑灝辨槸鐢佃剳紜浠剁殑綆楀姏澶у皬錛岀浉杈冧簬CPU鐨勫嶆潅榪愮畻錛屾樉鍗¤繘琛岀殑鍒欐槸閫氱敤璁$畻錛屽線寰閮戒細鍫嗗彔涓婂崈鐢氳嚦鍑犲崈涓嫻佸勭悊鍣ㄣ傜劧鑰屾eソ錛屾寲鐭垮彧闇瑕侀氱敤璁$畻灝辮兘鎼炲畾錛屽嶆潅榪愮畻鍗村畬鍏ㄥ埄鐢ㄤ笉涓婏紝鎵浠ワ紝鏄懼崱鐨勫彟澶栦竴涓鐢ㄦ︿箣鍦板氨鏄鎸栫熆錛
鐩稿綋浜庝粈涔堟剰鎬濆憿錛熶婦涓渚嬪瓙綆鍗曠殑渚嬪瓙錛氭垜浠闇瑕佸湪澶ч噺鐨勭櫧綰鎬笂闈㈠啓涓婁竴涓鏁板瓧1錛屾垜浠瀹夋帓10涓鑰佸笀鍜1000涓灝忓︾敓鏉ュ仛榪欎歡浜嬶紝鍦ㄧ浉鍚屾椂闂村唴錛岃繖1000涓灝忓︾敓鐨勫畬鎴愰噺鑲瀹氳佹瘮10涓鑰佸笀瀹屾垚鐨勬洿澶氾紝鉶界劧鑰佸笀鑳藉姏鏇村己錛屼絾鏄鍦ㄥ勭悊榪欑嶇畝鍗曚簨鎯呬笂錛屾灦涓嶄綇灝忓︾敓浜哄氬晩銆
鍏跺疄錛屾棭鏈熺殑鈥滄寲鐭庫濓紝紜瀹炴槸鐢–PU鏉ヨ繘琛岀殑錛屽悗鏉ワ紝鐢變簬鎸栫熆鐨勯毦搴﹁秺鏉ヨ秺澶э紝CPU鐨勯氱敤璁$畻浣犺兘鍔涘凡緇忓苟鏃犳硶婊¤凍鎸栫熆鐨勯渶奼備簡錛屾墍浠ュ氨鐢ㄥ埌鏄懼崱鏉ユ寲鐭褲傚弽鑰岋紝瀵逛簬鎴戜滑騫蟲椂娉ㄩ噸鐨勭數鑴戞ц兘鎻愬崌鐨勯噸鐐圭‖浠禖PU鍜屽唴瀛樿佹眰騫朵笉楂橈紝鏈夌殑鏃跺欎粎浠呴渶瑕佽兘澶熶繚璇佽繍琛屾搷緋葷粺鍜岀浉鍏寵蔣浠跺氨琛屻傛垜褰撳垵鑷宸遍厤緗鐨勫皬鍨嬬熆鏈猴紝浣跨敤鐨凜PU鍜孋PU鏁g儹閮芥槸浜屾墜璐э紝鍐呭瓨浠呬負4GB錛屼嬌鐢ㄧ殑紜鐩樹粎涓60G錛岀劧鑰屾惌閰嶇殑紜鏄6鍧楁樉鍗″拰鍙浠ユ彃6鍧楁樉鍗$殑涓繪澘銆
涓轟粈涔堟樉鍗′環鏍煎拰鎸栫熆鏈夊叧錛鍏充簬鏄懼崱鐨勪環鏍間笌鎸栫熆鐨勫叧緋伙紝涓鑸鍙浠ヤ粠鏂版樉鍗″拰浜屾墜鏄懼崱甯傚満鐨勪環鏍兼潵鍒嗗埆璇翠竴涓嬨
絎涓錛屾柊鏄懼崱鏂歸潰銆
鍏跺疄錛屾柊鏄懼崱鐨勪環鏍間笂娑錛屼富瑕佹槸鍦ㄥ墠涓ゅ勾錛屾渶榪戞樉鍗′環鏍兼e湪閫愭笎鍥炶惤銆傝屽綋鍒濓紝鏄懼崱浠鋒牸涓婃定璺熷綋鏃舵瘮鐗瑰竵鐨勫競鍦鴻屾儏鏈夊緢澶у叧緋匯傚綋鏃剁殑姣旂壒甯佷環鏍煎彲璋撴槸杈懼埌浜嗙柉鐙傜姸鎬侊紝鎵浠ュ偓鐢熶簡澶ч噺鐨勪笓涓氣滅熆宸モ濆拰鈥滄寲鐭垮叕鍙糕濓紝褰撶劧錛屼篃鍖呮嫭澶ч噺鐨勫儚鎴戜竴鏍風殑鈥滄寲鐭挎暎鎴封濄
褰撴椂錛屾湁濯掍綋鎶ラ亾錛屾湁閮ㄥ垎鍦板尯鐨勭綉鍚х珶鐒跺叧闂ㄦ瓏涓氾紝鎴樿岃繘琛屼笓涓氭寲鐭匡紝鍏剁伀鐑紼嬪害鍙鎯寵岀煡銆
鍚庢潵錛岀敱浜庢暟瀛楄揣甯佷環鏍煎洖钀斤紝騫朵笖鐩稿叧鐩戠¢儴闂ㄥ規暟瀛楄揣甯佸強鎸栫熆欏圭洰鐨勮勮寖鍖栫$悊錛岃屼笟姝i愭ュ洖褰掔悊鎬у拰姝h勶紝鍔犱笂鎸栫熆琛屼笟涓庣幆澧冧繚鎶ょ浉鎮栵紝鎵浠ュぇ閲忕殑鐭垮伐杞琛屻佺熆鏈哄叧闂錛屽悓鏃訛紝鐩稿叧浼佷笟涔熺爺鍙戝嚭浜嗕笓鐢ㄧ殑鎸栫熆鏈哄櫒錛岄犳垚鏄懼崱闇奼傛寔緇涓嬮檷錛屾樉鍗′環鏍奸殢涔嬩笅闄嶃
澶ч噺鐨勫競鍦洪渶奼傦紝瀵艱嚧鏄懼崱鐨勪環鏍間竴娑ㄥ啀娑錛涘競鍦洪渶奼傞檷浣庯紝鏄懼崱浠鋒牸涔熼愭ュ洖钀斤紝榪欎笌甯傚満鐨勪緵闇鍏崇郴鍜屼環鏍兼誕鍔ㄦ槸鐩稿尮閰嶇殑銆
絎浜岋紝浜屾墜鏄懼崱鏂歸潰銆
鎸栫熆鐢ㄧ殑鏄懼崱錛屾垜浠淇楃О鐭垮崱銆傞殢鐫鐭挎満瀵規樉鍗$殑澶ч噺闇奼傦紝浜屾墜鏄懼崱涔熻寰堝氱熆宸ユ墍闈掔潗錛涗絾鍙堥殢鐫澶ч噺鐭挎満鍏抽棴錛屽ぇ閲忕熆鍗¤偗瀹氭祦鍏ヤ簩鎵嬪競鍦猴紝鑰屽緢澶氳壇蹇冧漢澹錛屾槸涓嶅緩璁鏅閫氱敤鎴瘋喘涔頒簩鎵嬬熆鍗$殑銆傛墍浠ワ紝鏄懼崱浜屾墜甯傚満鐨勭殑浠鋒牸涔熷氨闅忕潃鎸栫熆琛屼笟鐨勮屾儏鍙樺寲鑰屽彉鍖栥
涓句釜鐪熷疄鐨勪緥瀛愶紝AMD鏇炬帹鍑轟簡涓嬈炬樉鍗″彨Radeon 鈪︼紝浜2019騫2鏈堝彂甯冿紝7鏈堜喚鍋滀駭錛屽彂甯冩椂浠鋒牸浠呬負5000澶氥備絾鏄錛屽湪鍋滀駭涓騫村崐榪囧悗錛屽叾浜屾墜浠鋒牸絝熼珮杈8000鍏冨乏鍙籌紝鑰岃繖浠呬粎鏄鐢變簬榪欏潡鏄懼崱鍚勬柟闈㈢殑鎬ц兘鏁版嵁鏇村姞鏈夊埄浜庢寲鐭褲
鎬諱綋鑰岃█錛屾樉鍗℃寲鐭垮氨鏄涓縐嶅埄鐢ㄦ樉鍗℃湰韜鐨勪紭鍔挎潵榪涜屾暟瀛楄揣甯佺殑鐢熶駭錛岃屾寲鐭胯屼笟鐨勫叴琛幫紝灝辯洿鎺ュ獎鍝嶄簡鏄懼崱浠鋒牸鐨勬嘗鍔ㄣ
鍦ㄦわ紝濂夊姖榪樻湭榪涘叆鑰屽張鎯寵繘鍏モ滅熆鍦堚濈殑鏅閫氱帺瀹訛紝鏀懼純鍚э紝鍥犱負鏈夊彲鑳斤紝涓嬩竴涓鈥滆鏈鏃犲綊鈥濈殑錛屽氨鏄浣狅紒
簡單回顧下挖礦的流程。
首先先要對所有的交易做驗證,剔除有問題的,然後通過一套自定義的標准來選擇哪些交易希望打包進區塊,比如說提供的交易費與交易佔用的位元組大小的比值超過某個門檻,這樣的交易才被認為有利可圖。當然,節點也可以特意選擇要加入某條交易,或者故意忽略某些交易。如果是通過礦池挖礦的話,礦池的伺服器會去篩選交易,然後分配給每個參與的礦機一個獨立的任務。
一旦篩選好交易數據,層層約減,通過這些交易就可以計算出一棵Merkle樹,可以確定一個唯一的摘要,這就是Merkl樹的根。
然後我們再依次獲取挖礦需要的其他信息,這些信息組成一個區塊的頭。
區塊頭的位元組分配
區塊頭只有80個位元組,挖礦只需要對區塊頭進行運算即可。交易數據都通過merkle樹固定了下來,不需要再包含進來。
這些信息中大部分已經是固定下來的,或者是可計算的。
我們以區塊277316為例,其信息來自網站 http://blockchain.info
Bitcoin Block #277316blockchain.info
選擇這個區塊的原因是在《Mastering Bitcoin》一書中,中文社區譯本和英文原版在介紹這部分內容時有出入,而且作者Antonopoulos並沒有提到一個關鍵點,就是位元組順序的問題,相信很多人可能會踩這個坑。這里還原的細節可以幫助讀者與書籍做相互參考。
請大家注意下面的每個步驟,注意每一個變化,這是比特幣最核心的演算法。
轉換時間,記住,一定要轉為utc的時間戳,此處遇到過坑,小心。
這一步的發現異常艱辛,耗費了大量的查詢,大坑,大坑,謹記。發明人中本聰可能為了讓機器計算更快,而變為了更接近機器的編碼方式little-endian.
最終得到的結果就是
16進制下前面15個0,然後是1; 而難度目標對應的數字是
16進制下前面15個0,然後是3. 計算結果小於難度目標,符合要求。這個結果與網站上公布的數字一致。
在挖礦時,nonce隨機數是未知的,要從0試到2^32,但是這個數字其實不大,只有4294967296,以現在的礦機動輒14T每秒的算力,全部算完到上限也不需要一秒。剛才提到在這種情況下,需要使用創幣交易中的附帶信息,額外的字元串成為extra nonce。
另外,創世區塊也可以通過上面的方法來驗證,有好奇的朋友可以嘗試下。
提示:
Ⅲ 比特幣挖礦計算的是什麼
1、計算的就是比特幣本身。這一計算過程就是比特幣的發行過程。
2、因上述原因,我覺得可以理解為沒有實際意義。
3、你說的是貨幣包的數目吧?那個就是你連接的其他客戶端的數量(畢竟是P2P),這很重要!這個數值要達到一定程度賬戶才可正常運作。一直開著就好了。
Ⅳ 比特幣礦機運算的是什麼
從用戶的角度來看,比特幣就是一個手機應用或電腦程序,可以提供一個個人比特幣錢包,用戶可以用它支付和接收比特幣。這就是比特幣對於大多數用戶的運作原理。
在幕後,整個比特幣網路共享一個稱作「塊鏈」的公共總帳。這份總帳包含了每一筆處理過的交易,使得用戶的電腦可以核實每一筆交易的有效性。每一筆交易的真實性由發送地址對應的電子簽名保護,這使得用戶能夠完全掌控從他們自己的比特幣地址轉出的比特幣。另外,任何人都可以利用專門硬體的計算能力來處理交易並為此獲得比特幣獎勵。這一服務經常被稱作「挖礦」。
比特幣挖礦經歷了三個發展階段,在比特幣剛剛誕生時,比特幣的價格很低,大家只是把比特幣當做一種游戲,使用自己普通的電腦進行挖礦,但在2012年隨著比特幣價格的上升,人們發現顯卡挖礦速度較快,因此,人們開始購買大量顯卡組裝到一起進行挖礦,俗稱「燒顯卡」;第三階段,就是大家熟知的ASIC礦機挖礦,自從阿瓦隆生產出世界上第一台ASIC比特幣礦機,比特幣挖礦就徹底的被顛覆了,挖礦成為了一個特別專業的事情。
Ⅳ 比特幣挖礦到底在計算什麼
要知道挖礦到底在計算什麼,首先得知道比特幣的本質及產生的過程。比特幣是基於網路的電子貨幣,實際是互聯網的一串代碼,依靠演算法計算得出。挖礦是完成演算法的過程,也是生產比特幣的唯一方式。而且由於演算法規定,比特幣目前只有2100萬個。
1、挖礦既能生產比特幣,又能保障交易信息
類似於,一個數學系統包含2100萬個數學題,需要通過龐大的計算量不斷的去尋求這個每個數學題的特解。另外,特解是唯一的。
下面來具體解釋挖礦,從作用來說,挖礦不僅可以增加比特幣貨幣供應,而且還可以保護比特幣交易安全、防止欺詐交易。從過程來說,比特幣網路是一個點對點的支付系統,任何人都可以通過交易程序進行交易。
為了確保交易過程被如實記錄,就需要「礦工」這個角色來負責記錄比特幣交易信息,這個時間間隔是10分鍾,礦工中記賬最好的交易記錄就會被打包存儲到一個新的區塊中,相應的礦工也會得到一定數量的比特幣獎勵。
2、挖礦過程極其復雜,非人力所能為
具體的流程如下,當某一個礦工監聽到這筆交易時,首先會對交易信息進行驗證。通過驗證的交易則會被礦工記錄下來,保存在自己的資料庫裡面。全世界可能有成千上萬個礦工在進行同一件事,但在每十分鍾內,只有一個礦工有權創建新的區塊,使自己記錄的交易信息被大家所承認並永久地存儲下來。
接下來,礦工們就需要爭奪記賬權,這是一場算力競賽的比拼,其核心是用計算機完成大量的計算任務,找到一個超難的隨機數,這個隨機數就是第一段所說的方程特解,最先算出正確隨機數的礦工勝出。根據游戲規律,一個礦工獲得記賬權的幾率與其算力佔全網算力之和的比例成正比。換句話說,找到該隨機數的概率相當於將一億個骰子扔出,最後骰子總和小於1億零50。因此,挖礦需要大量的計算機,安裝特定的演算法軟體,日夜重復運行,非人力所能為。
3、比特幣挖礦其實就是「村民記賬」
可能還是有網友不懂,那就舉個例子。在一個村裡,村民之間經常會發生借款行為,哪怕寫了字據也有違約的風險。那麼,在每次村裡有借款行為發生的時候,就用村裡的大喇叭告知大家,所有的村民(礦工)就在自己的賬簿里記下所有交易記錄。
Ⅵ 比特幣中挖礦是什麼
比特幣就是由一種開源的P2P軟體產生的一串代碼,我們稱之為加密貨幣、電子貨幣等等。比特幣是由挖礦產生的,比特幣挖礦通俗點說就是利用你的硬體設備計算SH265演算法的數學難題,確認網路交易,保證整個網路系統的安全,作為獎勵比特幣系統會根據礦工貢獻算力的大小給與一定的比特幣獎勵。
挖礦就是搶比特幣。比特幣每隔一段時間會生成幾個,誰搶到了就是誰的,而接入比特幣系統的電腦,就是搶比特幣的工具「礦機」。至於國家承認比特幣的問題,簡單來說就是看可能對國家的影響來決定了。
Ⅶ 比特幣挖礦是什麼
比特幣挖礦是一種獲得比特幣的方式,簡單來講就是全網礦工一起來做一道題目,誰先做出來,誰就會得到比特幣獎勵,「礦工」需要在區塊努力工作,就是消耗計算資源來處理交易,挖礦對於設備的配置要求相當高,提高設備配置,可以加強運算能力,也能更快的獲得比特幣。 比特幣是一種電子貨幣,由開源的P2P軟體產生,可以用來交易,也可以通過交易來獲利,比特幣挖礦運用的是哈希演算法,在比特幣系統裡面,需要進行大量哈希運算,計算的值需要符合規定,誰運算的快,誰能挖到的比特幣就越多。
拓展資料
比特幣挖礦,是一種利用電腦硬體計算出比特幣的位置並獲取的過程。 挖礦是在比特幣系統中進行記錄數據的一個激勵過程,在比特幣系統個人用戶通過利用CPU或者GPU進行哈希運算,稿頌當計算出特定的哈希值之後便擁有了打包區塊的權利。 而為了獎勵這個用戶進行打包區塊,系統就給予一定的比特幣作為報酬。因為這個過程很像現實生活中「挖礦」所以大多數人就把這個過程叫做挖礦。除了比特幣外,其他的電子虛擬貨幣也可以通過挖礦獎勵獲取,如以太坊、門羅幣等等
挖礦風險:
1,貨幣安全
比特幣的支取需要多達數百位的密衡信鑰,而多數人會將這一長串的數字記錄於電腦上,但經常發生的如硬碟損壞等問題,會讓密鑰永久丟失,這也導致了比特幣的丟失。
2,系統風險
系統風險在比特幣這個裡面非常常見,最常見的當屬於分叉。分叉會導致幣價下跌,挖礦收益銳減。不過很多情況表明,分叉反而讓礦工收益,分叉出來的競爭幣也需要礦工的算力來完成鑄幣和交咐敬輪易的過程,為了爭取更多的礦工,競爭幣會提供更多的區塊獎勵及手續費來吸引礦工。風險反而成就了礦工。
Ⅷ 比特幣挖礦到底是在計算什麼
專業的說,是在算哈希值SHA-256。如果不懂計算機的話,簡單地說,就是算一些沒有意義的隨機數,誰的隨機數被比特幣區塊鏈接受了,誰就有錢拿。所以比特幣計算除了賺錢之外,其實並沒有任何實際作用。如果這些算力用來做科學計算,真的可以做很多事情,但是沒辦法,誰讓比特幣賺錢啊
Ⅸ 比特幣挖礦是在進行什麼計算嗎
為了證明時間 保證整個網路的安全性
如果沒有這個計算 整個體系是不安全的 所以這些看似沒有意義的計算是為了保證大家的安全
Ⅹ 挖礦到底在計算什麼
比特幣挖礦到底在計算什麼?如何看待比特幣挖礦,比特幣的挖礦對於不同的礦工而言是一種競爭記賬權的合作記賬行為,在合作的大框架下有序地競爭。也就是利用電腦硬體計算出比特幣的位置並獲取的過程稱之為挖礦。挖礦既能生產比特幣,又能保障交易信息,下面來具體解釋挖礦。
比特幣在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萬個比特幣待開采。