国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以太坊無狀態客戶端是什么

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-25 18:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現在有一個協議轉換現象,從理論上來說,它可以轉換成很多其他不同的協議,從數學上來看,它就像如下情況。假設我們使用狀態轉移,STF(S, B) -> S’,其中S和S’是狀態,B是區塊(或者說它是轉賬T),并且STF是狀態轉移函數。那么,我們可以轉換為:

S -> S的根狀態(也就是說,Merkle樹所包含S的32位)。B -> (B, W),其中W是一個“見證者”,Merkle樹的分支會提供所有數據的價值,可以執行讓B進入STF-> STF’,這可以作為狀態根部的輸入,以及區塊鏈上的見證者,使用見證者作為“數據庫”,任何時候區塊的執行都需要閱讀任何賬戶,存儲秘鑰或者其他狀態數據【如果見證者沒有包含一些需要被請求的數據】,并且輸出新的狀態根部。

這就是,全節點只會存儲狀態根部,并且它會成為礦工的責任來打包這些Merkle樹的分支(見證者),以及區塊,還有全節點會下載以及驗證這些擴展的區塊。對于無狀態的全節點和常規的全節點來說,在網絡中共存,這都是有可能的;你需要獲得擁有區塊B的翻譯區塊,附上所需要的見證者,并且在無狀態節點存在的不同網絡協議上廣播(B, W);如果有礦工在這個無狀態網絡上挖出區塊,那么見證者可以很簡單地去除,同時區塊會在正常的網絡上進行重新廣播。

假設真實協議中的見證者,最簡單的方法就是把它作為RLP編碼的對象,這會被客戶端解析為{sha3(x): x}關鍵價值圖譜;這個圖譜然后可以很簡單地嵌入到現在的以太坊中,作為“數據庫”布局。

將以上這個想法布局到以太坊上的局限在于,還是需要礦工成為存儲狀態的全節點。有人會假設這樣一個系統,其中轉賬發出方需要存儲全狀態Trie(甚至只有和他們相關的部分),而且礦工也是無狀態的,但是問題在于以太坊的狀態存儲入口是動態的。例如,你可以假設getcodesize(sha3(sha3(…sha3(x)…)) % 2**160)的合約形式,其中會有幾千個sha3’s。這就導致進入的賬戶代碼只有在幾百萬gas燃料的計算消耗完成后,才可能知道。因此,轉賬發出者可以創造一個轉賬,其中包含新賬戶的見證者,進行很多計算,然后最后嘗試進入一個沒有見證者的賬戶。這就和DAO軟分叉漏洞一樣。

其中一個的解決方案,就是讓轉賬包含這些賬戶的靜態列表;例如EIP 648,但是需要精確數字,而不是一個范圍。但是就會產生一個問題:到時候,轉賬會通過網絡,賬戶狀態,進行擴散,從而因此正確的Merkle樹分支可以作為見證者,也許會和轉賬生成時的正確數據不同。為了解決這個問題,我們把見證者放在轉賬中的簽名數據之外,并且讓包含轉賬信息的礦工在有需要地時候,在轉賬前對見證者進行調整。如果礦工擁有對所有創建出來的新狀態樹節點,也就是說,在過去24小時,他們已經獲得必要的信息來更新過去24小時公開轉賬的Merkle樹分支。
這項設計有如下優勢:

1.礦工和全節點再也不需要存儲任何狀態。這會讓“快速同步”變地非??欤赡苤恍枰獛酌耄?。

2 關于狀態存儲經濟學的問題都會導致例如租賃的設計,并且甚至目前復雜的SSTORE支出/回款架構就會消失,而且區塊鏈經濟學能夠只專注于價格帶寬和計算,這會是更加容易的問題。

3. Disk IO對于全節點和礦工來說,就不會是個問題。Disk IO是以太坊上主要的DoS攻擊來源,而且甚至現在它好像是最容易發生的DoS因素。

4. 對指定帳戶列表的轉賬要求附帶地增加了高度的可并行性;這在很多方面是EIP 648的高配版本。

