當前位置:首頁 » 幣種行情 » 為什麼要同步eth

為什麼要同步eth

發布時間: 2024-10-21 00:48:45

Ⅰ 一文讀懂以太坊—ETH2.0,是否值得長期持有

這幾天一直在看關於ETH倫敦升級方面的資料,簡單的聊一下,在加密貨幣的世界裡,無論是投資機構、區塊鏈應用開發者、礦機商,還是個人投資者、硬體供應商、 游戲 行業從業者等等,提起以太坊,或多或少都會有一些了解。

一方面取決於以太坊代幣 ETH 本身的造富效應。從 2014 年首次發行以來,投資回報率已經超過 7400 倍。


另一方面,以太坊作為應用最廣泛的去中心應用編程平台,引來無數開發者在其之上開發應用。這些應用不僅產生了巨大的商業價值,伴隨 DEFI 生態、NFT 生態、DAO 生態蓬勃發展,也給 ETH 帶來了更多使用者。


隨著「倫敦升級計劃」臨近,ETH 再次聚集所有人的關注目光。


以太坊 2.0 到底是什麼?包含哪些升級?目前進展如何?


以太坊 2.0 到來,會對現有以太坊生態的去中心化應用產生哪些影響?


ETH 是否值得持續投資?看完相信你會有自己的判斷。


如果將搭建應用比作造房子,那麼以太坊就提供了牆面、屋頂、地板等模塊,用戶只需像搭積木一樣把房子搭起來,因此在以太坊上建立應用的成本和速度都大大改善。以太坊的出現,迅速吸引了大量開發者進入以太坊的世界編寫出各類去中心應用,極大豐富人們對去中心應用場景的需求。

以太坊應用開發模型示意


以太坊與ETH


現有市場的加密貨幣,只是在區塊鏈技術應用在某一場景下的單一代幣。


以太坊也不例外,它的完整項目名稱是「下一代智能合約與去中心化應用平台」,Ether(以太幣)是其原生加密貨幣,簡稱 ETH。


ETH 除了可以用來與各種類型數字資產之間進行有效交換,還提供支付交易費用的機制,即我們現在做鏈上操作時所支付的 GAS 費用。GAS 費用機制的出現,即保護了以太坊網路上創建的應用不會被惡意程序隨意濫用,又因為 GAS 收入歸礦工所有,讓更多的用戶參與到以太坊網路的記賬當中成為礦工,進一步維護了以太坊網路安全與生態發展。


與 BTC 不同的是,ETH 並沒有採用 SHA256 挖礦演算法,避免了整個挖礦生態出現由 ASIC(專用集成電路)礦機主導以至於大部分算力被中心化機構控制所帶來的系統性風險。


以太坊最初採用的是 PoW(Proof of Work)的工作量證明機制,人們需要通過工作量證明以獲取手續費回報。我們經常聽說礦工使用顯卡挖礦,他們做的就是 POW 工作量證明。顯卡越多,算力越大,那麼工作量就越大,收入也就越高。


當前,整個以太坊網路的總算力大約為 870.26 TH/s,用我們熟悉的消費級顯卡來對比,英偉達 RTX 3080 的顯卡算力大約為 92-93 MH/s,以太坊網路相當於 936 萬張 3080 顯卡算力的總和。


以太坊白皮書內非常明確提到之後會將 PoW 工作證明的賬本機制升級為 POS (Proof of Stake)權益證明的賬本機制。


ETH經濟模型


與 BTC 總量 2100 萬枚不同,ETH 的總量並沒有做上限,而是在首次預售的 ETH 數量基礎上每年增發,增發數量為 0.26x(x 為發售總量)。


但也不用擔心 ETH 會無限通脹下去,長期來看,每年增發幣的數量與每年因死亡或者粗心原因遺失幣的數量大致相同,ETH 的「貨幣供應增長率」是趨近於零的。


ETH 分配模型包含早期購買者,早期貢獻值,長期捐贈與礦工收益,具體分配比例如下表。

現在每年將有 60,102,216 * 0.26 = 15,626,576 個 ETH 被礦工挖出,轉成 PoS 後,每年產出的 ETH 將減少。


目前,市場上流通的 ETH 總量約為 116,898,848 枚,總市值約為 2759 億美元。


以太坊發展歷程


1. 邊境階段(2015年):上線後不久進行了第一次分叉,調整未來挖礦的難度。此版本處於實驗階段,技術並未成熟,最初只能讓少部分開發者參與挖礦,智能合約也僅面向開發者開發應用使用,並沒有用戶參與,以太坊網路處於萌芽期。


邊境階段 ETH 價格:1.24 美元。


2. 家園階段(2016年):以太坊主網於 2016 年 3 月進行了第二次分叉,發布了第一個穩定版本。此版本是第一個成熟的正式版本,採用 100% PoW 證明,引入難度炸彈,隨著區塊鏈數量的增加,挖礦難度呈指數增長,網路的性能大幅提升,以太坊項目也進入到快速成長期。在」家園「版本里,還發生了著名的」The DAO 攻擊事件「,以太坊被社區投票硬分叉為以太坊(ETH)與以太經典(ETC)兩條鏈,V 神站在了 ETH 這邊。


家園階段 ETH 價格:12.50 美元。


