礦池

數字貨幣

由於比特幣全網的運算水準在不斷的呈指數級別上漲,單個設備或少量的算力都無法在比特幣網路上獲取到比特幣網路提供的區塊獎勵。在全網算力提升到了一定程度后,過低的獲取獎勵的概率,促使一些“bitcointalk”上的極客開發出一種可以將少量算力合併聯合運作的方法,使用這種方式建立的網站便被稱作“礦池”(Mining Pool)。

在此機制中,不論個人礦工所能使用的運算力多寡,只要是透過加入礦池來參與挖礦活動,無論是否有成功挖掘出有效資料塊,皆可經由對礦池的貢獻來獲得少量比特幣獎勵,亦即多人合作挖礦,獲得的比特幣獎勵也由多人依照貢獻度分享。

截止2019年1月,全球算力排名前五的比特幣礦池有:BTC.com 、Poolin、AntPool、slush pool、F2Pool,全球約70%的算力在中國礦工手中。

產生背景


中本聰論文描述的比特幣世界中,全網平均每10分鐘產出一個區塊,每區塊包含50(現在是12.5,比特幣每四年左右減半一次)個比特幣,而一個區塊只可能被某個幸運兒挖走,直接擁有裡面的50(現在是12.5,比特幣每四年左右減半一次)比特幣,其他人則顆粒無收,挖到的概率與礦工投入的設備算力大小成正比。這就註定了如果比特幣挖礦參與人數龐大且分散到一定程度后,挖到比特幣的概率將無限接近於零,跟中彩票差不多。或許投入一台礦機挖礦,按照概率,要5~10年才能開採到一個區塊,這使比特幣挖礦陷入尷尬境地,讓普通人幾乎沒有參與的可能。

運作原理


假設100萬人參與比特幣挖礦,全網400P算力,其中90%的礦工為1P(1000T)以下的算力,如果投入一台1T礦機,將佔全網算力的40萬分之1,理論上平均每40萬個10分鐘能挖到一個區塊,也就是7.6年才能挖到一個區塊然後一次性拿到50個比特幣。那麼,假如我再找9個擁有1T算力礦機的礦工,達成協定,我們總共10個人,其中任何一個人挖到區塊,都按照每人的算力佔比來進行平分,那麼我們就是一個整體,總共10T算力,那麼平均0.76年即可挖到一個區塊,然後算下來到我們手上的就是0.76年開採到5個比特幣,如果組織100人、1000人、1萬人甚至10萬人呢?如果是10萬人,那麼平均100分鐘就能挖到1個區塊,作為團隊的一份子,我的收入將會趨於穩定。這就是礦池的基本原理,即大家組隊進行比特幣開採,可以參考彩票中的合買。
當然,以上只是對礦池的基本原理和性質進行簡單的描述,實際情況會非常複雜。礦池是一個全自動的開採平台,即礦機接入礦池——提供算力——獲得收益。

分配模式


