在比特币世界中矿工的作用是什么
轉(zhuǎn)載自? ?在比特幣世界中礦工的作用是什么
如題。本人技術(shù)小白,花了大量時間查閱了比特幣的一些資料。雖然不敢說把每個細(xì)節(jié)都完全搞懂了,不過整體思路和關(guān)鍵部分的主要原理還是搞明白了。
要說礦工的作用就要先講解比特幣世界的運行方式。
其實我們現(xiàn)在的貨幣發(fā)展進(jìn)程已經(jīng)到達(dá)了虛擬貨幣的時代。具體方式如圖
?
貨幣的基礎(chǔ)完全依賴于記賬者
例如老 張要拿一克金子向老李換一只羊,就一起給二狗子打個電話,說明要將老張名下的一克金子劃歸老李名下,二狗子拿出賬本,看看老張名下是否有一克金子,如果有 就在老賬的名下減掉一克,在老李的名下加上一克,這樣就完成了支付,此時老李在電話中聽到二狗子確認(rèn)轉(zhuǎn)賬完成,就可以放心讓老張把羊牽走了。
這樣就帶來兩點問題
1.這個體系完全依賴于賬本持有人的個人信用,如果這個人不守規(guī)矩,隨意篡改賬本,那么整個貨幣系統(tǒng)就會崩潰
2.如果這個人家里失火或者賬本失竊,同樣也會為整個體系帶來毀滅性的打擊
而比特幣的革命之處在于,它使用的是完全區(qū)別于傳統(tǒng)記賬方式的分布式記賬。
現(xiàn)在我們就來看一下中本聰設(shè)計的比特幣的計賬方式是怎樣的。
賬簿公開機制
中本聰首先說明,要對現(xiàn)有賬簿進(jìn)行如下改造:
1.賬簿上不再記載每個賬戶的余額,而只記載每一筆交易。即記載每一筆交易的付款人、收款人和付款金額。只要賬簿的初始狀態(tài)確定,每一筆交易記錄可靠并有時序,當(dāng)前每個人持有多少錢是可以推算出來的。
2.賬簿由私有改為公開,只要任何人需要,都可以獲得當(dāng)前完整的賬簿,賬簿上記錄了從賬簿創(chuàng)建開始到當(dāng)前所有的交易記錄。
比特幣礦工的工作
由于比特幣的去中心化的特點。它是沒有一個集中的運算中心的,比特幣的清算任務(wù)就由比特幣礦工擔(dān)任。
中本聰規(guī)定,每筆交易的發(fā)起人,不但要將交易單給到收款人,還要同時復(fù)制若干份一模一樣的交易單投遞到每個礦工小組的收件箱里。
礦工小組的人定期到自己的收件箱里把收集到的交易單一并取出來。
然后把自己收到的交易單貼到原始賬簿上,將這樣賬簿紙放入編號生成器,打印好編號,一張賬簿就算完成了。
然后就是最關(guān)鍵一步,比特幣系統(tǒng)會提供一組高難度的數(shù)學(xué)迷題。礦工要成功的把新的交易單粘貼造歷史賬戶上,需要跟其他的礦工競爭算力。最后由第一個解開數(shù)學(xué)謎題的礦工得到記賬權(quán)利, 記賬成功后該礦工會得到比特幣獎勵。比特幣網(wǎng)絡(luò)會自動調(diào)整數(shù)學(xué)問題的難度,讓整個網(wǎng)絡(luò)約每10分鐘得到一個合格答案。
總量及發(fā)行
由算法規(guī)定,比特幣總量會持續(xù)增長直到達(dá)到2100萬個。礦工在總量達(dá)到1050萬之前是每成功完成一次計賬的獎勵金是50個比特幣,當(dāng)總量達(dá)到1050萬時(2100萬的50%),賞金減半為25個。當(dāng)總量達(dá)到1575萬(新產(chǎn)出525萬,即1050的50%)時,賞金再減半為12.5個。
根據(jù)其設(shè)計原理,比特幣的總量會持續(xù)增長,直至100多年后達(dá)到2100萬的那一天。但比特幣貨幣總量后期增長的速度會非常緩慢。事實上,87.5%的比特幣都將在頭12年內(nèi)被“挖”出來。
確認(rèn)賬簿
當(dāng)某挖礦小組幸運的生成了一張有意義的賬簿,為了得到獎勵,必須立刻請其它小組確認(rèn)自己的工作。
中本聰規(guī)定,當(dāng)某個小組接到其他小組送來的賬簿紙時,必須立即停下手里的挖礦工作進(jìn)行賬簿確認(rèn)。
如果完成了所有驗證并全部通過,這個小組就認(rèn)可了上述賬簿紙有效,然后將這張賬簿紙并入小組的主賬簿,舍棄目前正在進(jìn)行的工作,后面的挖礦工作會基于這本更新后的主賬本進(jìn)行。
賬簿確認(rèn)反饋
對于挖礦小組來說,當(dāng)賬簿送出去后,如果后面有收到其他小組送來的賬簿,其“上一頁賬簿編號”為自己之前送出去的賬簿,那么就表示他們的工作成功被其他小組認(rèn)可了,因為已經(jīng)有小組基于他們的賬簿繼續(xù)工作了。此時,粗略的說可以認(rèn)為已經(jīng)得到了50個比特幣。
另外,任何一個小組當(dāng)新生成有效賬簿或確認(rèn)了別的小組的賬簿時,就將最新被這個小組承認(rèn)的交易寫到公告牌上,那么收款人只要發(fā)現(xiàn)相關(guān)交易被各個小組認(rèn)可了,基本就可以認(rèn)為這筆錢已經(jīng)到了自己的賬上,后面他就可以在付款時將錢的來源指向這筆交易了。
因為比特幣網(wǎng)絡(luò)是分布式記賬的。所以它的賬本沒有可能被黑客完全攻擊。而且因為所有人都有記賬的權(quán)利,也很難有人能私自篡改。
但因為計算權(quán)利是由算力競爭來決定,這就提供了一種攻擊比特幣網(wǎng)絡(luò)的可能性。
51%攻擊。
先讓我們回到礦工們的計賬和確認(rèn)方式上,因為挖礦小組是并行工作的,因此完全可能出現(xiàn)這樣的情況:某小組收到兩份不一樣的賬簿頁,它們都基于當(dāng)前這個小組的主賬簿的最后一頁,并且內(nèi)容也都完全合法。
關(guān)于這種情況,中本聰說:小組不應(yīng)該以線性方式組織賬簿,而應(yīng)該以樹狀組織賬簿,任何時刻,都以當(dāng)前最長分支作為主賬簿,但是保留其它分支。
?
舉個例子,某小組同時收到A、B兩份賬簿頁,經(jīng)核算都是合法的,此時小組應(yīng)該將兩頁以分叉的形式組織起來,如上圖所示
?
黑色表示當(dāng)前賬簿主干。此時,可以隨便選擇一個頁作為當(dāng)前主分支,例如選擇A
?
此時如果有一個新的賬簿頁是基于A的,那么這個主干就延續(xù)下去
?
如果這個主干一直這么延續(xù)下去,表示大家基本都以A為主干,B就會被遺忘。但是也有可能忽然B變成更長了
?
那么我們就需要將B分支作為當(dāng)前主干,基于這個分支進(jìn)行后續(xù)工作。
從局部來看,雖然在某一時刻各個小組的賬簿主干可能存在不一致,但大方向是一致的,那些偶爾由于不同步產(chǎn)生的小分支,會很快被淹沒在歷史中。
51%攻擊,就是在掌握了比特幣全網(wǎng)51%以上的計算能力的之后。先讓其他的礦工進(jìn)行工作,等受害者完成了交易之后再通過計算力的優(yōu)勢,覆蓋掉原先分支。
先假設(shè)有一個攻擊者擁有10個比特幣,他準(zhǔn)備將這筆錢同時支付給兩名受害者A和B,并都得到承認(rèn)。
?
第一步,攻擊者準(zhǔn)備從受害者A手里買10比特幣的黃金,他簽署交易單給受害者A,轉(zhuǎn)10個比特幣給受害者A。
?
第二步,這筆交易在最新的賬簿頁中被確認(rèn),并被各個挖礦小組公告出來。受害人A看到公告,確認(rèn)比特幣到賬,給了攻擊者10個比特幣等值的黃金。
?
第三步,攻擊者找到賬簿,從包含剛才交易的賬簿頁的前一頁做出一個分支,生成更多的賬單頁,超過剛才的分支。由于此時剛才攻擊者制造的分支變成了主干分支,而包含受害者A得到錢的分支變成了旁支,因此挖礦組織不再承認(rèn)剛才的轉(zhuǎn)賬,受害者A得到的10比特幣被取消了。
?
第四步,攻擊者可以再次簽署交易單,將同一筆錢支付給受害者B。受害者B確認(rèn)錢到賬后,支付給攻擊者等值黃金。
至此,攻擊者將10個比特幣花了兩次,從兩名受害者那里各購得等值黃金。攻擊者還可以如法炮制,取消與受害者B的轉(zhuǎn)賬,將同一筆錢再支付給其他人。。。。。。
中本聰給出的解決方案是,建議收款人不要在公告掛出時立即確認(rèn)交易完成,而是應(yīng)該再看一段時間,等待各個挖礦小組再掛出6張確認(rèn)賬簿,并且之前的賬簿沒有被取消,才確認(rèn)錢已到賬。
比特幣達(dá)到2100萬枚之后
等賬簿達(dá)到6,930,000頁后,新生成賬簿頁就沒有獎勵了。到時,礦工的收益會由挖礦所得變?yōu)槭杖∈掷m(xù)費。例如,你在轉(zhuǎn)賬時可以指定其中1%作為手續(xù)費支付給生成賬簿頁的小組,各個小組會挑選手續(xù)費高的交易單優(yōu)先確認(rèn)。
?
總結(jié)
以上是生活随笔為你收集整理的在比特币世界中矿工的作用是什么的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 誓言是什么意思 词语誓言什么意思
- 下一篇: 窃以为为什么是我以为的意思 窃以为是什么