鏈的可用資源是有限的。資源包括內存使用、存儲 I/O、計算、交易/塊大小和狀態數據庫大小。有幾種機制可以管理對資源的訪問,并防止鏈中的各個組件消耗過多的資源。重量(Weights)是用于管理驗證區塊所需時間的機制。一般來說,這來自于限制存儲 I/O 和計算。
注意:重量不是用于限制對其他資源的訪問,例如存儲本身或內存占用。有其他機制用于這個。
塊可以包含的重量是有限的,可選的重量消耗(即不需要作為塊的初始化或終結階段的一部分部署的重量,也不需要用于強制的固有外部重量)通常通過經濟措施來限制,或者簡單地說,通過交易費用來限制。重量系統的費用含義包含在交易費用文檔中(https://substrate.dev/docs/en/knowledgebase/runtime/fees)。
Substrate 將一個重量單位定義為在固定參考硬件(Intel Core i7-7700K CPU,64GB RAM 和 NVMe 固態硬盤)上執行時間的皮秒(微微秒)。參考硬件上的基準測試使重量在 runtime 之間具有可比性,從而允許來自不同來源的軟件組件的可組合性。為了針對不同的驗證人硬件假設去調節 runtime,可以設置不同的最大塊重量。例如,為了允許驗證人參與,速度只有參考機器的一半,最大塊重量應該是默認值的一半,保持默認的塊時間。
媒體:薩爾瓦多2020年GDP不到比特幣市值三分之一:金色財經報道,據半島電視臺消息,薩爾瓦多將比特幣定為法幣后仍需面臨諸多問題,主要原因是薩爾瓦多是一個小國,其2019年的國內生產總值為269億美元,而在2020年,因新冠危機產生的負面影響,該國的國內生產總值減少至246億美元,只占到比特幣市值的27%左右。另外還需要關注薩爾瓦多應對比特幣價值波動的能力,許多公民可能并不喜歡使用比特幣進行交易,盡管法律規定了接受該貨幣的義務,但是人們的利益會因此面臨更多的風險。[2021/9/10 23:14:14]
最大塊重量應等于目標塊時間的三分之一,分配三分之一用于塊構造,三分之一用于網絡傳播,三分之一用于導入和驗證。雙倍塊時間會雙倍最大塊重量。這些優化選項為 runtime 開發人員提供了一種方法,使其能夠在每秒交易數與硬件需求之間為其場景進行最佳權衡。這些權衡可以通過 runtime 更新進行調整,以跟上硬件和軟件的改進。
58學院TIM:未來加密貨幣市場可能形成礦業 交易所和機構三分天下的布局:12月31日下午5點,58學院第二十八期AMA《如何布局2021加密貨幣市場》邀請到了58學院高級研究員TIM做客直播間,在談到傳統金融機構成為加密市場的新主力所帶來的影響時,TIM表示,傳統金融機構進場加密貨幣領域已是不爭的事實:MicroStrategy拿出了4.25億美元投資比特幣;全球支付平臺PayPal宣布提供加密貨幣交易服務,用戶能直接從PayPal賬戶購買,持有和出售加密貨幣;而Grayscale的比特幣信托市值也已經超過了82億美元,占比特幣總量的2.38%。隨著傳統金融機構在加密市場的不斷布局和加密市場本身的極速擴張和成長,未來加密貨幣市場可能形成礦業,交易所和機構三分天下的布局。[2020/12/31 16:10:04]
重量表示區塊鏈必須驗證區塊的有限時間。這包括計算周期和存儲 I/O。自定義實現可以使用復雜結構來表示這一點。Substrate 重量只是一個數值(https://crates.parity.io/frame_support/weights/type.Weight.html)。
數據:CMC上幣安調整后24h交易量僅占調整前三分之一:幣信研究院院長熊越發微博稱,經查詢Coinmarketcap數據,幣安調整后的24H成交量為1,714,090,100美元,調整前為是5,656,208,797美元,調整后幾乎只剩三分之一。對比來看,排在其前邊的十幾家交易所調整前后交易量則保持一致。[2020/4/13]
重量的計算應始終:
在調度前可計算。塊生成器應該能夠在實際決定是否接受它之前檢查可調度的重量。
本身消耗的資源很少。消耗同樣的資源去計算交易重量是沒有意義的,當它會在執行中花費掉。因此,重量計算應該比調度輕得多。
能夠在不咨詢鏈狀態的情況下確定所使用的資源。在不需要昂貴的 I/O 的情況下,重量能夠很好地表示固定的測量值或僅基于可調度函數的參數的測量值。當成本取決于鏈的狀態時,重量就不那么有用了。
分析 | 超三分之一德國物流經理認為區塊鏈可顯著改善供應鏈合作:據cointelegraph報道,根據Hermes最新的調查顯示,超過三分之一的德國物流經理認為區塊鏈技術有可能顯著改善供應鏈中的合作。35%的受訪者能夠認識到區塊鏈的重要性,同時33%的受訪者認為大數據非常重要。在較大的公司中,特別是在員工人數超過250人的公司中,管理人員中有一半注意了到區塊鏈技術在行業中的潛力。[2018/11/14]
在可調度的重量嚴重依賴于鏈狀態的情況下,有兩個選項可用:
確定或引入一個強制上限,以確定可調度的可能承受的重量。如果強制上限和可調度的最小可能重量之間的差異很小,則可以假定它始終處于重量上限,而無需咨詢狀態。然而,如果差異太大,那么進行較少交易的經濟成本可能太大,這將扭曲激勵機制,造成吞吐量的低效率。
要求將有效重量(或可用于有效計算的前體)作為參數傳遞給調度。收取的重量應以這些參數為基礎,但也包括在調度期間驗證這些參數所需的時間。必須進行驗證,以確保重量參數與鏈上狀態準確對應,如果不符合,則操作可能出錯。
英國交易所調查 三分之一的千禧一代將在2018年購買加密貨幣:倫敦交易所最近進行了一項涉及2000名英國人的研究。這項研究表明,45歲以下的人中有5%的人已經投資了一個加密貨幣,另有11%的人計劃在明年投資加密貨幣。另有17%的公司正在認真考慮在2018年底投資數字貨幣。英國“ 獨立報”稱,該研究發現三分之一的千禧一代將在2018年投資于電子貨幣市場。[2017/12/20]
有幾個因素會影響執行時間,從而影響重量計算。一個很大的貢獻者是一個可調度執行的數據庫訪問數。由于數據庫訪問的成本在很大程度上取決于數據庫后端和存儲硬件,因此重量計算是參數化的,而不是數據庫讀寫的重量成本。這些成本是通過在一些參考硬件上對每個可用的數據庫后端進行基準測試來確定的。這允許在不更改所有重量計算的情況下切換數據庫后端。
除了只使用常量進行預調度重量計算外,開發人員還可以將給定可調度對象的輸入參數考慮在內。當執行時間取決于例如一個參數的長度時,這非常有用。重要的是,這些計算本身不需要任何有意義的工作。使用一些基本算法,可以從輸入參數中輕松計算預調度的最大重量。
系統模塊(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 社區
比特幣解決了許多問題,從貨幣政策處理不當到充當一個全新的財富存儲手段。但這是否也可以解決委內瑞拉被制裁和卡在海上的石油問題,或許可以將油更好地利用,而不是漫無目的地漂浮在海上.
1900/1/1 0:00:00據悉,立陶宛央行立陶宛銀行(The Bank of Lithuania)將于7月23日發行其基于區塊鏈的數字收藏幣LBCoin.
1900/1/1 0:00:00如果觀察比特幣的持有量數據,你會發現匿名賬戶表現出一條令人擔憂的趨勢,即大戶之間的聯合的趨勢越來越明顯。鯨魚通常指持有1000到100萬比特幣的投資者,被稱為鯨魚.
1900/1/1 0:00:007月7日,一年一度的高考終于拉開帷幕。據《百度2020年高考搜索大數據報告》顯示,2020年十大熱搜專業為:人工智能、機器人工程、電子商務、物聯網工程、大數據技術、網絡與新媒體、網絡空間安全、軟.
1900/1/1 0:00:00文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00想象這樣一個世界,4k視頻不用緩沖的,脫機并不會結束你的在線辦公,電子商務對商家是免費的,并且任何機構無法阻斷互聯網的訪問.
1900/1/1 0:00:00