3. 都會階段(2017~2019年):都會的開發又分為三個階段,升級分成了三次分叉,分別是 2017 年 10 月的「拜占庭」、2019 年 2 月底的「君士坦丁堡「、以及 2019 年 12 月的「伊斯坦布爾」。這些升級主要改善智能合約的編寫、提高安全性、加入難度炸彈以及一些核心架構的修改,以協助未來從工作量證明轉至權益證明。


在都會階段,以太坊網路正式顯現出其威力,正式進入成熟期。智能合約讓不同鏈上的加密貨幣可以互相交易,ERC-20 也在 2017 代幣發行的標准,成千上萬個項目在以太坊網路進行募資,被稱作「首次代幣發行(ICO)」,相信很多幣圈的老人都是被當時 ICO 造富效應帶進來的。到 2019 年,隨著DeFi 生態的崛起,金融產品正式成為以太鏈上最大的產業。


都會階段 ETH 價格:151.06 美元。


4. 寧靜階段(2020-2023年):與都會分三階段開發相同,寧靜階段目前預計分成三次分叉:柏林(已完成)、倫敦(即將到來)、以及後面的第三次分叉。「寧靜」階段又稱為「以太坊 2.0」,是項目的最終階段,以太坊將從工作量證明方式正式轉向權益證明,並開發第二層擴容方案,提高整個網路的運行效率。


寧靜階段可以說是以太坊網路的集大成之作,如果說前個三階段只是讓以太坊的願景展現的實驗平台,寧靜階段之後的以太坊,將正式成為完全體,不僅有完備的生態應用,超級快的處理速度,眾多網路協同發展,而且 PoS 機制會非常節約能源,真正代表了區塊鏈技術逐漸走向成熟的標志。


寧靜階段 ETH 價格:2021 年 4 月 15 日完成的柏林階段,當天價格為 2454 美元。

即將到來的倫敦協議升級

以太坊生態


以太坊的生態發展,從屬性劃可分為兩大類:一是以太坊網路生態應用建設,二是以太坊網路擴容建設。兩者相互融合,互相成就,應用需要更健壯強大的網路作為承載,網路需要功能完善的應用場景服務用戶。


先說應用生態,以太坊的生態我們又可以分為以下幾大類:


1. 去中心化自製組織(DAO)生態


什麼是去中心化自製組織?還是以我們熟悉的比特幣舉例:比特幣目前市值七千多億美金,在全球資產市值類排名第九,但比特幣並不是某一公司發布的產品,也沒有特定公司組織招聘人員進行維護。比特幣現有的一切,都源於比特幣持有者、比特幣礦工自發形成的分布式組織,他們通過投票方式規劃比特幣發展路線,自發參與維護比特幣程序與網路 —這僅僅因為只要擁有比特幣,所有人都是比特幣網路建設中的受益者,一切維護都源於自身的利益關系。


比特幣的發明與成功運行,突破了由荷蘭人創建、至今流行 400 多年的公司商業架構,開創出一種全新的、無組織架構的、全球分布式的商業模式,這就是 DAO。


再說回以太坊,以太坊的 DAO 可以由智能合約編寫,用戶自定義應用場景。簡單說就是我們規定出程序執行條件與執行范圍,真實世界裡只要觸發設定好的條件,程序就會自動執行運行,且所有過程都會在以太坊的網路上進行去中心化公開驗證,不需要經過人工或者任何第三方組織機構確認。


以太坊 DAO 生態演化出許多商業場景,有慈善機構使用 DAO 建立公開透明的捐款與使用機制,有風投機構使用 DAO 建立公平分配的風險基金。


以太坊生態的很多項目都採用 DAO 自治,代表項目有:Uniswap,AAVE,MakerDAO,Compound,Decred,Dash 等。


2. 去中心化金融(DEFI)生態


在傳統商業世界裡,我們如果需要借錢、存錢,或者買某一公司股票,或者做企業貸款、融資,只要是進行金融活動,總離不開與銀行、證券機構、會計事務所這些金融機構打交道。


而在去中心的世界裡,區塊鏈本質就是集合所有人交易記錄且公開的大賬本,我們可以非常容易的追溯到每一個錢包地址發生過的每一筆交易,查詢到任意一個錢包地址的余額信息,從而對錢包地址里的資產做評估。


舉個例子:全世界個人貸款最貴的國家是印度,印度的年輕人房貸利率目前是 8.8%,最高曾經到過 20%;與此對應,全世界個人存款利率最低的國家是日本,日本政府為了鼓勵民眾消費,在很長一段時間里銀行存款利率是負值,日本人在銀行存款不僅沒有利息,還要給銀行交保管費。理論上,如果日本人將自己的存款借與印度人,雙方都能獲得利益最大化,但現實生活中這樣的場景很難發生。一是每個國家都有外匯管制,日本人的錢並不容易能給到印度人,二是印度人的信用如何日本人也不好評估,大家沒有統一標准,萬一借出去的錢無法歸還,不能沒了收益還要蒙受損失。


但在去中心的世界裡,這樣的事情就簡單的多。


如果印度人的錢包地址里有比特幣,我們就可以利用智能合約,印度人將自己的比特幣質押進去,根據比特幣當時的價格,系統自動給印度人一個授信額度,印度人就可以拿著這個額度去和日本人借款,並規定好還款的周期與利率。如果印度人違約,合約自動將印度人質押進去的比特幣扣除,優先保障日本的權利,這樣,日本人不用擔心安全問題放心享受收益,印度人也有了更多的款項做為流動資金。