目前礦池的分配方式主要有:“PPLNS、PPS、PROP”三種。
● ● PPLNS模式:(最純正的組隊挖礦)全稱Pay Per Last N Shares,意思是說“根據過去的N個股份來支付收益”,這意味著,所有的礦工一旦發現了一個區塊,大家將根據每個人自己貢獻的股份數量佔比來分配區塊中的貨幣。
在PPLNS模式下,運氣成份非常重要,如果礦池一天能夠發現很多個區塊,那麼大家的分紅時間會非常快,如果礦池一天下來都沒有能夠發現區塊,那麼大家當天也就沒有任何收益,收益要等到你參加的區塊被完全挖掘出來才能得到分配。同時,由於PPLNS下,具有一定的滯后慣性,你的挖礦收益會有一定的延遲,比如說,你加入到一個新的PPLNS礦池,這個時候你會發現前面幾個小時的收益比較低,那是因為別人在這個礦池裡已經貢獻了很多個share了,你是新來的,你的貢獻還很少,所以分紅時你的收益都是比較低的。隨著時間的推移,該結算的也結算了,大家又開始進行了新一輪的運算時,你就回到和別人一樣的水平了。同樣道理,若你離開了PPLNS礦池不再挖礦,你貢獻的share還在,在此後的一段時間裡,你依然會得到分紅收益,直到你的share被結算完畢。PPS模式:Pay-Per-Share方式---該方式為立即為每一個share支付報酬。該支出來源於礦池現有的比特幣資金,因此可以立即取現,而不用等待區塊生成完畢或者確認。這樣可以避免礦池運營者幕後操縱。這種方法減少了礦工的風險,但將風險轉移給了礦池的運營者。運營者可以收取手續費來彌補這些風險可能造成的損失。為了解決PPLNS那種有時候收益很高,有時候沒有收益的情況,PPS採用了新的演演算法。PPS根據你的算力在礦池中的佔比,並估算了礦池每天可以獲得的礦產,給你每天基本固定的收益。
2.PROP模式:比特幣區塊的產生是:由礦池發現區塊後向全網路廣播,經過120次確認后,才會產生區塊。PPS模式是:礦工每貢獻一點速度,礦池就向礦工支付相應的比特幣,礦池的幣還是要來自真正的區塊產生,只不過在真正的區塊產生之前,礦池就提前支付給了礦工。PROP模式是:礦池經過120次確認產生真正區塊后,會把比特幣按每個礦工的貢獻分配給礦工,這種模式更符合比特幣區塊的產生。在PROP模式,即使暫時沒有產生真正的區塊,以後產生出來了真正的區塊,還是會根據挖這個區塊的貢獻,分配給每個礦工。礦工挖礦至少都是挖幾個月,甚至幾年,所以從長遠來看,這兩種模式挖出幣的數量是一樣。

手續費


比特幣礦工會對大部分交易收取少量費用,其主要目的是防止有人大量發送無聊的小額交易,浪費網路資源。當前每筆交易的手續費大部分是฿ 0.0001/KB(0.0001btc/KB),實際上0.9.0以後的版本將默認手續費降為฿ 0.00001/KB(0.00001 btc/KB)。因為大部分交易佔用的數據量都小於1千位元組,所以一般情況下฿ 0.00001(0.00001 btc/KB)的手續費就足夠了。同時,在將來比特幣區塊獎勵較少時,手續費將成為礦工收入的主要來源,比特幣的手續費會與該交易佔用的位元組數相關。
目前比特幣系統中手續費的計算標準並非強制性的,因此使用者也可以在交易進行時不給予任何手續費,但大多數礦工在組建資料塊時通常會優先考慮帶有較高手續費的交易,以便在挖礦成功時能獲得較高的報酬,因此無附帶任何手續費的交易,可能會需要等待較長的時間才能被處理並納入區塊鏈中。
此外,現在因為區塊容量上限1MB以及近期比特幣交易量大增的因素,手續費大幅上漲,而且等待交易被確認的時間也變長了許多。

利弊分析


礦池的存在降低了比特幣等虛擬數字貨幣開採的難度,降低了開採門檻,真正實現了人人皆可參與的比特幣挖礦理念。但其弊端也非常明顯,因為算力接入礦池,作為礦池來說,將掌握極其龐大的算力資源,在比特幣世界中,算力代表著記賬權,算力即是一切,如果單家礦池算力達到50%以上,將可以輕易對比特幣等類似的虛擬數字貨幣發動51%攻擊,其後果是非常可怕的:
1、壟斷開採權,可使掌握剩餘49%算力的礦池顆粒無收,瞬間退出競爭並倒閉破產,礦池算力超過50%以上,如果發動51%攻擊,將能輕易佔據全網全部有效算力。
2、壟斷記賬權,可通過51%攻擊進行雙重支付等行為,可將1筆錢多次使用,這將直接摧毀比特幣等的信用體系,使之信用灰飛煙滅。
3、壟斷分配權,由於單家(也可能是多家礦池聯盟)礦池通過51%攻擊佔據全網算力,可快速排擠剩下礦池使其倒閉,由於沒有競爭,礦池便可自行進行收益分配,對礦工收取高額手續費等苛捐雜稅。