5. 對于狀態存儲的客戶端,賬戶列表讓客戶端能夠從disk預取存儲數據,也許是并行的,大概率降低了DoS攻擊的漏洞。

6. 在分片區塊鏈中,通過在分片中對客戶端進行調整,從而增加安全性;客戶端分片調整地越快,在拜占庭容錯模型中,這個架構就更加安全。但是,在狀態存儲的客戶端模型中,被洗牌的客戶端就會下載新分片中的全部狀態。在無狀態的客戶端中,這部分成本為零,這就讓客戶端可以在它們創建的每個區塊間進行調整。

但是這帶來一個問題:誰存儲了這個狀態?以太坊的關鍵優勢就是這個平臺很容易使用,并且用戶不需要關心存儲私有狀態這類細節。因此,為了這類框架能夠很好地完成,我們需要復制類似的用戶經驗。這是一個關于如何做到這一點的混合建議:

1.任何創造出來的新的狀態樹對象都會默認被全節點保存3個月。這大約有2.5GB的存儲空間,而且這就好像“福利儲存”,這是基于自愿地基礎上由網絡提供。我們知道這個層次的服務當然能夠基于自愿的基礎來提供,因為目前的輕節點結構已經是基于利他主義了。在3個月后,客戶端可以隨機地忘記,以至于例如一個12個月前接觸到的狀態樹對象,還會被25%的節點存儲,而且60個月之前的對象還被5%的節點存儲。客戶端能夠嘗試使用常規的輕節點協議,來調用這些對象。

2.希望確保特定數據段的可用性客戶端可以在狀態信道中進行支付。客戶端可以設置支付節點的通道,而且在“我放棄0.0001美元,并且默認這筆支付會永遠丟失。但是,如果你之后給某個對象提供哈希H,然后我簽名,之后這個0.0001美元會到你手上”這種模式下進行有條件支付。這將標志著一個可信的承諾:可能愿意為未來的對象解鎖那些資金,檔案節點可以進入數以百萬計的這樣的安排,等待數據請求出現,并成為收入流。

3.我們期望DAPP開發人員能夠讓他們的用戶來隨機存儲一部分的存儲秘鑰,在瀏覽器本地存儲中存儲與它們的DAPP相關的部分存儲密鑰。這甚至可以故意在Web3API中很容易做到。