這個例子就是去中心金融的簡單應用,實際上,這就是我們參與 DEFI 挖礦是質押理財的原理 —— 當然真正應用實現演算法與場景要復雜的多。


DEFI 根據場景不同,又可以分為很多賽道,比如穩定幣、預言機、AMM 交易所、衍生品、聚合器等等。


DEFI 代表項目有:Dai,Augur,Chainlink,WBTC,0x,Balance,Liquity 等。


3. 非同質化代幣(NFT)生態


世界名畫《蒙娜麗莎》,只有達·芬奇的原版可以展覽在法國盧浮宮博物館,哪怕現代的技術可以無比精細地復刻出來,仿品都不具備原版的收藏價值。


這就是 NFT 的應用場景。NFT是我們可以用來表示獨特物品所有權的代幣,它們讓我們將藝術品、收藏品甚至房地產等現實事物唯一代幣化。雖然文件(作品)本身是可以無限復制,但代表它們的代幣在鏈上可以被追蹤,並為買家提供所有權證明。


相比現實中實物版權、物權的雙重交割相比,NFT 只需要交割描述此物品的唯一代幣。NFT 作品往往存儲在如 IPFS 這樣的分布式存儲網路里,隨用隨取,永不丟失,加之交割簡單方便,很快吸引了大量玩家與投資者收藏轉賣,NFT 出現也給藝術家提供了全新的收入模式。


類似 DEFI 生態,NFT 生態根據應用場景不同也產生了不同賽道,目前比較火熱的賽道有 NFT 交易平台,NFT 游戲 平台,NFT 藝術品平台, NFT 與 DEFI 結合在一起的金融平台。


NFT 代表項目有:CryptoKitties,CryptoPunks,Meebits,Opensea,Rally,Axie Infinity,Enjin Coin,The Sandbox 等。


4. 標准代幣協議(ERC-20)生態


與 NFT 非同質化代幣所對應的,就是同質化代幣。比如我們使用的人民幣就是一種同質化代幣,我們可以用人民幣進行價值交換,即使序號不同也不影響其價值,如果面額相同,不同的鈔票序號對持有者來說沒有區別。


BTC,ETH 和所有我們熟知的加密貨幣,都屬於同質化代幣。同種類的一個比特幣和另一個比特幣沒有任何區別,規格相同,具有統一性。在交易中,只需關注代幣交接的數量即可,其價值可能會根據交換的時間間隔而改變,但其本質並沒有發生變化。


以太坊的 ERC-20 就是定義這種代幣的標准協議,任何人都可以使用 ERC-20 協議,通過幾行代碼,發布自己在以太坊網路上的加密貨幣。


現在,以太坊網路上運行的代幣種類有上百萬個,上邊提到的項目,大多也在以太坊網路中發布了自己的同質化代幣。


ERC-20 代表項目有:USDT,USDC,WBTC 等。


以太坊網路擴容性


我們先引入一個概念:區塊鏈的不可能三角,即無論何種方法,我們都無法同時達到可擴展、去中心化、安全,三者只能得其二。


這其實很好理解,如果我們要去中心化和安全,就需要更多有節點參與網路進行驗證,從而導致驗證人增多、網路效率降低,擴展性下降。網路性能建設就是在三者之間找到平衡點。


用數據舉例,目前比特幣可處理轉賬 7 筆 / 秒,以太坊是 25 筆 / 秒,而 VISA 平均為 4500 筆 / 秒,峰值則達每秒上萬筆。這種業務處理能力的差別,我們就可以簡單理解為是「吞吐量」的差距。而想要提高吞吐量,則需要擴展區塊鏈的業務處理能力,這就是所謂的擴展性。


根據優化方法不同,以太坊網路性能擴容方案可以分為:


1. Layer 1 鏈上擴展,所有交易都保留在以太坊上的擴展解決方案,具有更高的安全性。


鏈上擴展的本質還是改進以太坊主鏈本身,使整個系統擁有更高的拓展性與運行效率。一般的方法有兩種,要麼改變共識協議,比如 ETH 將從 PoW 轉變為 PoS;要麼使用分片技術,優化方法使網路具有更高效率。


2. Layer 2 鏈下擴展,在以太坊協議之上分層單獨做各場景解決方案,具有更好的擴展性。


鏈下擴展可以理解為把計算、交易等業務處理場景拿到以太坊主鏈之外計算,最後將計算好的結果傳回主鏈,主鏈只反映最終的結果而不用管過程,這樣,無論多麼復雜的應用都不會對主鏈產生影響。


我們並不需要明白具體技術實現,只需知道:相比 Layer 1 方案,Layer 2 方案網路不會干擾底層區塊鏈協議,可以替 Layer 1 承擔大部分計算工作,從而降低主網路的負擔提高網路業務處理效率,是目前公認比較好的擴容方案。


以太坊2.0


終於講到以太坊 2.0,回到主題。


通過回顧以太坊的發展 歷史 ,以太坊 2.0 並不是新項目,它只是以太坊開發進程的最後一個階段,它將由整個以太坊生態多個團隊協同完成,目標是使以太坊更具可擴展性、更安全和更可持續,最終成為主流並為全人類服務。


ETH2建設目標:


