買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 幣贏 > Info

以太坊:POW礦池挖空塊原理和解決方案_Starlink Program

Author:

Time:1900/1/1 0:00:00

編者按:本文來自閃電HSL,作者:黃世亮,Odaily星球日報經授權發布。

第0章引言

比特幣的挖礦收益包含兩部分,第一是區塊獎勵;第二是交易手續費。如果打空塊,就收不到交易手續費,為什么有礦池會不要手續費來打空塊呢?

第1章POW挖礦原理

工作量證明POW挖礦就是區塊鏈生成新的區塊的過程。包括BTC、BCH、ETH、LTC……在內,POW挖礦都是按以下邏輯來。挖礦是這樣的,系統會給出一個目標值,這是一個數,比如前面有18個零。挖礦就是找出一個小于這個目標值的隨機數,比如前面有19個零。找到了,就挖到了區塊。關鍵字:隨機數。關鍵問題:這個隨機是怎么計算?這個隨機數是對礦池對最新高度的區塊鏈進行哈希得來的。關鍵字:最新高度。關鍵問題:什么是最新高度?現在有一個礦池挖到了一個區塊,并且廣播出去,我們假定這個區塊高度是50W高度。接下來所有礦池就會在這個50W高度后面繼續挖礦,具體動作是礦池先組裝一個新的區塊,這個新的區塊包含了“區塊頭”和“填充交易的區塊體”。區塊頭里有兩個需要特別說明的,第一個是父塊哈希值,這里是50W高度的hash值;第二個是Nonce,這是一個數,一個可以調整的數,從0開始。組裝好這個新的區塊后,礦機就對這個新區塊加上前面50W高度的區塊進行哈希。這個新的區塊就是上面的“最新高度”。礦機執行哈希一次,就得到一個哈希值,這是一個二進制數。礦池會拿這個值和目標值對比,如果小于目標值,就恭喜你,成功挖到礦,否則就將Nonce加1,再哈希,再對比,……顯然一臺礦機來哈希,你要試出滿足目標值的Nounce值,那真是要慢死了。但礦池可以將不同的Nounce劃分給不同的礦機來試。比如礦池一共有1000臺礦機,將0到1000,給第1臺試;10001到2000給第2臺試……這就是挖礦的并行。第2章POW挖空塊的原理

灰度宣布旗下基金將被分配約310萬ETH PoW代幣:9月16日消息,灰度(Grayscale)宣布,其ETHE信托和GDLC基金獲得分叉的ETH PoW代幣的權利。在可行的范圍內,灰度將尋求出售這些代幣并將凈現金收益分配給記錄日期的股東。

ETHE信托目前持有約3,059,976.06309448個ETH PoW代幣的權利,QDLC基金目前持有約40653.24325763 ETH PoW代幣的權利。[2022/9/16 7:02:14]

針對上面50W高度和最新高度區塊,我們需要進一步詳說。在礦池在對最新高度區塊鏈進行挖礦之前,是要對50W高度這個區塊進行驗證的。如果驗證成功,在“50W+1”這個新組裝的區塊高度上挖礦才是合法的,如果50W高度是一個非法的區塊,那所有的礦池是要回到“50W”高度去挖礦的。但驗證區塊是需要時間的,因為各個礦池的軟硬件不同,我們假定一個平均時間,10秒鐘驗證1M的區塊。在驗證結束之前,礦池是無法確認這個區塊是不是合法,也就無法確認是否應該添加“50W+1”高度的最新區塊。而組裝一個最新高度的區塊也是需要時間的,拿到一個區塊模板開始組裝,往里填寫父區塊哈希值和在內存池里挑選交易填充進區塊體,這都是需要時間,我們假定需要0.1秒。在驗證“50W”高度區塊時,和填充交易進“50W+1”區塊里,有一個提前,填充的交易是絕對不能和50W高度里已經打包的交易相重的。不然你這個最新高度區塊就會是非法的。而“50W”高度這個區塊從挖出到廣播到所有的礦池中也是需要時間的,廣播區塊有分兩步。第一步是廣播區塊頭;第二步是廣播區塊體。區塊體非常小,只有80字節,比一筆交易還小,廣播特別快,所有礦池可以非常快拿到區塊頭。有了區塊頭就可以拿到組裝新高度區塊的“父哈希值”。區塊體是包含所有交易的那部分,一般非常大,比如2500筆交易就接近1M了。BTC最大可以接近1M,加外3M的隔離見證區塊。而BCH曾經打包出21M的區塊體。所有礦池收到區塊體就要時間更長了,這叫網絡延遲。我們假定網絡延遲平時是0.5秒。礦池挖礦最簡單的做法是:一個礦池只要在拿到區塊體,才能確認區塊體里有哪些交易。而只有驗證完整個區塊,才能知道這個“50W”高度的區塊是否合法。然后再開始組裝最新高度區塊,然后再挖礦計算小于目標值的哈希值。那在拿到區塊體,和驗證完整個區塊,再加上組裝最新高度區塊,的時間長度是多少?0.5+10+0.1=10.6秒。如果一個礦池按上述過程來挖礦,那就在這10.6秒鐘的時間內是無法挖礦的,礦機是無效工作時間。而且礦機還是在開機耗電的。如果一個礦池按下面的過程來工作:拿到區塊頭,就開始組裝一個新的“50W+1”高度的區塊,但因為無法確認這個50W高度區塊里的交易和是整個區塊是否合法,所以這個“50W+1”高度的區塊,礦池并不對區塊體填充額外的交易,只填充一個Coinbase獎勵交易。這個“50W+1”高度的區塊,只有區塊頭,外加一個Coinbase獎勵交易——這就是一個空塊——然后就直接開始挖礦。這樣操作,在全網出現一個新塊時,礦也只需要等待拿到區塊頭和組裝空塊的時間,就可以開始挖礦。這個時間就非常短了,平時不到0.5秒。這樣就比10.6秒,節省了10秒多的時間。而按上述過程挖礦,礦池在收到完整50W高度區塊體和驗證完50W高度區塊,這個過程是10.6秒。在上述0.5秒到10.6秒的時間里,礦機如果計算出了一個隨機數小于目標值,那礦池就成功挖到了一個空塊。如果礦機沒有計算出小于目標值的隨機數,那礦池就會放棄這10.1秒的挖礦時間,然后改成組裝一個填充了交易的“50W+1”高度的最新高度區塊進行挖礦。上述就是挖空塊的全部邏輯。第3章優化挖礦原理

