日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 比特幣的挖礦收益包含兩部分,第一是區(qū)塊獎勵;第二是交易手續(xù)費。如果打空塊,就收不到交易手續(xù)費,為什么有礦池會不要手續(xù)費來打空塊呢? ? POW挖礦原理 工作量證明P

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


?

POW挖礦原理

工作量證明POW挖礦就是區(qū)塊鏈生成新的區(qū)塊的過程。包括BTC、BCH、ETH、LTC……在內(nèi),POW挖礦都是按以下邏輯來。

挖礦是這樣的,系統(tǒng)會給出一個目標值,這是一個數(shù),比如前面有18個零。挖礦就是找出一個小于這個目標值的隨機數(shù),比如前面有19個零。找到了,就挖到了區(qū)塊。關鍵字:隨機數(shù)。關鍵問題:這個隨機是怎么計算?

這個隨機數(shù)是對礦池對最新高度的區(qū)塊鏈進行哈希得來的。關鍵字:最新高度。關鍵問題:什么是最新高度?

現(xiàn)在有一個礦池挖到了一個區(qū)塊,并且廣播出去,我們假定這個區(qū)塊高度是50W高度。接下來所有礦池就會在這個50W高度后面繼續(xù)挖礦,具體動作是礦池先組裝一個新的區(qū)塊,這個新的區(qū)塊包含了“區(qū)塊頭”和“填充交易的區(qū)塊體”。區(qū)塊頭里有兩個需要特別說明的,第一個是父塊哈希值,這里是50W高度的hash值;第二個是Nonce,這是一個數(shù),一個可以調(diào)整的數(shù),從0開始。

組裝好這個新的區(qū)塊后,礦機就對這個新區(qū)塊(“50W+1”高度)加上前面50W高度的區(qū)塊進行哈希。這個新的區(qū)塊就是上面的“最新高度”。

礦機執(zhí)行哈希一次,就得到一個哈希值,這是一個二進制數(shù)。礦池會拿這個值和目標值對比,如果小于目標值,就恭喜你,成功挖到礦,否則就將Nonce加1,再哈希,再對比,……

顯然一臺礦機來哈希,你要試出滿足目標值的Nounce值,那真是要慢死了。但礦池可以將不同的Nounce劃分給不同的礦機來試。比如礦池一共有1000臺礦機,將0到1000,給第1臺試;10001到2000給第2臺試……這就是挖礦的并行。

POW挖空塊的原理

針對上面50W高度和最新高度區(qū)塊,我們需要進一步詳說。在礦池在對最新高度區(qū)塊鏈進行挖礦之前,是要對50W高度這個區(qū)塊進行驗證的。如果驗證成功,在“50W+1”這個新組裝的區(qū)塊高度上挖礦才是合法的,如果50W高度是一個非法的區(qū)塊,那所有的礦池是要回到“50W”高度去挖礦的。

但驗證區(qū)塊是需要時間的,因為各個礦池的軟硬件不同,我們假定一個平均時間,10秒鐘驗證1M的區(qū)塊。在驗證結束之前,礦池是無法確認這個區(qū)塊是不是合法,也就無法確認是否應該添加“50W+1”高度的最新區(qū)塊。

而組裝一個最新高度的區(qū)塊也是需要時間的,拿到一個區(qū)塊模板開始組裝,往里填寫父區(qū)塊哈希值和在內(nèi)存池里挑選交易填充進區(qū)塊體,這都是需要時間,我們假定需要0.1秒。

在驗證“50W”高度區(qū)塊時,和填充交易進“50W+1”區(qū)塊里,有一個提前,填充的交易是絕對不能和50W高度里已經(jīng)打包的交易相重的。不然你這個最新高度區(qū)塊就會是非法的。

而“50W”高度這個區(qū)塊從挖出到廣播到所有的礦池中也是需要時間的,廣播區(qū)塊有分兩步。第一步是廣播區(qū)塊頭;第二步是廣播區(qū)塊體。區(qū)塊體非常小,只有80字節(jié),比一筆交易還小,廣播特別快,所有礦池可以非??炷玫絽^(qū)塊頭。有了區(qū)塊頭就可以拿到組裝新高度區(qū)塊的“父哈希值”。區(qū)塊體是包含所有交易的那部分,一般非常大,比如2500筆交易就接近1M了。BTC最大可以接近1M,加外3M的隔離見證區(qū)塊。而BCH曾經(jīng)打包出21M的區(qū)塊體。所有礦池收到區(qū)塊體就要時間更長了,這叫網(wǎng)絡延遲。我們假定網(wǎng)絡延遲平時是0.5秒。

礦池挖礦最簡單的做法是:一個礦池只要在拿到區(qū)塊體,才能確認區(qū)塊體里有哪些交易。而只有驗證完整個區(qū)塊,才能知道這個“50W”高度的區(qū)塊是否合法。然后再開始組裝最新高度區(qū)塊,然后再挖礦計算小于目標值的哈希值。那在拿到區(qū)塊體,和驗證完整個區(qū)塊,再加上組裝最新高度區(qū)塊,的時間長度是多少?0.5+10+0.1=10.6秒。

如果一個礦池按上述過程來挖礦,那就在這10.6秒鐘的時間內(nèi)是無法挖礦的,礦機是無效工作時間。而且礦機還是在開機耗電的。