1. 更具可擴展性。每秒支持 1000 次交易,以使應用程序使用起來更快、更便宜。


2. 更安全。以太坊變得更加安全,以抵禦所有形式的攻擊。


3. 更可持續。提高網路性能的同時減少對能源的消耗,更好地保護環境。


最重要的變化,ETH2 將從 ETH1 使用的 PoW(Proof of Work)工作量證明機制升級為 POS (Proof of Stake)權益證明機制。不再以算力做為驗證方式,而是通過質押加密貨幣的數量做為驗證手段。礦工不需要顯卡也能挖礦,既節省了時間成本與電力成本,又提高了 ETH 的利用率,非常類似錢存在銀行獲得利息。


ETH2 主要使用的技術是分片分層技術實現整個網路擴容。


ETH2 升級將分為三個階段進行:


1. 階段0(正在進行):信標鏈的創建與合並。信標鏈是 ETH2 的主鏈,如同人類的大腦,是 ETH2 得以運行的基礎。


2. 階段1(預計2022年):分片鏈的創建與應用。當信標鏈與 ETH1 合並完成後,就進入分片鏈的開發階段。分片鏈可以理解為將 ETH2 主鏈的整塊數據按一定規則拆分存放,單獨建立新鏈處理,用來分擔主鏈上的數據壓力,目前規劃是建立 64 條分片鏈。


舉個例子,從北京到上海,原來的交通工具只有一條公路,所有的車輛都需要在上邊運行,就會非常擁擠;現在通過分片技術,多出來高鐵、飛機等交通方式,分流的車輛同時到達速度更快,這就是分片鏈起到的作用。

分片鏈與主鏈交互示意圖


3. 階段2(預計2023年):整個網路功能的融合。到了此階段,整個系統的功能全面開始融合,分片鏈的功能會更加強大,新的處理機制開始支持賬戶、智能合約、開發工具的創建,新的生態應用等。


此階段是以太坊網路的最終形態,網路性能得到全面提升,生態應用全面爆發。但要服務全人類,ETH2 每秒 1000 次的交易效率顯然還是遠遠不夠,以太坊也會為它的目標持續優化下去。


ETH2對於大家有什麼影響?


1. 對於以太坊生態開發者。ETH2 在部署應用的時候,是需要選擇應用在哪條分片網路進行部署,造成這種差異的原因是跨分片通信不同步,這就意味著開發者需要根據自己發展計劃做不同的組合。


2. 對與 ETH 持幣者。ETH2 與 ETH1 數據完全同步,代幣也不會有任何變化,你可以繼續使用現在的錢包地址繼續持有 ETH。


3. 對於礦工。雖然 PoW 與 PoS 還會並行一段時間,可以預計的 PoW 礦機的產出會越來越少,應該開始減少 PoW 礦機的投資,開始轉向 PoS 機制。


4. 對於用戶。ETH2 速度更快,交易手續費更低,網路體驗會非常好,唯一值得注意的是,由於 Dapp 部署在不同的分片網路上,可能需要手動選擇應用的網路選項。


ETH是否值得投資?


ETH 是除了 BTC 以外市場的風向標,明確了解 ETH2 非常有助於我們理解其他區塊鏈項目,理解二級市場。


簡單總結幾個點吧:


1. 通過以太坊的項目分析,我們可以清晰地看到:在比特幣之後,以太坊項目的發展史就是目前區塊鏈應用生態的發展史。無論 DEFI 生態,NFT 生態,DAO 生態還是代幣、合約、協議生態,其實在以太坊發布白皮書時已有預見,後來出現的項目,都是圍繞以太坊做驗證。


2. 以太坊的聯合創始人里,只有 V 神還在為以太坊事業做貢獻,但這並不影響以以太坊繁榮發展。以太坊初始團隊只是創建了它,後續的發展是社區、開發者、礦工與用戶共同建立的結果,現在的以太坊早已不是某一個人的思維,它是所有以太坊生態參與者共同的結晶,它屬於全人類。


3. 以太坊在過去的幾年一直沿著既定的開發軌跡發展,雖然中途一度出現過危機,以太坊「被死亡」了好幾百次,以太坊還是頑強的發展下來,並且擁有了繁榮生態。ETH2 還要兩三年時間才能落地,中間也充滿變數,比如其他的公鏈搶佔先機,但可以預見,ETH2 後的以太坊會更加健壯。


4. 不要在抱有任何 BTC 會死亡,區塊鏈行業會消失這樣的偽命題。BTC、ETH 讓我們看到了突破原有公司組織架構,一種全新無組織架構的商業模式存在,這種商業模式顯然更符合這個時代的發展需求,無論項目地發起團隊在不在,無論各國政府如何打壓,只要技術對人類有貢獻,就會由人員自發組織維護,區塊鏈技術是革命。


5. ETH2 的上線,短期看 PoW 獎勵與 PoS 獎勵並行,可能會讓 ETH 總通脹率短期內飆升,長期看 ETH 通脹率始終保持平衡。加上 ETH 本身的生態與應用場景,ETH是值得投資的,目前看不到有其他公鏈代替以太坊公鏈的可能性,ETH2 的上線,甚至會對其他公鏈造成「虹吸效應」,萬鏈歸一。

#比特幣[超話]# #數字貨幣#

Ⅱ ETH合並的幾個小Tips:何時通縮分叉幣價值幾何

