比特幣挖掘難度
難度是對挖礦困難程度的度量,即指:計算符合給定目標的一個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天
『貳』 礦機多長時間能挖一個btc
這跟礦機算力、全網難度都有關系,挖礦不需要了解多久能挖出來一個,只需要計算自己的回報率,和每天的收入費用,了解其風險和運行需要具備的條件就可以,可以到彩雲比特或者今日礦工官網看看。
『叄』 比特幣好挖嗎,比特幣礦機耗電嗎
這種幣越來越難挖,非常耗電。
因為他的演算法決定了越是靠後,運算量越大,耗用電力越大。
最早挖礦的一批人,因為挖出幣比較容易,幣值也不高,一個漢堡需要成千上萬的幣。
但是,現在,他被賦予了太多的概念,全球的需求被引發,供遠小於求,引發了挖礦熱潮,幣的價格也與挖礦成本掛了鉤。
鑒於挖礦成本越來越大,幣的價格也越來越高。
運算的機器功率也越來越大,耗能非常多。不少地方限制這種「無效」用電,可見佔比之大。
這種全球游戲,真的是難度很大,成本不小。
『肆』 什麼是比特幣挖礦難度如何調整原理是什麼
比特幣挖礦難度(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 分鍾調整一次),有明顯的滯後性。你認為是哪種調整方式更合理呢?為什麼呢?歡迎在留言區分享你的觀點。
『伍』 挖礦難度表示
比特幣的挖礦難度可以使用Target Threshold,nBits或Difficulty表示,它們互相等價:
這三個值的轉化關系可以採用下面的實例來說明:
首先獲取哈希值為 的區塊原生十六進制信息如下:
區塊中nBits採用小端格式表示,解析區塊信息,得到nBits欄位值為0x4c86041b。因此轉化為大端格式為0x1B04864C,這個值是Target Threshold的壓縮格式表示,可以將它轉化成256位的Target Threshold值:
開頭的一個位元組為指數,後面三個位元組為系數,則:
計算出Target Threshold值為 。
再計算Difficulty的值,它有兩個值,計算公式分別為:
由此可以使用 Python 計算出bdiff的值:
因此,得到在比特幣客戶端中的difficulty值bdiff為14484.162361225399。
為了檢驗上述結果,可以在比特幣核心客戶端中使用 getblock "" 命令得到該區塊的json格式信息:
最終,可以發現該區塊的bits和difficulty欄位信息與上面分析計算的相關結果一致。
nBits的大端格式表示法中,其系數最大為0x7fffff,這是因為Target Threshold數據類型是無符號整型,而它繼承自有符號數據類,則在實際中Target Threshold系數的最高位有可能是1,這可能會被解析成一個負數。則在挖礦過程中難度值永遠無法小於一個負數。因此,為了解決這個問題,比特幣核心在生成nBits值時需要首先檢查一下生成的nBits是否會被解析為一個負數。如果是,首先在系數開頭補8位0,即除以256,然後指數再加上1。這樣由nBits轉化為Target Threshold過程中轉化公式就與普通值相同了,即指數位都是減去3,轉化過程上面已經提到。
舉個例子說明:
哈希值為 的區塊信息如下:
發現bdiff值為1,則利用bdiff與Target Threshold關系可以計算出:
將Target Threshold值 轉化為nBits的過程中可以發現其系數為0xffff00,指數為0x1c,這樣:
然而由於系數最高位為1,則如果這樣表示的話就可能將Target Threshold解析為負數。因此,我們將系數除以256,指數加上1,得到系數為0x00ffff,指數為0x1d。這樣:
最終,nBits值為0x1d00ffff(大端表示),與json格式信息一致。
『陸』 比特幣有被完全挖完的一天嗎比特幣是如何挖出來的
每10min就會有一塊BTC被挖掘出來,因為市場競爭這么劇烈,12.5比特幣的區塊鏈獎賞將根據其在這一過程中的哈希率奉獻在競爭者中間進行分配。大部分BTC採掘也被挖幣大農場和開采池所取代,因而,為了獲得一些BTC,你必須加入其中一個或另一個開采池,並奉獻你所能貢獻的一切哈希率。應用傳統的個人計算機,乃至GPU服務平台可能需要好多個月的時間才可以掙到BTC,由於ASIC晶元目前在BTC採掘行業佔有主導性。
調整後的難度系數促使每形成一個區塊鏈的預期時間為10min。現今難易度約為480PH/s,約是創世區塊的680億倍左右,換句話說,以現在的算率,各大網站挖礦需要經過約3000萬億元億個哈希運算才能找到一個符合條件的回答,形成一個新的區塊鏈。即使是能夠證明你挖掘出來的BTC或者其他的加密數字貨幣是真實的,可是只不過是臨時存有其他人帳戶。一般這種手機上雲挖礦方式都是要達到一定的總數之後才可以轉幣,而達到這一周期時間或是門坎必須很長一段時間,已經足夠別人跑路了。
『柒』 一個比特幣要挖多久
一個比特幣要挖556天。不可否認的是,比特幣的價值確實漲了。蟬聯了世界首富的馬斯克譽首就多次公開表達了自己對比特幣的熱情。去年2月,馬斯克創建的特斯拉表明已買了15億美元的BTC,並打算接受它作為付款,直接引發了該公司股票和貨幣價值的飆升。
一個比特幣要挖多久
有人對比特幣很支持,也有人對比特幣很慶拍數反對。在這方面,股神巴菲特就多次表示不看好比特幣。在股神巴菲特認為,虛擬貨幣並不是一種生產經營性財產,也也不會出現任何的有形化的東西,它的一切都是人們賦予的。雖然巴菲特始終不認可比特幣,但一枚比特幣現在能值20萬也是不爭的事實。比特幣的總量是有限的,因此獲取比特幣的方法也被稱為「挖礦」,這也是除了交易外最節省成本的獲取方法。賀譽一般家庭電腦的計算力僅有1000H/S,面臨比特幣21434億的計算難度,根本無法支撐如此高的負荷。也有人計算過,如果家用電腦能夠承受高負載運行,並連續挖掘24個小時,它日均能夠挖掘出0.0018個比特幣,就等於是個人電腦每天24小時運行556天。