如果一個礦池按下面的過程來工作:拿到區(qū)塊頭,就開始組裝一個新的“50W+1”高度的區(qū)塊,但因為無法確認這個50W高度區(qū)塊里的交易和是整個區(qū)塊是否合法,所以這個“50W+1”高度的區(qū)塊,礦池并不對區(qū)塊體填充額外的交易,只填充一個Coinbase獎勵交易。這個“50W+1”高度的區(qū)塊,只有區(qū)塊頭,外加一個Coinbase獎勵交易——這就是一個空塊——然后就直接開始挖礦。這樣操作,在全網(wǎng)出現(xiàn)一個新塊時,礦也只需要等待拿到區(qū)塊頭和組裝空塊的時間,就可以開始挖礦。這個時間就非常短了,平時不到0.5秒。這樣就比10.6秒,節(jié)省了10秒多的時間。

而按上述過程挖礦,礦池在收到完整50W高度區(qū)塊體和驗證完50W高度區(qū)塊,這個過程是10.6秒。在上述0.5秒到10.6秒的時間里,礦機如果計算出了一個隨機數(shù)小于目標值,那礦池就成功挖到了一個空塊。如果礦機沒有計算出小于目標值的隨機數(shù),那礦池就會放棄這10.1秒的挖礦時間,然后改成組裝一個填充了交易的“50W+1”高度的最新高度區(qū)塊進行挖礦。

上述就是挖空塊的全部邏輯。

優(yōu)化挖礦原理

上述挖空礦的原理中,確認“50W”高度區(qū)塊里的交易是一個重要的工作,如果能夠提前知道這些交易,那組裝“50W+1”高度的區(qū)塊,不就可以避開這些交易,去組裝另外一些交易了嗎,這樣就可以不用打空塊了。

現(xiàn)在BTC和BCH網(wǎng)絡有兩個技術可以優(yōu)化這個區(qū)塊體的傳播,也就可以讓所有礦池更快知道“50W”高度里有哪些交易。第一個技術叫布隆過濾器;第二個叫致密區(qū)塊(Compact block)和瘦區(qū)塊(Xthin block)。(compact block是Core dev開發(fā)的,Xthin是unlimited dev開發(fā)的,兩者功能一樣。)

布隆過濾器是用來標記“50W”高度的區(qū)塊有哪些交易的,只是標識。礦池拿到這個標記就知道了里面有哪些交易,然后礦池會去自己的內(nèi)存池查找這些交易,并列出自己沒有的交易,然后向其他節(jié)點索要自己沒有的交易。要到這些沒有的交易后,就在本地重新組裝一個“50W”高度的區(qū)塊,而不是從網(wǎng)絡上下載一個“50W”高度區(qū)塊。這個過程就是Compact block和Xthin block的原理。

通過這兩個技術就可以壓縮網(wǎng)絡延遲時間,但依然壓縮不了驗證“50W”高度區(qū)塊的時間,而前者只有0.5秒,后者有10秒。

這樣的時間差距,礦池還是要去挖空塊,不然整個礦機就在白白浪費電,要知道這個浪費10秒對全網(wǎng)來說是無比巨大的能源。

那怎么辦?

徹底解決挖空塊的辦法

上述分析了挖空塊的原理和優(yōu)化挖礦的原理,挖空塊的核心原因是礦池不敢往“50W+1”這個空塊中填充和“50W”高度里已經(jīng)有的交易。

如果有一種辦法可以保證礦池組裝的“50W+1”高度的空塊里絕對沒有“50W”高度里出現(xiàn)過的交易,不就可以解決問題了嗎?

一種辦法是,礦池自己生成一些交易,不廣播,只保存在自己的內(nèi)存池里,用來填充“50W+1”高度的空塊區(qū)塊,就可以了。

但礦池不能生成一些無意義的交易,不然就是一些垃圾交易,這是對網(wǎng)絡的浪費。打包用戶發(fā)的交易肯定是有意義的,但用戶發(fā)的交易往往都是經(jīng)過廣播的,打包就和“50W”高度區(qū)塊里的交易相沖突的風險。

一定要找那些沒有經(jīng)過廣播的交易。

一種方法是礦池和交易所合作,用戶在交易所發(fā)起的提現(xiàn)交易,交易所不去廣播,而是通過IP到IP的方式,以加密的方法直接發(fā)給礦池,這些交易絕對不會被“50W”高度區(qū)塊打包的。這些交易就可以100%沒有沖突的打進“50W+1”高度。

如果有交易所和礦池是同一個公司主體,那這種方法就非常好執(zhí)行了。不是同一個主體,礦池還是怕被交易所坑,萬一交易所塞一個經(jīng)過廣播的交易就可能被浪費掉一個空塊的區(qū)塊獎勵。

但這種方法會讓交易所的用戶體驗有所下降,因為打空塊的概率低啊,這些交易得何年馬月才能被打包,雖然礦池可以在挖非空塊中打包,但用戶也得等這個礦池出塊才有確認,這和全網(wǎng)有出塊是差好長的時間的。

另一種方法是讓交易所給礦池提交的保密交易不是用戶的提現(xiàn)交易,而是一些零散UTXO拼湊成大UTXO的交易。這種交易是對整個UTXO體積有很大的優(yōu)化的,而且這些交易都沒有非常強烈的時間要求。適合被空塊打包。

結束語

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