1、共識機制的切換並不是「瞬時」完成:

以太坊 主網合並升級不會立即完成Pow Pos的轉變,當前以太坊是兩種共識機制同步運行,Pow佔90%,Pos佔到10%,按照開發組將難度炸彈的時間推遲到9.12日,難度炸彈爆發後伴隨合並完成Pow挖礦難度將會逐漸「指數型增加」,屆時局於挖礦成本的問題,倒逼Pow礦工逐步退出網路,但該過程可能持續將近6個月以上的時間,Pow網路也將進入「冰河期」

2、冰河期逐步減產,「通縮」並非一蹴而就:

在冰河期,由於以太坊Pow挖礦難度的劇增,出塊時間的延長意味著礦工每日出塊總獎勵減少,按照以往難度炸彈爆發時期的數據,冰河期內大約1個月會進行1次Pow挖礦難度的調增,每次調增的力度都會比上一次更顯著,預估持續6個月以太坊網路的總獎勵將減少50%以上,持續9個月的時間將減少80%以上,經過6-9個月的時間將會完成大部分的減產,近幾日 ETH Burn徘徊在1300附近,因此以太坊真正達到「通縮」需要在合並6個月後即23年上半年才能完成

3、用戶端並不會有過多不良體驗:

在以往難度炸彈爆發的冰河時期,隨著Pow挖礦難度的陡增,用戶端可能會產生非常不良的體驗,雖然手續費可能並沒有很高的提升,但是交互時間延長會明顯降低用戶體驗;不過本次合並之後用戶可能不會感受到明顯的交互時間延長,合並後共識機制的切換,Pos驗證開始將逐漸承載原本Pow驗證的份額,出塊時間更多的是參照Pos的時間;並且本次難度炸彈爆發和合並相隔時間不長,最多隻會有1-2次的挖礦難度調增,最差情況下增加2秒附近的出塊時間可能也不會過多影響用戶體驗

4、礦工分叉價值幾何?定價權在交易所:

2017年 比特幣 經過了一波分叉潮,潮水過後最終發現大家都在裸泳,只有比特幣仍然屹立不倒,當時市場更多的是看不懂、看不清,分叉的「好」與「壞」在激辯中沒有定論,交易所上線分叉也不會背負更多的罵名,市場的猶豫成為交易所爭奪流量的工具;但今日非同往昔,主流的聲音都是力挺主鏈,小型交易所可能會應為流量爭奪被迫上線,而頭部交易所應更加愛惜自身的羽毛,沒有頭部交易所支持失去流動性的分叉將是一地雞毛;不過分叉幣大概率還是會存在

5、算力遷移能否成真?或是偽命題:

市場更多的是在計價炒作預期。市場中大約80%以上為Gpu礦機,大部分GPU礦場會轉型,為視頻流應用程序構建基礎架構、2D 和 3D 對象的渲染以及雲伺服器,因此也能保證一定的利潤;算力遷移的過程伴隨著挖礦難度的驟增,獎勵也會隨之減少,甚至入不敷出,因此並不認為大礦工會頂著巨額的成本拉高ETC沒有生態支持的幣價,更何況Gpu礦機也並非一條出路。而算力遷移和幣價是否有直觀的聯系更像是先有雞還是蛋的問題

Ⅲ Eth怎麼玩啊,現在適不適合入場

中幣已經率先開啟了ETH2.0驗證節點挖礦通道,然後此外還上線了QETH,用戶可以將自有ETH投入進行驗證節點挖礦並兌換QETH以獲得流動性,兌入即參與挖礦。從11月4日開始,ETH已經從443美最高漲到了622美元。所以。現在絕對是入手ETH的好時機。中幣ETH2.0嚴格按照1:1質押發行,所有的質押均與以太坊2.0保持同步,幫助用戶低門檻參與ETH2.0驗證節點挖礦,Staking 收益空投給 QETH 持有者,QETH還可以流通交易。

Ⅳ ethtool原理介紹和解決網卡丟包排查思路

之前記錄過處理因為LVS網卡流量負載過高導致軟中斷發生丟包的問題, RPS和RFS網卡多隊列性能調優實踐 ,對一般人來說壓力不大的情況下其實碰見的概率並不高。這次想分享的話題是比較常見伺服器網卡丟包現象排查思路,如果你是想了解點對點的丟包解決思路涉及面可能就比較廣,不妨先參考之前的文章 如何使用MTR診斷網路問題 ,對於Linux常用的網卡丟包分析工具自然是ethtool。

2020年06月22日 - 初稿

閱讀原文 - https://wsgzao.github.io/post/ethtool/

ethtool - utility for controlling network drivers and hardware

ethtool is the standard Linux utility for controlling network drivers and hardware, particularly for wired Ethernet devices. It can be used to:

Most features are dependent on support in the specific driver. See the manual page for full information.

ethtool 用於查看和修改網路設備(尤其是有線乙太網設備)的驅動參數和硬體設置。你可以根據需要更改乙太網卡的參數,包括自動協商、速度、雙工和區域網喚醒等參數。通過對乙太網卡的配置,你的計算機可以通過網路有效地進行通信。該工具提供了許多關於接駁到你的 Linux 系統的乙太網設備的信息。

接收數據包是一個復雜的過程,涉及很多底層的技術細節,但大致需要以下幾個步驟:

