投資有風險 入市需謹慎
APP
下載火星財經客戶端

掃描下載APP

微信公眾號
火星財經二維碼 火星財經

算力戰到底怎么打?——PoW算力是如何決定協議升級的

閃電HSL ·

10月18日

熱度: 6611

如果出現算力分成完全對立的兩方,并且至少有一方不愿意分裂,并且執意要求對方同意自己的路線,那就會出現算力戰。

第0章 引言

比特幣現金社區因為11月15日的升級出現分歧,算力是決定BCH走哪個方向的關鍵,這就是pow鏈上治理方式。算力到底是如何決定比特幣協議改進方向的?

?算力戰到底怎么打?——PoW算力是如何決定協議升級的

第1章 算力投票

如果全網面臨協議更改,算力分成愿意升和不愿意升兩類,如果沖突不嚴重,直接使用算力投票的方式就可以決定。

比特幣協議集里有一整套投票方法,用的最廣泛的就是BIP9。礦工通過在coinbase交易的input字段里打出標記來聲明自己是不是支持某種協議。

BIP9一般是通過統計最新的1000個塊的支持率。需要升級的協議可以捕捉支持率,比如設定好超過75%的塊支持,就鎖定協議升級。

鎖定協議升級后,那些不支持的算力就必須升級了,否則就會被大多數社區孤立掉,變成一種分叉幣。

如果投票始終達不到設定好的支持率,并且過了投票周期,那一般就認定為放棄此升級了。

?第2章 什么是算力戰?

如果出現算力分成完全對立的兩方,并且至少有一方不愿意分裂,并且執意要求對方同意自己的路線,那就會出現算力戰。

但算力戰到底怎么打,其實沒有真實案例可借鑒。我們從邏輯上判斷,一步一步解析出算力戰的打法。

算力戰的目的是什么?是為了自己的一協議版本繼承整個經濟生態,阻止生態分裂。

算力戰的敵人是誰?算力戰的參戰方應該集中在生產區塊的各方,就是帶算力的完整節點full node。更具體的說是“礦工+礦池構成的完整節點”。運行不兼容的協議的“礦工+礦池完整節點”之間互為敵人。

算力戰中,用戶不是敵人。包括交易所、錢包、和dapp等生態節點的一切成員,我們可以將這些視為平民。平民不參與戰爭,也不應該被卷戰爭。

算力戰的武器是什么?51%攻擊,配合最長鏈是有效鏈規則。

算力戰中犧牲的士兵是什么?是無效的區塊。

算力戰最后如何評判勝負?一方“礦工+礦池完整節點”不再打包和對方不兼容的協議的區塊,要么要退出這條鏈,要么服從對立方的協議。

那算力戰到底怎么打?

第3章 兩個戰場的算力戰

算力戰的一種打法是,對立的雙方先各自挖出一條鏈,先分裂,然后雙方各自派部分算力在自己的鏈上挖(防守),同時派部分算力到對方鏈上去挖(進攻)。有可能出現一方無意進攻,只專注防守,也有可能出現雙方都有攻守。

進攻的方式就是通過51%攻擊(或叫藏塊攻擊),配合最長鏈為有效鏈原則,重組作廢掉對方的區塊。

在決戰結束前,就是分裂成了兩條鏈,兩個幣。對所有用戶來說,都是兩條鏈,兩個幣。在決戰結束后,會回到一條鏈,一種幣。

藏塊攻擊是自己挖到塊后不廣播,而是連續挖到多個塊(超過對方挖的塊數)后一下子廣播出去,讓自己這些塊處在最長鏈上,從而孤立掉對方挖出來的塊。

一般想要成功發起這樣的攻擊,至少需要75%的算力優勢才可以穩贏。只有75%的優勢算力才有機會不停孤立掉25%的算力出的塊。因為運氣成份在。

假設運氣雙方五五開,75%的算力在最倒霉的情況下的實際算力是 75%*50%=37.5% ,而25%的算力在運氣最佳的時候實際算力是 25%*150%=37.5% 。雙方持平。所以想要穩贏,進攻方需要保持75%的算力優勢。如果做不到這樣的優勢,那雙方只能是互有損失。

