比特幣挖礦數量如何計算
⑴ 如何計算挖礦每天所獲得的收益
雖然每個人擁有的礦機數量不同,想算出自己的每日收益,其實很簡單,優質的比特幣站點都有相關的軟體幫你計算出最終收益,但是你想知道收益的產出原理嗎?
那麼各位要先明白挖礦的基本信息:
區塊·獎勵(BlockReward): 每挖出一個新的區塊,系統會給礦工的獎勵比特幣,目前區塊的獎勵是6.25比特幣。
算力(Hashrate): 算力(也就是哈希值碰撞)是比特幣網路處理能力的度量單位。即為礦機計算哈希函數輸出的速度。比特幣網路必須為了安全目的而進行密集的數學和加密相關操作。
例如,當網路達到10Th/s的哈希率時,意味著它可以每秒進行10萬億次計算。
難度(Difficulty): 比特幣系統的難度是動態調整的,每挖2016個塊便會做出一次調整,調整的依據是前面2016個塊的出塊時間,如果前一個周期平均出塊時間小於10分鍾,便會加大難度,大於10分鍾,則減小難度,目的是為了保證系統穩定的每過10分鍾產出一個塊,所以難度調整的時間大概是2周(2016* 10 分鍾)
比特幣網路初始難度定義為1,即Difficulty=1,它所表示的意思是,比特幣網路剛開始運行的時候,每進行2^48/(2^16-1)≈2^32次Hash計算,理論上能挖出一個區塊。
隨著挖礦算力的提升,比特幣挖礦難度在不斷提升,當挖礦難度為D時,理論上挖出一個新區塊需要進行D*2^32次哈希運算。
礦工的算力為H(單位為hash/s),他每天(24小時)的幣產出為P,挖礦難度為D,系統獎勵為R,那麼:
難度X6.25獎勵(R)X時間=比特幣產出
P=H×x6.25×(24×60×60)D×232
數學不好的小夥伴不要慌,可以直接通過相關網站查詢到當天全網算力難度,編寫此文章時當天難度為【16.95T】
假設礦工算力為1TH/s(即10^12H/s),
當前的難度=16.947.802.333.946(16.95T)
加上系統當前的區塊獎勵=6.25比特幣,
計算可以得出1T每天(24小時)
可以獲得收益=0.00000742BTC
當然,這只是一個最基礎的PPS收益演算法,除了區塊獎勵外,還有打包交易的曠工費,這部分的計算和礦池的結算方式有所相關。
礦池還有多種結算方式。以上介紹的是最為基礎的結算方式PPS(PayPer Share)。根據礦工提交的有效工作量來結算收益。
目前比特幣礦池主要的結算還有FPPS和PPS+等等,可以讓你在基礎上獲得而外的獎勵。
目前基本上收益方式多為選擇PPS+結算的礦工,他們與礦池的關系相當於打工者與公司的關系,礦工的收益不受礦池幸運值波動的影響。不管礦池幸運值如何,PPS結算方式下,只要礦工算力、挖礦難度、系統獎勵確定了,礦工的收益就是確定的,拿穩定的「工資」。
數學不太好的,實在看不懂的小夥伴。記得關注今日礦工,一起研究挖礦小樂趣。
⑵ 挖礦到底在計算什麼
比特幣挖礦到底在計算什麼?如何看待比特幣挖礦,比特幣的挖礦對於不同的礦工而言是一種競爭記賬權的合作記賬行為,在合作的大框架下有序地競爭。也就是利用電腦硬體計算出比特幣的位置並獲取的過程稱之為挖礦。挖礦既能生產比特幣,又能保障交易信息,下面來具體解釋挖礦。
比特幣在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萬個比特幣待開采。
⑶ 數字貨幣中挖礦是什麼意思
1、數字貨幣簡稱為DIGICCY,是英文「Digital Currency」(數字貨幣)的縮寫,是電子貨幣形式的替代貨幣。數字金幣和密碼貨幣都屬於數字貨幣(DIGICCY) 。
2、數字貨幣是一種不受管制的、數字化的貨幣,通常由開發者發行和管理,被特定虛擬社區的成員所接受和使用。歐洲銀行業管理局將虛擬貨幣定義為:價值的數字化表示,不由央行或當局發行,也不與法幣掛鉤,但由於被公眾所接受,所以可作為支付手段,也可以電子形式轉移、存儲或交易。
應答時間:2021-01-04,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
⑷ 比特幣的挖礦到底在計算什麼
比特幣的挖礦計算其實就是大家一起做數學題,題干是需要被記錄的交易,大家通過做題搶奪記賬權,搶到的礦工就能獲得系統獎勵和交易手續費。比特幣用的SHA256演算法的特點是已知答案驗證正確很容易,但是要得到答案非常麻煩,需要一個一個數字去試。最先得到答案的礦工大家就都認可他是搶到了記賬權,獎勵就歸他了。大家繼續搶下一題的記賬權。簡單來說這些計算的意義只在於保證整個系統的穩定安全,並沒有更多的意義。
把比特幣看作是計算的副產品是不全面的,比特幣的產生發行、比特幣鏈上所有的交易流通、比特幣系統的穩定性,都是計算的目的,是一體的。當然除了維護這個系統之外,的確並沒有產生其他的價值和產物。這也是比特幣被指責不環保浪費資源的一個黑點。總的來說,比特幣作為一個里程碑式的區塊鏈數字貨幣,其源於大量的算力投入和用戶信任的巨大價值。這一點還是毋庸置疑的。
⑸ 比特幣挖礦到底在計算什麼
要知道挖礦到底在計算什麼,首先得知道比特幣的本質及產生的過程。比特幣是基於網路的電子貨幣,實際是互聯網的一串代碼,依靠演算法計算得出。挖礦是完成演算法的過程,也是生產比特幣的唯一方式。而且由於演算法規定,比特幣目前只有2100萬個。
1、挖礦既能生產比特幣,又能保障交易信息
類似於,一個數學系統包含2100萬個數學題,需要通過龐大的計算量不斷的去尋求這個每個數學題的特解。另外,特解是唯一的。
下面來具體解釋挖礦,從作用來說,挖礦不僅可以增加比特幣貨幣供應,而且還可以保護比特幣交易安全、防止欺詐交易。從過程來說,比特幣網路是一個點對點的支付系統,任何人都可以通過交易程序進行交易。
為了確保交易過程被如實記錄,就需要「礦工」這個角色來負責記錄比特幣交易信息,這個時間間隔是10分鍾,礦工中記賬最好的交易記錄就會被打包存儲到一個新的區塊中,相應的礦工也會得到一定數量的比特幣獎勵。
2、挖礦過程極其復雜,非人力所能為
具體的流程如下,當某一個礦工監聽到這筆交易時,首先會對交易信息進行驗證。通過驗證的交易則會被礦工記錄下來,保存在自己的資料庫裡面。全世界可能有成千上萬個礦工在進行同一件事,但在每十分鍾內,只有一個礦工有權創建新的區塊,使自己記錄的交易信息被大家所承認並永久地存儲下來。
接下來,礦工們就需要爭奪記賬權,這是一場算力競賽的比拼,其核心是用計算機完成大量的計算任務,找到一個超難的隨機數,這個隨機數就是第一段所說的方程特解,最先算出正確隨機數的礦工勝出。根據游戲規律,一個礦工獲得記賬權的幾率與其算力佔全網算力之和的比例成正比。換句話說,找到該隨機數的概率相當於將一億個骰子扔出,最後骰子總和小於1億零50。因此,挖礦需要大量的計算機,安裝特定的演算法軟體,日夜重復運行,非人力所能為。
3、比特幣挖礦其實就是「村民記賬」
可能還是有網友不懂,那就舉個例子。在一個村裡,村民之間經常會發生借款行為,哪怕寫了字據也有違約的風險。那麼,在每次村裡有借款行為發生的時候,就用村裡的大喇叭告知大家,所有的村民(礦工)就在自己的賬簿里記下所有交易記錄。
⑹ 比特幣最早一天免費挖多少
一天差不多就是0.05個左右。
現在比特幣要用專業的礦機挖,當前比特幣的全球統一計算難度是2621404453(預計兩天之後變化),一個2.5GHz的CPU,需要2000多年才能算出一個比特幣。
按照現在速度以及比特幣數量來計算的話,假如將一台計算機保持24小時不關機的狀態,一直在進行運作的話,需要3個月才可以獲得一個比特幣。
注意事項:
因為目前的比特幣礦使用專用的比特幣挖礦機進行挖掘。螞蟻S9礦機的計算能力為13.5/S,相當於7500張1080Ti顯卡,而一個中型礦機則有成百上千個這樣的礦機。
比特幣行業不是很好,所以想靠比特幣一夜暴富還是不要做。目前,很多國家都出台了抑制比特幣價格的政策,有些國家甚至不允許比特幣挖礦,很多銀行家和經濟學家也對比特幣的出現感到非常厭惡。
⑺ 一台礦機一天能挖出多少比特幣
介紹一下比特幣系統的獎勵機制。比特幣通過系統設置,基本能穩定在平均每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-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑻ 比特幣挖礦計算的是什麼
1、計算的就是比特幣本身。這一計算過程就是比特幣的發行過程。
2、因上述原因,我覺得可以理解為沒有實際意義。
3、你說的是貨幣包的數目吧?那個就是你連接的其他客戶端的數量(畢竟是P2P),這很重要!這個數值要達到一定程度賬戶才可正常運作。一直開著就好了。
⑼ 用筆記本在家挖礦,一天可以挖幾個比特幣
現如今如果還試圖用筆記本或家用電腦在家裡「挖礦」,絕對是吃飽了撐得慌,除了浪費電之外,連比特幣的最小單位1聰都不可能獲得(1比特幣為1億個聰)。
如果挖礦這件事真的有這么簡單,那麼多礦場就不會設置在深山老林離發電廠很近的地方,礦場里的每一台算力驚人價值不菲的礦機都極為耗電,可謂是吃電的老虎。
如今一台專業礦機的算力達到了驚人的110TH/s,功率為3250w,也就是一個小時耗電3.25度。
這樣一台算力達到了110TH/s的礦機,挖礦一年可以產出0.2158個比特幣,年耗電量為284700度電,電費如果以3毛錢計算就是85410元/年,如果是以正常的市電電價挖礦一年下來還真可能連本都撈不回來。
110TH/s的算力是什麼概念?
1H/s就是每秒一次哈希碰撞,而1TH/s就是每秒1000G次哈希碰撞(1萬億次),那麼110TH/s的算力就是110萬億次哈希碰撞。
拿一塊七彩虹的GTX 1080Ti Neptune水冷顯卡,這張顯卡對於一台普通的電腦來說已經很炸了,通過超頻後測得的算力大約是1.8GH/s,也就是0.0018TH/s。按照這樣的速度來挖一個比特幣,可謂是何年何月,還不如洗洗睡吧,更別提用普通的家用電腦來挖比特幣了。
用家用電腦挖礦放到2010年以前還是有可能的在2010年挖一個比特幣需要經過7.3M次哈希碰撞,也就是730萬次哈希碰撞。在那個時候,如果你懂得怎麼去挖礦,用普通的電腦還是有可能挖出比特幣來的。奈何在當時比特幣的價格並不足以對一般人產生誘惑力,就跟所有人都後悔為什麼沒有早點買房一樣。
自從2016年開始比特幣的價格就隨著挖礦的難度系數蹭蹭地往上漲,給人的錯覺就是比特幣的價格是和算力的增加而增加的。實際上我們細微的觀察算力曲線和價格曲線就會發現,價格和算力並不成正比,不管是價格還是算力都隨著時間的推移有漲有跌。這時我們就會發現它具有了股票、債券、期貨這樣的市場屬性,是可以被炒作的,它也會受市場、政策等因素影響。
按照中本聰的演算法,比特幣的總量大約為2100萬個,最開始的時候,每完成一次記賬就會獎勵50個比特幣,但每過4年獎勵就會減半,預計到2140年獎勵就會變為0,所以越是往後,挖出比特幣的難度系數就會越大。
這么說似乎可以認定比特幣是一種稀缺的資源,但它並沒有貨幣的屬性,僅僅只是一串毫無用處的字元串。只是幣圈的這些人哄抬它就水漲船高了,假如有一天這個巨大的泡沫破裂了,比特幣就是一串字元串,接盤的人就是那些手握比特幣而出手不了的人。
比特幣到底是個什麼東西?比特幣就是維持區塊鏈記賬系統中的一種獎勵機制,對於整個區塊鏈記賬系統來說參與挖礦的人越多,參與賬本數據確認的人也就越多,區塊數據也就越安全。如果沒有這種獎勵機制,區塊鏈記賬系統就玩不下去了。
區塊鏈中的每一個節點都擁有記賬的權利,但每筆賬單記賬權是通過接一道數學題來獲得,只不過這道數學題很難解,並且越來越難解。誰先算出難度系數內的值,誰就擁有優先記賬權。計算出來的值通過驗證後,和賬本一起封裝,廣播到區塊鏈中,這樣就完成了記賬的過程,然後就會獲得相應的比特幣獎勵。
細細想來挖比特幣還真的是挖了個寂寞那麼多礦場的礦機每年耗費那麼多電,僅僅為了解一道又一道的數學題從而獲得比特幣交易的記賬權利。這些電用來作為工廠生產不香嗎?哪怕用來吹吹空調也劃得來。
比特幣被資本裹挾後,然後資本在高位臨近崩盤時撤離,會不會又是一地雞毛,一片哀嚎呢。所以普通人還是別想用筆記本挖比特幣這件事了。
筆記本一天挖幾個?你是來 搞笑 的嗎?比特幣礦機又叫高頻計算機,為什麼叫高頻計算機,因為他的運算速率是以T為單位,三年前一台11.5T的礦機都需要一年時間挖一個比特幣,1T=1024G,而且比特幣挖狂周期是不斷衰減的,也就是同樣算力越往後挖一個時間越久,你的工作筆記本估計也就8G,你說一天能挖幾個?
你還想一天挖幾個比特幣?大概你可以想像一年能不能挖出0.1個比特幣。
按現在的通行說法,普通電腦挖礦,大致上回不來電費的本。雖然筆記本是公司的,但家裡的電費是你自己掏吧。所以,性能本來就縮水的筆記本去挖礦,一定在電費上讓你老開心了。
天上不會突然掉餡餅的。
比特幣在2月20日早晨突破了56000美元,截至13時30分,比特幣價格為55624美元左右,24小時上漲8.29%,24小時內成交量為753.9美元,市值達1.04萬億,進入「萬億俱樂部」。
以上這樣的數據看著當然誘人,一枚比特幣的價值近40萬人民幣,是很多普通上班族不吃不喝工作六七年的工資,想用筆記本在家挖礦,估計連電費都賺不回來。
一夜暴富,想想就好,還是腳踏實地一些好。
保持當前比特幣的全網算力難度不變,即便是你用當前3060顯卡來挖比特幣,那麼這個時間也需要1400年才能挖出一枚比特幣。所以不要有任何實質性的幻想,你接觸比特幣的時間現在已經是2021年,不是2009年的那個時間節點。
比特幣由原先的幾美分已經一路上漲至目前最高的5.8萬美元,換句話說2009年左右比特幣的價格只有幾元人民幣,但是到目前為止已經上漲到了30萬人民幣一枚的價格。再加上比特幣的無國界和去中心化屬性,在過去11年的時間里,比特幣的全網算力已經呈現出指數爆炸式的增長,世界各地電力豐富穩定的地區都有比特幣的專業礦場存在。
所以目前我們任何更先進的家用電腦都是無法直接去挖掘比特幣的。要不然為什麼我們能夠聽到專業的比特幣礦場和相對應的礦機?現在都是幾百上千個顯卡集中組成的專業礦機來貢獻比特幣的算力,誰先打包出了相對應的區塊,誰就能獲得6.25個比特幣的獎勵。
時代已經發展到了目前的這個階段,如果現在是2009年甚至於2010年的那個時間節點,家用電腦當時確實是可以支持挖掘比特幣的,全網算力不高參與量極少,因為那個時候很多人都不了解比特幣,當時的比特幣也並不值錢。
所以我們能夠看到在2010年上半年的時候,當時一部分的礦工在淘寶網上出售相對應的比特幣,當時的價格是5元人民幣到10元人民幣一枚。即便是2011年的下半年比特幣當時的價格也才60元人民幣左右。
但是從2012年下半年開始,基本上比特幣的發展階段就已經越過了調用電腦貢獻算力的時代,開始進入到了專業的礦機時代。當然目前比特幣的價格對於相對應的挖礦而言是有豐富的利潤回報率的,但是在比特幣熊市的時候基本上挖礦是呈現出虧損狀態的,那個時候只有墊資囤幣等待牛市周期到來才能獲得總的盈利。
所以現在也不要輕易的去參與到專業的比特幣挖礦行業中,這個行業的入門門檻極高,並且需要專業的人員以及很大的資金鏈支撐,風險也是比較大的。
一天挖幾顆?以現在比特幣的價格近5萬美元一顆,別人都是在房間里放幾十上百張顯卡用貨架裝著挖礦,以筆記本挖礦解碼的速度,估計幾年都沒有一顆,想要挖礦至少還是要配備1050ti以上的顯卡才行,而且顯卡越多,解碼越快,同時對電費,顯卡壽命消耗也是不小的費用,作為普通人還是最好不要打比特幣的主意,容易踏空摔疼
天上掉餡餅的事情你也相信?就算真能挖到,那也需要你有強大的伺服器陣容,而並非是你的一台小電腦能做的。而且挖一個不是按照天來計算,是你以年做單位來計算,你算算,你一年能挖一個不??
大兄弟醒醒,你這個想法容易上當受騙。
不勞而獲的心理太重,盲目跟風的行為也重,最好的還是不切實際。
還是腳踏實地吧。
4千台3kW礦機,一天24小時能挖出一個BTC,你的20台筆記本算力比不上一台礦機,按此計算,你一台筆記本需8萬天才能挖出一個幣,平均一天24小時能挖出8萬分之一個比特幣。
但是你一台筆記本,即使挖8萬/365=220年,肯定挖不出一個比特幣,因為每隔2年左右,區塊鏈所藏幣的數量會減半,按此邏輯,你這筆記本挖一萬年也挖不出一個比特幣[捂臉][捂臉][捂臉]
兄弟你想的太多了,不知道你有沒看過一個新聞,疫情期間韓國很多網吧全都不營業改挖礦了,整個網吧的電腦一天也挖不了多少,何況一個筆記本了。我有個朋友專門做挖礦的,他在雲南的中緬邊境那裡建的礦場。就是因為那裡電費便宜。以前還有很多人在內蒙古建礦場,因為點都是偷的,但是後來被抓住判刑了。所以咱們不是圈裡的人基本操作不了,還不如多發發文章賺點零花錢呢!
⑽ 比特幣如何算出來的
要想了解bitcoin的技術原理,首先需要了解兩個重要的密碼技術: HASH碼:將一個長字元串轉換成固定長度的字元串,並且其轉換不可逆,即不太可能從HASH碼猜出原字元串。bitcoin協議里使用的主要是SHA256。
公鑰體系:對應一個公鑰和私鑰,在應用中自己保留私鑰,並公開公鑰。當甲向乙傳遞信息時,可使用甲的私鑰加密信息,乙可用甲的公鑰進行解密,這樣可確保第三方無法冒充甲發送信息;同時,甲向乙傳遞信息時,用乙的公鑰加密後發給乙,乙再用自己的私鑰進行解密,這樣可確保第三者無法偷聽兩人之間的通信。最常見的公鑰體系為RSA,但bitcoin協議里使用的是lliptic Curve Digital Signature Algorithm。 和現金、銀行賬戶的區別? bitcoin為電子貨幣,單位為BTC。在這篇文章里也用來指代整個bitcoin系統。 和在銀行開立賬戶一樣,bitcoin里的對應概念為地址。每個人都可以有1個或若干個bitcoin地址,該地址用來付賬和收錢。每個地址都是一串以1開頭的字元串,比如我有兩個bitcoin賬戶,和。一個bitcoin賬戶由一對公鑰和私鑰唯一確定,要保存賬戶,只需要保存好私鑰文件即可。 和銀行賬戶不一樣的地方在於,銀行會保存所有的交易記錄和維護各個賬戶的賬面余額,而bitcoin的交易記錄則由整個P2P網路通過事先約定的協議共同維護。 我的賬戶地址里到底有多少錢? 雖然使用bitcoin的軟體可以看到當前賬戶的余額,但和銀行不一樣,並沒有一個地方維護每個地址的賬面余額。它只能通過所有歷史交易記錄去實時推算賬戶余額。 我如何付賬? 當我從地址A向對方的地址B付賬時,付賬額為e,此時雙方將向各個網路節點公告交易信息,告訴地址A向地址B付賬,付賬額為e。為了防止有第三方偽造該交易信息,該交易信息將使用地址A的私鑰進行加密,此時接受到該交易信息的網路節點可以使用地址A的公鑰進行驗證該交易信息的確由A發出。當然交易軟體會幫我們做這些事情,我們只需要在軟體中輸入相關參數即可。 網路節點後收到交易信息後會做什麼? 這個是整個bitcoin系統里最重要的部分,需要詳細闡述。為了簡單起見,這里只使用目前已經實現的bitcoin協議,在當前版本中,每個網路節點都會通過同步保存所有的交易信息。 歷史上發生過的所有交易信息分為兩類,一類為"驗證過"的交易信息,即已經被驗證過的交易信息,它保存在一連串的「blocks」裡面。每個"block"的信息為前一個"bock"的ID(每個block的ID為該block的HASH碼的HASH碼)和新增的交易信息(參見一個實際的block)。另外一類指那些還"未驗證"的交易信息,上面剛剛付賬的交易信息就屬於此類。 當一個網路節點接收到新的未驗證的交易信息之後(可能不止一條),由於該節點保存了歷史上所有的交易信息,它可以推算中在當時每個地址的賬面余額,從而可以推算出該交易信息是否有效,即付款的賬戶里是否有足夠余額。在剔除掉無效的交易信息後,它首先取出最後一個"block"的ID,然後將這些未驗證的交易信息和該ID組合在一起,再加上一個驗證碼,形成一個新的「block」。 上面構建一個新的block需要大量的計算工作,因為它需要計算驗證碼,使得上面的組合成為一個block,即該block的HASH碼的HASH碼的前若干位為1。目前需要前13位為1(大致如此,不確定具體方式),此意味著如果通過枚舉法生成block的話,平均枚舉次數為16^13次。使用CPU資源生成block被稱為「挖金礦」,因為生產該block將得到一定的獎勵,該獎勵信息已經被包含在這個block裡面。 當一個網路節點生成一個新的block時,它將廣播給其它的網路節點。但這個網路block並不一定會被網路接受,因為有可能有別的網路節點更早生產出了block,只有最早產生的那個block或者後續block最多的那個block有效,其餘block不再作為下一個block的初始block。 對方如何確認支付成功? 當該筆支付信息分發到網路節點後,網路節點開始計算該交易是否有效(即賬戶余額是否足夠支付),並試圖生成包含該筆交易信息的blocks。當累計有6個blocks(1個直接blocks和5個後續blocks)包含該筆交易信息時,該交易信息被認為「驗證過」,從而該交易被正式確認,對方可確認支付成功。 一個可能的問題為,我將地址A裡面的余額都支付給地址B,同時又支付給地址C,如果只驗證單比交易都是有效的。此時,我的作弊的方式為在真相大白之前產生6個僅包括B的block發給B,以及產生6個僅包含C的block發給C。由於我產生block所需要的CPU時間非常長,與全網路相比,我這樣作弊成功的概率微乎其微。 網路節點生產block的動機是什麼? 從上面描述可以看出,為了讓交易信息有效,需要網路節點生成1個和5個後續block包含該交易信息,並且這樣的block生成非常耗費CPU。那怎麼樣讓其它網路節點盡快幫忙生產block呢?答案很簡單,協議規定對生產出block的地址獎勵BTC,以及交易雙方承諾的手續費。目前生產出一個block的獎勵為50BTC,未來每隔四年減半,比如2013年到2016年之間獎勵為25BTC。 交易是匿名的嗎? 是,也不是。所有BITCOIN的交易都是可見的,我們可以查到每個賬戶的所有交易記錄,比如我的。但與銀行貨幣體系不一樣的地方在於,每個人的賬戶本身是匿名的,並且每個人可以開很多個賬戶。總的說來,所謂的匿名性沒有宣稱的那麼好。 但bitcoin用來做黑市交易的還有一個好處,它無法凍結。即便警方追蹤到了某個bitcoin地址,除非根據網路地址追蹤到交易所使用的電腦,否則還是毫無辦法。 如何保證bitcoin不貶值? 一般來說,在交易活動相當的情況下,貨幣的價值反比於貨幣的發行量。不像傳統貨幣市場,央行可以決定貨幣發行量,bitcoin里沒有一個中央的發行機構。只有通過生產block,才能獲得一定數量的BTC貨幣。所以bitcoin貨幣新增量決定於: 1、生產block的速度:bitcoin的協議里規定了生產block的難度固定在平均2016個每兩個星期,大約10分鍾生產一個。CPU速度每18個月速度加倍的摩爾定律,並不會加快生產block的速度。 2、生產block的獎勵數量:目前每生產一個block獎勵50BTC,每四年減半,2013年開始獎勵25BTC,2017年開始獎勵額為12.5BTC。 綜合上面兩個因素,bitcoin貨幣發行速度並不由網路節點中任何單個節點所控制,其協議使得貨幣的存量是事先已知的,並且最高存量只有2100萬BTC