編譯:BlockUincorn??文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然?zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
zkSync生態項目Snark表示將退回超募ETH:4月13日消息,zkSync 生態項目 Snark 在其社交平臺表示,將退回 Launchpad 期間超募的 ETH。項目方在公告中表示,此前由于合約設置錯誤,導致項目 Launchpad 期間共募集 499 ETH,超出原計劃硬頂(220 ETH),因此決定退回超募的 279 枚 ETH。
團隊表示目前正在統計相關數據,預計 4 月 16 日至 17 日完成退款。[2023/4/13 14:01:17]
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。
我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。
我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。
我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
zkSync 2.0 主網項目注冊現已開放:金色財經消息,以太坊Layer2擴容解決方案zkSync宣布,zkSync2.0項目注冊現已開放。注冊項目在主網的部署時間將在Proof Merging和Baby Alpha里程碑之后宣布。此外,主網將按既定計劃在52天后上線。[2022/9/7 13:12:55]
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
由于zkSync?有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。
任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
Web3云計算平臺4EVERLAND與zkSync集成:金色財經消息,Web3云計算平臺4 EVERLAND宣布與zkSync集成,開發者可以通過4EVERLAND部署基于zkSync應用的前端并將其存儲在IPFS或Arweave上,4 EVERLAND的托管服務及對象存儲系統均提供一定的免費存儲空間。(Medium)[2022/5/23 3:36:27]
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
ZK Rollup訂單簿DEX ZigZag的NFT Swap功能將上線zkSync主網:5月13日消息,以太坊二層ZK Rollup訂單簿DEX ZigZag Exchange宣布NFT Swap功能將上線zkSync主網。[2022/5/13 3:14:49]
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。
zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
由于zkEVM和?zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000TPS。
狀態樹
zkSync2.0狀態樹覆蓋了以太坊的完整160位地址空間。每個帳戶將駐留在狀態的zkRollup部分或zkPorter部分。zkRollup和zkPorter帳戶完全相同,除了一個組件:保證數據可用性。zkRollup交易數據通過calldata發布到以太坊,zkPorter交易數據發布到zkSyncGuardian網絡,zkSync代幣持有者參與權益證明。
zkSync L2網絡ETH鎖倉數量已超9萬枚:2月23日消息,Dune Analytics數據顯示,當前zkSync L2網絡ETH鎖倉數量已超9萬枚,從以太坊主網向zkSync L2網絡轉賬的交易共累計超過35萬筆,總鎖倉價值達到7500萬美金。其中獨立地址數約為24萬。值得注意的是,實際的zkSyncL2激活賬戶數應該高于獨立地址數,因為用戶可以直接通過L2間的轉賬實現賬戶激活。[2022/2/23 10:10:28]
數據發布的地方是成本和安全性之間的權衡。zkPorter交易比匯總交易便宜得多,但它有可能導致您的資金被凍結。但是,zkRollup和zkPorter帳戶的有效性都是通過零知識證明和以太坊來保證的。換句話說,zkPorter中的資金只能被凍結,不能被盜。
zkRollup和zkPorter帳戶的互操作性和可組合性使每個用戶都有機會成為zkSync中的一等公民。部署在zkRollup端的Uniswap可以通過zkPorter帳戶訪問以交換最低費用。zkSync2.0是一個系統,旨在供整個金融領域的用戶參與。
密碼學
我們的VM,最常被稱為zkEVM,不是EVM1:1副本,而是旨在能夠運行99%用Solidity編寫的合約并保持其相同的行為,例如在恢復和異常期間。同時,zkEVM被編寫為在電路中高效生成零知識證明。
這是在我們的證明系統沒有任何重大變化的情況下完成的;我們繼續將PLONK與自定義門和查找表以及以太坊的BN-254曲線一起使用。這是有利的,因為自2020年6月以來,該證明系統已經在zkSync1.0以及使用相同證明系統的其他項目中進行了實戰測試。
再一次,我們很高興地宣布,經過幾個月的努力:zkEVM的指令集已經完成并在電路和執行環境中實現。
這里有一個重要的區別:電路和執行環境中的實現是分開的,用于不同的目的。電路的工作是生成執行跟蹤的證明并提供證人,但這非常慢。另一方面,執行環境是zkEVM在rust中的直接實現,高效且快速。如果我們依靠電路來生成證明和執行,交易最終確定將需要幾個小時。證明生成和簡單執行的分離使zkSync上的交易能夠即時結算。
接下來,我們專注于將zkEVM和編譯器結合在一起,并將遞歸結合在一起:塊之間的遞歸,它允許我們為N個塊發布一個證明,以及塊內的遞歸,它聚合塊的不同邏輯部分的子證明.這是簡單的部分!自2020年6月以來,zkSync1.0的主網上已在使用區塊之間的遞歸聚合證明。有關區塊內遞歸以及我們的zkEVM工作原理的更多信息,請觀看此視頻說明。
編譯器
我們同時致力于兩個針對zkEVM的編譯器前端:Yul和Zinc。Yul是一種中間Solidity表示,可以為不同的后端編譯為字節碼。Zinc是我們用于智能合約和通用零知識證明電路的基于Rust的語言。
由于編譯器是使用LLVM框架構建的,因此可以將其視為具有前端Yul→LLVMIR和后端LLVMIR→zkEVM字節碼。LLVM的采用帶來了幾個主要優勢:
LLVM優化框架無與倫比:它從LLVMIR生成最高效的zkEVM字節碼。
使用較新版本的Solidity或Zinc,編譯器前端將處理所有更改,而LLVM將使我們無需更改編譯器后端。
未來,如果開發人員想用原生Rust或Javascript編寫智能合約,只需為該語言構建編譯器前端,智能合約就可以在zkSync中開箱即用。
編譯器的安全性對我們來說至關重要,并且已經通過了多套測試:
Zinc和Yul編譯器中的詞法、語法和語義測試。
我們自己的Zinc和Solidity集成測試,貫穿整個智能合約生命周期:從解析源代碼到合約部署和在zkSync上執行交易。
從Solidity存儲庫集成的廣泛的測試套件,適用于我們的集成測試工具。
每個套件已經包含數千個測試,我們將把這個數字至少增加一個數量級。
我們的2個編譯器已經成功部署并執行了兩種語言的簡單智能合約。但是還有更多的優化需要完成,一些復雜的LLVMIR語句需要轉換為zkEVM字節碼。因此,我們決定在編譯器處于更健壯的狀態之前不發布它。
編譯器完成后,我們將專注于使Zinc更具表現力和功能更豐富,然后構建Rust編譯器前端以允許使用原生Rust編寫智能合約。
核心基礎設施
zkSync2.0核心由幾個關鍵角色組成:
完整節點
通過虛擬機的zkEVM字節碼的預電路執行器環境
該狀態在交易發送后的幾秒鐘內可用,
過濾掉可能導致區塊膨脹的明顯不正確的交易,
在內存池中執行交易并生成區塊。
證明者
接收區塊的見證人并生成零知識證明,
用于并行證明生成的證明者接口,
自定義證明者自動縮放器,可根據需要創建和終止證明者機器。
交互器
用于觀看和與以太坊L1交互的工具,
根據代幣價格、ZKP生成成本和L1gas價格計算交易費用。
偏執監視器
Prometheus、elastic、sentry、uptime、幾個獨立的事件通知系統和????自定義健康檢查服務。這個核心基礎設施功能齊全,已經集成了zkEVM執行器。
親愛的大幣網(Dcoin)用戶:Dcoin交易所蘋果和安卓多語言版APP4.1.7升級完成,已正式上線.
1900/1/1 0:00:00大家好,我是來自CKcoin平臺首席分析師老崔說幣,也是你們的朋友老崔說幣lcsb18888,老崔說幣公眾號同步專注數字貨幣行情分析,爭取為廣大幣友傳遞最有價值的幣市信息.
1900/1/1 0:00:00截止到北京時間12:00,比特幣現貨價格收于36487.23美元,以太坊現貨價格收于2618.2美元.
1900/1/1 0:00:00尊敬的Bibox用戶: BiboxDeFi創新區將于2021年6月5日(UTC8)上線SafemoonCash(SAFEMOONCASH).
1900/1/1 0:00:00要點總結 PlasmaFinance是基于Plasma網絡并且支持跨鏈的去中心化金融DeFi的集成操縱面板,屬于Plasma生態的一部分.
1900/1/1 0:00:00編者按:5月,“幣圈”吸引無數關注。5月18日,中國互聯網金融協會等三大協會發布公告指出,開展法定貨幣與虛擬貨幣兌換及虛擬貨幣之間的兌換業務,違反有關法律法規并涉嫌犯罪.
1900/1/1 0:00:00