事實上,我們希望能夠知道“檔案節點”的數量,可以永遠存儲任何事物,并且持續足夠高來服務網絡,直到在分片引入之后,整個狀態大小超過 1-10兆字節,所以以上所說的可能甚至都不需要。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能計算
    +關注

    關注

    0

    文章

    199

    瀏覽量

    17075
  • 以太坊
    +關注

    關注

    14

    文章

    1838

    瀏覽量

    33381
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EtherCAT FOE工作原理揭秘:客戶端-服務器模型如何運轉?

    上期我們聊了EtherCATFOE的五大應用場景,本期深入解析其底層工作機制。FOE究竟是如何實現文件傳輸的?答案藏在客戶端-服務器模型中。核心架構:一客戶端多服務器在EtherCAT網絡中,FOE
    的頭像 發表于 03-02 11:50 ?70次閱讀
    EtherCAT FOE工作原理揭秘:<b class='flag-5'>客戶端</b>-服務器模型如何運轉?

    agile_ftp傳輸文件時客戶端報錯誤怎么解決?

    ]客戶端使用的filezilla [size=21.3333px] [size=21.3333px]現象: [size=21.3333px]filezilla客戶端可以正常上傳文件,但傳輸完畢時客戶端會報
    發表于 11-05 10:49

    libmodbus庫問題:TCP模式下客戶端超時斷開后無法再次重連怎么解決?

    情況1 :用libmodbus的TCP demo,發現用客戶端軟件連接收發如果超時后在啟動連接就無法連接上libmodbus服務器了,聲明:客戶端此時不會主動斷開連接。 情況2:客戶端用短連接
    發表于 10-14 08:17

    rt-thread下如何實現SLAAC(無狀態地址自動分配)?

    大佬們,本菜鳥有一些網絡上的問題需要幫助: RT-Thread 上如何實現 SLAAC(無狀態地址自動分配),給連接到我的板子的設備分配 IPv6 地址; RT-Thread 如何發送以太網報文,要求從報文頭開始都是我自己組,用于發送 HPGP 報文。
    發表于 09-22 08:05

    OrangePi Zero 3,輕量級客戶端的完美選擇

    千兆以太網端口用于充電的USB-C接口我很喜歡在較小的單板計算機(SBC)上看到以太網端口,因為這使它們作為瘦客戶端更有用,而且對于這種尺寸的單板計算機來說,充裕的
    的頭像 發表于 09-12 13:44 ?1245次閱讀
    OrangePi Zero 3,輕量級<b class='flag-5'>客戶端</b>的完美選擇

    SOLIDWORKS PDM Professional安裝部署指南:從服務器到客戶端的詳細步驟

    一份詳盡的SOLIDWORKS PDM Professional安裝指南,面向IT管理員,涵蓋從SQL Server配置、服務器安裝到客戶端設置的全過程,確保您高效、正確地完成PDM系統部署
    的頭像 發表于 09-11 17:37 ?1586次閱讀

    Python modbus-tk如何獲得客戶端信息?

    Python modbus-tk如何獲得客戶端信息
    發表于 08-07 06:01

    請問IG502網關如何配置open vpn客戶端?

    網上找的教程配置open vpn,服務端正常,小圖標已經變綠。IG502網關做客戶端的話需要怎么配置?需要注意哪里?
    發表于 08-05 07:59

    是否可以將客戶端控件與CYW920706WCDEVAL一起使用?

    是否可以將客戶端控件與CYW920706WCDEVAL一起使用? 我想用它來發現藍牙 BR/EDR,然后將其與其他設備配對。 有客戶端控制的下載鏈接或文檔嗎? 另外,你有 AIROC Connect 藍牙應用程序的文檔嗎?
    發表于 07-04 07:50

    Modbus TCP連接多個客戶端解決方法-深圳市振鑫通信科技

    ZP-MBS008多主站模塊是實現Modbus-TCP連接多個客戶端或者服務器通訊設備
    的頭像 發表于 06-25 11:07 ?1717次閱讀
    Modbus TCP連接多個<b class='flag-5'>客戶端</b>解決方法-深圳市振鑫通信科技

    請問Phy DLE Max TX Octets 由客戶端還是服務器控制?

    Phy DLE Max TX Octets 由客戶端還是服務器控制?
    發表于 06-25 08:28

    客戶端解決方案:樹莓派電腦助力企業實現碳中和目標!

    Losingthewires通過幫助企業轉向RaspberryPi管理的瘦客戶端,減少對臺式電腦的依賴,使商業世界更加可持續,并助力企業實現碳中和目標
    的頭像 發表于 06-22 20:33 ?652次閱讀
    瘦<b class='flag-5'>客戶端</b>解決方案:樹莓派電腦助力企業實現碳中和目標!

    MKW45B41Z客戶端無法從服務器獲取服務是為什么?

    。MKW45B41Z (自定義板) 充當中央設備客戶端角色。MKW45 客戶端掃描外圍設備(NRF 連接)設備并連接到外圍設備(NRF 連接)設備。連接 MKW45(自定義板卡)后,客戶端無法從服務器
    發表于 03-28 07:40

    如何構建MCP客戶端

    Anthropic開源了一套MCP協議,它為連接AI系統與數據源提供了一個通用的、開放的標準,用單一協議取代了碎片化的集成方式。本文教你從零打造一個MCP客戶端。
    的頭像 發表于 03-20 09:32 ?2710次閱讀
    如何構建MCP<b class='flag-5'>客戶端</b>

    請問STM32WB55客戶端應用接收的特征長度為什么更改無效呢?

    STM32WB55客戶端應用接收的特征長度為什么更改無效呢?
    發表于 03-10 06:18