以太坊基金會協調人:以太坊在 3 到 6 個月內結束 PoW:11月18日消息,以太坊基金會生態建設協調人 Trenton Van Epps 發推稱,他個人估計以太坊在 3 到 6 個月內結束 PoW,呼吁以太坊礦工為此做好規劃。[2021/11/18 6:57:42]

上述挖空礦的原理中,確認“50W”高度區塊里的交易是一個重要的工作,如果能夠提前知道這些交易,那組裝“50W+1”高度的區塊,不就可以避開這些交易,去組裝另外一些交易了嗎,這樣就可以不用打空塊了。現在BTC和BCH網絡有兩個技術可以優化這個區塊體的傳播,也就可以讓所有礦池更快知道“50W”高度里有哪些交易。第一個技術叫布隆過濾器;第二個叫致密區塊(Compactblock)和瘦區塊。布隆過濾器是用來標記“50W”高度的區塊有哪些交易的,只是標識。礦池拿到這個標記就知道了里面有哪些交易,然后礦池會去自己的內存池查找這些交易,并列出自己沒有的交易,然后向其他節點索要自己沒有的交易。要到這些沒有的交易后,就在本地重新組裝一個“50W”高度的區塊,而不是從網絡上下載一個“50W”高度區塊。這個過程就是Compactblock和Xthinblock的原理。通過這兩個技術就可以壓縮網絡延遲時間,但依然壓縮不了驗證“50W”高度區塊的時間,而前者只有0.5秒,后者有10秒。這樣的時間差距,礦池還是要去挖空塊,不然整個礦機就在白白浪費電,要知道這個浪費10秒對全網來說是無比巨大的能源。那怎么辦?第4章徹底解決挖空塊的辦法

ETC有關將Pow證明算法改為Sha-3的提案被拒絕:金色財經報道,據ETC官方推特消息,ETC核心開發者今日舉行了電話會議。解決方案如下:1.ECIP-1099替代ECIP-1043“固定DAG大小”,在公示中(3周);2.ECIP-1049”Keccack256”(將ETC的Pow證明算法從Ethash改為Keccak256)轉至公示(4周);3.ECIP-1095“SHA3-256”(將ETC的Pow證明算法從Ethash改為Sha-3)被拒絕。[2020/9/12]

上述分析了挖空塊的原理和優化挖礦的原理,挖空塊的核心原因是礦池不敢往“50W+1”這個空塊中填充和“50W”高度里已經有的交易。如果有一種辦法可以保證礦池組裝的“50W+1”高度的空塊里絕對沒有“50W”高度里出現過的交易,不就可以解決問題了嗎?一種辦法是,礦池自己生成一些交易,不廣播,只保存在自己的內存池里,用來填充“50W+1”高度的空塊區塊,就可以了。但礦池不能生成一些無意義的交易,不然就是一些垃圾交易,這是對網絡的浪費。打包用戶發的交易肯定是有意義的,但用戶發的交易往往都是經過廣播的,打包就和“50W”高度區塊里的交易相沖突的風險。一定要找那些沒有經過廣播的交易。一種方法是礦池和交易所合作,用戶在交易所發起的提現交易,交易所不去廣播,而是通過IP到IP的方式,以加密的方法直接發給礦池,這些交易絕對不會被“50W”高度區塊打包的。這些交易就可以100%沒有沖突的打進“50W+1”高度。如果有交易所和礦池是同一個公司主體,那這種方法就非常好執行了。不是同一個主體,礦池還是怕被交易所坑,萬一交易所塞一個經過廣播的交易就可能被浪費掉一個空塊的區塊獎勵。但這種方法會讓交易所的用戶體驗有所下降,因為打空塊的概率低啊,這些交易得何年馬月才能被打包,雖然礦池可以在挖非空塊中打包,但用戶也得等這個礦池出塊才有確認,這和全網有出塊是差好長的時間的。另一種方法是讓交易所給礦池提交的保密交易不是用戶的提現交易,而是一些零散UTXO拼湊成大UTXO的交易。這種交易是對整個UTXO體積有很大的優化的,而且這些交易都沒有非常強烈的時間要求。適合被空塊打包。第5章結束語

