Monero動態(tài)塊大小和動態(tài)最小費(fèi)用
簡介
Monero使用動態(tài)塊大小機(jī)制來控制塊大小可以增長的速率。作為協(xié)商一致的規(guī)則的一部分测砂,如果礦工將塊大小擴(kuò)大到最后100個塊的中位數(shù)大小之上,則基本塊獎勵的一部分將被維護(hù)毅往。這是一個不中繼的最低費(fèi)用僚稿。客戶端軟件使用最低費(fèi)用的乘數(shù)來優(yōu)先考慮在高峰期網(wǎng)絡(luò)使用繁重時的交易技羔。
我們將分析目前正在使用的公式和不同費(fèi)用乘數(shù)對礦工中性和最佳策略的影響,并觀察他們?nèi)绾为毩⒂诰W(wǎng)絡(luò)狀態(tài)卧抗。我們將展示當(dāng)前公式如何激勵穩(wěn)定的塊大小增長率為0.6%藤滥,只要有一個提供最低費(fèi)用的交易池即可。
此外社裆,我們將顯示典型交易大小與最小塊大小之間的比例如何通過使塊大小分散而對公式的有效性產(chǎn)生負(fù)面影響拙绊。為了解決這個問題,提出和分析了兩個提案泳秀。
結(jié)論是标沪,現(xiàn)在的動態(tài)塊大小懲罰公式在典型的事務(wù)大小接近中值塊大小的情況下不能正常工作。懲罰公式必須改變以允許平滑過渡到網(wǎng)絡(luò)狀態(tài)嗜傅,其中中間塊大小將足夠大于典型的事務(wù)大小金句。
1.當(dāng)前動態(tài)塊大小和動態(tài)最小費(fèi)用分析
當(dāng)前積分獎勵罰款由以下方式給出:
P_current = R *((B / M)-1)^ 2
,
其中R
是基本塊的獎勵吕嘀,'B'是塊大小违寞,'M'是最后100個塊的中間塊大小贞瞒。罰款不會生效,除非'B> M_0`趁曼,其中'M_0 = 60000字節(jié)'是最小無罰幣塊大小军浆。最大允許的塊大小是“2 * M”,在該基礎(chǔ)塊獎勵的基礎(chǔ)上挡闰。
乒融![圖1-1](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig1-1.png?原料=真)
目前的最低費(fèi)用原來是:
F_mc =(R / R_0)*(M_0 / M)* F_0
摄悯,
其中R_0 = 10 monero
是參考基礎(chǔ)獎勵赞季,F_0 = 0.002 monero / kB
。
考慮到“R_0”射众,“M_0”和“F_0”是常量碟摆,表達(dá)式可以重寫為:
F_min_c =(R / M)*(W_0 - 1)
,其中
W_0 - 1 =(M_0 * F_0)/ R_0 = 0.0012
叨橱。
正如我們將在下面看到的,“W_0”的值代表塊大小擴(kuò)張因子断盛,最小費(fèi)用將完全覆蓋塊的懲罰罗洗,使塊大小為“B = M * W_0”對礦工的收益是中立的。
我們將找到一個廣義的中立費(fèi)用函數(shù)钢猛,這將產(chǎn)生一個費(fèi)用伙菜,使塊大小擴(kuò)大,給定的因素對礦工的收益是中立的命迈。
召回
P_c = R *((B / M)-1)^ 2
贩绕,并定義
F_A = B * F - M * F = F *(B - M)
,
“F_A”是額外的收費(fèi)獎勵壶愤,如果塊擴(kuò)大到“B”的大小淑倾,并填寫支付交易費(fèi)“F”的交易。
我們還將定義附加的礦工收入
E_A = F_A - P
征椒。
用“W = B / M”代替娇哆,我們可以將懲罰公式重寫為
P_c = R *(W-1)^ 2
,另外收取的收費(fèi)是
F_A = F *(W-1)* M
勃救。
為'F`解決'E_A = 0'碍讨,我們發(fā)現(xiàn)
F_n_c =(R / M)*(W-1)
,
這是將塊大小擴(kuò)大到“B = W * M”對礦工收入中性所需的費(fèi)用蒙秒,因為這樣做將對礦工產(chǎn)生相同的總積分獎勵勃黍,因為將開采一個大小為B = M`與“F_n_c”的交易費(fèi)。
雖然礦工與基地案相比并沒有失去任何東西晕讲,但是有一個錯失的機(jī)會覆获,因為他可以選擇一些最佳的增加“M <W_o * M <W_n * M'马澈,這將給他最大的回報。
我們現(xiàn)在可以觀察到锻梳,對于“W = W_0”表達(dá)式
F_min_c = F_n_c
成立箭券。
要找到給定塊大小擴(kuò)展的最佳費(fèi)用,我們必須找到附加收益函數(shù)的最大值
E_A = F_A - P
疑枯。
為F
解決dE_A / dW = 0
給出
F_o_c = 2 *(R / M)*(W-1)
辩块。
其中顯示交易費(fèi)用與最佳塊大小增加之間的線性關(guān)系。
需要注意的是荆永,“M <M_0”的情況需要特別注意废亭。因為我們只懲罰最小自由塊大小,所以在所有公式中具钥,實際的中位數(shù)應(yīng)該被替換為“M_0”豆村。這意味著對于'M <M_0',我們應(yīng)該重新定義“M”和“W”
W:= B / M_0
骂删,
M:= M_0
掌动,
然后照常繼續(xù)。
為了展示不同費(fèi)用乘數(shù)對中立和最優(yōu)塊擴(kuò)展的影響宁玫,我們將用最小費(fèi)用乘數(shù)來代替費(fèi)用
F = F_min_c * F_mul_c
粗恢,
并將其插入中性和最優(yōu)費(fèi)用方程。重新排列
“F_mul_c =(W-1)/(W_0 - 1)”為中性費(fèi)欧瘪,
F_mul_c = 2 *(W - 1)/(W_0 - 1)
為最佳費(fèi)用眷射。
![圖1-2](https://github.com/JollyMort/monero-research/blob/
master / Monero%20動態(tài)%20Block%20尺寸%20和%20動態(tài)%20最蟹鹨础%20Fee /圖像/圖1-2.png妖碉?raw = true)我們將通過繪制塊大小增加與其他礦工收入之間的關(guān)系來進(jìn)一步檢查礦工激勵費(fèi)用乘數(shù)。在相同的圖表上芥被,我們將顯示連接最小值的最佳曲線欧宜。費(fèi)用乘數(shù)曲線最大值![圖1-3](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig1 -3.png撕彤?raw = true)我們看到每個費(fèi)用乘數(shù)曲線有一個礦點的最大收益點鱼鸠。另一個有趣的點是水平軸的第二個交叉點,礦工通過增加塊大小來獲得相同的總和羹铅,如果他開采了0%擴(kuò)張的塊蚀狰,我們可以觀察到最小的線性關(guān)系。費(fèi)用乘數(shù)和最佳塊大小擴(kuò)展职员。例如麻蹋,以最低的費(fèi)用,最適合礦工持續(xù)增長中位塊大小焊切,比中位數(shù)高0.6%扮授。只要有足夠的交易填補(bǔ)塊芳室,他可以繼續(xù)這樣做。要以6%的速度增加塊大小刹勃,需要10的費(fèi)用乘數(shù)堪侯,增加60%為100,最終增加100%荔仁,而166.67乘數(shù)伍宦。重要的是要注意,這些圖表是不變的網(wǎng)絡(luò)州乏梁。對于任何基塊獎勵和實際塊大小中值次洼,它們看起來相同。問題是遇骑,給定一個具有任何費(fèi)用乘數(shù)的交易池卖毁,礦工總是可以建立一個最佳曲線的塊?答案是否定的落萎,下面我們將分析一下原因亥啦。### 2.相對典型交易規(guī)模的問題雖然現(xiàn)有公式表現(xiàn)出永久性的激勵,只要有足夠的交易练链,就會以0.6%的速度增長塊大小在回憶中禁悠,這種逐漸增加在實踐中是不可行的。這是因為礦工只能通過從池中挑選交易來影響塊大小兑宇。由于典型事務(wù)大小與最小塊大小之間的比率大于0.6%,礦工無法實現(xiàn)塊大小增加的目標(biāo)粱坤。當(dāng)然隶糕,并不是所有的交易都具有相同的大小,也不提供相同的費(fèi)用站玄,并且可以利用交易大小的差異來構(gòu)建偶然的最優(yōu)塊枚驻。然而,對于一些典型的情況株旷,這是不可行的再登。實際上,塊大小增加是可行的晾剖,只能在一些離散的步驟锉矢。為了分析這個,我們將定義W_T = 1 + T_0 / M
齿尽,其中T_0
是一個典型的Monero事務(wù)的大小沽损,'M'是前面定義的中間塊大小。因子“W_T”是最小可行的塊大小擴(kuò)展因子循头,即塊大小在單個典型事務(wù)大小上升到中位數(shù)以上:“B_T = M + T_0 = M * W_T”绵估。我們可以定義可行的集合對于任何n * T_0 <= M炎疆,塊大小擴(kuò)展為
W_f = {1 + T_0 / M,1 + 2 * T_0 / M国裳,...形入,1 + n * T_0 / M}這些離散步驟中的每一個都可以與使礦工的階梯中立或最佳所需的費(fèi)用乘數(shù)相結(jié)合。任何大于中性的費(fèi)用乘數(shù)將為礦工帶來額外的利潤缝左,而最佳費(fèi)用乘數(shù)將給予給定塊大小增加的利潤最大化亿遂。最小可行擴(kuò)展因子“W_T”隨著協(xié)議的一部分改變“T_0”而改變影響典型事務(wù)大小的變化,或者由于網(wǎng)絡(luò)狀態(tài)而導(dǎo)致的中間塊大小“M”盒使。它還定義了可行的塊大小增加步驟崩掘。下面我們來看一下1kB和15kB的“T_0”,作為非RCT和RCT交易的典型尺寸少办![圖2-1](https://github.com/JollyMort/monero-research/blob/master /Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig2-1.png?raw=true)我們看到事務(wù)大小的跳躍如何創(chuàng)造了平滑擴(kuò)展塊大小的障礙苞慢。我們還看到,一旦中位數(shù)增加到足夠大英妓,離散的步驟變得越來越密集挽放,那么這是如何緩解的。這也可以在下面的圖表中看到蔓纠![圖2-2](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum% 20Fee /圖像/ Fig2-2.png辑畦?raw = true)前RCT,第一步為1.67%腿倚,中性乘數(shù)為1.39纯出,后RCT為25.3%,中性乘數(shù)為25%敷燎。另外琳状,最小获雕。每個TX的費(fèi)用已經(jīng)上漲了15倍料饥。如果不知何故掸驱,網(wǎng)絡(luò)應(yīng)該調(diào)整到更大的塊大小的狀態(tài),離散步驟將變得更加密集饭豹,并允許更平滑的更改鸵赖。問題在于首先進(jìn)入該狀態(tài)。隨著塊擴(kuò)展拄衰,較小乘法器的最佳步驟將變得可行它褪。使用當(dāng)前的公式,中位塊大小應(yīng)為“M = 1250kB”肾砂,以使最小費(fèi)用可用的中立步驟列赎,或“M = 2500kB”,以獲得最低費(fèi)用的最佳步驟。這個問題實際上是RCT之前包吝,但RCT變得更加嚴(yán)重理想穩(wěn)定增長與目前可行的RCT和非RCT交易之間的差異饼煞,根據(jù)塊大小和市場價格之間的關(guān)系,不同的情景诗越。[圖2-3](https://github.com/JollyMort/ monero-research / blob / master / Monero%20動態(tài)%20Block%20Size%20and%20動態(tài)%20Minimum%20Fee / Images / Fig2-3.png砖瞧?raw = true)如上所示,最小可行最小值嚷狞。 RCT為6.91 $块促,非RCT為0.03 $。以這樣的代價床未,存在阻礙采用和防止向穩(wěn)定增長的狀態(tài)過渡的真正危險竭翠。由于交易規(guī)模增加15倍,而且由于罰款的增加薇搁,TX的價格大幅上漲增加一個更大的事務(wù)需要更大的相對塊大小增加斋扰,并造成更大的懲罰。因此啃洋,第一個可行增長步驟的成本比終端用戶的成本高出前RCT的219倍传货!### 3.提出的解決方案首先可以考慮一些瑣碎的解決方案: - 將“M_0”增加到1250kB。這將立即減少最小宏娄。費(fèi)用和延期使用塊獎勵懲罰问裕,直到網(wǎng)絡(luò)增長到典型的交易大小對于動態(tài)公式的功能無關(guān)緊要的程度。 - 使單個典型交易大小高于中位數(shù)的塊大小增加罰款孵坚。這將是原始CryptoNote設(shè)計的精神粮宛,免費(fèi)提高了10%。這將允許穩(wěn)定增長卖宠,同時節(jié)省速度窟勃。上述解決方案帶來的缺點是它們可以免費(fèi)增加一些。現(xiàn)有公式不利于任何自由增加逗堵。本著同樣的精神,新提案的目標(biāo)是使最小的增量可行眷昆,同時通過防止自由塊擴(kuò)展來保持網(wǎng)絡(luò)使用的合理性蜒秤。## 3.1固定最小可行費(fèi)用選項的想法是縮小懲罰公式,使在中位數(shù)以上添加單一典型交易的中性費(fèi)用保持不變亚斋,直至意味著1.2%的塊大小增加作媚。從那里,原來的公式會再次踢帅刊。然而纸泡,仍然會造成100%的全部罰款。實現(xiàn)這種轉(zhuǎn)換的最簡單方法是將當(dāng)前懲罰公式與線性函數(shù)相乘:P_n_1 =(k_1 * W + 1)(W-1)^ 2 * R赖瞒,其中參數(shù)
k_1和
l_1必須被確定為適應(yīng)上面的命題女揭。首先蚤假,我們會發(fā)現(xiàn)
l_1,這樣`````````````````上述的解決方案給出了
l_1 = 1 - 2 * k_1吧兔,懲罰公式現(xiàn)在可以表示為
P_n_1 =(k_1 (W-2)+ 1)(W-1)^ 2 參數(shù)“k_1”仍然需要確定磷仰。我們可以表達(dá)上述保持中立費(fèi)用的命題,以適應(yīng)一個典型的交易規(guī)模增長常數(shù)如下:(k_1 (W_T - 2)+ 1)(R / M)(W_T - 1)=(R /(W_T-2)(W_T-2)(W_0-1)境蔼。 )^ 2))
灶平。當(dāng)條件“W_0 <W_T”成立時,新的懲罰公式將有效箍土。對于“W_T <= W_0”逢享,將使用原始懲罰計算。 “W_T = W_0”將會給予相同的懲罰吴藻,無論使用哪種表達(dá)式瞒爬,因為對于那種情況,因為'k_1 = 0'调缨。因為W <W_T需要特別注意疮鲫,因為在某些'0'處罰將達(dá)到0 <W <W_T。為了解決這個問題弦叶,我們可以簡單地鎖定比例因子如下:對于W W和W_0 <W_T俊犯,
P_n_1 =(k_1 (W_T - 2)+ 1)(W-1)^ 2 * R總而言之,對于W <W_T和W_0 <W_T伤哺,P_n_1 =(k_1 *(W_T-2)+ 1)*(W-1)^ 2 * R'燕侠,P_n_1 =(k_1 * - 2)+ 1)*(W-1)^ 2 * R
為W_T <= W且W_0 <W_T
,P_n_1 = P_c
為W_T <= W_0
立莉。下面我們可以看到直接比較當(dāng)前和提出的懲罰公式绢彤![圖3.1-1](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images /Fig3.1-1.png?raw=true)根據(jù)定義的懲罰公式,現(xiàn)在仍然要找到中立和最優(yōu)費(fèi)用的表達(dá)式蜓耻。對于F'解析'E_A = 0'給出中立費(fèi)用表達(dá)式:
F_n_1對于“W <W_T”和“W_0 <W_T”茫舶,F(xiàn)_n_1 =(k_1 (W-2)+ 1),(k_1 (W_T-2)+ 1)(R / M)(W-1) )(R / M)(W-1)刹淌,對于
W_T <= W且W_0 <W_T饶氏,
F_n_1 = F_n_c用于
W_T <= W_0。對于
F的dE_A / dW給出選擇對于“W_T”有勾,對于“W <W_T和W_0 <W_T”疹启,F(xiàn)_o_1 =(k_1 *(3 * W-5)+ 2)*(R / M)*(W-1) = W和W_0 <W_T
,而F_o_1 = F_o_c
為W_T <= W_0
蔼卡。下面我們可以看到當(dāng)前和擬議的中立和最優(yōu)費(fèi)用的直接比較喊崖![圖3.1-2](https:// github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig3.1-2.png?raw=true)還有,我們將分析影響的費(fèi)用乘數(shù),如下所示荤懂![圖3.1-3](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20尺寸%20和%20動態(tài)%20最凶氯埂%20Fee /圖像/圖3-1-3.png?raw = true)我們看到最初势誊,只有最小的一步是可以使用的呜达。一旦中位數(shù)增長,只要用戶愿意提供更高的乘數(shù)粟耻,就可以實現(xiàn)更快的增長查近。接下來,我們顯示單個交易的最低成本挤忙![圖3.1-4](https:// github .com / JollyMort / monero-research / blob / master / Monero%20動態(tài)%20Block%20Size%20and%20動態(tài)%20Minimum%20Fee / Images / Fig3.1-4.png霜威?raw = true)在這種情況下,我們可以看到如果市場價格不變册烈,整個過渡期間單一交易的成本如何保持平穩(wěn)戈泼。因此,實現(xiàn)了初始命題赏僧。此外大猛,我們將分析一個完整塊的最小成本。[圖3.1-5](https://github.com/JollyMort/monero-research/blob/master/Monero% 20動態(tài)%20Block%20尺寸%20和%20動態(tài)%20最械砹恪%20Fee /圖像/圖3-1-5.png挽绩?raw = true)通常,這種成本分布在各個用戶之間驾中。如果一個單一的演員會想要將塊大小保持在一定的中位數(shù)唉堪,那么他必須單獨運(yùn)行這個運(yùn)行成本。我們可以將一個中位數(shù)增加周期定義為51個連續(xù)塊的增加肩民。這是影響中位數(shù)的最小塊數(shù)唠亚,因為它是在過去100個塊中計算的。我們將以最小可行增長計算一個周期的成本持痰,如下所示灶搜。[圖3.1-6](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block% 20尺寸%20和%20動力%20最小%20Fee /圖像/圖3.1-6.png工窍?raw = true)這些圖表下方的區(qū)域?qū)⒔o我們累積成本占调,以將塊大小從最小自由塊大小增加到某個中位數(shù),如見下圖移剪。[圖3.1-7](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig3.1 -7.png?raw = true)我們可以看到如何使用新的罰款和費(fèi)用公式薪者,如果增長更快纵苛,增長將以較低的利率變得更便宜,并且收斂于原始公式。重要的是要注意攻人,任何增長都可以通過51個小塊的單個周期“重置”取试,之后一些攻擊者將以前的努力來增加塊大小被擦除。這個建議將幾乎免費(fèi)乘車到大約0.5MB的塊大小怀吻,同時將累積成本幾乎減半到達(dá)轉(zhuǎn)型點瞬浓。這可能不是希望的,第二種選擇在下面被提出蓬坡。#### 3.2可行的當(dāng)前最低費(fèi)用選項想法是找到這樣的懲罰公式猿棉,其中當(dāng)前的最低費(fèi)用將足以容納單個典型的中立塊大小增加交易大小從E_A = F_A - P
,E_A = 0
屑咳,W = W_T
和F = F_min_c
我們得到P_ {2-0} = F_min_c *(W_T - 1)* M
萨赁。擴(kuò)展給出了P_ {2-0} =(W_0-1)(W_T-1)* R。這是滿足初始命題的要求兆龙。無論懲罰函數(shù)是什么杖爽,“W = W_T”的結(jié)果必須等于上述“P_ {2-0}”。函數(shù)
P_ {2-1} =(W - 1)(W_T - 1) R “這是符合這個要求的紫皇。雖然這對W = W_0的特殊情況會很好慰安,但它也必須擴(kuò)大到“W = 2”的完全懲罰。一個解決方案是在“P_ {2-0}”中乘以“W_0”用一些線性函數(shù)f(W)= k * W + l
表達(dá)式聪铺,用W
代替W_T
項化焕。這將再次產(chǎn)生函數(shù)二次:“P_ {2-2} =(W_0 (k_2 * W + l_2)-1)(W-1)* R。如上所述计寇,它必須滿足要求” P_ {2-2}(W:= 2)= P_c(W:= 2)
锣杂,求解該方程式給出l_2 = 2 / W_0-2 * k
。另一個要求是P_ {2-2} W:= W_T)= P_ {2-0}
番宁,求解該方程式給出k2 =((W_0-1)-1)/((W_0-1)(W_T-2)我們有:對于W <W_T和W_0 <W_T元莫,P_n_2 =(k_2 *(W_T-2)+ 1 /(W_0-1))*(W-1)*(W_0-1)* R
對于W_T <= W且W_0 <W_T,P_n_2 =(k_2 (W-2)+ 1 /(W_0-1))(W-1)(W_0-1) P_c為
W_T <= W_0蝶押。下面我們可以看到直接比較當(dāng)前和建議的懲罰公式踱蠢![圖3.2-1](https://github.com/JollyMort/monero-research/blob/master/ Monero%20動態(tài)%20Block%20尺寸%20和%20動態(tài)%20最小%20Fee / Images / Fig3.2-1.png棋电?raw = true)根據(jù)定義的懲罰公式茎截,現(xiàn)在仍然是找到中性和最優(yōu)費(fèi)用的表達(dá)式。
E_A = F給出中立費(fèi)用表達(dá)式:對于W赶盔,F(xiàn)_n_2 =(k_2 *(W_T-2)+ 1 /(W_0-1))*(W_0-1)*(R / M)對于W_T <= W和W_0企锌,W_T和W_0 <W_T
,F(xiàn)_n_2 =(k_2 (W-2)+ 1 /(W_0-1))(W_0-1)(R / M) W_T
和F_n_2 = F_n_c
用于W_T <= W_0
于未。為F
找到dE_A / dW
給出最佳的費(fèi)用表達(dá)式:對于W <W_T和W_0 <W_T撕攒,'F_o_2 =(對于
W_T <= W且W_0 <W_T和
F_o_2 = F_o_c陡鹃,對于(K_2 *(3-2 * W)+ k *(2 * W-3)* W_0 + 1)對于'W_T <= W_0
。我們可以直接比較當(dāng)前和建議的中性和最優(yōu)費(fèi)用抖坪。[圖3.2-2](https://github.com/JollyMort/monero-research/blob/master/ Monero%20Dynamic%20Block%20Size%20于是%20Dynamic%20Minimum%20Fee / Images / Fig3.2-2.png萍鲸?raw = true)再次,我們將分析費(fèi)用乘數(shù)的影響擦俐,如下所示脊阴![圖3.2-3](https://github.com/JollyMort/ monero-research / blob / master / Monero%20動態(tài)%20Block%20Size%20and%20動態(tài)%20Minimum%20Fee / Images / Fig3.2-3.png?raw = true)我們看到最初只有最小的一步是可以實現(xiàn)的蚯瞧。一旦中位數(shù)增長嘿期,只要用戶愿意提供更高的乘數(shù),就可以實現(xiàn)更快的增長状知。另外秽五,請注意這個選項如何看起來與當(dāng)前的這個選項相似,除了在單個TX大小的區(qū)域中饥悴。下面我們將顯示單個事務(wù)的最低成本坦喘![圖3.2-4](https:// github .com / JollyMort / monero-research / blob / master / Monero%20動態(tài)%20Block%20Size%20and%20動態(tài)%20Minimum%20Fee / Images / Fig3.2-4.png?raw = true)在這種情況下西设,我們可以看到單個交易的成本如何保持與當(dāng)前最小值相同瓣铣。費(fèi)用公式,但現(xiàn)在足以使單個典型的TX被添加到中位數(shù)之上贷揽。因此棠笑,實現(xiàn)了初始命題。此外禽绪,我們將分析完整塊的最小成本蓖救。[圖3.2-5](https://github.com/JollyMort/monero-research/blob/master/Monero% 20動態(tài)%20Block%20尺寸%20和%20動態(tài)%20最小%20Fee /圖像/圖2-3-5.png印屁?raw = true)通常循捺,這種成本分布在各個用戶之間。如果一個單一的演員會想要將塊大小保持在一定的中位數(shù)雄人,那么他必須單獨運(yùn)行這個運(yùn)行成本从橘。我們可以將一個中位數(shù)增加周期定義為51個連續(xù)塊的增加。這是影響中位數(shù)的最小塊數(shù)础钠,因為它是在過去100個塊中計算的恰力。我們將以最小可行增長計算一個周期的成本,如下所示旗吁。[圖3.2-6](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block% 20尺寸%20和%20動力%20最胁任%20Fee /圖像/圖3.2-6.png?raw = true)這些圖表下面的區(qū)域?qū)⒔o我們累積成本很钓,以將塊大小從最小自由塊大小增加到某個中位數(shù)香府,如見下圖翻具。[圖3.2-7](https://github.com/JollyMort/monero-research/blob/master/Monero%20Dynamic%20Block%20Size%20and%20Dynamic%20Minimum%20Fee/Images/Fig3.2 -7.png?raw = true)我們可以看到如何使用新的罰款和收費(fèi)公式回还,增長的價格與非RCT的價格幾乎相同,現(xiàn)在的公式將是最低的叹洲,并且收斂于原來的如果增長應(yīng)該更快柠硕,RCT的公式。重要的是要注意运提,任何增長可以通過51個小塊的單個周期“重置”蝗柔,之后一些攻擊者將以前努力增加塊大小,并且必須承擔(dān)一切費(fèi)用民泵。這個建議將會增加到給定塊大小的成本線性癣丧,與理想情況下的原始公式相同。### 4.修改常量的影響我們定義了3個任意常數(shù)的值:M_0 = 60000 bytes
- 最小可用塊大小栈妆。 W_0 = 1.0012
- 最小費(fèi)用中性擴(kuò)張因子T_0 = 15000字節(jié)
- 典型的事務(wù)大小胁编。最小可用塊大小M_0
定義動態(tài)公式的起始點。改變它將保持與M_0 <M'相同的曲線形狀鳞尔。但是嬉橙,由于對于“M <M_0”,我們的行為好像是M = M_0寥假,而且W = B / M_0也會影響開始的最低費(fèi)用:F_min_c =(R / M_0)(W_0 - 1 )```M <M_0.We可以看出市框,將M_0加倍的開始最小費(fèi)用減半,這將開始遵循“M = M_0”的動態(tài)公式糕韧。其余的將不受影響枫振。最低費(fèi)用擴(kuò)張因子“W_0”將所有東西都放在一起。將“W_0”減半將使最低增長率減半萤彩,并將任何給定網(wǎng)絡(luò)狀態(tài)的最低費(fèi)用減半粪滤。它也會使過渡區(qū)域翻一番,即懲罰公式轉(zhuǎn)換為舊版塊的塊大小將增加一倍乒疏。有了這個额衙,即使是老分鐘。費(fèi)用公式將被縮放怕吴,因為“W_0”被用作舊費(fèi)用公式中的常數(shù)窍侧。典型的交易大小“T_0”會影響新公式轉(zhuǎn)換為舊公式的點,以及懲罰的折扣方式转绷。如果實際的典型交易規(guī)模保持不變伟件,則可以將最小費(fèi)用增加2 TX的塊大小。### 5.建議更改保持當(dāng)前最小值的選項议经。收費(fèi)公式被視為首選斧账,因為與RCT之前的情況相比谴返,它不會顯著影響擴(kuò)張成本。如前所述咧织,第一個可行步驟的價格將被貼現(xiàn)嗓袱,以便以目前的最低費(fèi)用可以實現(xiàn)。目前約為0.29美元/ TX习绢。這可能被視為已經(jīng)很高的費(fèi)用渠抹,因為對于比特幣來說,費(fèi)用需要一些重要的交易壓力才能達(dá)到0.29美元/ TX闪萄。相比之下梧却,Monero的收費(fèi)是0.29 $ / TX,因為它是任意設(shè)定的败去》藕剑可以說,被稱為最低限度的東西應(yīng)該低于用戶默認(rèn)支付的水平圆裕。目前广鳍,錢包使用最低費(fèi)用為t他默認(rèn),并提供x20和x166的乘數(shù)作為優(yōu)先級的工具葫辐。建議添加x4的附加乘數(shù)搜锰,并將其設(shè)置為默認(rèn)值。為了保持默認(rèn)費(fèi)用與現(xiàn)在相同耿战,我們需要將最低費(fèi)用降低4倍蛋叼。我們可以通過增加最小費(fèi)用來實現(xiàn)。自由塊大小為“M_0 = 120kB”剂陡,這將降低最低費(fèi)用2倍狈涮。考慮到在下一個HF中鸭栖,計劃優(yōu)化RCT范圍證明歌馍,交易規(guī)模可以減半晕鹊,這將給予另一個因素如果它會少一些松却,那么“M_0”可以按比例增加以獲得4的整數(shù):M_0 = 120kB *(7500字節(jié)/ T_0)。在TX大小減少50%時溅话,我們得到
T_0 = 7500字節(jié)晓锻,M_0 = 120kB,TX大小減少0%飞几,我們會得到“T_0 = 15000字節(jié)”砚哆,M_0 = 240kB。這將允許網(wǎng)絡(luò)在一個塊中匹配16個典型的事務(wù)屑墨,而不是4個-5現(xiàn)在是躁锁。這將減少將塊擴(kuò)展到17個交易所需的費(fèi)用纷铣,并將給用戶減少在市場價格沖擊的情況下支付的費(fèi)用。### 6.結(jié)論### 7.附錄1战转。常量VB代碼(MS Excel用戶自定義函數(shù))2搜立。當(dāng)前公式的VB代碼(MS Excel用戶自定義函數(shù))3。擬議公式的VB代碼(MS Excel用戶定義函數(shù))