網路延遲是否會顯著影響挖礦獎勵?
我的網際網路連接有點不穩定(該地區沒有好的供應商)。我可以以合理的速度(兆位)流式傳輸,但數據包延遲存在一定程度的抖動。
採礦具有競爭力。數據包延遲(數十毫秒,有時數百毫秒)是否意味著,如果我開始挖礦,其他礦工很可能會擊敗我?換句話說,開採區塊的競賽距離有多近?
我懷疑,由於達成共識需要多次確認,競爭鏈中後續區塊的隨機延遲(幾秒級的差異)將使我的個人延遲微不足道,但我希望看到一些硬數學證實這一點.
(我記得在乙太坊部落格上讀過一些關於網路延遲如何建立區塊時間下限的分析,但我認為這是針對整體網路延遲,而不是考慮到其他具有持續較低延遲的礦工。)
我認為這是一個合理的近似值…
A)讓我們首先假設您的往返延遲比網路平均值慢*L毫秒。*我們將在之後進行概括。
B) 設平均出塊時間為t。
C)你在特定區塊視窗中找到區塊的機率與你的整體雜湊率無關(所以你在上一個區塊後 5 秒挖一個區塊的可能性與你將雜湊率翻倍一樣;但是,您開採任何特定區塊的機率會加倍)。自上一個塊以來的預期時間增量也是t(留給讀者練習)。
D) 簡化假設:“網路”的其餘部分是一名非惡意礦工(因此,例如,不會自私地探勘並在適用的情況下包括您的區塊)。
E) WLOG,假設網路的難度與雜湊率平衡。
A + C 意味著你開始解決塊L時間晚於網路。此外,當您送出區塊時,需要L時間才能傳播回網路。因此,你必須在網路之前找到一個塊的時間量上施加2L的懲罰。
讓我們暫時假設您和網路之間完全缺乏連接,如果您連接到網路,您會發現這個塊被接受。現在,你們倆都找到了一塊。您和網路解決該塊的預期時間是t (B + C)。但是可以使用Poisson分佈找到網路在您(預期)解決塊的(預期)時間加上延遲之前解決塊的機率。在t中解決塊的機率與t + 2L的比率為您提供了效率。所以如果P(x, t)是隨機變數X的 Poisson CDF小於或等於x的期望值t,那麼你最終得到以下效率近似值:
效率 ≈ P(0, (t + 2L) / t) / (P(1, 1) - P(0, 1))
我通過模擬驗證了這個近似值;模擬結果在理論數值的百分之幾以內。
您找到叔叔的機率大約是在時間2L和網路找到最大叔叔年齡(5+?)塊之前找到一個塊的機率(減少了您在網路之前找到多個塊的機率)。這更難確定。
平均阻塞時間為 17 秒,您最終會獲得以下往返延遲的效率:
0ms 100% 100ms 98% 200ms 97% 300ms 96% 400ms 95% 500ms 94% 600ms 93% 700ms 92% 800ms 91% 900ms 89%
平均阻塞時間為 12 秒:
0ms 100% 100ms 98% 200ms 96% 300ms 95% 400ms 93% 500ms 92% 600ms 90% 700ms 88% 800ms 87% 900ms 86%
然後,您可以通過連接中延遲峰值的分佈來衡量您的預期平均效率。
為了回答有關競爭鏈的部分,我們可以擴展它以假設您是具有一定比例網路的*本地節點集群的一部分。*如果您是通常佔多數的一方,那麼上面的近似值是相當準確的。但是,如果您不是,則需要首先計算您的本地集群中包含一個塊的機會(如上),然後乘以您本地集群的塊包含在 oracle 共識中的機率,方法是使用與上述相同的效率計算;您需要知道本地集群的有效雜湊率。
如果我們做一個簡化假設,即大型礦工(目前是礦池)之間的延遲為 0(顯然是不正確的假設,但 120 毫秒涵蓋了洛杉磯到東京,而中國的 f2pool 佔了相當大一部分的採礦能力) ,然後您可以查看您與其中一個池之間的延遲。如果平均節點有 25 個對等點(Parity 的預設最小值)並且有大約 30k 個節點),假設完美分佈,您與任何其他節點之間的最大距離為 3-4 個節點(但我們可以假設節點跨越具有小滯後的短距離或具有較長滯後的大距離)。池有更多的對等點是有優勢的,所以這個最大距離可能更小——無論如何,你真的只關心池。因此,池的總延遲是平均節點延遲的 3 倍。總共200毫秒?從那裡,您可以做出最壞情況的簡化假設,這些節點只是中繼節點並且不進行探勘(因為所有雜湊算力都集中在池中)。這意味著您應該在表中將 200 毫秒的延遲添加到您的“本地集群效率”並將其與您的節點的效率進行比較。
冰河時代不應該影響這個計算(除了增加阻塞時間從而提高效率)。
好詳細的回答!我想弄清楚是否有高 ping(我住在南非,除非你有硬體倉庫,否則基本上沒有游泳池)。歐盟最快(200 毫秒),亞洲(400 毫秒),美國(太麻煩了)。所以在兩張表 200 和 400 之間只有 2%-5% 的差異(PROP + SOLO 池 - PPLNS 用高 ping 殺死我)