NIC 在接收到數據包之後,首先需要將數據同步到內核中,這中間的橋梁是 rx ring buffer 。它是由 NIC 和驅動程序共享的一片區域,事實上, rx ring buffer 存儲的並不是實際的 packet 數據,而是一個描述符,這個描述符指向了它真正的存儲地址,具體流程如下:

當驅動處理速度跟不上網卡收包速度時,驅動來不及分配緩沖區,NIC 接收到的數據包無法及時寫到 sk_buffer ,就會產生堆積,當 NIC 內部緩沖區寫滿後,就會丟棄部分數據,引起丟包。這部分丟包為 rx_fifo_errors ,在 /proc/net/dev 中體現為 fifo 欄位增長,在 ifconfig 中體現為 overruns 指標增長。

這個時候,數據包已經被轉移到了 sk_buffer 中。前文提到,這是驅動程序在內存中分配的一片緩沖區,並且是通過 DMA 寫入的,這種方式不依賴 CPU 直接將數據寫到了內存中,意味著對內核來說,其實並不知道已經有新數據到了內存中。那麼如何讓內核知道有新數據進來了呢?答案就是中斷,通過中斷告訴內核有新數據進來了,並需要進行後續處理。

提到中斷,就涉及到硬中斷和軟中斷,首先需要簡單了解一下它們的區別:

當 NIC 把數據包通過 DMA 復制到內核緩沖區 sk_buffer 後,NIC 立即發起一個硬體中斷。CPU 接收後,首先進入上半部分,網卡中斷對應的中斷處理程序是網卡驅動程序的一部分,之後由它發起軟中斷,進入下半部分,開始消費 sk_buffer 中的數據,交給內核協議棧處理。

通過中斷,能夠快速及時地響應網卡數據請求,但如果數據量大,那麼會產生大量中斷請求,CPU 大部分時間都忙於處理中斷,效率很低。為了解決這個問題,現在的內核及驅動都採用一種叫 NAPI(new API)的方式進行數據處理,其原理可以簡單理解為 中斷 + 輪詢,在數據量大時,一次中斷後通過輪詢接收一定數量包再返回,避免產生多次中斷。

(1) RX errors

表示總的收包的錯誤數量,這包括 too-long-frames 錯誤,Ring Buffer 溢出錯誤,crc 校驗錯誤,幀同步錯誤,fifo overruns 以及 missed pkg 等等。

(2) RX dropped

表示數據包已經進入了 Ring Buffer,但是由於內存不夠等系統原因,導致在拷貝到內存的過程中被丟棄。

(3) RX overruns

表示了 fifo 的 overruns,這是由於 Ring Buffer(aka Driver Queue) 傳輸的 IO 大於 kernel 能夠處理的 IO 導致的,而 Ring Buffer 則是指在發起 IRQ 請求之前的那塊 buffer。很明顯,overruns 的增大意味著數據包沒到 Ring Buffer 就被網卡物理層給丟棄了,而 CPU 無法即使的處理中斷是造成 Ring Buffer 滿的原因之一,上面那台有問題的機器就是因為 interruprs 分布的不均勻(都壓在 core0),沒有做 affinity 而造成的丟包。

(4) RX frame

表示 misaligned 的 frames。

網線上的packet首先被網卡獲取,網卡會檢查packet的CRC校驗,保證完整性,然後將packet頭去掉,得到frame。網卡會檢查MAC包內的目的MAC地址,如果和本網卡的MAC地址不一樣則丟棄(混雜模式除外)。

網卡將frame拷貝到網卡內部的FIFO緩沖區,觸發硬體中斷。(如有ring buffer的網卡,好像frame可以先存在ring buffer里再觸發軟體中斷(下篇文章將詳細解釋Linux中frame的走向),ring buffer是網卡和驅動程序共享,是設備里的內存,但是對操作系統是可見的,因為看到linux內核源碼里網卡驅動程序是使用kcalloc來分配的空間,所以ring buffer一般都有上限,另外這個ring buffer size,表示的應該是能存儲的frame的個數,而不是位元組大小。另外有些系統的 ethtool 命令 並不能改變ring parameters來設置ring buffer的大小,暫時不知道為什麼,可能是驅動不支持。)

網卡驅動程序通過硬中斷處理函數,構建sk_buff,把frame從網卡FIFO拷貝到內存skb中,接下來交給內核處理。(支持napi的網卡應該是直接放在ring buffer,不觸發硬中斷,直接使用軟中斷,拷貝ring buffer里的數據,直接輸送給上層處理,每個網卡在一次軟中斷處理過程能處理weight個frame)

過程中,網卡晶元對frame進行了MAC過濾,以減小系統負荷。(除了混雜模式)

網卡驅動程序將IP包添加14位元組的MAC頭,構成frame(暫無CRC)。Frame(暫無CRC)中含有發送端和接收端的MAC地址,由於是驅動程序創建MAC頭,所以可以隨便輸入地址,也可以進行主機偽裝。

驅動程序將frame(暫無CRC)拷貝到網卡晶元內部的緩沖區,由網卡處理。

網卡晶元將未完全完成的frame(缺CRC)再次封裝為可以發送的packet,也就是添加頭部同步信息和CRC校驗,然後丟到網線上,就完成一個IP報的發送了,所有接到網線上的網卡都可以看到該packet。

