在杜拜代幣2049 大會上,Gavin Wood 宣布了對下一代Polkadot 技術的創造性願景。名為JAM 的新版本將推動Polkadot 功能超越當前Web3 界限,為Web3 提供所需的速度、規模、完全去中心化和易用性,深度創新。 JAM 將推動Polkadot 進入同步可組合性的世界,減少碎片化整合活動,開啟新創新可能性,並提供高強大的創作環境。同時,Gavin 宣佈設立JAM 獎金,總計1,000 萬DOT 用於激勵JAM 的發展。 JAM Toaster 則是用於大規模測試的測試平台。
4月19日,在杜拜代幣2049 大會上,Gavin Wood 宣布了對下一代Polkadot 技術的創造性願景。與Polkadot 為市場帶來的其他突破性首創一樣,這個新願景將徹底改變Web3 的未來。將提供Web3所需的速度、規模、完全去中心化和易用性,以推動Web3甚至整個技術領域的深度創新。
這個願景的核心就是JAM,它是Polkadot 鏈的新版本,它將推動Polkadot 的功能超越當前Web3 的界限,同時使在Polkadot 上部署廣泛的技術成為可能。透過JAM,目前只能透過rollup 才能看到了突破性的可擴展性被帶到了思想層。
在完成後,JAM 將開發成為一台計算機,可以運行幾乎任何類型的任務,這些任務可以表示為服務。 JAM 將Polkadot 推向同步可組合性的世界,這將有助於減少碎片化並整合活動,因此Polkadot 上的應用程式能夠更好地利用整個生態系統的網路。這將使深度創新開啟新的可能性,並為開發者提供一個強大的環境,讓他們能夠以內部的方式進行創作。
目前,Polkadot 社區有一項提案捐贈投票(公投682 https://polkadot.polk assembly.io/referenda/682),以確認這一新方向授權並技術獎學金批准JAM。
為了支持JAM 的真正發展,並確保其本著的中心化精神構建,Gavin 在演講中與Web3 基金會聯合去宣佈設立JAM 獎金,總計1000 萬DOT 將用於激勵JAM 的其他實現的開發。
在演講的同時,Gavin 也發布了一份技術灰皮書。如果你想深入了解該專案的願景和技術細節,可以在新的JAM Graypaper 網站上找到論文:https://graypaper.com/。
Gavin 和Polkadot 共同引領創新技術的創建,旨在實現創建自由開放網路的願景。 JAM 是不斷發展的Polkadot 故事的下一章。
以下是Polkadot Wiki 中關於JAM 的最新介紹,由Gavin Wood 撰寫。
JAM的全名為Join-Accumulate Machine,它是一種計劃取消現有串聯鏈的新設計。 JAM的名稱是CoreJAM,表示Collect Refine Join Accumulate,描述了機器所表示的計算模型,最初是由Gavin提出的Wood 在RFC 中描述的。然而,在實際的鏈中,僅執行Join 和Accumulate,而Collect 和Refine 過程發生在鏈下。
與目前的迭代方法不同,JAM 將作為一個全面的升級引入。這樣做的幾個原因包括:
統一的升級可以精確限制升級後的操作,這在迭代方法中很難做到。它減少了經常在幾週或幾個月內定期發生的小升級和重大變化。
雖然這項轉變需要重大的突破性改變,但我們將努力將其影響力降至可管理的水平。將多個較小的突破性變化整合到單一的封裝中是更好的選擇,它引入了一個新的區塊鏈概念,整合了各種現有的想法。
一條Rollup 鏈
JAM將是一個特定領域的鏈,用於處理特定領域的問題。在這種情況下,就是rollup,以太坊社群稱之為樂觀rollup。 JAM的rollup在安全性方面受到很大的限制。就是Polkadot 在過去五年裡一直在做的事情,它已經是一個高度特定領域的總鏈。 JAM 本質上使得帶有較少的預設偏好,變得更加通用。
JAM鏈接受rollup的輸出,更普遍地說,是在其他地方完成計算位,將輸出整合到共享狀態中,類似於Polkadot集群鏈的功能。
JAM鏈的正確任務是提供必要的設備,以確保在轉換後的輸出反映輸入。
與智能合約鏈的相似之處
JAM與智能合約鏈有幾個相似之處:
JAM鏈本身直接執行消耗許可的程式碼。 JAM鏈的狀態被組織成不同的封裝。除了狀態的封裝之外,還包括代碼和餘額的封裝。
這些狀態的封裝被稱為服務。 ,JAM 的狀態被劃分為服務。創建新服務是需要許可的,除非在智慧合約鏈上部署智能合約。因此,在JAM 中添加鏈新服務不需要任何權威機構的批准或遵守治理機制,這與基於Substrate 的鏈不同,晚上要求添加新的托盤治理需要批准。服務包括代碼、餘額和某些狀態組件,構成智能合約鏈上常見的結構。
服務入口點
JAM服務的代碼分為三個不同的入口點:
Refine 是執行大部分無狀態計算的函數。它為特定服務的總計定義轉換。上漲函數取得輸出並將其折疊到服務的整體狀態中OnTransfer 處理來自其他服務的資訊。
工作包是服務的輸入。工作包可以包含許多工作項目。每個工作項都與一個服務相關聯,並且它反映了該服務的實際輸入。對於平行鏈服務,就是交易和所有區塊鏈輸入的輸入處。
JAM的安全裝置包括兩階段處理,其中Refine函數接受工作項輸入,並產生工作結果作為輸出,然後輸入Accumulate函數(先Refine,後Accumulate)。工作項目被細化成工作結果作為工作結果,因此,包含許多工作一項的工作包被細化成工作報告,工作報告是多個工作項目對應的結果。可以分配一個工作包,在特定的時間段(通常為6秒)內使用一個核心。
JAM是無交易的
JAM透過無交易(Transactionless)操作來區別於智能合約鏈。 JAM內沒有交易;所有動作都是消耗許可的,並且最初會經歷Refine階段。在這個階段,服務預先細化輸入數據,將其轉換為包含工作結果的工作報告。此外,這些工作結果被傳送到鏈上。
儘管沒有交易,JAM 仍然接受特定格式的外部資訊。有五種類型的外部資訊:
1. 保證(Guarantees)
2. 保險(Assurances)
3. 判斷(判斷)
4.原像(Preimages)
5. 投標(門票)
前明確類型是JAM鏈安全框架的一部分。 「Guarantees」(保證)和「Assurances」(保險)涉及驗證者集體證明某些工作結果在透過服務的「Refine」函數轉換後,準確地反映了其對應工作項目的結果。
當工作結果的缺陷受到質疑時,就會發生判斷,此時大量驗證者證明其有效性或缺乏有效性。在這種情況下,無效的工作項目可能已經整合到服務的狀態中,可能需要進行回溯。判斷必須在提交工作報告到鏈上的一小時內進行,期間封鎖終止暫時暫停。
譯就像JAM鍊為Refine函數提供的一個特性。雖然Refine函數通常是無狀態的,但它可以執行一個有狀態的操作:尋找雜湊的原像。這個特性是Refine函數的唯一有預設偏好的面向。
項目作為匿名機制進入區塊生產。它們不是區塊生產的直接要求;相反,系統提前了兩個時代(epoch)的運作。這個機制是SAFROL 演算法的一部分,是原始SASSAFRAS 演算法的精煉版本。
精煉函數
在JAM 中,Refine 處理階段可以在每個時間段接受多達15 MB 的數據,每個時間段持續6 秒。然而,Refine 增量的資料最大為90 kB,由於可用性系統的多種特性,需要進行大量的資料壓縮。例如,在平行鏈的背景下,15 MB 的資料代表有效性證明(PoV),而90 kB 的資料對應於候選收據。
Refine 可以使用最多6 秒限制的PVM Gas,前置串鏈的完整區塊週期。這種延長的執行時間,與PVF 目前的兩秒相比,是透過安全計量和其他最佳化來實現的。
Refine也可以進行原像查找。如果相信某個哈希其相關原像在JAM鏈上可用,可以透過提供哈希來請求原像。這種能力使得程式碼的高效儲存和搜尋成為可能,例如透過在JAM鏈上儲存佇列鏈代碼並在工作包中引用其雜湊。
Refine 是主要的處理主力,處理大部分是無狀態操作的任務。
上漲函數
Accumulate 函數負責將Refine 函數產生的輸出整合到鏈狀態中。 Accumulate 可以接受來自Refine 的多個輸出,所有這些輸出都來自相同的服務。 Refine 和Accumulate 都作為特定來自服務程式碼區塊的入口點。
累加每個輸出的執行時間比Refine 的時間短,通常最多只有10 毫秒。然而,持續時間取決於工作包中工作項目的數量。如果工作包包含多個項,可用時間就會在其中之一間分配。
與Refine 不同,Accumulate 是有狀態的,它可以存取JAM 鏈的狀態。它可以從任何服務讀取存儲,寫入其按鍵值存儲,轉移資金,並在資金轉移時包括其他。此外,Accumulate 可以建立建立新服務,升級其程式碼,並要求原樣的可用性等等。
另外,Refine 可以呼叫PVM 的子實例。這允許創建子實例或虛擬機,其中可以配置程式碼和數據,自訂記憶體和堆疊配置,並在靈活的框架內部執行計算。
onTransfer 函數
JAM 系統中的onTransfer 函數也是有狀態的,發出能夠修改服務的狀態。它具有檢查其他服務狀態並修改自身狀態的能力。該功能促進了服務之間的通信,儘管以非同步方式進行的。
與許多互動同步發生的智慧合約平台不同,在JAM中,封裝元件(例如本例中的智慧合約或服務)之間的互動是非同步發生的。訊息和代幣一起發送,並且在同一六秒執行週期內的某個時刻,接收服務會處理它們。沒有立即的返迴路徑;如果需要返迴路徑,則發送服務必須發起另一次傳輸或以接收服務稍後可以解釋的方式修改其狀態。
Accumulate 和onTransfer 都被設計為可可執行執行,允許不同服務的Accumulate 和Transfer 同時發生。這種設計為未來的增強開啟了可能性,例如分配超過目前10 毫秒的Gas 輸入。理論上,一個輔助核心可以用來執行某些增持,因為它們提供更多的氣體可供利用。
JAM鏈的通用化
正如Polkadot 原始中所述,Polkadot 主要針對特定的服務設定檔進行客製化:提供平行鏈。為了實現該服務,Polkadot 開發了兩個重要的子元件:
多元化資料可用性系統為運算提供稽核和保證的系統(即具有強大安全保證的Optimistic rollup系統)
與Polkadot 相比,JAM 的預設偏好較少,提供了更高程度的抽象和實作。這有助於根據個人喜好更輕鬆地使用底層組件。
JAM以佔用許可的方式相容,類似於智慧合約鏈,允許個人上傳和預期程式碼的執行。此外,它託管數據,實現原像查找,並管理狀態,類似於鍵值對系統。由於JAM缺乏直接接受交易的機制,JAM 的創世區塊包含一個促進新服務創建的服務。
JAM 內部的服務沒有對程式碼、資料或狀態的數量設定預先定義的限制。它們的能力由加密貨幣經濟容量決定;存放的DOT 代幣越多,數據和狀態的容量就增加。例如,平行鏈服務在JAM 上將Polkadot 1.1 的所有功能整合到一個服務中,其他服務也可以利用Polkadot 的多元化分佈系統,以及計算的審計和保障系統。
波卡虛擬機器(PVM)
PVM 的設計基於RISC-V 指令集架構(ISA),該架構架構簡單性和多功能性而聞名。 RISC-V ISA 提供了幾個優勢:
1. 易於轉譯成常見的硬體格式,如x86、x64 和ARM。
2. 得到像LLVM等工具的良好支援。
PVM本身體現了簡單性和安全性,具備沙盒化的能力並提供各種執行保證。它具有確定性、意志敏銳且易於操作。與其他虛擬機器相比,PVM缺乏複雜性和用途的預設偏好。
WASM 雖然針對Web 範例進行了最佳化,但也為堆疊管理帶來了挑戰,特別是在處理連續性方面。 RISC-V 透過將堆疊放置在記憶體中來解決這個問題,從而自然地促進連續處理,而消耗增加複雜性。
另外,PVM 在傳統硬體上運行時,尤其是在X64 和ARM 上,展現了卓越的執行速度,提供了免費計量等優勢,這與WASM 相比具有優勢。
支援RISC-V的連續性跨JAM等多核心平台的可擴展編碼建立了新標準。重組。
黃樟素
SAFROLE 是一個區塊生產演算法,簡化了SASSAFRAS。它修復了一些對平行鏈可能有用的元件。所以平行鏈可能會堅持使用SASSAFRAS 而不是SAFROLE。 SAFROLE 會問簡單:
確定減少預設偏好,以最大化可能的未來實例。追隨以太坊黃皮書的腳步,並真正嘗試獲得入門多的實現,以嘗試和傳播專業知識。
理解Polkadot 1.0 的高效能工作方式很容易滿足。有了JAM,能夠閱讀和理解黃皮書的人應該能夠很快地閱讀和理解JAM 的工作方式。所以簡單性至關重要。
SAFROLE 是一個基於SNARK 的區塊生產演算法。它使用SNARK 是因為其匿名特性。並且它提供幾乎完全無分叉的持續時間區塊生產。可能發生分叉的幾個實例基本上只有在出現網路分裂時或有人故意惡意操作時就會發生。匿名者的巨大價值不是為了保持驗證者身份的秘密;實際上,當他們產生一個區塊時,他們最終都會暴露自己的身份,實際上其實是為了確保區塊生產機製本身的安全性,基本上是為了避免垃圾交易攻擊。
網路
JAM 的網路使用QUIC 協定。這允許大量驗證者之間直接建立點對點連線。因此,Polkadot 上的1000 個驗證者可以相互保持持久連接,而不必擔心可能的導入問題。由於JAM 不處理交易,基本上不需要八卦(八卦)。在需要分發不是點對點或在驗證者子中心化非常小的情況下,將使用網格擴散,驗證者被排列成一個網格,包按行發送,然後每個節點都將其發送到其列的所有成員。
用於高效能區塊處理的實例
在類似以太坊這樣的基於狀態的區塊鏈中,區塊的標題通常包含後狀態根,匯總了所有區塊計算後的狀態。因此,直到所有計算完成之前,區塊頭不能發送。但是,在可以發送區塊頭之前執行一些計算,它們的結果決定了因為區塊的效果。
然而,JAM 採用了不同的方法,將前狀態根放在區塊頭中,也就是後狀態根。這意味著標題中顯示的狀態根比一個區塊延遲而不是。因此,可以執行大約佔區塊工作量或執行時間5%的輕量級計算,並且可以立即發放區塊。剩餘95%的區塊計算,主要是累積任務,可以隨後完成。這使得在執行當前區塊之前可以開始下一個區塊。
方法允許更有效地利用區塊之間的時間。在傳統設定中,如Polkadot 的六秒區塊時間,後狀態根必須提供,只能用時間進行計算。然而,透過JAM 中的模擬部分,可以有效地利用整個區塊時間進行計算,以最大化效率。
雖然使用整個區塊時間進行計算可能不是理想的,因為它可能會導致永久追趕和延遲區塊導入,但與傳統設定相比,JAM 的方法可以顯著延長計算時間。這意味著實現大約可以三到三半秒的有效區塊計算時間,這比目前設定有了很大的改進。
架構差異:JAM 與串聯鏈
JAM 和中繼鏈之間的一個架構上的差異在於功能的固定程度。雖然中繼鏈固定了一些元素,例如用於定義協定的語言(WASM),但JAM 在這方面走得更遠。 ,它規定了用於編碼區塊標題和雜湊方案的類型,使得改變這些方面變得困難。
然而,JAM 透過其服務模型保留了與中繼鏈中的WebAssembly 元協定所實現的靈活性相當的靈活性。在這個模型中,將可升級性責任轉移到服務上,使鏈本身免於承擔升級支持此決定的三個主要理由包括:
優先考慮簡單性。維護不可升級的鏈顯著降低了複雜性。中繼鏈傾向於引入複雜的功能,而不是刪除舊的功能,這使得事情變得複雜。由於升級很容易實現,因此幾乎沒有簡化Substrate SDK 的動機。因此,複製Polkadot 的建置並不切實際。 JAM 的固定參數提供了最佳化潛力。透過清楚了解JAM 鏈必須執行的特定任務並能夠設定固定參數,網路拓撲和拓撲等領域的最佳化網格化。這與中繼鏈高度可升級的本質形成對比,在那裡,由於每次升級都可能進行間隙的更改因此,這些優化更加複雜。
儘管存在這些差異,JAM在應用程式層級功能上保留了靈活性,例如核心時間銷售、質押和治理,所有這些都在服務內部管理。此外,JAM透過將代幣餘額與服務關聯,引入了一個新概念,為在完全可升級的鏈如中繼鏈中易於實現的經濟模型調整提供了機會。
果醬烤麵包機
為了確保JAM 滿足其最初的期望,所進行的一項工作包括為JAM 鏈建立一個全面的測試環境。與在不可靠的硬體上運行小規模測試網路和管理雲端運算成本不同,此舉涉及大量投資。
這裡引入了JAM Toaster,本質上是一個用於進行大規模試驗和性能評估的測試平台。這解決了先前在開發Polkadot 中繼鏈期間遇到的挑戰,當時我們明白在如此大規模的兼容網絡上緊急效應和動態證明是困難的。的嘗試僅限於測試網路之前的數十個節點以及Kusama 網絡,由於無法存取驗證節點,Kusama 缺乏全面的監控能力。相較之下,小規模測試網路未能成功準確模擬大規模部署的網路動態。
JAM Toaster旨在透過對整個JAM網路(包括1023個節點)進行深入研究來彌補這一差距。該平台有助於研究網路行為和效能特徵,為開發人員提供有關鏈條預期績效的寶貴意見。
果醬和基材
基準測試與測量
在JAM中,基準測試或效能測試可以是可選的。雖然在某些情況下仍可能需要基準測試,但JAM的計量系統通常可以避免間隙的基準測試需求。 JAM運行在一個計量系統上,允許使用者在完成後評估計算工作量。此外,還有一個理論機制可以在區塊建構時控制計算。
然而,在某些情況下,基準測試仍然是需要的。例如,當測量某些例如過度執行時間時,可能需要進行基準測試來提高效能。另外,基準測試對於需要延長執行時間的任務很重要有用,可確保它們不會運行過長。
XCMP
接下來是跨鏈訊息傳遞(XCMP),JAM要求提供全面的XCMP支援。這是因為在中繼鏈中,如果所有平行鏈始終傳輸所有數據,則可以透過選擇性接收傳遞更多數據。 JAM嚴格遵守即使規則,對於平行鏈服務也如此,包括對「精煉」和「增持」階段之間的資料傳輸的限制。目前,使用水平中繼鏈訊息傳遞(HRMP),所有訊息都會進行中繼鏈,將資料有效負載限制為4 kB或更少,這可能不切實際。因此,XCMP只透過鏈中繼訊息頭,而實際訊息資料在鏈下傳輸,這是必要且應早進行的改進。
協定
本質上封裝了狀態和邏輯,構成了多個智慧合約,每個平行鏈都有實例。它們促進實例之間的訊息交易所並實現與平行鏈的同步互動。協議在平行鏈之間缺乏信任的場景中有用,例如代幣轉移。與涉及儲備進口的現有方法不同,協議簡化了平行鏈之間的直接代幣傳送,消除了對信任妥協的進口需求。此外,協議可以充當XCM機制轉發,即使透過第三方內部機構中繼也能確保訊息缺陷,從而消除了對明確來源標記的需求。
提高效率
最後,JAM採用更廣泛、非預設偏好的方法來利用基礎決策機制,有助於實施替代創新性的解決方案。例如,對於像零知識論證這樣的複雜任務,更加普及可用性此外,JAM實用支援混合資源消耗模型,其中工作包可以包含高效的運算密集型任務和資料密集型操作。透過將需要大量運算的服務與需要高資料可用性的服務配置,JAM優化了驗證者資源這種靈活的方法使得如去中心化可用性和SNARK 驗證與平行鏈路工作負載的組合成本,同時提高效率。
JAM 的增強和相容性
JAM 的設計優先考慮與現有Polkadot 1 平行鏈的兼容性。雖然它保持與Polkadot SDK 的兼容性,但Polkadot 驗證者函數(PVF)進行了重新定位。將會面向Polkadot 虛擬機器(PVM),而不是WebAssembly。這項繼承源自PVM 是RISC-V 的少許修改,RISC-V 已經被正式確定為LLVM 的一個目標。因此,在部署JAM 之前,PVM 可能會正式成為LLVM 的目標。
除了作為平行鏈的附加之外,JAM 引入了顯著的增強功能。它提供了簡化基準測試工作並增強未來基準測試需求的潛力。此外,JAM 引入了協定、多實例、多分片智慧一致性的概念,用另外,全面的跨鏈訊息傳遞(XCMP)支援至關重要,使得可以消除平行鏈之間資訊傳輸的限制,這通常是透過跨鏈訊息(XCM) )來了的。
關於敏捷核心時間(Agile Coretime),JAM 保持了與現有設定的兼容性。然而,它引入的不僅僅是在平行鏈上,而是可以在任意工作包組上定位核心時間的功能。這種靈活增強了JAM生態系內部資源的分配性和效率。
資訊來源:0x資訊編譯自網際網路。版權歸作者PolkaWorld所有,未經許可,不得轉載