以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Coinw > Info

以太坊:以太坊是如何解決日蝕攻擊(eclipse attack)的?

Author:

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

什么是日蝕攻擊

首先簡單介紹一下日蝕攻擊

以太坊的節點發現機制基于Kademlia,但其目的卻不同,Kademlia旨在成為在分布式對等網絡中存儲和查找內容的手段,而以太坊僅用于發現新的節點。由于以太坊的節點是由其公鑰表示的,并且不受IP限制,因此在一個機器上可以同時存在很多節點。攻擊者在很少的服務器上制作出很多的節點,并積極的ping受害者的服務器。通過Kademlia協議,攻擊者的節點信息將存儲并填充在受害者節點列表中。下一步就是讓受害者重啟機器,手段包括斷電、ddos攻擊等等。重啟后,攻擊者再不停的ping被害者的節點以建立tcp連接,一旦被害者所有的tcp連接都是攻擊者制造的,那么就達到了把被害者與正常的網絡隔離的目的,當然最大的目的應該還是為了雙花。有一篇論文是專門介紹日蝕攻擊的,大家可以找來看看。

網上有很多關于日蝕攻擊的詳細介紹,在這里不做贅述。

數據:8月比特幣礦工和以太坊質押收入出現普跌,灰度GBTC交易額逆勢上漲4.1%:金色財經報道,據The Block Pro數據顯示,8月比特幣礦工和以太坊質押收入出現普跌,其中比特幣礦工收入在8月份降至8.05億美元,跌幅為6.8%,同時以太坊質押收入也出現下降,跌幅7.5%,約為1.3億美元。合規中心化交易所(CEX)的現貨交易額在8月份下降了2.8%,達到約2616億美元,創下自2020年11月以來的最低水平。不過灰度的比特幣信托基金GBTC日均交易額在8月份出現上漲,已升至6700萬美元,漲幅為4.1%。[2023/9/3 13:14:24]

以太坊是如何防止日蝕攻擊的

在剛才提到的論文中,提到了以太坊的geth1.8.0解決了日蝕攻擊,于是作者拿1.8.0和1.7.3做對比,理清了以太坊解決這個問題的做法。

直接看代碼。

Uniswap V4發布取決于以太坊坎昆升級和審計完成:金色財經報道,Uniswap早些時候邀請社區反饋意見,討論潛在的關注領域和V4改進的機會。Uniswap Labs分享了有關其備受期待的v4版本的一些細節,該版本目前正在積極開發中。Uniswap背后的團隊表示,如果坎昆硬分叉和審計流程沒有出現安全問題或延遲,V4可能會在今年晚些時候推出。

Uniswap基金會治理負責人Erin Koen表示,時間表中的第一步包括發布協議代碼,并已于6月13日實現。它涉及開放協議回購以供公眾查看和貢獻,此舉旨在強調Uniswap對權力下放的奉獻精神。

V4推出所依賴的主要因素之一是審核流程的完成,而審核流程又取決于EIP-1153能否成功集成到以太坊坎昆。即將進行的升級預計將于9月底進行。坎昆會議之后,開發人員將在部署之前重點關注v4代碼庫的審核過程,該過程預計需要一到四個月的時間。[2023/7/8 22:25:10]

以太坊啟動時加載p2p網絡的流程如下,

以太坊公共測試網Ropsten將于6月初進行PoS合并:金色財經消息,以太坊的主要公共測試網Ropsten將于6月初進行權益證明(PoS)合并,這是以太坊主區塊鏈可以切換到權益證明共識之前的最后準備工作之一,當前工作量證明鏈與新的權益證明鏈的測試合并預計將于6月8日進行。

以太坊研究工具EthHub聯合創始人Anthony Sassano估計,主網上的合并最早可能在8月發生,但尚未提供官方時間表。(THE BLOCK)[2022/5/19 3:26:44]

cmd/geth/main.goinit方法->geth->startNode()->utils.StartNode()->stack.Start()->running.Start()

這個running.Start()調用的即是p2p/server.go中的Start()方法,看看這個方法做了什么:

區塊鏈安全審計公司:Cardano將成為僅次于以太坊的智能合約平臺:金色財經報道,過去兩個月一直在審核Cardano代碼庫的區塊鏈安全審計公司Quantstamp認為,在Shelley硬分叉后,Cardano將成為僅次于以太坊的第二大智能合約平臺。Quantstamp首席執行官Richard Ma表示,他們最近審計了ETH 2.0的prysm,在質量方面,他們認為Cardano與prysm相似,是區塊鏈領域最好的代碼庫之一。[2020/8/4]

//Startstartsrunningtheserver.//Serverscannotbere-usedafterstopping.func(srv*Server)Start()(errerror){......srv.loopWG.Add(1)gosrv.run(dialer)srv.running=truereturnnil}

聲音 | 以太坊聯合創始人Joseph Lubin:以太坊2.0將比其他項目更重要:據AMBcrypto5月7日消息,以太坊聯合創始人Joseph Lubin接受采訪時表示,在開放性方面,以太坊擁有最好的技術和技術專家。Lubin還聲稱該項目比以往任何時候都更快,并且以太坊2.0將比區塊鏈開發中的任何其他項目更重要。[2019/5/7]

這篇文章主要關注解決日蝕攻擊相關代碼,其他的不做介紹。