產生中斷的每個設備都有一個相應的中斷處理程序,是設備驅動程序的一部分。每個網卡都有一個中斷處理程序,用於通知網卡該中斷已經被接收了,以及把網卡緩沖區的數據包拷貝到內存中。

當網卡接收來自網路的數據包時,需要通知內核數據包到了。網卡立即發出中斷。內核通過執行網卡已注冊的中斷處理函數來做出應答。中斷處理程序開始執行,通知硬體,拷貝最新的網路數據包到內存,然後讀取網卡更多的數據包。

這些都是重要、緊迫而又與硬體相關的工作。內核通常需要快速的拷貝網路數據包到系統內存,因為網卡上接收網路數據包的緩存大小固定,而且相比系統內存也要小得多。所以上述拷貝動作一旦被延遲,必然造成網卡FIFO緩存溢出 - 進入的數據包占滿了網卡的緩存,後續的包只能被丟棄,這也應該就是ifconfig里的overrun的來源。

當網路數據包被拷貝到系統內存後,中斷的任務算是完成了,這時它把控制權交還給被系統中斷前運行的程序。

網卡的內核緩沖區,是在PC內存中,由內核控制,而網卡會有FIFO緩沖區,或者ring buffer,這應該將兩者區分開。FIFO比較小,裡面有數據便會盡量將數據存在內核緩沖中。

網卡中的緩沖區既不屬於內核空間,也不屬於用戶空間。它屬於硬體緩沖,允許網卡與操作系統之間有個緩沖;

內核緩沖區在內核空間,在內存中,用於內核程序,做為讀自或寫往硬體的數據緩沖區;

用戶緩沖區在用戶空間,在內存中,用於用戶程序,做為讀自或寫往硬體的數據緩沖區;

另外,為了加快數據的交互,可以將內核緩沖區映射到用戶空間,這樣,內核程序和用戶程序就可以同時訪問這一區間了。

對於有ring buffer的網卡,ring buffer是由驅動與網卡共享的,所以內核可以直接訪問ring buffer,一般拷貝frames的副本到自己的內核空間進行處理(deliver到上層協議,之後的一個個skb就是按skb的指針傳遞方式傳遞,直到用戶獲得數據,所以,對於ring buffer網卡,大量拷貝發生在frame從ring buffer傳遞到內核控制的計算機內存里)。

網卡工作在數據鏈路層,數據量鏈路層,會做一些校驗,封裝成幀。我們可以查看校驗是否出錯,確定傳輸是否存在問題。然後從軟體層面,是否因為緩沖區太小丟包。

一台機器經常收到丟包的報警,先看看最底層的有沒有問題:

(1) 查看工作模式是否正常

(2) 查看檢驗是否正常

Speed,Duplex,CRC 之類的都沒問題,基本可以排除物理層面的干擾。

Why rx_crc_errors incrementing in the receive counter of ethtool -S output?

Check ethtool -S output and find where are the drops and errors.

Check the numbers corresponding to rx_crc_errors .

顯示了p1p1 的介面類型,連接模式,速率等等信息,以及當前是否連接了網線(如果是網線Supported ports 就是TP,如果是光纖則顯示Fiber),這里例舉下3個重要關鍵詞

Supported ports: [ FIBRE ]
Speed: 10000Mb/s
Link detected: yes

ethtool

Counters Troubleshooting for Linux Driver

Why do I see rx_crc_errors in ethtool output?

ping請求錯誤分析

ifconfig 命令詳解

ethtool 命令詳解

ethtool 解決網卡丟包嚴重和網卡原理

Ⅳ eth挖礦是什麼原理

