1. <em id="5wb8e"><source id="5wb8e"></source></em>
        <em id="5wb8e"><span id="5wb8e"></span></em>
          <form id="5wb8e"><span id="5wb8e"><option id="5wb8e"></option></span></form>

        1. <nav id="5wb8e"></nav>
          <wbr id="5wb8e"></wbr>

              歡迎訪問!

              比特派資訊網

              您現在的位置是:主頁 > 幫助中心 >

              幫助中心

              tp錢包官方網址|波卡百科:什么是外部信息?

              發布時間:2022-09-27幫助中心評論
              外部信息(extrinsic)是一條來自鏈外并包含在一個區塊中的信息。外部信息可分為三類:inherents、已簽名交易和未簽名交易。 注意事件(events[1])不是外部信息。鏈針對鏈本身固有的信

              外部信息(extrinsic)是一條來自鏈外并包含在一個區塊中的信息。外部信息可分為三類:inherents、已簽名交易和未簽名交易。
              注意事件(events[1])不是外部信息。鏈針對鏈本身固有的信息片段發出事件。例如,Staking 獎勵是事件,而不是外部行為,因為獎勵是由鏈邏輯固有的情形觸發的。
              區塊結構
              Substrate 中的一個區塊由區塊頭和一組外部信息數組構成。區塊頭包含區塊高度、父哈希、外部信息根、狀態根和摘要。本節僅關注外部信息根(extrinsics root)。
              在 runtime 中定義每個外部信息時,將其作為一個系列捆綁在一起,作為一個系列執行。外部信息根是該系列的密碼學摘要。這有兩個目的。首先,它可以防止在區塊頭已形成并分發后,對外部信息系列進行任何更改。其次,它提供了一種方法,允許輕客戶端僅通過了解區塊頭,就可以簡潔地驗證任何給定的外部元素確實存在于一個塊中。
              區塊參考資料[2]
              Inherents
              Inherents 是未簽名的信息,僅由出塊者插入到區塊中。它們不會被散布在網絡上,也不存儲在交易隊列中。從技術上講,沒有什么會去阻止一條 Substrate 鏈散布 inherents,但也不會有基于費用的防垃圾機制。
              Inherents 表示以一種數據,它以比較特別的方式描述許多有效信息之一。它們之所以被認為是 “真實的”,僅僅是因為足夠多的驗證人都同意它們是合理的。
              例如,出塊者可能會將時間戳 inherent 插入區塊中。沒有辦法證明簽名是真實的,證明時間戳是正確的。但驗證人根據其他驗證人認為時間戳的合理程度,來接受或拒絕該區塊,依據可能是該時間戳在其自己的系統時鐘的某個可接受范圍內。
              Inherents Reference[3]
              已簽名交易
              已簽名交易(Singed Transactions)包含發出交易的帳戶的簽名,并且需要付費才能將交易包括在鏈中。因為可以在執行之前識別出在鏈上包括已簽名交易的價值,所以可以在網絡上垃圾交易風險較低的節點之間的散布這些交易。
              簽名交易符合以太坊或比特幣交易的概念。
              未簽名交易
              在某些情況下,需要進行未簽名交易 (Unsigned Transactions)。小心使用未簽名的事務,因為它們的驗證邏輯可能很難。
              由于交易未簽名,因此無需支付任何費用。因此,交易隊列缺乏防止垃圾交易的經濟邏輯。未簽名的交易也缺乏隨機數,使得重放保護(Replay protection)變得困難。少數交易需要使用未簽名的變體,但是它們將需要某種形式的垃圾交易防護,防護基于 Singed Extension[4] 的自定義實現,可以存在于未簽名交易中。
              Substrate 中未簽名交易的一個示例是權威機構發送的 “I'm Online[5]”心跳交易。交易包括來自 Session 密鑰的簽名,該密鑰不控制資金,因此無法支付費用。交易池通過檢查 session 中是否已提交心跳來控制垃圾交易。
              簽名擴展
              SignedExtension 是一種特征(trait),通過它可以使用其他數據或邏輯來擴展交易。簽名擴展名可用于您需要在執行之前獲得有關交易的一些信息的任何地方。這在事務隊列中大量使用。
              Runtime 可以使用其中一些數據(例如將要分派的 Call)來計算交易費用。簽名擴展還包括 AdditionalSigned 類型,該類型可以保存任何可編碼數據,因此允許您在包含或分派交易之前執行任何自定義邏輯。交易隊列定期從 SignedExtension 調用函數以在構建區塊之前驗證交易,以避免包括將在區塊中失敗的交易。
              雖然名字叫簽名擴展,SignedExtension 其實也可以用于驗證未簽名交易??梢詫崿F * _unsigned 方法集來封裝交易池所需的驗證、垃圾郵件和重放保護邏輯。
              Signed Extension Reference[6]
              參考資料
              [1] events: https://substrate.dev/docs/en/knowledgebase/runtime/events
              [2] 區塊參考資料: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Block.html
              [3] Inherents Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_inherents/index.html
              [4] Singed Extension: https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics#signed-extension
              [5] I'm Online: https://substrate.dev/docs/en/knowledgebase/runtime/frame#im-online
              [6] Signed Extension Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.SignedExtension.html
              [7] 參考文檔: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Extrinsic.html
              [8] Runtime Execution: https://substrate.dev/docs/en/knowledgebase/runtime/execution
              [9] 交易費用: https://substrate.dev/docs/en/knowledgebase/runtime/fees
              [10] 交易池: https://substrate.dev/docs/en/knowledgebase/learn-substrate/tx-pool
              原文:https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics
              翻譯:PolkaWorld
              歡迎學習 Substrate:
              https://substrate.dev/
              關注 Substrate 進展:
              https://github.com/paritytech/substrate
              關注 Polkadot 進展:
              https://github.com/paritytech/polkadot

              1. <em id="5wb8e"><source id="5wb8e"></source></em>
                    <em id="5wb8e"><span id="5wb8e"></span></em>
                      <form id="5wb8e"><span id="5wb8e"><option id="5wb8e"></option></span></form>

                    1. <nav id="5wb8e"></nav>
                      <wbr id="5wb8e"></wbr>

                          99热这只有精品