鏈的可用資源是有限的。資源包括內存使用、存儲 I/O、計算、交易/塊大小和狀態數據庫大小。有幾種機制可以管理對資源的訪問,并防止鏈中的各個組件消耗過多的資源。重量(Weights)是用于管理驗證區塊所需時間的機制。一般來說,這來自于限制存儲 I/O 和計算。
注意:重量不是用于限制對其他資源的訪問,例如存儲本身或內存占用。有其他機制用于這個。
塊可以包含的重量是有限的,可選的重量消耗(即不需要作為塊的初始化或終結階段的一部分部署的重量,也不需要用于強制的固有外部重量)通常通過經濟措施來限制,或者簡單地說,通過交易費用來限制。重量系統的費用含義包含在交易費用文檔中(https://substrate.dev/docs/en/knowledgebase/runtime/fees)。
Substrate 將一個重量單位定義為在固定參考硬件(Intel Core i7-7700K CPU,64GB RAM 和 NVMe 固態硬盤)上執行時間的皮秒(微微秒)。參考硬件上的基準測試使重量在 runtime 之間具有可比性,從而允許來自不同來源的軟件組件的可組合性。為了針對不同的驗證人硬件假設去調節 runtime,可以設置不同的最大塊重量。例如,為了允許驗證人參與,速度只有參考機器的一半,最大塊重量應該是默認值的一半,保持默認的塊時間。
美聯儲利率掉期顯示6月降息概率為三分之一,完全定價到7月會降息:金色財經報道,美聯儲利率掉期顯示6月降息概率為三分之一,完全定價到7月會降息。[2023/5/5 14:43:29]
最大塊重量應等于目標塊時間的三分之一,分配三分之一用于塊構造,三分之一用于網絡傳播,三分之一用于導入和驗證。雙倍塊時間會雙倍最大塊重量。這些優化選項為 runtime 開發人員提供了一種方法,使其能夠在每秒交易數與硬件需求之間為其場景進行最佳權衡。這些權衡可以通過 runtime 更新進行調整,以跟上硬件和軟件的改進。
重量表示區塊鏈必須驗證區塊的有限時間。這包括計算周期和存儲 I/O。自定義實現可以使用復雜結構來表示這一點。Substrate 重量只是一個數值(https://crates.parity.io/frame_support/weights/type.Weight.html)。
報告:前1000個加密項目中超三分之一未在今年更新動態:4月5日消息,根據區塊鏈營銷機構Guerilla Buzz5月1日的一份研究報告。包括Coingecko和加密貨幣交易所AAX等在內的今年排名前1000的加密項目中??有35.8%未能用任何新的書面內容更新網站和動態。此外,在這1000個項目中,不到一半(49.7%)在2023年發布了超過2篇新文章。
研究發現,在前10大加密項目中??,幣安的BNBChain更新動態最勤,今年發布了59篇新文章。排在第二位的是Polygon,共有36篇新文章,其次是Cardano。此外,加密項目最受歡迎的博客網站是免費博客托管網站Medium。(Cointelegraph)[2023/5/4 14:41:59]
重量的計算應始終:
在調度前可計算。塊生成器應該能夠在實際決定是否接受它之前檢查可調度的重量。
報告:逾三分之一的亞太區機構計劃將區塊鏈技術納入其反賄賂和貪污項目中:7月6日消息,利用數據、技術和洞察來幫助客戶滿足有關風險、治理和增長方面的復雜需求的供貨商德安華近日發表2022年反賄賂和貪污基準報告。
報告顯示,超過三分之一(35%)的亞太區機構計劃將區塊鏈技術納入其反賄賂和貪污(ABC)計劃。另外,認為與企業無關和對技術缺乏了解則為對ABC卻步的主要原因。(36氪)[2022/7/6 1:55:00]
本身消耗的資源很少。消耗同樣的資源去計算交易重量是沒有意義的,當它會在執行中花費掉。因此,重量計算應該比調度輕得多。
能夠在不咨詢鏈狀態的情況下確定所使用的資源。在不需要昂貴的 I/O 的情況下,重量能夠很好地表示固定的測量值或僅基于可調度函數的參數的測量值。當成本取決于鏈的狀態時,重量就不那么有用了。
在可調度的重量嚴重依賴于鏈狀態的情況下,有兩個選項可用:
Visa研究:三分之一的新加坡中小企業計劃接受包括BNPL和加密貨幣在內的數字支付:2月10日消息,根據Visa商業研究報告,新加坡94%的中小企業(SMB)將在2022年接受某種形式的數字支付,如電子錢包應用程序(59%)、移動非接觸式支付(58%)和非接觸式卡(43%)。此外,三分之一的企業還計劃通過先買后付(BNPL)解決方案和加密貨幣接受支付。
據悉,57%的新加坡人預計在2022年將更多地使用數字支付。而年輕一代正在推動這一轉變--千禧一代(66%)和Z世代(47%)比嬰兒潮一代(41%)更有可能增加他們對數字支付的使用。(The Fintech Times)[2022/2/10 9:42:57]
確定或引入一個強制上限,以確定可調度的可能承受的重量。如果強制上限和可調度的最小可能重量之間的差異很小,則可以假定它始終處于重量上限,而無需咨詢狀態。然而,如果差異太大,那么進行較少交易的經濟成本可能太大,這將扭曲激勵機制,造成吞吐量的低效率。
動態 | 美國超三分之一比特幣投資者沒有從稅收中扣除2018年的損失:據newsbtc消息,在美國,比特幣貶值造成的實際損失是可以免稅的,但根據Qualtrics在2018年底對1000多名美國投資者進行的調查報告顯示,大多數虧本出售比特幣的投資者并沒有從今年的稅收中扣除。據估算,在2018年因出售比特幣而蒙受損失的美國投資者中,他們總共損失約為17億美元。該報告還顯示,超過三分之一的投資者不打算報告他們的加密收益或損失。[2019/1/17]
要求將有效重量(或可用于有效計算的前體)作為參數傳遞給調度。收取的重量應以這些參數為基礎,但也包括在調度期間驗證這些參數所需的時間。必須進行驗證,以確保重量參數與鏈上狀態準確對應,如果不符合,則操作可能出錯。
有幾個因素會影響執行時間,從而影響重量計算。一個很大的貢獻者是一個可調度執行的數據庫訪問數。由于數據庫訪問的成本在很大程度上取決于數據庫后端和存儲硬件,因此重量計算是參數化的,而不是數據庫讀寫的重量成本。這些成本是通過在一些參考硬件上對每個可用的數據庫后端進行基準測試來確定的。這允許在不更改所有重量計算的情況下切換數據庫后端。
除了只使用常量進行預調度重量計算外,開發人員還可以將給定可調度對象的輸入參數考慮在內。當執行時間取決于例如一個參數的長度時,這非常有用。重要的是,這些計算本身不需要任何有意義的工作。使用一些基本算法,可以從輸入參數中輕松計算預調度的最大重量。
系統模塊(System pallet )負責在執行時累積每個塊的重量,并確保其不超過限制。交易支付模塊(Transaction Payment pallet)負責解釋這些重量并根據這些重量扣除費用。重量功能是 runtime 的一部分,因此可以根據需要進行升級。
在某些情況下,可調度的實際重量不能從其輸入中簡單地計算出來。例如,重量可能取決于可調度的邏輯路徑。如果在調度后沒有任何方法來校正重量,我們會不斷高估這些可調度的價格,然后再多收費,因為我們必須在調度前假設最壞的情況,以確保鏈條的安全。
發布調度后的重量修正允許任何可調度的在執行后返回其實際重量。此重量必須小于或等于調度前最壞情況的重量。要允許用戶包含外部用戶,他們仍然必須能夠支付最大重量,即使最終付款將基于實際重量。
除了影響費用之外,重量系統的主要目的是防止一個區塊被執行時間過長的交易填滿。在塊內處理交易時,系統模塊將塊的總長度(以字節為單位的編碼交易的總和)和塊的總重量相加。如果這兩個數字中的任何一個超過了限制,則該區塊不接受進一步的交易。這些限制在 MaximumBlockLength 和 MaximumBlockWeight是有定義的。
關于這些限制的一個重要注意事項是,其中一部分是為 Operational 調度類保留的。此規則適用于這兩個限制,比率可以在 AvailableBlockRatio中找到。
例如,如果塊長度限制為 1 兆字節,并且比率設置為 80%,則所有交易都可以填充塊的前 800 千字節,而最后 200 千字節只能由操作類填充。
還有一個 Mandatory 調度類,可以用來確保外部始終包含在塊中,而不管它對塊重量的影響如何。請參閱交易費用文檔(https://substrate.dev/docs/en/knowledgebase/runtime/fees)以了解有關不同調度類以及何時使用它們的更多信息。
下一步
了解更多
Substrate 菜譜中有包含自定義重量和重量費用的案例。
案例模塊:https://github.com/paritytech/substrate/blob/master/frame/example/src/lib.rs
查看給自定義 runtime 函數添加一個交易重量的例子。https://substrate.dev/recipes/3-entrees/weights.html
交易支付模塊:https://github.com/paritytech/substrate/blob/master/frame/transaction-payment/src/lib.rs
重量:https://github.com/paritytech/substrate/blob/master/frame/support/src/weights.rs
原文:https://substrate.dev/docs/en/knowledgebase/learn-substrate/weight
翻譯:PolkaWorld 社區
金色財經 區塊鏈7月1日訊 以太坊開發人員再一次推遲硬分叉升級,這次是“柏林”(Berlin).
1900/1/1 0:00:00文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00原文標題:為預防Libra威脅 立陶宛將于下周預售央行發行的數字貨幣立陶宛將成為歐元區首個發行數字貨幣的國家。7月2日,據路透社報道,立陶宛將在下周開始預售2.4萬枚由央行發行的數字貨幣.
1900/1/1 0:00:00近半個月的時間,幣市一片大好,主流幣雖無波動,但山寨幣和一些明星幣種頻頻突破阻力位。在眾多突破阻力位的幣種里,LINK的走勢可圈可點,交易量和價格都有所突破.
1900/1/1 0:00:00多云的天氣并不總意味著接下來會有暴雨,太陽的出現也不總是意味著是溫和的一天。比特幣三連陽沖高到9785美金后,也受到美股下跌的影響,快速回落到9000美金附近.
1900/1/1 0:00:00BTC/USDT永續合約 各級別性質:日線-盤整,4小時-盤整,1小時-盤整(偏空格局)截圖來自OKEX BTC/USDT永續合約1小時圖:對于行情從兩個角度來說.
1900/1/1 0:00:00