凡是涉及到幣,就一定離不開挖礦。以太坊網路中,想要獲得以太坊,也要通過挖礦來實現。說到挖礦,就一定離不開共識機制。
不知道大家還記得比特幣的共識機制是什麼嗎?比特幣的共識機制是 PoW (這是英文 Proof of Work 的縮寫,意思是「工作量證明機制」)。簡單來說,就是多勞多得,你付出的計算工作越高,那麼你就越有可能第一個找到正確的哈希值,就越有可能得到比特幣獎勵。
但是,比特幣的PoW存在著一定的缺陷,就是它處理交易的速度太慢,礦工們需要不斷地通過計算來碰撞哈希值,這是勞民傷財且效率低下的。對區塊鏈知識有涉獵的朋友們應該看到這樣一種說法:
以太坊為了彌補比特幣的不足,提出了新的共識機制,名叫 PoS(這是英文的縮寫,意思是「權益證明」,也有翻譯成「股權證明」的)。
PoS 簡單來講,其實就跟它的字面意思一樣:權益嘛,股權嘛,你持有的幣越多相當於你的股權越多,你的權益越高。
以太坊的PoS就是說:你持幣越多,你持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些。
在以太坊最初的設定中,以太坊希望能夠通過階段性的升級,在前期依舊採用PoW來構建一個相對穩定的系統,之後逐漸採用 PoW+PoS,最後完全過渡到 PoS。所以,說以太坊的共識機制是PoS,沒錯,但是PoS只是以太坊發布之初的一個計劃或者說目標,目前以太坊還沒有過渡到 PoS,以太坊採用的共識機制仍是 PoW,就是比特幣那個 PoW,但是又和比特幣的PoW稍稍不同。
這里的信息量有點大,
第一個信息點是:以太坊目前採用的共識機制也是PoW,但是和比特幣的PoW稍稍不同。那麼,和比特幣的PoW到底有什麼不同呢:簡單來說,就是以太坊挖礦難度可以調節,比特幣挖礦難度不能調節。就好比咱們高考,因為各個省份的教學情況、生源人數都不一樣,所以高考分為全國卷和各省自主命題。
以太坊說我贊成這樣分地區出題,比特幣說:不行,必須全國同一卷,大家難度都一樣!
通俗解釋,就是,比特幣是利用計算機算力做大量的哈希碰撞,列舉出各種可能性,來找到一個正確哈希值。而以太坊系統呢,它有一個特殊的公式用來計算之後的每個塊的難度。如果某個區塊比前一個區塊驗證的更快,以太坊協議就會增加區塊的難度。通過調整區塊難度,就可以調整驗證區塊所需的時間。
以太坊協議規定,難度的動態調整方式是使全網創建新區塊的時間間隔為 15 秒,網路用 15 秒時間創建區塊鏈,這樣一來,因為時間太快,系統的同步性就大大提升,惡意參與者很難在如此短的時間發動51%(也就是半數以上)的算力去修改歷史數據。
第二個信息點是:以太坊最初的設定中,希望通過階段性升級來最終實現由 PoW 向
PoS過渡的。
時間追溯到 2014 年,在以太坊發布之初,團隊宣布將項目的發布分為四個階段,即 Froniter(前沿)、Homestead(家園)、Metropolis(大都會)和 Serenity(寧靜)。前三個階段共識機制採用 PoW(工作量證明機制),第四個階段切換到 PoS(權益證明機制)。
2015年7月30號,以太坊第一個階段「前沿」正式發布,這個階段只適用於開發者使用,開發人員可於在以太坊網路上編寫智能合約和去中心化應用程序 DAPP,礦工開始進入以太坊網路維護網路安全並挖礦得到以太幣。前沿版本類似於測試版,證明以太坊網路到底是不是可靠的。
2016年3月14日,以太坊進入到第二個階段「家園」,這一階段,以太坊提供了錢包功能,讓普通用戶也可以方便體驗和使用以太坊。其他方面沒有什麼明顯的技術提升,只是表明以太坊網路已經可以平穩運行。
2017 年 9 月,以太坊已經進行到第三個階段「大都會」。「大都會」由拜占庭和君士坦丁堡兩次升級組成,這個階段的的目標是希望能夠引入 PoW 和 PoS 的混合鏈模式,為 PoW向PoS的順滑過渡做准備。最近比較熱門的「以太坊君士坦丁堡升級」升級的就是這個,在君士坦丁堡升級中呢,以太坊將對底層協議和演算法做一些改變,來為實現 PoW 和
PoS奠定良好的基礎。
以太坊挖礦會得到對多少獎勵呢?贏得區塊創建競爭成功的礦工會得到這么幾項收入:
1、 靜態獎勵,5個以太坊;
2、 區塊內所花費的燃料成本,也就是Gas,這部分我們上一期內容講過;
3、 作為區塊組成部分,包含「叔區塊」的額外獎勵,叔就是叔叔的叔,每個叔區塊可以得到挖礦報酬的1/32作為獎勵,也就是5乘以1/32,等於0.15625 個以太坊。這里我們簡單解釋一下「叔區塊」,「叔區塊」這個概念是以太坊提出來的,為什麼要引進叔塊的概念?這還要從比特幣說起。在比特幣協議中,最長的鏈被認為是絕對的正確。如果一個塊不是最長鏈的一部分,那麼它被稱為是「孤塊」。一個孤立的塊是一個塊,它也是合法的,但是可能發現的稍晚,或者是網路傳輸稍慢,而沒有能成為最長的鏈的一部分。在比特幣中,孤塊沒有意義,隨後將被拋棄掉,發現這個孤塊的礦工也拿不到采礦相關的獎勵。
但是,以太坊不認為孤塊是沒有價值的,以太坊系統也會給與發現孤塊的礦工回報。在以太坊中,孤塊被稱為「叔塊」(uncle block),它們可以為主鏈的安全作出貢獻。 以太坊十幾秒的出塊間隔太快了,會降低安全性,通過鼓勵引用叔塊,使引用主鏈獲得更多的安全保證(因為孤塊本身也是合法的) ,而且,支付報酬給叔塊,還能激發礦工積極挖礦,積極引用叔塊,所以,以太坊認為,它是有價值的。

熱點內容
武士幣挖礦收益計算器 發布:2024-10-21 03:28:57 瀏覽:487
就一個wan口怎麼接其他礦機 發布:2024-10-21 03:14:42 瀏覽:895
suse虛擬ipeth0 發布:2024-10-21 03:13:27 瀏覽:918
怎麼找到好的幣圈 發布:2024-10-21 03:05:50 瀏覽:11
比特幣突破24000美元你 發布:2024-10-21 02:55:18 瀏覽:635
螞蟻礦機批量流量監控 發布:2024-10-21 02:52:15 瀏覽:107
btc收益地址怎麼填 發布:2024-10-21 02:34:52 瀏覽:107
win764位挖礦就死機 發布:2024-10-21 02:31:09 瀏覽:788
gtx770挖礦速度 發布:2024-10-21 02:06:18 瀏覽:18
trx核心器械訓練 發布:2024-10-21 01:32:48 瀏覽:756