簡(jiǎn)介
我們知道比特幣就是挖礦產(chǎn)生的埠况,那么在比特幣網(wǎng)絡(luò)中耸携,挖礦有什么特點(diǎn)呢?怎么分配挖礦收入呢辕翰?在這篇文章中你都能找到答案夺衍。
比特幣的節(jié)點(diǎn)構(gòu)造
上篇文章我們提到了,比特幣是一個(gè)P2P網(wǎng)絡(luò)喜命,P2P網(wǎng)絡(luò)中就有很多個(gè)節(jié)點(diǎn)沟沙,從P2P的定義來(lái)看,各個(gè)節(jié)點(diǎn)的地位是相同的壁榕,其實(shí)不然矛紫。比特幣網(wǎng)絡(luò)的節(jié)點(diǎn)各有作用。
我們先來(lái)看一個(gè)總體的圖护桦,比特幣節(jié)點(diǎn)總共有4種類(lèi)型:
這四種類(lèi)型分別是錢(qián)包含衔,挖礦節(jié)點(diǎn),全節(jié)點(diǎn),和網(wǎng)絡(luò)路由節(jié)點(diǎn)贪染。
不同的角色組合成了一個(gè)龐大的比特幣網(wǎng)絡(luò)缓呛。根據(jù)功能的不同,不同的角色可能需要不同的類(lèi)型杭隙。
上面我們介紹了7個(gè)常見(jiàn)的節(jié)點(diǎn)哟绊。
Bitcoin Core 這個(gè)是你在官方下載的bitcoin軟件,它包含了4中類(lèi)型的功能痰憎。
Full Block Chain Node票髓,這個(gè)節(jié)點(diǎn)包含了所有的比特幣區(qū)塊鏈歷史的信息,叫做全節(jié)點(diǎn)铣耘,全節(jié)點(diǎn)主要用來(lái)做歷史交易的驗(yàn)證洽沟。
Solo Miner,這個(gè)是獨(dú)立的挖礦節(jié)點(diǎn)。
SPV wallet, 這個(gè)是我們之前介紹的輕量級(jí)的錢(qián)包蜗细。
Pool Protocol Servers, 這個(gè)是礦池連接比特幣網(wǎng)絡(luò)的網(wǎng)關(guān)裆操。
注意,比特網(wǎng)網(wǎng)絡(luò)除了自身的P2P網(wǎng)絡(luò)協(xié)議之外炉媒,還有一個(gè)Stratum協(xié)議踪区,Stratum協(xié)議被應(yīng)用于挖礦、以及輕量級(jí)或移動(dòng)端比特幣錢(qián)包之中吊骤。
Mining Nodes,這是連接到比特幣礦池的礦機(jī)節(jié)點(diǎn)缎岗。
SPV stratum wallet, 使用Stratum協(xié)議的輕量級(jí)錢(qián)包。
這些節(jié)點(diǎn)組合在一起白粉,構(gòu)成了龐大的比特幣網(wǎng)絡(luò)传泊。
挖礦
挖礦是增加比特幣貨幣供應(yīng)的一個(gè)過(guò)程。挖礦同時(shí)還保護(hù)著比特幣系統(tǒng)的安全鸭巴,防止欺詐交易或渤,避免“雙重支付”,“雙重支付”是指多次花費(fèi)同一筆比特幣奕扣。礦工們通過(guò)為比特幣網(wǎng)絡(luò)提供算力來(lái)?yè)Q取獲得比特幣獎(jiǎng)勵(lì)的機(jī)會(huì)薪鹦。
每10分鐘就會(huì)有一個(gè)新的區(qū)塊被“挖掘”出來(lái),每個(gè)區(qū)塊里包含著從上一個(gè)區(qū)塊產(chǎn)生到目前這段時(shí)間內(nèi) 發(fā)生的所有交易惯豆,這些交易被依次添加到區(qū)塊鏈中
礦工們?cè)谕诘V過(guò)程中會(huì)得到兩種類(lèi)型的獎(jiǎng)勵(lì):創(chuàng)建新區(qū)塊的新幣獎(jiǎng)勵(lì)池磁,以及區(qū)塊中所含交易的交易費(fèi)。為了得到這些獎(jiǎng)勵(lì)楷兽,礦工們爭(zhēng)相完成一種基于加密哈希 算法的數(shù)學(xué)難題地熄,這些難題的答案包括在新區(qū)塊中,作為礦工的計(jì)算工作量的證明芯杀,被稱(chēng)為”“工作量證明”端考。該算法的競(jìng)爭(zhēng)的機(jī)制以及獲勝者有權(quán)在區(qū)塊鏈上進(jìn)行 交易記錄的機(jī)制雅潭,這二者比特幣安全的基石。
新比特幣的生成過(guò)程被稱(chēng)為挖礦是因?yàn)樗莫?jiǎng)勵(lì)機(jī)制被設(shè)計(jì)為速度遞減模式却特,類(lèi)似于貴重金屬的挖礦過(guò)程扶供。比特幣的貨幣是通過(guò)挖礦發(fā)行的,類(lèi)似于中央銀行 通過(guò)印刷銀行紙幣來(lái)發(fā)行貨幣裂明。
礦工通過(guò)創(chuàng)造一個(gè)新區(qū)塊得到的比特幣數(shù)量大約每四年(或準(zhǔn)確說(shuō)是每隔210,000個(gè)塊)減少一半椿浓。開(kāi)始時(shí)為2009年1月 每個(gè)區(qū)塊獎(jiǎng)勵(lì)50個(gè)比特幣,然后到2012年11月減半為每個(gè)區(qū)塊獎(jiǎng)勵(lì)25個(gè)比特幣闽晦。之后將在2016年的某個(gè)時(shí)刻再次減半為每個(gè)新區(qū)塊獎(jiǎng)勵(lì)12.5個(gè)比 特幣扳碍。基于這個(gè)公式仙蛉,比特幣挖礦獎(jiǎng)勵(lì)以指數(shù)方式遞減笋敞,直到2140年。屆時(shí)所有的比特幣(20,999,999,980)全部發(fā)行完畢荠瘪。
換句話(huà)說(shuō)在 2140年之后液样,不會(huì)再有新的比特幣產(chǎn)生。(通貨緊縮貨幣)
挖礦節(jié)點(diǎn)
在比特幣網(wǎng)絡(luò)中巧还,一些節(jié)點(diǎn)被稱(chēng)為專(zhuān)業(yè)節(jié)點(diǎn)礦工。
與其他任一完整節(jié)點(diǎn)相同坊秸,這些節(jié)點(diǎn)在比特幣網(wǎng)絡(luò)中進(jìn)行接收和傳播未確認(rèn)交易記錄麸祷。然而,這些節(jié)點(diǎn)也能夠在新區(qū)塊中整合這些交易記錄褒搔。
礦工間的競(jìng)爭(zhēng)以新區(qū)塊的傳播而 結(jié)束阶牍,如同宣布誰(shuí)是最后的贏家。對(duì)于礦工們來(lái)說(shuō)星瘾,獲得一個(gè)新區(qū)塊意味著某個(gè)參與者贏了走孽,而他們則輸了這場(chǎng)競(jìng)爭(zhēng)。然而琳状,一輪競(jìng)爭(zhēng)的結(jié)束也代表著下一輪競(jìng)爭(zhēng)的 開(kāi)始磕瓷。新區(qū)塊并不僅僅是象征著競(jìng)賽結(jié)束的方格旗;它也是下一個(gè)區(qū)塊競(jìng)賽的發(fā)令槍念逞。
創(chuàng)幣交易
區(qū)塊中的第一筆交易是筆特殊交易困食,稱(chēng)為創(chuàng)幣交易或者coinbase交易。
這個(gè)交易是由挖礦節(jié)點(diǎn)構(gòu)造并用來(lái)獎(jiǎng)勵(lì)礦工們所做的貢獻(xiàn)的翎承。挖礦節(jié)點(diǎn)會(huì)創(chuàng)建“向XX的地址支付25.09094928個(gè)比特幣”這樣一個(gè)交易硕盹,把生成交易的獎(jiǎng)勵(lì)發(fā)送到自己的錢(qián)包。礦工挖出區(qū)塊獲得的獎(jiǎng)勵(lì)金額 是coinbase獎(jiǎng)勵(lì)(25個(gè)全新的比特幣)和區(qū)塊中全部交易礦工費(fèi)的總和叨咖。
與常規(guī)交易不同瘩例,創(chuàng)幣交易沒(méi)有輸入啊胶,不消耗UTXO。它只包含一個(gè)被稱(chēng)作coinbase的輸入垛贤,僅僅用來(lái)創(chuàng)建新的比特幣焰坪。
創(chuàng)幣交易有一個(gè)輸出,支付到這個(gè)礦工的比特幣地址南吮。
礦池收入分配
根據(jù)礦池的收入分配不同琳彩,可以分為兩種。
- PPLNS
全稱(chēng)Pay Per Last N Shares部凑,意思是說(shuō)“根據(jù)過(guò)去的N個(gè)股份來(lái)支付收益”露乏,這意味著,所有的礦工一旦發(fā)現(xiàn)了一個(gè)區(qū)塊涂邀,大家將根據(jù)每個(gè)人自己貢獻(xiàn)的股份數(shù)量占比來(lái)分配區(qū)塊中的貨幣瘟仿。
- PPS
PPS礦池(類(lèi)似于打工模式)PPS全稱(chēng)為Pay Per Share。為了解決PPLNS那種有時(shí)候收益很高比勉,有時(shí)候沒(méi)有收益的情況劳较,PPS采用了新的算法。PPS根據(jù)你的算力在礦池中的占比浩聋,并估算了礦池每天可以獲得的礦產(chǎn)观蜗,給你每天基本固定的收益。
挖礦方向
從2009年開(kāi)始衣洁,原來(lái)普通的計(jì)算機(jī)就可以“挖礦”墓捻,但是到了2014年,所有挖礦的計(jì)算機(jī)也變成由專(zhuān)業(yè)設(shè)計(jì)芯片公司為比特幣度身定制的“礦機(jī)”坊夫。
隨著參與挖礦的計(jì)算機(jī)變得越來(lái)越昂貴砖第,比特幣生產(chǎn)的成本也水漲船高。截止到2014年10月环凿,每個(gè)比特幣生產(chǎn)的成本已經(jīng)達(dá)到接近3000元人民幣梧兼。這個(gè)生產(chǎn)包括計(jì)算機(jī)的生產(chǎn)制造成本,生產(chǎn)過(guò)程中產(chǎn)生的電費(fèi)智听,以及人員費(fèi)用和場(chǎng)地費(fèi)用羽杰。也就是說(shuō)在2016年年底之前,因?yàn)槊刻焐a(chǎn)3600個(gè)比特幣到推,每天所投入的資金就達(dá)到1000萬(wàn)元人民幣忽洛。并且隨著競(jìng)爭(zhēng)越來(lái)越激烈,這個(gè)成本還在處于上升階段环肘。
算力浪費(fèi)
那么挖礦花了這么多電費(fèi)到底做了什么事情呢欲虚?無(wú)他,就是算一個(gè)hash值而已悔雹。
所以這造成嚴(yán)重的浪費(fèi)复哆。當(dāng)然也有人想出了一些解決辦法码泞,使用這些算力去做些有用的事情:
- Sunny King的素?cái)?shù)幣
- 質(zhì)數(shù)幣(PrimeCoin代碼XPM)尋找質(zhì)數(shù)
- 格雷德幣(GridCoin代碼GRC)分布式科學(xué)計(jì)算
算力調(diào)整
注意比特幣的挖礦難點(diǎn)并不是一定增加的犀变。它是動(dòng)態(tài)調(diào)整的看疗。
如果在上個(gè)周期(2016個(gè)區(qū)塊)中平均區(qū)塊產(chǎn)生時(shí)間大于10分鐘燥筷,也就是全網(wǎng)算力下降的情況下,則在當(dāng)前周期的難度就會(huì)下降锈锤,使得區(qū)塊產(chǎn)生時(shí)間加快驯鳖。不過(guò)目前為止好像還沒(méi)有出現(xiàn)過(guò)全網(wǎng)算力下降的情況,難度是一直增加久免。
由于是基于事后統(tǒng)計(jì)浅辙,所以難度的變化會(huì)滯后于全網(wǎng)算力的變化1~2個(gè)周期。如果全網(wǎng)算力增加阎姥,則在這1~2個(gè)周期中挖礦速度加快记舆,則挖礦收益增多;反之呼巴,收益減少泽腮。但是從長(zhǎng)期來(lái)看還是保持平衡。
總結(jié)
本文介紹了比特幣網(wǎng)絡(luò)中挖礦相關(guān)的內(nèi)容衣赶,希望大家能夠喜歡诊赊。
本文作者:flydean程序那些事
本文鏈接:http://www.flydean.com/bitcoin-mine-consensus/
本文來(lái)源:flydean的博客
歡迎關(guān)注我的公眾號(hào):程序那些事,更多精彩等著您府瞄!