比特幣產出周期
A. 比特幣基礎知識 你絕對想不到
橢圓曲線數字簽名演算法
橢圓曲線數字簽名演算法(ECDSA)是使用橢圓曲線對數字簽名演算法(DSA)的模擬,該演算法是構成比特幣系統的基石。
私鑰
非公開,擁有者需安全保管。通常是由隨機演算法生成的,說白了,就是一個巨大的隨機整數,32位元組,256位。
大小介於1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之間的數,都可以認為是一個合法的私鑰。
於是,除了隨機方法外,採用特定演算法由固定的輸入,得到32位元組輸出的演算法就可以成為得到私鑰的方法。於是,便有了迷你私鑰(Mini Privkey),原理很簡單,例如,採用SHA256的一種實現:
private key = SHA256()1
迷你私鑰存在安全問題,因為輸入集合太小,易被構造常見組合的彩虹表暴力破解,所以通常仿輪納還是使用系統隨機生成的比較好,無安全隱患。
公鑰
公鑰與私鑰是相對應的,一把私鑰可以推出唯一的公鑰,但公鑰卻無法推導出私鑰。公鑰有兩種形式:壓縮與非壓縮。
早期比特幣均使用非壓縮公鑰,現大部分客戶端已默認使用壓縮公鑰。
這個貌似是比特幣系統一個長得像feature的bug,早期人少活多代碼寫得不夠精細,openssl庫的文檔又不足夠好,導致Satoshi以為必須使用非壓縮的完整公鑰,後來大家發現其實公鑰的左右兩個32位元組是有關聯的,左側(X)可以推出右側(Y)的平方值,有左側(X)就可以了。
現在系統里兩種方式共存,應該會一直共存下去。兩種公鑰的首個位元組為標識位,壓縮為33位元組,非壓縮為65位元組。以0x04開頭為非壓縮,0x02/0x03開頭為壓縮公鑰,0x02/0x03的選取由右側Y開方後的奇偶決定。
壓縮形式可以減小Tx/Block的體積,每個Tx Input減少32位元組。
簽名
使用私鑰對數據進行簽署(Sign)會得到簽名(Signature)。通常會將數據先生成Hash值,然後對此Hash值進行簽名。簽名(signature)有兩部分組成: R + S。由簽名(signature)與Hash值,便可以推出一個公鑰,驗證此公鑰,便可知道此簽名是否由公鑰對應的私鑰簽名。
通常,每個簽名會有三個長度:73、72、71,符合校驗的概率為25%、50%、25%。所以每次簽署後,需要找出符合校驗的簽名長度,再提供給驗證方。
地址
地址是為了人們交換方便而弄出來的一個方案,因為公鑰太長了(130字元串或66字元串)。地址長度為25位元組,轉為base58編碼後,為34或35個字元。base58是類似base64的編碼,但去掉了易引起視覺混淆的字元,又在地址末尾添加了4個位元組校驗位,保障在人們交換個別字元錯誤時,也能夠因地址校驗失敗而制止了誤操作。
由於存在公鑰有兩種形式,那麼一個公鑰便對應兩個地址。這兩個地址都可由同一私鑰簽署交易。
公鑰生成地址的演算法:
Version = 1 byte of 0 (zero); on the test network, this is 1 byte of 111
Key hash = Version concatenated with RIPEMD-160(SHA-256(public key))
Checksum = 1st 4 bytes of SHA-256(SHA-256(Key hash))
Bitcoin Address = Base58Encode(Key hash concatenated with Checksum)1234
下圖是非壓縮公鑰生成地址的過程:
對於壓縮公鑰生成地址時,則只取公鑰的X部分即可。
推導關系
三者推導關系:私鑰
公鑰
兩個地址。過程均不可逆。擁有私鑰便擁有一切,但通常為了方便,會把對應的公鑰、地址也存儲起來。
交易
比特幣的交易(Transation,縮寫Tx),並不是通常意義的桐散交易,例如一手交錢一手交貨,而是轉賬。交易由N個輸入和M個輸出兩部分組成。交易的每個輸入便是前向交易的某個輸出,那麼追蹤到源頭,必然出現一個沒有輸入的交易,此類交易稱為CoinBase Tx。CoinBase類備沒交易是獎勵挖礦者而產生的交易,該交易總是位於Block塊的第一筆。
擁有一個輸入與輸出的Tx數據:
Input:
Previous tx:
Index: 0
scriptSig:
241501
Output:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160
OP_EQUALVERIFY OP_CHECKSIG12345678910
一旦某個Tx的第N個輸出成為另一個Tx的輸入,那麼該筆比特幣即為已花費。每個交易有唯一Hash字元串來標識,通過對交易數據做兩次SHA256哈希運算而來:
Tx Hash ID = SHA256(SHA256(Tx Data))1
礦工費
礦工費(Transaction Fee)是鼓勵礦工將Tx打包進Block的激勵報酬。計算一筆交易的礦工費:
Transaction Fee = SUM(Inputs amount) - SUM(Outputs amount)1
每筆Tx的礦工費必然大於等於零,否則該筆Tx即為非法,不會被網路接收。
數據塊
數據塊(Block)是存儲Block Meta與Tx的地方。Block的第一筆Tx總是CoinBase Tx,因此Block中的交易數量總是大於等於1,隨後是這段時間內網路廣播出來的Tx。
找到合適的Block是一件非常困難的事情,需要通過大量的數學計算才能發現,該計算過程稱為「挖礦」。首個發現者,會得到一些比特幣作為獎勵。
數據鏈
多個Block連接起來成為數據鏈(Block Chain)。
為了引入容錯與競爭機制,比特幣系統允許Block Chain出現分叉,但每個節點總是傾向於選擇最高的、難度最大的鏈,並稱之為Best Chain,節點只認可Best Chain上的數據。
首個Block稱為Genesis Block,並設定高度為零,後續每新增一個Block,高度則遞增一。目前是不允許花費Genesis Block中的比特幣的。
每個Block中的Tx在此Block中均唯一
一個Tx通常只會在一個Block里,也可能會出現在多個Block中,但只會在Best Chain中的某一個Block出現一次
貨幣存儲
比特幣是密碼貨幣、純數字化貨幣,沒有看得見摸得著的硬幣或紙幣。一個人持有比特幣意味著:
其擁有一些地址的私鑰
這些地址是數筆交易的輸出,且未花費
所有貨幣記錄均以交易形式存儲在整個blockchain數據塊中,無交易無貨幣。貨幣不會憑空產生,也不會憑空消失。遺失了某個地址的私鑰,意味著該地址上的Tx無法簽署,無法成為下一個Tx的輸入,便認為該筆比特幣永久消失了。
貨幣發行
既然所有交易的輸入源頭都是來自CoinBase,產生CoinBase時即意味著貨幣發行。比特幣採用衰減發行,每四年產量減半,第一個四年每個block的coinbase獎勵50BTC,隨後是25btc, 12.5btc, 並最終於2140年為零,此時總量達到極限為2100萬個btc。
減半周期,嚴格來說,並不是准確的四年,而是每生成210000個block。之所以俗稱四年減半,是因為比特幣系統會根據全網算力的大小自動調整難度系統,使得大約每兩周產生2016個block,那麼四年約21萬塊block。
該函數GetBlockValue()用於計算挖得Block的獎勵值:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
nSubsidy = (nHeight / 210000);
return nSubsidy + nFees;
}123456789
當達到2100萬btc以後,不再有來自CoinBase的獎勵了,礦工的收入來源僅剩下交易的礦工費。此時,每個block的收入絕對值btc很低,但此時比特幣應當會非常繁榮,幣值也會相當的高,使得礦工們依然有利可圖。
杜絕多重支付
傳統貨幣存在多重支付(Double Spending)問題,典型的比如非數字時代的支票詐騙、數字時代的信用卡詐騙等。在比特幣系統里,每筆交易的確認均需要得到全網廣播,並收錄進Block後才能得到真正確認。每筆錢的花銷,均需要檢測上次輸入交易的狀態。數據是帶時間戳的、公開的,BlockChain由巨大的算力保障其安全性。所以比特幣系統將貨幣的多重支付的風險極大降低,幾近於零。通過等待多個Block確認,更是從概率上降低至零。一般得到6個確認後,可認為非常安全。但對於能影響你人生的重大支付,建議等待20~30個確認。
匿名性
任何人均可以輕易生成大量的私鑰、公鑰、地址。地址本身是匿名的,通過多個地址交易可進一步提高匿名性。但該匿名性並不像媒體宣傳的那樣,是某種程度上的匿名。因為比特幣的交易數據是公開的,所以任何一筆資金的流向均是可以追蹤的。
不了解比特幣的人為它的匿名性產生一些擔憂,比如擔心更利於從事非法業務;了解比特幣的人卻因為它的偽匿名性而苦惱。傳統貨幣在消費中也是匿名的,且是法律保障的,大部分國家都不允許個人塗畫紙幣。
地址本身是匿名的,但你可以通過地址對應的私鑰簽名消息來向公眾證明你擁有某個比特幣地址。
其他名詞
哈希
哈希(Hash)是一種函數,將一個數映射到另一個集合當中。不同的哈希函數映射的空間不同,反映到計算機上就是生成的值長度不一樣。同一個哈希函數,相同的輸入必然是相同的輸出,但同一個輸出卻可能有不同的輸入,這種情況稱為哈希碰撞。
常見的哈希函數有CRC32, MD5, SHA1, SHA-256, SHA-512, RIPEMD-160等,哈希函數在計算中有著非常廣泛的用途。比特幣里主要採用的是SHA-256和RIPEMD-160。
腦錢包紙錢包
前面提到過的腦錢包與紙錢包,這其實不算是錢包的分類,只是生成、存儲密鑰的方式而已。腦錢包屬於迷你私鑰的產物。腦錢包就是記在腦袋裡的密鑰,紙錢包就是列印到紙上的密鑰,僅此而已。
有同學提到過,以一個計算機文件作為輸入,例如一個數MB大小的照片,通過某種Hash運算後得到私鑰的方法。這個方案的安全性還是不錯的,同時可以防止盜私鑰木馬根據特徵掃描私鑰。文本形式存儲私鑰是有特徵的,而一個照片文件卻難以察覺,即使放在雲盤等第三方存儲空間中都是安全的。
B. 比特幣什麼時候會挖完
預計2140年可以挖完,總計2100萬枚。
根據比特幣的相關文獻,在2140年,會產出2100個比特幣,並不再增長。根據比特幣的原理,在經歷33次減半期後,每區塊的挖礦產出將達到0.58聰,小於最小單位一聰。而每次減半的間隔是210000區塊,上述文獻給出的全部產出時間(2140年)是由每區塊產出時間10分鍾推算出來的。(210000*10/60/24/365=3.9954年*33=132年,從比特幣產生的2008年起,132年之後即是2140年)。
但是,上述推算方法所使用的「每區塊產出時間為10分鍾」是一個理想狀態,這個假設僅在全網算力和難度不發生改變的情況下成立。查閱比特幣區塊鏈,不難發現,比特幣的全網算力長期處於增長狀態,挖礦難度也隨之增漲。於是,不難得出,上述推算不成立,有巨大誤差。上述方法的注意缺陷是,無法准確地預測比特幣全網算力的變化,無法准確地預測比特幣的開采速度。上述計算方法所使用的11.3天的數據,僅是從2013年5月2014年4月5日的平均值,代表性有待商榷。大家可以綜合大數據分析結果和礦機生產情況等建立更准確的數學模型。
C. 一個比特幣要挖多久
比特幣是一種網路虛擬貨幣。比特幣網路通過「挖礦」來生成新的比特幣。所謂「挖礦」實質上是用計算機解決一項復雜的數學問題,來保證比特幣網路分布式記賬系統的一致性。假設挖礦計算能力為100Mhash/s,每天總計算力為4000Ghash/s,那麼每24小時可以挖出3600個比特幣。
中國的算力已經佔到了全世界的75%以上,也就是說全世界有75%的比特幣都是made in China。 那麼一個比特幣要挖多久?
曾經的比特幣非常好「挖」,普通電腦CPU就能完成,只需下載軟體就可以自動「解題」。但是隨著幣價上漲,想要「解題」的人越來越多,挖礦的難度也越來越大。現在挖一個比特幣需要消耗的計算量普通人根本無力承擔,普通電腦就別想了。
業內人士表示,在2014年,每天50萬元電費產出100個比特幣,僅電費成本每枚就要5000元。但是到了現在,同樣的成本已經翻了一倍以上,每枚比特幣電費成本高達萬元。
在比特幣的產生機制里,挖礦獎勵是遞減的。比特幣誕生之初,每記一頁賬本,礦工就能拿到50個比特幣,後來記一頁獎勵25個,依次遞減。就像挖金子一樣,一開始挖得多,後來越來越少。每次新增獎勵減少一半的時間點,就叫做比特幣產量減半。
假設挖礦計算能力為100Mhash/s,在2014年每天總計算力為4000Ghash/s,每24小時挖出3600個比特幣。
現在,我們可以這樣來理解挖比特幣的難度,相當於1億個骰子扔出小於1億零50的數字,誰先扔出來,誰就獲得記賬權。此時,1億零50就是個哈希值,扔骰子的過程叫做哈希碰撞,而挖礦算力的單位就是每秒鍾多少次哈希碰撞。
目前比特幣全網算力達到236萬萬億次哈希碰撞每秒,相當於20多萬個50米長的標准游泳池裡面水滴的數目。但即便是這么大的算力,也需要10分鍾左右才能碰撞到一個符合要求的哈希值。
2012年比特幣進行了第一次產量減半,2016年7月,比特幣進行了第二次產量減半,目前記一頁賬本獲得的獎勵是12.5個比特幣。下一次減半會發生在2020年左右,而到2040年比特幣總數不會再增加,總量是2100萬枚。
相關視頻:一個比特幣要挖多久
D. 挖礦獲取比特幣的時間點是什麼時候比如是一挖出就可得到,還是等接在該區塊後再出來5個區塊才能得到
首先你要理解挖取比特幣的時間點是怎麼一回事:
比特幣總共發行2100W個,每生成一個塊周期10分鍾,一個塊獎勵一定數目的比特幣。最開始挖礦每個塊獎勵50個比特幣,以後每21000個塊獎勵減半(約4年獎勵減半一次),現在每生成一個塊獎勵12.5個比特幣。每個塊的生成時間10分鍾,但是隨著計算機技術的發展,現在的挖礦算力在不斷升高,那麼生成一個塊的時間肯定小於10分鍾,這就需要一定的控制措施來保證這個時間。這個措施就是挖礦難度,如果每個塊產出時間小於10分鍾,則提高挖礦難度,大於10分鍾則降低挖礦難度,每次難度調整時間為2016塊,即2周。
挖礦難度會在每2016個塊後所有節點都會按照一定的公式自動進行調整,這個公式由最新的也就是這個周期內2016個區塊的花費時間和期望的時間(期望時間20160分鍾即兩周)比較得出的。
新難度 = 舊難度值 * (過去2016個區塊花費的時長 / 20160分鍾)
E. 一個比特幣要挖多久
比特幣是一種網路虛擬貨幣。比特幣網路通過「挖礦」來生成新的比特幣。所謂「挖礦」實質上是用計算機解決一項復雜的數學問題,來保證比特幣網路分布式記賬系統的一致性。假設挖礦計算能力為100Mhash/s,每天總計算力為4000Ghash/s,那麼每24小時可以挖出3600個比特幣。
中國的算力已經佔到了全世界的75%以上,也就是說全世界有75%的比特幣都是made in China。 那麼一個比特幣要挖多久?
曾經的比特幣非常好「挖」,普通電腦CPU就能完成,只需下載軟體就可以自動「解題」。但是隨著幣價上漲,想要「解題」的人越來越多,挖礦的難度也越來越大。現在挖一個比特幣需要消耗的計算量普通人根本無力承擔,普通電腦就別想了。
業內人士表示,在2014年,每天50萬元電費產出100個比特幣,僅電費成本每枚就要5000元。但是到了現在,同樣的成本已經翻了一倍以上,每枚比特幣電費成本高達萬元。
在比特幣的產生機制里,挖礦獎勵是遞減的。比特幣誕生之初,每記一頁賬本,礦工就能拿到50個比特幣,後來記一頁獎勵25個,依次遞減。就像挖金子一樣,一開始挖得多,後來越來越少。每次新增獎勵減少一半的時間點,就叫做比特幣產量減半。
假設挖礦計算能力為100Mhash/s,在2014年每天總計算力為4000Ghash/s,每24小時挖出3600個比特幣。
現在,我們可以這樣來理解挖比特幣的難度,相當於1億個骰子扔出小於1億零50的數字,誰先扔出來,誰就獲得記賬權。此時,1億零50就是個哈希值,扔骰子的過程叫做哈希碰撞,而挖礦算力的單位就是每秒鍾多少次哈希碰撞。
目前比特幣全網算力達到236萬萬億次哈希碰撞每秒,相當於20多萬個50米長的標准游泳池裡面水滴的數目。但即便是這么大的算力,也需要10分鍾左右才能碰撞到一個符合要求的哈希值。
2012年比特幣進行了第一次產量減半,2016年7月,比特幣進行了第二次產量減半,目前記一頁賬本獲得的獎勵是12.5個比特幣。下一次減半會發生在2020年左右,而到2040年比特幣總數不會再增加,總量是2100萬枚。
相關視頻:一個比特幣要挖多久
F. 比特幣有被完全挖完的一天嗎比特幣是如何挖出來的
每10min就會有一塊BTC被挖掘出來,因為市場競爭這么劇烈,12.5比特幣的區塊鏈獎賞將根據其在這一過程中的哈希率奉獻在競爭者中間進行分配。大部分BTC採掘也被挖幣大農場和開采池所取代,因而,為了獲得一些BTC,你必須加入其中一個或另一個開采池,並奉獻你所能貢獻的一切哈希率。應用傳統的個人計算機,乃至GPU服務平台可能需要好多個月的時間才可以掙到BTC,由於ASIC晶元目前在BTC採掘行業佔有主導性。
調整後的難度系數促使每形成一個區塊鏈的預期時間為10min。現今難易度約為480PH/s,約是創世區塊的680億倍左右,換句話說,以現在的算率,各大網站挖礦需要經過約3000萬億元億個哈希運算才能找到一個符合條件的回答,形成一個新的區塊鏈。即使是能夠證明你挖掘出來的BTC或者其他的加密數字貨幣是真實的,可是只不過是臨時存有其他人帳戶。一般這種手機上雲挖礦方式都是要達到一定的總數之後才可以轉幣,而達到這一周期時間或是門坎必須很長一段時間,已經足夠別人跑路了。
G. 1個比特幣要挖多長時間 想挖出一個比特幣需要多長時間
1、挖出一個比特幣的時長跟很多因素關聯,所以並不總是確定的。
2、所謂「挖礦」實質上是用計算機解決一項復雜的數學問題,來保證比特幣網路分布式記賬系統的一致性。所以挖出一個比特幣的時長,跟全網算力、使用的礦機的算力、比特幣的產生機制都有關系(比特幣的挖礦獎勵是遞減的,簡單理解就是比特幣的產量一直都在不斷減少,最終發行總量將是2100萬枚,也就是說到2040年後,比特幣的總量將不再增加。所以越往後,挖一個比特幣要花費的時間越長,直到再也挖不出新的比特幣。)
3、曾經的比特幣非常好「挖」,普通電腦CPU就能完成,只需下載軟體就可以自動「解題」。但是隨著幣價上漲,想要「解題」的人越來越多,挖礦的難度也越來越大。現在挖一個比特幣需要消耗的計算量普通人根本無力承擔,普通電腦就別想了。
4、業內人士表示,在2014年,每天50萬元電費產出100個比特幣,僅電費成本每枚就要5000元。但是到了現在,同樣的成本已經翻了一倍以上,每枚比特幣電費成本高達萬元。
H. 比特幣什麼時候變動最大
應該是在2022年6月份到11月這期間比特幣價格都會呈現出最高。我們看到比特幣每個周期擴展11個月到13個月。所以如果我們遵循歷史,可以在這里再加上12個月。47個月是我們目前所處周期的預期長度,我們離預期的47個月還很遠所以最多在2022年11月到達頂部。
I. 隨著比特幣總量的增加,新幣製造的速度減慢,直到2140年達到多少個的總量上限
在比特幣的演算法中,新的比特幣產生是有周期和數量限制的。根據演算法規定,從最開始的每十分鍾產生50個比特幣,每四年效率減半,到2140年比特幣會被徹底挖完,總共2100萬個。
J. 持續上漲的比特幣,一年一共生產幾枚呢