運行節點要符合加密世界無處不在的精神:去信任,要驗證。
原文標題:《詳解區塊鏈節點:如何有效地運營自己的節點?》
撰文:SupraOracles
區塊鏈節點通過它們的連接、交互組成網絡,該網絡通過共識機制將新區塊添加到鏈上,本文將解釋如何有效地運營自己的區塊鏈節點。
在深入講解如何運行節點之前,我們有必要了解一下什么是區塊鏈節點。通常在計算機網絡中節點可以是計算機或任何涉及在計算機網絡內接收和發送數據的設備,因此在區塊鏈網絡中每個賬本參與者都是一個節點。
基于 P2P(點對點)網絡的原理,公有鏈技術本質上是去中心化跟開源的,在大多數網絡中,公有鏈沒有專用服務器,不是一個授權機構,依賴于用戶之間的共識。節點通常通過共享狀態信息、對其協議的治理進行投票以及驗證傳入交易的新塊來在網絡內進行通信。
慢霧:Harmony Horizon bridge遭攻擊簡析:據慢霧安全團隊消息,Harmony Horizon bridge 遭到黑客攻擊。經慢霧 MistTrack 分析,攻擊者(0x0d0...D00)獲利超 1 億美元,包括 11 種 ERC20 代幣、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊鏈攻擊者將大部分代幣轉移到兩個新錢包地址,并將代幣兌換為 ETH,接著將 ETH 均轉回初始地址(0x0d0...D00),目前地址(0x0d0...D00)約 85,837 ETH 暫無轉移,同時,攻擊者在 BNB 鏈暫無資金轉移操作。慢霧 MistTrack 將持續監控被盜資金的轉移。[2022/6/24 1:28:30]
來自不同地理位置的多樣化和分散的節點有助于建立一個更強大的共識機制。如果有足夠多的節點維護他們的區塊鏈賬本副本并繼續區塊生產,那么網絡可以無限期地運行下去。
慢霧:Inverse Finance遭遇閃電貸攻擊簡析:據慢霧安全團隊鏈上情報,Inverse Finance遭遇閃電貸攻擊,損失53.2445WBTC和99,976.29USDT。慢霧安全團隊以簡訊的形式將攻擊原理分享如下:
1.攻擊者先從AAVE閃電貸借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子獲得5,375.5個crv3crypto和4,906.7yvCurve-3Crypto,隨后攻擊者把獲得的2個憑證存入Inverse Finance獲得245,337.73個存款憑證anYvCrv3Crypto。
2.接下來攻擊者在CurveUSDT-WETH-WBTC的池子進行了一次swap,用26,775個WBTC兌換出了75,403,376.18USDT,由于anYvCrv3Crypto的存款憑證使用的價格計算合約除了采用Chainlink的喂價之外還會根據CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的實時余額變化進行計算所以在攻擊者進行swap之后anYvCrv3Crypto的價格被拉高從而導致攻擊者可以從合約中借出超額的10,133,949.1個DOLA。
3.借貸完DOLA之后攻擊者在把第二步獲取的75,403,376.18USDT再次swap成26,626.4個WBTC,攻擊者在把10,133,949.1DOLAswap成9,881,355個3crv,之后攻擊者通過移除3crv的流動性獲得10,099,976.2個USDT。
4.最后攻擊者把去除流動性的10,000,000個USDTswap成451.0個WBT,歸還閃電貸獲利離場。
針對該事件,慢霧給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/6/16 4:32:58]
也正因此,由于每一個用戶對于整個網絡的安全性和完整性都至關重要,成為某個加密項目社區的一員不僅是件令人興奮的事,也是一種責任。
慢霧:DEUS Finance 二次被黑簡析:據慢霧區情報,DEUS Finance DAO在4月28日遭受閃電貸攻擊,慢霧安全團隊以簡訊的形式將攻擊原理分享如下:
1.攻擊者在攻擊之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。
2.在幾個小時后攻擊者先從多個池子閃電貸借出143200000USDC。
3.隨后攻擊者使用借來的USDC在BaseV1Pair進行了swap操作,兌換出了9547716.9個的DEI,由于DeiLenderSolidex中的getOnChainPrice函數是直接獲取DEI-USDC交易對的代幣余額進行LP價格計算。因此在此次Swap操作中將拉高getOnChainPrice函數獲取的LP價格。
4.在進行Swap操作后,攻擊者在DeiLenderSolidex合約中通過borrow函數進行借貸,由于borrow函數中用isSolvent進行借貸檢查,而在isSolvent是使用了getOnChainPrice函數參與檢查。但在步驟3中getOnChainPrice的結果已經被拉高了。導致攻擊者超額借出更多的DEI。
5.最后著攻擊者在把用借貸出來DEI兌換成USDC歸還從幾個池子借出來的USDC,獲利離場。
針對該事件,慢霧安全團隊給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/4/28 2:37:18]
通常來說,節點分兩種主要類型:一種是存儲完整賬本的全節點(full node),這種節點通過驗證數據來保證區塊鏈上數據的安全性和正確性;另一種是輕節點 (lightweight node),即每個參與的用戶。每一個輕節點都需要連接到一個全節點,以便同步網絡的當前狀態并能夠參與運行。
慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]
首先,要部署區塊鏈節點,新節點運營商必須要達到硬件和軟件要求門檻,例如兼容的操作系統、足夠的可用磁盤空間、RAM 內存和網速。接著,運營商需根據他們所期望的參與程度下載所需的核心軟件。
Harvest.Finance被黑事件簡析:10月26號,據慢霧區消息 Harvest Finance 項目遭受閃電貸攻擊,損失超過 400 萬美元。以下為慢霧安全團隊對此事件的簡要分析。
1. 攻擊者通過 Tornado.cash 轉入 20ETH 作為后續攻擊手續費;
2. 攻擊者通過 UniswapV2 閃電貸借出巨額 USDC 與 USDT;
3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小;
4. 隨后攻擊者通過 Harvest 的 deposit 將巨額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC,而鑄出的數量計算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
計算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的變化將導致 Vault 鑄出更多的 fUSDC;
5. 之后再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;
6. 最后只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;
7. 隨后攻擊者開始重復此過程持續獲利;
其他攻擊流程與上訴分析過程類似。參考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時采用的是 Curve y池中的報價(即使用 Curve 作為喂價來源),導致攻擊者可以通過巨額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。[2020/10/26]
針對所有區塊鏈,你都可以在運行節點上配置所需的設備、內存要求和處理能力。市場上有門檻較低的鏈,但也有其他一些鏈因為網絡設計導致節點運行困難而昂貴。當然,昂貴的節點運行要求運營商的大量財務投入,可以在成本上篩掉一些試圖投機的惡意節點。
例如,比特幣的網絡允許用戶運行全節點或輕節點。對于比特幣全節點來說,必須下載存儲區塊鏈歷史記錄并保存在本地文件中,在撰寫本文時,其硬盤內存需超過 380 GB。
[如圖]區塊鏈節點通過它們的連接、交互和在全節點的情況下共同組成網絡
再拿以太坊舉個例子,根據復雜程度不一,可運行的節點為:全節點、輕節點和存檔節點。
全節點更具獨立性,對自己的數字資產擁有更完整的主權,不像輕節點那樣需要依賴其他節點訪問區塊鏈。全節點可以連接到區塊鏈的主網絡,也可以在測試網或其他安全環境上運行,以測試和開發新軟件。
輕節點對沒有強大硬件或帶寬能力的用戶很友好,因為不需要下載以太坊的完整歷史、錢包余額或智能合約代碼。可以在手機或其他更小、功能更弱的設備上運行,但它們可以通過檢驗區塊頭的狀態根,從而驗證數據的有效性。
[如圖]全節點對網絡負有更大的責任,需要更復雜的硬件和軟件,但他們的努力在金錢方面得到了更直接的回報。
就運營商資源而言,以太坊存檔節點可能是運行難度最高的節點之一。它們需要更多的硬件設備來運行,也需要使用大容量的 RAM 和磁盤空間。即便使用先進的設備,新的以太坊存檔節點同步也需要花費數周時間,如果使用速度較慢的 HDD 硬盤同步存檔節點,則該節點將無法實現完全同步,因為新塊生成的速度將超過這類計算機同步的速度。另外,如果客戶端的節點版本出現任何錯誤,則該節點需要重新同步。無形的時間消耗,增加了整個運營成本。
當然,為了防止節點脫機,運行節點時應該進行定期檢測,可以向兼容節點發送請求或從區塊鏈請求數據。不然的話,如果遇到節點崩潰的情況需要手動重啟設備,這很可能會之前通過驗證或挖掘新塊產生的收入都將丟失。
節點運營商通常會有帶寬限制與硬件性能方面的問題。很多節點運營商會向互聯網提供商獲取無流量限制的服務,值得注意是要警惕網絡被其他不明原因占用的情況。在早期的比特幣網絡中,病簽名曾被上傳到區塊鏈,導致 Windows 用戶的病軟件檢測到病后仍遇到了問題。雖然用戶的設備并沒有受到感染,但他們運營節點的整體性能受到了損害。
為了解決技術以及操作門檻跟效率問題,許多區塊鏈節點運營服務公司(BaaS)應運而生。節點運營商部署必要的資本和資源來連接其基礎設施,并維護其與所需區塊鏈相關的功能。
[如圖]區塊鏈服務提供商托管運行企業和其他實體的節點,為節點運營者提供諸多好處,降低了節點運營者的時間成本或專業知識要求。
根據每個客戶的需求,區塊鏈服務提供商可以達成對已集成公鏈的完全訪問,只要運營者滿足最低要求,包括在所需網絡上的最低投資。服務提供商則會承擔節點操作相關的繁瑣內容,讓客戶可以專注于他們本身的專業領域而不用在操作上耗費精力。
目前市場上比較流行的區塊鏈服務提供商有 Blockdaemon、Infura、GetBlock、Alchemy、QuickNode、Figment 等等。
啟動和維護節點有助于區塊鏈的去中心化。在某些網絡上,運行一個節點可以為運營商提供回報,因為該節點會因驗證新交易和參與產生新區塊的投票過程而獲得報酬。
但同時,區塊鏈節點運營也會消耗大量時間和資源,在投入和產出比上,對礦工或驗證者來說是有利可圖的。全節點的報酬豐厚,因為它們驗證區塊并存儲整個區塊鏈賬本,因此驗證節點可以產生可預期的收入。
盡管運行輕節點不會產生加密回報,但它仍然有助于增強用戶和其他節點之間的信任、安全和隱私。擁有自己的節點意味著您無需信任第三方網絡的狀態或提交給網絡進行驗證的交易的真實性。
為了更好地說明這一點,假設您是一家僅接受實物黃金作為服務付款交易站的所有者,現在您想驗證黃金是否是真實的并且確認具體的數量,您是會將其發送給檢查員網絡,還是安排在內部進行所有驗證?換句話說,運行你自己的節點符合加密世界無處不在的精神:去信任;要驗證。
撰文:Misha da Vinci,Future of the World 創始人? 編譯:元宇宙特攻隊 互聯網始于 20 世紀 60 年代.
1900/1/1 0:00:00撰文:DeFi Surfer編譯:Block unicorn以太坊在市場上,贏得了人們使用最頻繁的加密貨幣,不僅僅是成為最硬的錢.
1900/1/1 0:00:00原文標題:《我們研究了 ZK 的技術史,發現下一個千億應用蘊藏其上》原文作者:Web3 研究型組織 R3PO加密世界的焦點經歷了比特幣、以太坊、DeFi、NFT、元宇宙和 Web3 的多次變遷.
1900/1/1 0:00:00從Gas消耗能看清以太坊很多產品的興衰,比如從DEX的興起到DeFi再到NFT的輪動。Paradigm投資合伙人Casey用nansen數據編寫了一個探索以太坊上耗費Gas最多的產品的可視化工具.
1900/1/1 0:00:00出品:LD Capital Research 作者:Jill 有人說,元宇宙只是個故事,是互聯網浮躁心態的又一輪發作,但我堅信,元宇宙代表為了大幅提高體驗感而寄予厚望的試驗田.
1900/1/1 0:00:00原文標題:《錯過了 SUDO 空投?盤點這 15 個潛在的 NFT 治理代幣空投機會》撰文:William M.
1900/1/1 0:00:00