本帖最後由 mazz68 於 2022-5-5 22:25 編輯
與任何區塊鏈一樣,節點是Pi 去中心化的核心。在Pi 中, 我們決定將節點開放給任何一台計算機連接到互聯網的先鋒,而不是依賴中心化的機構節點 借助從移動應用程序的各個先鋒安全圈聚合的全局信任圖,這些節點將運行共識算法來驗證交易和處理區塊。 由於節點對Pi 區塊鏈的去中心化、安全性和持續性至關重要,因此架設節點的先鋒可獲得額外的挖礦獎勵。
節點獎勵算力公式 N
N(I) =node_factor • tuning_factor • I
Node_factor= Percent_uptime_last_1_days • (Uptime_factor + Port_open_factor +CPU_factor), 其中 Uptime_factor= (Percent_uptime_last_90_days + 1.5*Percent_uptime_last_360_days(360-90) + 2*Percent_uptime_last_2_years + 3*Percent_uptime_last_10_years), Port_open_factor= 1 + percent_ports_open_last_90_days + 1.5*percent_ports_open_last_360_days +2* percent_ports_open_last_2_years + 3*percent_ports_open_last_10_years, CPU_factor= (1 + avg_CPU_count_last_90_days + 1.5*avg_CPU_count_last_360_days + 2*avg_CPU_count_last_2_years + 3*avg_CPU_count_last_10_years)/4。
Percent_uptime_last_*_days/years 是單個節點處於活動狀態並可被網路訪問的最後* 時段的百分比(這個變數的* 是指天數)
percent_ports_open_last_*_days/years 是單個節點的端口打開以連接到網路的最後* 時段的百分比
avg_CPU_count_last_*_days/years 是單個節點在最後* 時段內提供給網路的平均CPU
Tuning_factor
是一個統計因子,它將node_factor 歸化為0 到10之間的數字
節點獎勵取決於正常運行時間因素、端口開放因素、CPU 因素和調和因素。給定時間段內節點的正常運行時間參數是該節點在該時間段內處於活動狀態的時間比例。例如,昨天25% 的正常運行時間參數意味著該節點昨天在24 小時內總共有6 小時處於活動狀態且可訪問。Pi 節點軟體循跡特定節點處於活動狀態的時間。從開放主網階段開始,只有在給定時間點在功能上運行的節點才被認為是活動的。這是節點可靠性的代理。但是,對於與挖礦獎勵相關的歷史數據,如果節點應用程序打開並連接到互聯網,即使它沒有正常運行,也可以認為節點處於活動狀態。這種對過去表現的豁免承認,運行測試網的社區節點架設者,為全網提供了重要的數據和基礎設施,以實現節點軟體和測試網的多次迭代,並且他們節點的不運行並非總是節點操作者的錯誤。
給定時間段內節點的端口開放參數是在該時間段內檢測到節點的特定端口可從互聯網訪問的時間比例。Pi 節點使用端口31400 到31409,使其他節點可以通過這些端口和網路IP 地址訪問它們。端口開放的節點能夠響應其他節點發起的通信,而端口封閉的節點無法接收其他節點的此類通信,只能發起通信。Pi 的共識協議依賴於節點之間發送一系列信息。因此,開放端口節點對於Pi 區塊鏈的運行至關重要,因此值得挖礦獎勵增速。事實上,網路的目標是至少有1/8 的節點具有開放端口,而擁有開放端口是成為超級節點的先決條件之一。
給定時間段內節點的CPU 參數是該時間段內計算機上可用的CPU 內核/線程的平均數。更高的CPU 參數使區塊鍊為未來的可擴展性做好準備,例如,每個區塊處理更多事務或每秒更多事務的能力。Pi 區塊鏈不是能源和資源密集型區塊鏈。該網路最初設定為大約每5 秒在一個新區塊上運行,最多1,000 個交易(T)。因此,該網路能夠有效地處理每秒約200 筆交易(TPS) 或約1700 萬T/天。如果未來區塊鏈出現擁塞,可以通過將每個區塊的交易量從1000 次增加到10,000 次,將此限制增加到2,000 TPS(約170M T/天)。Pi 節點貢獻的CPU越高,網路未來增長和擴展的空間就越大。此外,來自Pi 節點的更高集體CPU 將允許在Pi Network 上構建新穎的基於點對點節點的應用程序,例如分散的CPU 共享應用程序,讓計算能力密集的應用程序運行或提供分佈式雲服務。這些服務將通過這些服務的客戶支付的額外Pi 進一步獎勵貢獻節點。
最後,一個調整因子將節點獎勵歸一化為0 到10 之間的數字。這意味著使節點獎勵與承認對Pi 網路的其他貢獻的其他類型的挖礦獎勵相當。在封閉式主網階段(如路線圖部分所述),節點獎勵公式預計會迭代。例如,對數或根函數的使用可能潛在地消除對調整因子的需要。
讓可靠的節點在很長一段時間內以可預測的方式運行對於區塊鏈的健康至關重要。這不是一個完成的貢獻。因此,正常運行時間因子、端口開放因子和CPU 因子都是在不同的時間段內計算的,其中最近時間段的值比更遠過去的相同長度的時間段的權重更大。但是請注意,節點獎勵是前一個挖礦週期的正常運行時間因素的倍數。因此,如果先鋒的節點在前一個日曆日的整個時間內都處於非活動狀態,則他們將不會在給定的挖礦週期中獲得任何節點獎勵。與應用程序使用獎勵類似,作為節點架設者的過去貢獻沒有被動獎勵。這也意味著前一個日曆日的低正常運行時間因素(即使節點在一天中的一部分時間處於活動狀態)將大大減少給定日期的節點獎勵,儘管過去的節點貢獻很高。
【N】公式
N(I) = ① node_factor • ② tuning_factor • ③ I
節點獎勵率(N(I))= ① 節點運行參數× ② 加權參數× ③ 基礎獎勵率(I)
① Node_factor 節點運行參數
=Percent_uptime_last_1_days × (Uptime_factor + Port_open_factor + CPU_factor)
= 前一天節點處於可被網路訪問的百分比 × 十年內節點網路處於可被訪問的加權後百分比 + 十年內節點端口處於可被連結(開啟)的加權後百分比 + (十年內節點CPU 處於可提供網路運算的加權後百分比) / 4
② Tuning_factor 統計參數,是將node_factor 加權為0 到10 之間的參數。
③ I(B,L,S) 基礎獎勵率,由B(全網基礎值),L(鎖倉率),S(安全圈)計算而得。
【參數說明】
Uptime_factor = (Percent_uptime_last_90_days +1.5×Percent_uptime_last_360_days(360-90) +2.0×Percent_uptime_last_2_years +3.0×Percent_uptime_last_10_years)
節點可連網參數(Uptime_factor)
= (最近90 天可連網百分比+1.5 × 最近一年減去最近90 天可連網百分比+2.0 × 最近二年可連網百分比+3.0 × 最近十年可連網百分比)
Port_open_factor= (1+percent_ports_open_last_90_days +1.5×percent_ports_open_last_360_days +2.0×percent_ports_open_last_2_years +3.0×percent_ports_open_last_10_years
節點端口開啟參數(Port_open_factor) = 1+ 最近90 天端口開啟百分比 +1.5 × 最近一年端口開啟百分比 +2.0 × 最近二年端口開啟百分比 +3.0 × 最近十年端口開啟百分比
CPU_factor= 1+avg_CPU_count_last_90_days
+1.5×avg_CPU_count_last_360_days +2.0×avg_CPU_count_last_2_years +3.0×avg_CPU_count_last_10_years)/4
節點CPU 可提供運算參數(CPU_factor)
= (1+ 最近90 天平均CPU 可提供運算百分比 +1.5 × 最近一年平均CPU 可提供運算百分比 +2.0 × 最近二年平均CPU 可提供運算百分比 +3.0 × 最近十年平均CPU 可提供運算百分比)/4
Percent_uptime_last_*_days/years是單個節點處於活動狀態並可被網路訪問的最後* 時段的百分比。
percent_ports_open_last_*_days/years是單個節點的端口打開以連接到網路的最後* 時段的百分比。
avg_CPU_count_last_*_days/years是單個節點在最後* 時段內提供給網路的平均CPU。
【分析說明】
① Node_factor 節點運行參數是由:前一天可被網路訪問× 三種狀態的加權,計算而成。
一、可見「前一天節點處於可被訪問」非常重要。也就是,前一天節點斷網或無法連網,則該值為0、該次的「節點運行參數」為0,使得「節點獎勵率(N(I))」結果為0。這個分析重點在於,其一,處於可連網的節點就有獎勵,而且最重要;其二,表明節點可連網(即使端口沒有開啟)就是有效節點,可能處於備用(或說備選)狀態,因此給予獎勵(免得說做白工)。
二、觀察「節點端口開啟參數(Port_open_factor)」和「節點CPU 可提供運算參數(CPU_factor)」的運算中,都有基本值+1,也就是,這兩個參數即使端口沒有開啟、CPU 沒有提供算力,還是有+2 的保底值(不為0 ),可以看出設計上,以節點電腦電源開啟、有連網(必須先前路由廣播過),既能獲得節點獎勵(N),多寡而已。
三、整個參數設計上可以看出,仍然以貢獻度為主,尤其可用率時長為主,越早架設,獲得的乘數倍數越高,也是獎勵早期參與的先鋒貢獻。
四、在CPU 的參數設計上,該參數最後會除以4,我的理解是,以4 線程多工運算為一個基準,因此,不需要在設備上追求最好的CPU。
② Tuning_factor 統計參數,是將node_factor 加權為0 到10 之間的參數。
這個加權參數以node_factor 值作為對標,數值從0-10,計算方式不明,可能是在對節點運行參數里的各參數再做權重分配,例如端口開啟權重佔比。
③ 基礎獎勵率(I)
不再此處說明,自行研讀計算方式。
以上分析,是作者個人觀點,不代表項目方的意思,僅供參考,正確及最終數值以白皮書所列為準。
本站文章與教程皆為網絡蒐集和個人分享,並非代表Pi Network官方言論。如有誤,望廣大Pi友指正。
|