動態 | V神對ProgPoW提案“先斬后奏”的方式表示批判:以太坊聯合創始人Vitalik Buterin對于部分社區成員悄無聲息的就表示“批準”了ProgPoW提案這種方式表示批判。實際上該提案仍在討論中,而社區開發人員也并就為此事達成一致。V神表示,ProgPoW從“唷,這件事已經過去了,很久沒有被提起了”突然在1.5個小時里就變成了“天啊,它現在被安排在下一次硬分叉的日程上了???! ”據外媒報道,ETH 1開發人員在上周五突然宣布:“以太坊核心開發者正在推進抗ASIC的ProgPoW,硬分叉升級暫定在7月進行”。然而,其實以太坊核心開發者并未就ProgPoW達成一致意見,也沒有暫定硬分叉升級時間。V神表示,他對此事是否能通過持中立態度,只批評這決策的過程。不過在過去兩年中,他也曾三、四次微妙地明確疑似表示出他不是很贊成這個提議,當然并沒有明確說過“不贊成”。(Trustnodes)[2020/2/25]

只需要考慮經濟因為的POW挖礦機制是最優的設定,道德不應該被摻進來。所有批評礦池打空塊的言論,都是對POW挖礦機制沒有信心的。

聲音 | 開發者:ProgPoW提案不太可能被納入伊斯坦布爾升級:根據Tim Beiko的推文,上周開發者們討論了ProgPow。由于伊斯坦布爾的測試網必須在大約1個月內上線,到目前為止因為缺乏審計結果,加上一些規格問題,似乎不太可能將其納入伊斯坦布爾,但是無論哪種方式都沒有達成很強的共識,并且提出了審計后(假設沒有問題)進行僅升級ProgPow網絡的選項。這絕對是未來AllCoreDevs的話題。[2019/7/22]

Tags:POWETH以太坊ROGpowr幣行情eth官網怎么進入以太坊幣最高價格是多少Starlink Program

幣贏
APP:DApp虛假繁榮背后的EOS_dappradar幣最新消息

本文來鏈魚魚,作者:鏈小魚,星球日報經授權轉載。EOS一直身處輿論的中心,以前是,現在是,未來仍將是.

1900/1/1 0:00:00
區塊鏈:DAG是加密世界的下一個大事件嗎?_杭州女子花300萬買比特幣暴漲

本文來自:藍狐筆記,作者:JackDossman,翻譯:Leo,星球日報經授權轉發。前言:DAG跟區塊鏈的賬本結構不同,它不是線性的,也不是區塊相連的鏈式結構.

1900/1/1 0:00:00
RAN:以“電商打假”場景切入,「simplyBrand.io」以 AI+眾包+區塊鏈打造“防偽售真”閉環_HOMERSIMPSON價

有行業數據顯示,2017年中國網購人數超過4億,電子商務交易額超過20萬億,移動支付額超過7億美元。如淘寶、京東、拼多多、唯品會等各種垂直領域的電商平臺成為了人們主要的購物渠道.

1900/1/1 0:00:00
USD:全新BTC數據周報(2018年)第5期_btc屬于什么幣種

大資金以消極防守策略應對“牛皮盤”市場,BTC平均價格將考驗前期低點繼續整固平臺。報告要點從市場交易數據來看,交易所間的價格變異系數低位反轉大幅上揚,拉動趨勢線抬升,交易所間的價格分歧加大將推動.

1900/1/1 0:00:00
AERGO:星球首發 | 支持可定制的區塊鏈 DApp 部署,AERGO 想成為操作性更強的 BaaS 平臺_區塊鏈

近日,AERGO與韓國區塊鏈基礎設施提供商Blocko合作,獲得來自風投機構包括紅杉資本中國在內的3000萬美元融資,用于技術開發.

1900/1/1 0:00:00
比特幣:萬億級巨鱷選手入場,手握 2.4 萬億的富達投資推出加密貨幣相關服務_加密貨幣是什么意思圖片

富達投資正在剝離一家獨立的公司,專門為機構投資人提供加密貨幣相關服務。根據外媒Forbes報道,這家剝離出來的獨立公司名為富達數字資產,將專門致力于為機構投資人提供加密貨幣.

1900/1/1 0:00:00
ads