用戶是平民,所以算力戰雙方都守規則的話,用戶發的絕大多數交易都會被重放到兩條鏈上都成立。

最理想的情況下,進攻方有絕對的優勢,75%的優勢,而且進攻方的藏塊里是不會打包交易的,這樣讓用戶發的交易在這條鏈上是永遠得不到確認,但用戶在另一條鏈上是可以得到確認的。這樣對用戶來說,相當于只有一條鏈存在。

但如果不存在絕對的算力優勢,兩個戰場都是只有相對優勢,那對用戶來說就是災難性的。因為交易會在得到確認后,突然又因為區塊被重組而確認數成新變成零確認;有時候交易會在一條鏈上得到確認,有時候又可能在兩條鏈都得到確認。本質上,這種情況下,鏈是無法使用。

另外一種情況是,因為有新協議更新,用戶發的交易可能會包含一些新的協議規則,這樣就可能在其中一條鏈上是無效的,永遠不會在這條鏈上得到確認。這樣就會更復雜。

基本上,如果出現這樣的傻逼算力戰,用戶最好的選擇就是暫停使用。

第4章 同一個戰場的打法

另外一種打法是,從開打,到結束,都始終只有一條鏈,一個幣,從未分裂。

我們把這種打法對立的雙方分成進攻方和防守方。進攻的一方為了不被分裂出去,始終兼容防守的一方的協議。即進攻方廣播出來的區塊100%符合防守方的協議,這樣只要有進攻方的區塊被廣播,防守方就依據處在最長鏈的塊為有效的原則進行挖礦。進攻方的區塊絕對不會打包在協議規則上會被防守方拒絕的區塊。

進攻方只是趁機使用51%攻擊(或叫藏塊攻擊),孤立掉防守方的區塊。

這種情況下,對所有的用戶來說,只存在一條鏈,一個幣。但用戶發出去的交易,哪怕是得到了防守方的區塊確認,也有可能會因為防守方的區塊被重組而退回到零確認,或者突然變成進攻方的區塊確認。也就是說,用戶發出去的交易是安全的,但可能會前后出現在不同的區塊高度上。

這種打法,對于進攻方來說,是可以臨時性忍受鏈上存在自己不想要的一些協議規則的,但發誓要修改掉它。

只要打完了之后,再來拒絕這些規則。

這種打法,對防守方來說,可以通過改變協議來躲避進攻方,讓進攻方不再兼容自己的協議。但因為比特幣都是開源的,只要防守方改協議,進攻方都知道,始終追著防守方屁股進行打,這是躲不掉的。除非搞成不開源的升級,但這是不可接受的。

這種打法,對于用戶來說,可以放心大膽地使用防守方的協議,只要得到進攻方的區塊的確認,那就是安全的確認,但得到防守方的區塊確認,就還要考慮會不會被重組。

第5章 精神病打法

其實還有一種打法,對整個生態來說,絕對是大好事,受損的只有對立的算力雙方,那就是燒幣打法。這是老 劉腦洞大開想出來的。

既然打算力戰本質上就是燒錢,打掉一個區塊,就最少浪費掉12.5個幣。那大家干脆不要真打,就直接燒幣好了。

雙方各自生成一個黑洞地址,為了安全起見,干脆使用OP_False腳本。對立的雙方就往對方黑洞地址里打幣,一筆12.5幣起。最后誰打的多,誰勝,然后算力統一運行獲勝方的協議。

2333max,各位,這只是一個玩笑,別當真。

第6章 結束語

真好玩,大家快來看熱鬧。


文章聲明:本文為火星財經專欄作者作品,版權歸作者所有。文章為作者本人觀點,不代表火星財經立場。

推廣
相關新聞

漲幅榜

你可能感興趣的內容
下一篇

曲速未來消息:被遺棄的推文計數器遭惡意腳本劫持

新疆18选7开奖结果