
在上一篇文章中,我介紹了不同類型的中繼策略過濾器、它們存在的原因,以及最終決定每類過濾器在阻止不同類型交易確認(rèn)方面的有效性的激勵機制。在本文中,我將探討當(dāng)網(wǎng)絡(luò)上某些節(jié)點運行與其他節(jié)點不同的中繼策略時,中繼網(wǎng)絡(luò)的動態(tài)變化。
在其他條件相同的情況下,當(dāng)網(wǎng)絡(luò)上的節(jié)點在其內(nèi)存池中運行同質(zhì)中繼策略時,所有交易都應(yīng)該在整個網(wǎng)絡(luò)中傳播,前提是它們支付了必要的最低費率,以便在交易積壓期間不被節(jié)點的內(nèi)存池驅(qū)逐。當(dāng)網(wǎng)絡(luò)上的不同節(jié)點運行異構(gòu)策略時,這種情況會發(fā)生變化。
中繼網(wǎng)絡(luò)采用“盡力而為”的原則運行,采用所謂的“泛洪填充”架構(gòu)。這意味著,當(dāng)一個節(jié)點收到一筆交易時,它會被轉(zhuǎn)發(fā)到與其連接的所有其他節(jié)點,除了接收該交易的節(jié)點。這是一種效率極低的網(wǎng)絡(luò)架構(gòu),但在去中心化系統(tǒng)的背景下,它能夠高度保證交易最終能夠到達其預(yù)定的目的地——礦工。
在節(jié)點的中繼策略中引入過濾器來限制原本有效的交易的中繼,理論上會給交易的傳播帶來阻力,并降低網(wǎng)絡(luò)執(zhí)行此功能的可靠性。但實際上,事情并非如此簡單。
多少摩擦阻礙了傳播
讓我們看一個不同網(wǎng)絡(luò)節(jié)點組成的簡化示例。下圖中,藍色節(jié)點表示將要傳播一些任意類別的共識有效交易,紅色節(jié)點代表將不是傳播這些交易。礦工集合在中心被表示為交易用戶最終希望其交易最終到達的地方,以便最終在區(qū)塊鏈中得到確認(rèn)。
這是一種網(wǎng)絡(luò)模型,其中拒絕傳播這些交易的節(jié)點明顯占少數(shù)。正如您所見,網(wǎng)絡(luò)上任何接受這些交易的節(jié)點都有一條清晰的路徑將其轉(zhuǎn)發(fā)給礦工。試圖限制交易在網(wǎng)絡(luò)上傳播的兩個節(jié)點,對礦工節(jié)點最終接收這些交易沒有任何影響。
在這張圖中,您可以看到示例網(wǎng)絡(luò)中幾乎一半的節(jié)點都針對此類交易設(shè)置了過濾策略。盡管如此,只有部分負責(zé)傳播這些交易的網(wǎng)絡(luò)節(jié)點被切斷了通往礦工的路徑。其余未進行過濾的節(jié)點仍然擁有通往礦工的暢通路徑。這給一部分用戶帶來了一定程度的摩擦,但其他用戶仍然可以自由地傳播這些交易。
即使對于受過濾節(jié)點影響的用戶,也只需與其他未與礦工斷開連接的網(wǎng)絡(luò)節(jié)點建立單一連接(或直接連接到礦工),即可消除這種摩擦。如果真實的中繼網(wǎng)絡(luò)具有與本例類似的組成,則只需一個新連接即可緩解此問題。
在這種情況下,網(wǎng)絡(luò)中只有極少數(shù)節(jié)點真正在傳播這些交易。其余節(jié)點則采取過濾策略來阻止其傳播。然而,即使在這種情況下,那些未進行過濾的節(jié)點仍然有一條暢通的路徑將交易傳播給礦工。
只需極少數(shù)非過濾節(jié)點即可確保最終將信息傳播給礦工。優(yōu)先對等邏輯,即確保你的節(jié)點優(yōu)先選擇實施相同軟件版本或中繼策略的對等節(jié)點的功能。這類解決方案可以確保將信息傳播給其他節(jié)點的對等節(jié)點彼此之間不會互相發(fā)現(xiàn),并在整個網(wǎng)絡(luò)中保持連接。
寬容的少數(shù)派
從這些不同的例子可以看出,即使面對絕大多數(shù)公共網(wǎng)絡(luò)參與過濾特定類別的交易,它們也只需要網(wǎng)絡(luò)中的一小部分人進行傳播和中繼,就能成功地通過網(wǎng)絡(luò)傳播給礦工。
這些節(jié)點本質(zhì)上將通過任何技術(shù)機制在更大的公共中繼網(wǎng)絡(luò)中創(chuàng)建一個“子網(wǎng)絡(luò)”,以保證從參與此類交易的用戶到愿意將其納入其區(qū)塊的礦工之間有可行的路徑。
除了對所有節(jié)點發(fā)起女巫攻擊之外,幾乎沒有其他方法可以應(yīng)對這種動態(tài),而女巫攻擊只需要一個誠實的連接就能被徹底擊敗。此外,一個誠實節(jié)點與網(wǎng)絡(luò)上的其他節(jié)點建立大量連接,會大幅增加此類女巫攻擊的成本。它建立的連接越多,就需要啟動越多的女巫節(jié)點才能耗盡其所有連接槽。
如果沒有少數(shù)民族怎么辦?
那么,如果沒有容忍少數(shù)派會怎樣呢?在這種情況下,這類交易會發(fā)生什么?
如果用戶仍然想進行交易并支付礦工費用,交易就會得到確認(rèn)。礦工只需設(shè)置一個API即可。礦工的作用是確認(rèn)交易,他們這樣做是為了實現(xiàn)利潤最大化。礦工并非無私的實體,也并非出于道德或意識形態(tài)的動機,他們是一種商業(yè)行為。他們的存在是為了賺錢。
如果存在愿意為某種類型的交易付費的用戶,而整個公共中繼網(wǎng)絡(luò)拒絕將這些交易傳播給礦工以將其包含在區(qū)塊中,那么礦工將為用戶創(chuàng)建另一種方式來向他們提交這些交易。
當(dāng)有客戶愿意付錢給你時,作為一個以盈利為目的的行為者,這只是一個理性的舉動。
中繼策略不能取代共識
歸根結(jié)底,如果交易符合共識、用戶愿意為交易付費,并且礦工沒有特殊情況來拒絕用戶愿意支付的費用(例如對網(wǎng)絡(luò)節(jié)點造成物質(zhì)損害或傷害,即節(jié)點崩潰、傳播需要在消費者電腦上花費數(shù)小時進行驗證的區(qū)塊等),那么中繼策略就無法成功審查交易。
如果比特幣用戶和節(jié)點運營商確實認(rèn)為某些類型的交易是不可取的,那么除了制定共識變更使其無效之外,沒有其他解決方案可以阻止它們在區(qū)塊鏈中得到確認(rèn)。
如果可以簡單地通過在中繼網(wǎng)絡(luò)上實施的過濾策略來阻止交易被確認(rèn),那么比特幣就無法抗審查。






.png)





