上面的gosrv.run(dialer)連接池管理協程,負責維護TCP連接的列表,監聽各種信號,處理peer的增刪改

func(srv*Server)run(dialstatedialer){...running:for{scheduleTasks()select{...casec:=<-srv.posthandshake://Aconnectionhaspassedtheencryptionhandshakeso//theremoteidentityisknown(buthasn'tbeenverifiedyet).iftrusted{//EnsurethatthetrustedflagissetbeforecheckingagainstMaxPeers.c.flags|=trustedConn}//TODO:trackin-progressinboundnodeIDs(pre-Peer)toavoiddialingthem.select{casec.cont<-case<-srv.quit:breakrunning}casec:=<-srv.addpeer://Atthispointtheconnectionispasttheprotocolhandshake.//Itscapabilitiesareknownandtheremoteidentityisverified.iferr==nil{//Thehandshakesaredoneanditpassedallchecks.p:=newPeer(c,srv.Protocols)//Ifmessageeventsareenabled,passthepeerFeed//tothepeerifsrv.EnableMsgEvents{p.events=&srv.peerFeed}name:=truncateName(c.name)srv.log.Debug("Addingp2ppeer","name",name,"addr",c.fd.RemoteAddr(),"peers",len(peers)1)gosrv.runPeer(p)peers=pifp.Inbound(){}}...casepd:=<-srv.delpeer://Apeerdisconnected.d:=common.PrettyDuration(mclock.Now()-pd.created)pd.log.Debug("Removingp2ppeer","duration",d,"peers",len(peers)-1,"req",pd.requested,"err",pd.err)delete(peers,pd.ID())ifpd.Inbound(){}}}...}

注意加粗的代碼,有一個針對inboundCount的操作,當有posthandshake、addpeer消息的時候,會先去check,如果add或del了一個peer,則有對應的inboundCount或者inboundCount--。看看到底check了什么:

protoHandshakeChecks最終也是調用encHandshakeChecks:

func(srv*Server)encHandshakeChecks(peersmap*Peer,inboundCountint,c*conn)error{switch{case!c.is(trustedConn|staticDialedConn)&&len(peers)>=srv.MaxPeers:returnDiscTooManyPeerscasepeers!=nil:returnDiscAlreadyConnectedcasec.id==srv.Self().ID:returnDiscSelfdefault:returnnil}}

inboundConn表示連接類型為主動連接過來。

看加粗的這段邏輯:如果該連接是信任的,且是主動連接過來的,且主動連接過來的節點數量大于srv.maxInboundConns()時,則拒絕此連接。

可以看出來,以太坊是通過限制主動連接過來的數量來阻止日蝕攻擊的。我們順便看下這個數量是多少:

func(srv*Server)maxInboundConns()int{returnsrv.MaxPeers-srv.maxDialedConns(。func(srv*Server)maxDialedConns()int{ifsrv.NoDiscovery||srv.NoDial{return0}r:=srv.DialRatioifr==0{r=defaultDialRatio}returnsrv.MaxPeers/r}

MaxPeers默認是25,defaultDialRatio表示能夠接受主動連接的比例,默認是3,所以最多允許傳入的tcp連接數量就是25/3=8個

Tags:PEEREERSRV以太坊Peerex NetworkCHEERS幣SRV幣以太坊交易一次多少手續費

Coinw
比特幣:分析:最新比特幣期貨市場數據顯示看漲價格趨勢

據Bitcoinist報道,比特幣價格仍在其區間通道內,其他指標正慢慢轉向對其看漲。周末開始時,BTC保持在5位數,隨著公開興趣的增加,更大的事情可能會發生.

1900/1/1 0:00:00
區塊鏈:幣圈那些割了你的人 才是你真正的老師

感謝這些鐮刀們,讓你能重新認識幣圈。幣圈很小,但是魚龍混雜,亂的很。每一個跟你在一個群里一起炒幣的人,你都不知道他的背景和經歷,也不知道他的人脈和資源,更不知道他的企圖和野心.

1900/1/1 0:00:00
BCX:COCOS 生態合伙人激勵優化

自6月21日,Cocos-BCX正式啟動首期2.1億枚COCOS的生態合伙人計劃,COCOS生態合伙人計劃已平穩運行兩月余.

1900/1/1 0:00:00
ODI:BiKi平臺關于關閉WIN充值業務,下架WIN交易對的公告(0906)

尊敬的用戶:根據項目方的需要,BiKi平臺將于9月6日13:00關閉WIN的充值業務,于9月11日11:00下架WIN交易對,并于9月11日18:00關閉提現業務.

1900/1/1 0:00:00
BIKI:BiKi合伙人中秋再放大招 一周破襲頭部流量壁壘

BiKi在登頂新銳交易所首位后迅速展開了資產端的競爭,諾曼底計劃30天內捕獲頭部平臺在9月超過80%的熱門項目。在資產端上快速打開正面戰場的BiKi似乎完全沒有放慢速度.

1900/1/1 0:00:00
比特幣:人們對于比特幣最大的誤解是什么?

原文作者:LucDossis,編譯:Cobo錢包對于許多剛剛接觸比特幣的人來說,這是一個完全陌生的概念。而當一個新生事物不能被正確地認知,誤解就很容易產生.

1900/1/1 0:00:00
ads