介紹一下比特幣系統的獎勵機制。比特幣通過系統設置,基本能穩定在平均每10分鍾挖出一個區塊。每一次出塊獎勵都給挖出該區塊的礦工。挖出區塊的礦工稱為出塊礦工。出塊礦工會把比特幣網路中的合法交易記錄到區塊鏈上,這樣礦工就能收到記賬的手續費。
BTC
出塊礦工的獎勵包含兩部分:一部分是系統給獎勵,,另一部分是記賬記賬獎勵,稱為礦工費。系統獎勵,最開始是50枚比特幣,區塊高度每到21萬的整數倍,系統獎勵就會減半,這就是我們常聽到的比特幣挖礦獎勵四年減半。目前階段系統獎勵為12.5枚比特幣。
就目前階段而言,礦工挖出一個區塊的獎勵,收到的交易礦工費平均大約在0.1枚比特幣(不固定),也就是說礦工挖出一個區塊得到的平均獎勵約為12.6枚比特幣。礦工的獎勵99%左右來自系統獎勵。
根據比特幣系統平均每10分鍾可挖出一個區塊,一天可挖出的新區塊數量為144(60*24/10=144),目前每天可挖出比特幣數量為1800BTC(144*12.5BTC=1800BTC)。加上每個區塊約0.1BTC的礦工費,所有礦工一天得到的總獎勵約為1814.4BTC。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
㈡ 鎸栦竴棰楁瘮鐗瑰竵瑕佸氫箙
鎹瓸TC鍖哄潡緗戞姤閬擄紝10鏈1鏃ワ紝姣旂壒甯佺綉緇滀互寮傚父緙撴參鐨勬椂闂存寲鍑轟簡涓涓鍖哄潡錛屾誨叡鐢ㄤ簡119鍒嗛挓鎵嶆寲鍑鴻繖涓鍖哄潡銆傝櫧鐒舵瘮鐗瑰竵緗戠粶鐨勬寲鎺樿$畻鑳藉姏鏈榪戝壋鏂伴珮錛屼絾榪欑嶄笉姝e父鐨勭幇璞¤繕鏄鍙戠敓浜嗐
鍙浠ョ湅鍒597272鍧楁槸9鏈30鏃ョ敓浜х殑2:8:45錛岃屼笅涓鍧597273鏄10鏈1鏃ョ敓浜х殑0133607:42銆傝$畻榪欎釜鍖哄潡鐢ㄤ簡119鍒嗛挓錛岀劧鍚597274鍖哄潡寮閲囧彧鐢ㄤ簡1鍒嗛挓銆
姣旂壒甯佺綉緇滀駭鐢熸參鍧楃殑姒傜巼鏋佷綆銆傚湪姣旂壒甯佺殑緗戠粶璁懼畾涓錛岀熆宸ユ瘡10鍒嗛挓灝變細鎸栧嚭涓涓鏂板潡銆傚埌鐩鍓嶄負姝錛屾瘮鐗瑰竵緗戠粶鐨勫皝閿佹椂闂翠竴鐩翠繚鎸佸湪棰勫畾鐨勬椂闂達紝鍙浼氬湪灝忚寖鍥村唴娉㈠姩銆
浣嗘槸597273楂樼殑鍧楃『瀹炶楄垂浜嗙熆宸ヤ滑澶ч噺鐨勬椂闂村拰璁$畻錛岀熆宸ヤ滑鑺變簡119鍒嗛挓鎵嶆寲鍑597273楂樼殑鍧椼傝繖鍦ㄦ瘮鐗瑰竵鐨勫巻鍙蹭笂鍙鍙戠敓榪10嬈°備笂涓嬈″嚭鐜拌繖縐嶆儏鍐墊槸鍦2014騫5鏈堛
鍋囪炬瘮鐗瑰竵緗戠粶鐨勫鉤鍧囬樆濉炴椂闂存槸10鍒嗛挓錛岄偅涔堜駭鐢熻繖涓闃誨炵殑姒傜巼鍙鏈0.000679%銆傝姳閭d箞闀挎椂闂存寲鍑轟竴涓鍖哄潡鏄闈炲父緗曡佺殑銆傛埅鑷10鏈9鏃ワ紝姣旂壒甯佺綉緇滅殑鍝堝笇閫熺巼涓烘瘡縐89涓囦嚎嬈°傝繖鎰忓懗鐫錛屽湪119鍒嗛挓鍐咃紝鐭垮伐浠娑堣椾簡澶ч噺鐨勭數鍔涘拰璁$畻鑳藉姏錛屾墠鎶婂畠鎸栧嚭鏉ャ
鐩稿弽錛597274鍧椾笉鍒頒竴鍒嗛挓灝辮鎸栦簡鍑烘潵銆傚洜涓烘湁浜涚熆宸ヨ瘯鍥鵑氳繃姒傜巼浼樺寲鏉ラ噰鐭匡紝鎵浠ヨ繖縐嶅潡孌靛嚭鐜扮殑姒傜巼搴旇ユ槸鏋佷綆鐨勩傜洰鍓嶅逛簬榪欑嶅尯鍧楃殑鍑虹幇鏈変袱縐嶈В閲娿傜涓涓鏄鐭垮晢瀵硅繖涓鍖哄潡娌℃湁杈炬垚鍏辮瘑銆傚彟涓縐嶈В閲婃槸錛屾瘮鐗瑰竵鍖哄潡閾懼彲鑳藉凡緇忓垎瑁傦紝浣嗗垎鍙夌洃瑙嗗櫒娌℃湁媯嫻嬪埌榪欎竴浜嬩歡銆
姣旂壒甯佺己涔忕揣鎬ラ毦搴﹁皟鏁存満鍒躲備簨瀹炰笂錛屽叾浠栫綉緇滀篃緇忓巻浜嗗お闀挎椂闂寸殑灝侀攣錛屽傛瘮鐗瑰竵鐜伴噾銆備富瑕佹槸鍙備笌鎸栫熆鐨勭熆宸ュお灝戱紝緗戠粶娌℃湁璋冩暣鎸栫熆闅懼害銆傛瘮鐗瑰竵緗戠粶姣忎袱鍛ㄤ細璋冩暣涓嬈℃寲鐭塊毦搴︼紝榪欎釜緗戠粶鐨勬寲鐭塊毦搴﹀勪簬鍘嗗彶鏈楂樻按騫熾
灝卞湪鍧楀ご597273琚鎸栧嚭鏉ヤ箣鍓嶏紝姣旂壒甯佺綉緇滅獊鐒跺け鍘諱簡30%鐨勬暎鍒楃巼銆傛ゅ栵紝姣旂壒甯佺綉緇滃湪榪囧幓涓変釜鏈堝唴鍑忓皯浜1400澶氫釜鑺傜偣錛岃繖琛ㄦ槑姣旂壒甯佺綉緇滅殑鍘諱腑蹇冨寲紼嬪害闄嶄綆錛屽悓鏃剁綉緇滃瓨鍦ㄦ綔鍦ㄥ畨鍏ㄩ庨櫓鐨勫彲鑳芥у炲姞銆
鍏朵腑鐭挎満涓昏佺敱姣旂壒澶ч檰銆佸緩瀹変簬涔嬨佷嚎閭﹀浗闄呯粍鎴愩傜旱瑙傛瘮鐗瑰竵榪戝嶮騫寸殑鍙戝睍鍘嗗彶錛屾瘮鐗瑰竵鎸栫熆宸茬粡褰㈡垚浜嗕竴涓涓夊勾鐨勫懆鏈燂紝鐢變竴騫寸殑鐩堝埄鏈熷拰涓ゅ勾鐨勮皟鏁存湡緇勬垚銆傜洰鍓嶆瘮鐗瑰竵鎸栫熆澶勪簬璋冩暣鏈熸湯鏈熴備粠鍛ㄦ湡鍐呴儴鏉ョ湅錛屼粖騫4鏈堝垵鑷7鏈堝垵鐨勫竵浠鋒定騫呮槑鏄鵑珮浜庤$畻錛屽艦鎴愬皬鐩堝埄鏈熴備粠鍘嗗彶鏉ョ湅錛屾瘮鐗瑰竵鎸栫熆澶勪簬璋冩暣鏈熺殑鏈鏈熴
鐩稿叧闂絳旓細涓涓姣旂壒甯佽佹寲澶氫箙
1銆佺洰鍓嶅湪鐞嗘兂鐘舵佷笅錛屼竴鍙板剁敤鐢佃剳鐢ㄤ笂欏墮厤瑁呯疆銆2銆佺敤鐭挎満姣忓ぉ榪愯24灝忔椂錛屽彲浠ユ寲鍑0.0018涓姣旂壒甯侊紝鎵浠556澶╂墠鑳芥寲鍑轟竴涓姣旂壒甯併3銆佺敱浜庢瘡騫存瘮鐗瑰竵鐨勬暟閲忓湪鍑忓皯錛屼互鍚庨愬勾鑾峰彇鐨勯毦搴︿細鏇村ぇ銆㈢ 比特幣算力大幅下降,會有什麼影響
1、低成本的幣可能增加市場的拋壓
尤其是7nm礦機的大規模上市,其挖礦成本在26000人民幣上下, 對於礦工而言,仍有較大的利潤空間,出於運營維護礦場日常的需求,必然存在部分拋壓,算力的下降,反倒會減少市場上流動的幣。
2、礦機商為了新礦機的銷售,可能通過打壓幣價,淘汰老礦機,從而增加新礦機的銷售量
以上一款主流老礦機螞蟻S9為例,當算力增加到100EH/S時,只要幣價達到7000美元左右,螞蟻S9以上的老舊礦機都將淘汰,只要這樣的幣價維持2個月左右,將倒逼礦場與礦工出清老礦機,購買新的大算力礦機。
3、當前市場普遍看好減半行情,為了減少下降的阻力,極有可能會經歷一波下行
為減輕減半的下降主力,市場有較大的可能經歷一波下行,礦場與礦工為了為了鎖定挖礦的收益,有較大的可能採取套保措施,從某種程度上,會增加市場的下降阻力,增加上行的風險。
也就是說算力下降的背後,是由於幣價的下行,以及7nm礦機的投產,在利潤空間增大的刺激下,市場購買大量新型礦機,投入到挖礦中,從而造成比特幣算力的下降。
眾所周知,算力的大幅上漲,是幣價上漲的結果,而不是幣價上漲的原因。反倒是大算力礦機投產導致的算力的快速上漲,增加了比特幣的拋壓,增加了下行的風險。
比特幣算力下降影響價格嗎?
首先,如果BTC的價格可以維持,目前還在挖礦的礦工利潤上升了,而且上升的比例不止15%,舉個簡單的例子,假如之前有礦工電費成本10元,能挖到20元的幣,利潤是10元,難度下降之後,能多挖15%的幣,就是23元,電費成本不變,利潤就是13元,利潤上升了30%。前段時間幣圈有大佬說礦場和部分礦工可能在托盤,因為BTC的價格即將跌破他們的關機價,現在來看,由於利潤上升,他們的底線可能會下調,短期內對比特幣的價格可能是一個利空,不過影響BTC價格的因素還有很多,我們可以拭目以待。
比特幣算力下降意味著什麼?以上就是比特幣算力下降意味著什麼的相關內容,其實挖比特幣的算力實質上是一直在求解,這樣就能保證最長的鏈條擁有全網最大的工作量,從而不會被更改,這樣也就實現了比特幣系統是堅固的,是不會被人攻擊的,也就是說比特幣算力是為了維護比特幣網路的安全,因此比特幣算力對於比特幣來說是非常重要的,而對於礦工來說,比特幣算力也是極為重要的,畢竟比特幣算力的變化直接影響礦工挖礦的難度。
比特幣挖礦賺不賺錢,有5個非常關鍵的數據對其產生影響:比特幣價格、算力、電費成本、全網挖礦難度、礦機成本價。後面4個因素,彼此之間互相影響,最後可能對BTC價格產生影響。
4月6日,一篇題為《中國比特幣區塊鏈運行的碳排放量與可持續性的政策評估》的論文發表在了《自然通訊》上,來自中國科學院、清華大學學者的這篇論文,引發了中國甚至海外媒體的關注。在國家的「雙控」目標下,新疆、內蒙等地的火力發電的礦場被迫停止運營。在針對比特幣挖礦的監管要求下達後,近期比特幣全網算力暴跌了20%。
那麼比特幣全網算力大跌以後對廣大礦工有什麼影響呢?首先咱們要這里先解釋一下什麼是挖礦難度調整。中本聰在發明比特幣時,將難度調整的邏輯寫在了代碼中,每個全節點中獨立自動發生。這個邏輯是:比特幣大約每10分鍾挖出一個塊,每挖出2016個塊調整一次,正常情況下,每14天左右會調整一次難度,挖礦的難度是根據之前一個周期的比特幣全網算力來調整,所以難度和全網算力是相關的,時間上有一定程度的滯後。概括來說,挖礦難度調整是為了調整出塊(比特幣)的快慢,難度越高出塊越慢,難度越低出塊越快。
從上圖可以看出,預測挖礦難度會在5月30日下降到21.86T,不難猜測,近期的難度下降比較明顯的原因有兩方面:1、國家監管出拳,整頓內蒙、新疆等地的虛擬貨幣礦場,礦場停運導致的全網算力下降。2、BTC價格大幅下跌,導致老的礦機已經不賺錢,這部分礦機的關機會導致全網算力下降。
那麼全網算力、挖礦難度是一個什麼樣的關系呢?這里有一個邏輯,全網算力下降說明挖礦的人少了,導致的結果是出塊的速度加快,也就是挖礦難度下降了。那麼咱們是不是可以這么理解:全網算力下降,致使挖礦難度下降,礦工更容易挖到比特幣了呢?
更好挖了,錢都讓別人賺去了
㈣ 比特幣現在這么爆倉,科學取代黃金嗎
我覺得是沒有辦法取代黃金的,比特幣與黃金不同,是完全虛擬的,與實際上的實體經濟沒有關聯的,有很大的風險。
㈤ 塔科夫礦場顯卡與比特幣生產速度關系
現在市場比較強的顯卡中,6990的算率是800m/秒。5970的算率是700m/秒,而這樣的一塊顯卡,按照上述比特幣挖礦速度,需要半個多月才能挖一個比特幣。
據公開資料顯示,6990顯卡一塊在2500元左右,5970是當年的「皇卡」,新卡已不容易買到,目前二手市場價格在3000元左右。
㈥ 比特幣崩盤背後:各國收緊監管幾成定局,影響比特幣波動的因素還有哪些
其實在這里還有一個細節需要大家去關注的,那就是比特幣的價格從6萬美金直接降低到了52000美金,各國就直接表示將會加強監管。那麼在此前要知道比特幣的價格是從一萬多美金直接飈到了6萬。沒勁,為什麼在這么長的一段時間內,各國的監管機構卻並沒有直接插手?那麼今天我們就來探討一下影響比特幣波動的因素到底有哪些。
第三,消費者或者投資者的信心。
比特幣在過去的幾個月的時間里邊兒,長時間的戰績則是手冊給她帶來了很高的熱度,同時也讓它的價格水漲船高。但是大家也都是有疲勞性的,長時間看到關於比特幣的一些信息,大家也都不太感興趣了。幾萬美金的視覺沖擊力也已經沒有了任何的新鮮感,在這樣的情況下,大家對於比特幣的投資熱度自然也會有所下降,所以才會導致他的價格下跌。
㈦ 詳解比特幣挖礦原理
可以將區塊鏈看作一本記錄所有交易的公開總帳簿(列表),比特幣網路中的每個參與者都把它看作一本所有權的權威記錄。
比特幣沒有中心機構,幾乎所有的完整節點都有一份公共總帳的備份,這份總帳可以被視為認證過的記錄。
至今為止,在主幹區塊鏈上,沒有發生一起成功的攻擊,一次都沒有。
通過創造出新區塊,比特幣以一個確定的但不斷減慢的速率被鑄造出來。大約每十分鍾產生一個新區塊,每一個新區塊都伴隨著一定數量從無到有的全新比特幣。每開采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分鍾,是在更快速的交易確認和更低的分叉概率間作出的妥協。更短的區塊產生間隔會讓交易清算更快地完成,也會導致更加頻繁地區塊鏈分叉。與之相對地,更長的間隔會減少分叉數量,卻會導致更長的清算時間。
㈧ 姣旂壒甯佹庝箞鎸栧嚭鏉ョ殑錛熷垎鏋愭瘮鐗瑰竵鎸栫熆鍘熺悊
浣嗗嚒瀵規瘮鐗瑰竵鏈変竴鐐圭偣鍏磋叮錛屽氨涓瀹氬惉榪囨寲鐭胯繖涓や釜瀛楋紝姣旂壒甯佹寲鐭胯窡灞辮タ鎸栫熆涓嶄竴鏍鳳紝浣犱笉鐢ㄦ墰鐫宸ュ叿鍘誨栭潰錛屽湪瀹墮噷浣跨敤鐢佃剳鎴栨寲鐭挎満璁懼囧氨鍙浠ュ紑宸ヤ簡錛岃嫢鏄瓚沖熷垢榪愶紝灝辨湁鏈轟細鎸栧埌涓涓鍖哄潡錛屽苟鑾峰緱12.5涓姣旂壒甯佸栧姳錛岄『甯﹂偅涓鍖哄潡閲屾墍鏈変氦鏄撶殑鎵嬬畫璐癸紝榪欐槸騫垮ぇ鐭垮伐搴熷瘽蹇橀熺殑婧愬姩鍔涳紝閭d箞錛屾瘮鐗瑰竵鎬庝箞鎸栧嚭鏉ョ殑鍛錛熶笅闈㈠竵鍦堝瓙灝忕紪灝辨潵緇欏ぇ瀹跺垎鏋愬垎鏋愭瘮鐗瑰竵鎸栫熆鍘熺悊銆
姣旂壒甯佹庝箞鎸栧嚭鏉ョ殑錛
浠諱綍浜哄潎鍙浠ュ湪涓撻棬鐨勭‖浠朵笂榪愯岃蔣浠惰屾垚涓烘瘮鐗瑰竵鐭垮伐銆傛寲鐭胯蔣浠墮氳繃P2P緗戠粶鐩戝惉浜ゆ槗騫挎挱錛屾墽琛屾伆褰撶殑浠誨姟浠ュ勭悊騫剁『璁よ繖浜涗氦鏄撱傛瘮鐗瑰竵鐭垮伐瀹屾垚榪欎簺宸ヤ綔鑳借禋鍙栫敤鎴鋒敮浠樼殑鐢ㄤ簬鍔犻熶氦鏄撳勭悊鐨勪氦鏄撴墜緇璐逛互鍙婃寜鍥哄畾鍏寮忓炲彂鐨勬瘮鐗瑰竵銆
鏂扮殑浜ゆ槗闇瑕佽鍖呭惈鍦ㄤ竴涓鍏鋒湁鏁板﹀伐浣滈噺璇佹槑鐨勫尯鍧椾腑鎵嶈兘琚紜璁ゃ傝繖縐嶈瘉鏄庡緢闅劇敓鎴愬洜涓哄畠鍙鑳介氳繃姣忕掑皾璇曟暟鍗佷嚎嬈$殑璁$畻鏉ヤ駭鐢熴傜熆宸ヤ滑闇瑕佸湪浠栦滑鐨勫尯鍧楄鎺ュ彈騫舵嬁鍒板栧姳鍓嶈繍琛岃繖浜涜$畻銆傞殢鐫鏇村氱殑浜哄紑濮嬫寲鐭匡紝瀵繪壘鏈夋晥鍖哄潡鐨勯毦搴﹀氨浼氱敱緗戠粶鑷鍔ㄥ炲姞浠ョ『淇濇壘鍒板尯鍧楃殑騫沖潎鏃墮棿淇濇寔鍦10鍒嗛挓銆傚洜姝わ紝鎸栫熆鐨勭珵浜夐潪甯告縺鐑堬紝娌℃湁涓涓涓浣撶熆宸ヨ兘澶熸帶鍒跺潡閾鵑噷鎵鍖呭惈鐨勫唴瀹廣
宸ヤ綔閲忚瘉鏄庤繕琚璁捐℃垚蹇呴』渚濊禆浠ュ線鐨勫尯鍧楋紝榪欐牱渚垮己鍒朵簡鍧楅摼鐨勬椂闂撮『搴忋傝繖縐嶈捐′嬌寰楁挙閿浠ュ線鐨勪氦鏄撳彉寰楁瀬鍏跺洶闅撅紝鍥犱負闇瑕侀噸鏂拌$畻鎵鏈夊悗緇鍖哄潡鐨勫伐浣滈噺璇佹槑銆傚綋涓や釜鍖哄潡鍚屾椂琚鎵懼埌錛岀熆宸ヤ細澶勭悊鎺ユ敹鍒扮殑絎涓涓鍖哄潡錛屼竴鏃︽壘鍒頒笅涓涓鍖哄潡渚垮皢鍏惰漿鑷蟲渶闀跨殑鍧楅摼銆傝繖鏍峰氨紜淇濋噰鐭胯繃紼嬬淮鎸佷竴涓鍩轟簬澶勭悊鑳藉姏鐨勫叏灞涓鑷存с
姣旂壒甯佺熆宸ユ棦涓嶈兘閫氳繃浣滃紛澧炲姞鑷宸辯殑鎶ラ叕錛屼篃涓嶈兘澶勭悊閭d簺鐮村潖姣旂壒甯佺綉緇滅殑嬈鴻瘓浜ゆ槗錛屽洜涓烘墍鏈夌殑姣旂壒甯佽妭鐐歸兘浼氭嫆緇濆惈鏈夎繚鍙嶆瘮鐗瑰竵鍗忚瑙勫垯鐨勬棤鏁堟暟鎹鐨勫尯鍧椼傚洜姝わ紝鍗充嬌涓嶆槸鎵鏈夋瘮鐗瑰竵鐭垮伐閮藉彲浠ヤ俊浠伙紝姣旂壒甯佺綉緇滀粛鐒舵槸瀹夊叏鐨勩
鐩鍓嶏紝鐩稿逛簬緹庡浗鍜屾ф床鐨勭熆宸ワ紝琚涓鍥戒漢涓誨肩殑鐭挎睜渚濇棫鍗犳嵁鐫浼樺娍銆備腑鍥界熆宸ヤ笉浠呮帶鍒朵簡澶ч儴鍒嗙畻鍔涳紝鑰屼笖浠栦滑鐨勭數璐規垚鏈閫氬父涔熸洿浣庛
1鏈15鏃ワ紝姣旂壒甯侀毦搴﹁涓婅皟浜嗙害7%錛屼富瑕佺殑鍘熷洜灝辨槸鏈榪戞瘮鐗瑰竵綆楀姏鍑虹幇澶у箙搴︾殑鎻愬崌銆傝繖鏄鏈鏈堢洰鍓嶄負姝㈡瘮鐗瑰竵闅懼害絎浜屾¤涓婅皟錛1鏈2鏃ワ紝姣旂壒甯佹寲鐭塊毦搴﹀氨鏇捐涓婅皟浜6.6%銆備粠2019騫翠笅鍗婂勾寮濮嬶紝涓嶆柇鎺ㄩ珮鐨勭畻鍔涗篃璁╅毦搴︽寔緇澧炲姞銆傞櫎浜2019騫11鏈18鏃ョ殑渚嬪栨儏鍐(姣旂壒甯佺殑闅懼害鐭鏆備笅璋冭繃7.1%宸﹀彸)錛屽叾瀹冨ぇ閮ㄥ垎鏃墮棿姣旂壒甯侀毦搴﹂兘鍦ㄥ揩閫熷為暱銆
鎸夌収姣旂壒甯佷駭鍑虹殑榪愮畻鍏寮忥紝鍑犱箮姣忛4騫撮兘浼氫駭鍑哄噺鍗婏紝鏈緇堣揪鍒版瀬鍊2100涓囦釜銆傝屾瘡閫㈡ゆ椂錛岄兘浼氬ぇ騫呭崌鍊箋傝繖縐嶆病鏈変腑澶閾惰屾帶鍒剁殑璐у竵錛屼笌涓嶆柇閲忓寲瀹芥澗鐨勭幇瀹炶揣甯佺浉姣旓紝涔熷皢浼氫笉鏂鍗囧箋傚埌2013騫達紝姣旂壒甯佸凡緇忎駭鐢熷嚭浜嗗ぇ綰1100澶氫竾涓銆
鏈鍒濈殑鏃跺欙紝鐢–PU灝卞彲浠ユ寲鍒版瘮鐗瑰竵錛屼腑鏈鑱灝辨槸鐢ㄤ粬鐨勭數鑴慍PU鎸栧嚭浜嗕笘鐣屼笂絎涓涓鍒涗笘鍖哄潡銆傜劧鑰岋紝CPU鎸栫熆鐨勬椂浠f棭宸茶繃鍘伙紝鐜板湪鐨勬瘮鐗瑰竵鎸栫熆鏄疉SIC鎸栫熆鍜屽ぇ瑙勬ā闆嗙兢鎸栫熆鐨勬椂浠c
鎸栫熆閫熷害錛屼笓涓氱殑璇存硶鍙綆楀姏錛屽氨鏄璁$畻鏈烘瘡縐掍駭鐢熷搱甯岀版挒鐨勮兘鍔涖備篃灝辨槸璇達紝鎴戜滑鎵嬮噷鐨勭熆鏈烘瘡縐掕兘鍋氱殑鍝堝笇紕版挒嬈℃暟錛屽氨鏄綆楀姏銆傛瘮鐗瑰竵鍦ㄥ畯瑙備笂鐨勫師鐞嗭紝灝卞傚悓榛勯噾涓鏍楓傞粍閲戝湪鍦扮悆涓婄殑鎬婚噺鏄涓瀹氱殑錛岃屼笖姣旇緝紼灝戱紝鍙浠ヤ綔涓轟竴鑸絳変環鐗╂潵浣跨敤錛屽湪綰稿竵澶ч潰縐鍙戣屼箣鍓嶏紝涓鐩翠綔涓鴻揣甯佺殑褰㈠紡鏉ヤ嬌鐢ㄣ傛瘮鐗瑰竵涔熸槸涓涓閬撶悊錛屼箣鎵浠ユ瘮鐗瑰竵鍙浠ョ敤鏉ヤ綔涓鴻揣甯佺殑褰㈠紡鏉ヨ繘琛屼拱鍗栵紝涔熸槸鍥犱負鍏舵婚噺鏄涓瀹氱殑錛岃屼笖鎸栫熆闇瑕佽姳璐瑰緢澶х殑鎴愭湰錛屼富瑕佽〃鐜板氨鏄鐢靛姏涓婄殑娑堣椼
宸ヤ綔閲忚瘉鏄庯紝綆鍗曠悊瑙e氨鏄涓浠借瘉鏄庯紝鐢ㄦ潵紜璁や綘鍋氳繃涓瀹氶噺鐨勫伐浣溿傜洃嫻嬪伐浣滅殑鏁翠釜榪囩▼閫氬父鏄鏋佷負浣庢晥鐨勶紝鑰岄氳繃瀵瑰伐浣滅殑緇撴灉榪涜岃よ瘉鏉ヨ瘉鏄庡畬鎴愪簡鐩稿簲鐨勫伐浣滈噺錛屽垯鏄涓縐嶉潪甯擱珮鏁堢殑鏂瑰紡銆
鐩樼偣鎸栫熆鎵闇璁懼:
1.鐭挎満錛岄氬父涓婄櫨銆佷笂鍗冩垨鑰呬笂涓囧彴銆
2.鐭垮満錛氶氶庛佹俯搴︽箍搴﹂備腑鐨勪笓涓氬満鍦般
3.鐢靛姏璧勬簮錛氱ǔ瀹氫緵搴斾笖浠鋒牸鍚堢悊鐨勭數鍔(閫氬父鐭垮満閮藉緩絝嬪湪鐢靛姏璧勬簮鍚堥傜殑鍦哄湴)錛屼赴姘寸數浠烽氬父鍦0.25鍏冨乏鍙籌紝鍏ㄥ勾鐢典環鍦0.35-0.4鍏冨乏鍙熾
4.緗戠粶璁懼囷細浜ゆ崲鏈恆佽礬鐢卞櫒絳夈
5.鐢墊簮錛氳窡鐭挎満閰嶅楃殑鐢墊簮錛屼笉鍚岀殑鐭挎満瀵圭數婧愮殑鍔熻楄佹眰涓嶄竴錛岄渶瑕佽喘涔板尮閰嶇殑鐢墊簮錛屼互鍏嶇儳鍧忔満鍣ㄦ垨鑰呯數婧愩
6.鐢墊簮綰垮拰緗戠嚎絳夈
7.鐭垮満綆$悊浜哄憳錛氫簡瑙e姞瀵嗘暟瀛楄揣甯佸拰鎸栫熆鐨勭$悊浜哄憳銆
8.鍏朵粬鎶鏈浜哄憳錛氱簿閫氱數鍔涚嚎璺緇存姢銆佺綉緇滅淮鎶ょ殑鎶鏈浜哄憳銆
9.娉ㄥ唽鐭挎睜璐﹀彿銆
10.閽卞寘/浜ゆ槗鎵鍦板潃錛氭敞鍐岄挶鍖呮垨鑰呬氦鏄撴墍璐﹀彿錛岃幏鍙栨墍鎸栧竵縐嶇殑鍦板潃錛屽~鍐欒嚦鐭挎睜銆傝嫢涓嶅~鍐欏湴鍧錛屾敹鐩婂皢鏆傛椂瀛樻斁鐭挎睜銆
閫氳繃浠ヤ笂浠嬬粛錛岀浉淇″ぇ瀹跺逛簬姣旂壒甯佹庝箞鎸栧嚭鏉ョ殑榪欎釜闂棰樺凡緇忔湁鎵浜嗚В錛屽叾瀹炲逛簬鎸栫熆鏉ヨ達紝鏈閲嶈佺殑灝辨槸鎸栫熆鏈猴紝鑰屾瘮鐗瑰竵鎸栫熆鏈虹殑閫夋嫨錛岄櫎浜嗚冭檻浠鋒牸鍜岀畻鍔涳紝涔熻秺鏉ヨ秺娉ㄩ噸鐭挎満鐨勭ǔ瀹氭у拰鍏堣繘鎬э紝鍙﹀栧氨鏄瑕佹姄浣忕幇鍦ㄦ敹鐩婇珮涓嶇『瀹氭т綆鐨勬椂闂寸獥鍙o紝鏃╂寲鏃╄禋鎵嶈兘絝嬩簬涓嶈觸涔嬪湴錛屾瘯絝熷彧鏈夊疄瀹炲湪鍦ㄦ寲鍒頒簡甯侊紝鎵嶆湁絳圭爜絳夊緟鏂扮殑鏈轟細鍑虹幇銆
㈨ 什麼是比特幣挖礦難度如何調整原理是什麼
比特幣挖礦難度(Difficulty),是對挖礦困難程度的度量,挖礦難度越大,挖出區塊就越困難。目標值(Target)與挖礦難度成反比。難度越高,目標值越小。而難度目標是目標值通過轉化得到,是一個只有 4 個位元組的欄位(為了便於理解,本文將難度目標等同目標值處理)。比特幣系統正是通過調整區塊頭中難度目標來控制挖出區塊所需平均時間的。
目標值是個長度為 256 比特的字元串,換句話說目標值約有 2^256 種可能的取值。調整難度目標就是調整目標值在整個輸出空間的佔比。
舉例說明:挖礦就如射擊,所有射出去的子彈都會落在一個很大的靶子上。難度目標就是這個大靶子上圈出一個范圍,這個范圍越小,被射中的難度就越高。調節難度目標,就是調節這個圈在整個靶子上的佔比。
挖礦算力增大,單位時間射擊的次數就越多,目標范圍被射中所需的時間就越短。反之,挖礦算力減小,目標范圍被擊中所需的時間就越長。而比特幣系統追求的平均出塊時間為 10 分鍾,這時候就需要調整難度目標來實現。
02 如何調整難度目標?
比特幣系統是怎樣調整難度目標的呢?在《白話區塊鏈入門 080 | 數說比特幣,了解 比特幣 必須知道這 10 個數字》一文中,我們介紹了比特幣系統每過 2016 區塊(大約為 14 天時間),會自動調整一次難度目標。所有區塊高度為 2016 整數倍的區塊,系統就會自動調整難度目標。如果上一個難度目標調整周期(也就是之前 2016 個區塊),平均出塊時間大於 10 分鍾,說明挖礦難度偏高,需要降低挖礦難度,增大難度目標(准確地說是目標值);反之,前一個難度目標調整周期,平均出塊時間小於 10 分鍾,說明挖礦難度偏低,需要縮小難度目標。
03 難度目標的可調范圍
比特幣系統設定,難度目標上調和下調的范圍都有 4 倍的限制。舉例說明:假設上一個難度目標調整周期內的 2016 個區塊,由於算力暴漲,只用 7 天就全部挖出來了,通過難度目標調整,將難度目標縮小一倍,可以將平均出塊時間維持在 10 分鍾左右,但如果算力暴漲,前 2016 個區塊全部挖出只用了 1 天,那麼難度目標最小隻能調整為原來的四分之一。
04 總結
比特幣的算力是持續波動的,比特幣系統通過難度目標的調整,使得平均出塊時間維持在 10 分鍾左右。難度目標和挖礦難度成反比,挖礦難度越大,難度目標越小。當區塊高度為 2016 的整數倍時,比特幣系統就會在該區塊上,自動調整難度目標。如果上一個難度目標調整周期內,平均出塊時間超過 10 分鍾,那麼降低挖礦難度,增大難度目標;反之則提高挖礦難度,減小難度目標。難度目標上調和下調的范圍都有 4 倍的限制。
比特幣每 2016 個區塊(大約 14 天)調整一次挖礦難度,相比於 BCH 每個區塊都調整(大約 10 分鍾調整一次),有明顯的滯後性。你認為是哪種調整方式更合理呢?為什麼呢?歡迎在留言區分享你的觀點。