一文讀懂 Layer2 方案 zkSync 基本原理

買賣虛擬貨幣

活動預告

imToken 邀請到了 zkSync 創始人 Alex 和鏈聞研究總監潘致雄,明晚 19:30 和大家一起聊聊 Layer2,掃描文末二維碼參加活動。

以太坊的理想之一是普惠金融,但由於現在幾乎所有的交易都在 Layer1 處理,導致網路嚴重擁堵,礦工費居高不下,不少使用者因此被攔在門外。

所以社羣希望藉助 Layer2 降低礦工費,吸引更多使用者參與進來。在《給區塊鏈擴容難嗎?從比特幣到以太坊》中,我們介紹了 Layer2 中被以太坊創始人 Vitalik 看好的 zkRollup 方案。

從中長期來看,隨著 ZK-SNARK 技術的改進,ZK Rollup 最終將在所有場景中勝出。- Vitalik Buterin

imToken 2.9.0 已經深度整合了 zkSync 方案,今天這篇文章我們就來具體介紹下 zkSync 的原理和架構,下文將把 Layer1 和 Layer2 簡寫為 L1 和 L2。

 

zkSync 概覽

zkSync 是基於 ZK Rollup 架構的低成本擴容協議,主要透過零知識證明和資料可用性保障使用者資產安全,該專案目前的產品路線圖規劃如下:

zkSync 正處於第一階段:支付場景,如其 Slogan 所述:

zkSync: secure, scalable crypto payments
zkSync:安全可拓展的加密資產支付方案

工作原理

  1. 使用者簽署交易並提交給驗證人;
  2. 驗證人將數千筆交易 Rollup 到一個區塊中,並向主網的智慧合約提交新狀態的默克爾根和加密證明(SNARK),證明新狀態是基於舊狀態的正確更新;
  3. 除了證明以外,每筆交易的資料都會使用廉價的 Calldata 在主網釋出,以便任何人在任何時刻都可以重建狀態;
  4. 證明和狀態均由智慧合約驗證,從而驗證區塊中所有交易的有效性和區塊資料的可用性。

特點

  • 支援 ETH 和 ERC20 轉賬,L2 毫秒級確認,L1 10 分鐘內獲得最終確認;
  • 主網級別的安全性,毋需依賴第三方;
  • 零成本建立賬戶;
  • 極低的交易手續費(低至 $0.001);
  • 支援任意有效的以太坊地址(包括智慧合約地址);
  • 支援任意代幣作為手續費支付;
  • 15 分鐘以內將資金從 L2 提現到 L1(OP Rollup 至少要 1~2 周);
  • 支援多重簽名
  • 支援智慧合約(即將到來)。

優勢

  • 驗證人不可能破壞狀態和竊取資金;
  • 驗證人即使停止工作,使用者也可以藉助資料可用性隨時取回資金;
  • 使用者不必時刻監控 Layer2 網路以防欺詐。

 

zkSync 架構

架構說明

  • 主要架構分為鏈上和鏈下,也就是所謂的 L1 和 L2;
  • L1 的核心為智慧合約,主要負責存款、提款、交易驗證;
  • L2 分為 L1 互動(Watcher、Sender)、L2 狀態維護(Mempool、Block Proposer、State Keeper、Block Commiter)、零知識證明系統。

zkSync 架構運作模式

  1. 存款
    1. 當使用者想要存款時,呼叫 L1 zkSync 智慧合約儲存資金;
    2. Watcher 監控 L1 存款交易,當交易發生時則會放入 Mempool 中;
    3. Block Proposer 處理 Mempool 交易打包,並提交 State Keeper 更新賬本。
  2. 轉賬
    1. 當使用者想要使用 L2 低成本快速轉賬時,呼叫 zkSync API 提交轉賬交易;
    2. 交易同樣會按照流程流轉至  Mempool > Block Proposer > State Keeper;
    3. 最終 State Keeper 通知 Block Commiter 收集生成零知識證明所需資訊,呼叫 Plonk Proving System 生成零知識證明後,藉助 Sender 將存款和轉賬等交易資料,以及將對應的零知識證明提交到 L1 的 zkSync 智慧合約驗證;
    4. 等待 L1 交易確認後,Watcher 會通知 L2 更新交易狀態為最終確認。

1 - 存款

  1. L1
    1. 使用者從 L1 呼叫 zkSync 合約充值 ETH / ERC20 資產;
    2. 使用者可以設定充值地址和資產;
    3. 代幣白名單內的資產,可能會出現合約 Revert。
  2. L2
    1. 等待主網 10 個區塊確認後,zkSync 會將資產入賬;
    2. 如果充值地址此前未建立,那麼將會自動為該地址建立賬戶。
    1.  

2 - Signer

  1. 建立 zkSync 賬戶
    1. 場景:L1 存款或者 L2 轉賬都會自動建立賬戶;

注:zkSync 的建立賬戶類似 EOS/Cosmos,賬戶會有唯一 ID 維護 ETH 地址、zkSync Signer 公鑰、Nonce、Balance 等關係。

     2. 生成 zkSync Signer

    1. 場景:每次呼叫 Transfer / Withdraw 時派生 Signer 用於授權交易;
    2. 步驟
      1. ETH 錢包進行 personalSign 簽名
      2. 使用「personalSign 簽名」作為種子生成 zkSync Signer
  1. 設定簽名公鑰
    1. 場景:每次 Transfer / Withdraw 檢查是否設定公鑰,如果沒有設定則提示使用者生成 zkSync Signer 完成簽名公鑰設定;
    2. 步驟
      1. 生成:呼叫 PersonalSign 生成 zkSync Signer
      2. 檢查:每次 Transfer / Withdraw 檢查是否設定公鑰,若有則進入步驟 iv
      3. 設定:呼叫 zkSync SDK - setSigningKey 設定 Signer 公鑰
      4. Next:繼續 Transfer / Withdraw
    3. 說明:
      1. zkSync Signer 專用於 L2 交易簽名,但收款地址依然採用以太坊地址,底層簽名則是採用 zkSync Signer;
      2. 使用者除了首次設定公鑰之外,其餘場景均對 Signer 沒有感知。

3 - 轉賬

轉賬機制基本跟以太坊一樣,以下羅列部分特點:

  1. 收款地址
    1. 任意有效以太坊地址皆可轉賬
    2. 但轉給不存在的賬戶需要更多的手續費用於建立賬戶
  2. 代幣
    1. 理論上支援任意 ETH/ERC20
    2. 但目前依賴 代幣白名單
  3. 手續費
    1. 支援任意代幣支付手續費,比如 Dai
    2. 手續費計價:
      1. 鏈上(gas 費)
        1. 驗證 SNARK (~1.5k gas) + 交易狀態 (~0.4k gas)
      2. 鏈下(儲存和證明費)
        1. ~ 0.001 USD/筆
  4. 交易狀態
    1. Committed
      1. 時間:秒級;
      2. L2 交易傳送成功的狀態,交易區塊雖然還沒有獲得 L1 最終確認,但不影響使用者繼續發起下一筆交易。
    2. Verified
      1. 時間:~10 分鐘
      2. 當交易區塊 SNARK 證明被 L1 智慧合約驗證,L2 交易即獲得最終性。 

4 - 提款

目前 zkSync 有 3 種提款至以太坊 L1 錢包的方式:

  1. Withdraw
    1. 型別:L2 交易;
    2. 時間:~10 分鐘 / ~ 4 小時(由使用者選擇的擋速決定);
    3. 場景:當你擁有賬戶的 Signer 金鑰即可使用。
  2. ForcedExit
    1. 型別:L2 交易;
    2. 時間:不確定;
    3. 場景:當將資金轉入智慧合約 / 交易所等特殊地址(無法擁有對應私鑰),為了解決無主賬戶(無法設定 Signer)的問題,zkSync 提供一份人工表單登記處理,幫助使用者提現資產。
  3. FullExit
    1. 型別:L1 交易;
    2. 時間:1 周;
    3. 場景:當遭遇 zkSync 網路不可信,驗證人不作為等情況,使用者可以選擇向 L1 智慧合約提交退出證明,將資金提款至 L1。

如何體驗 zkSync 呢?

imToken 2.9.0 已經深度整合了 zkSync,如果你想上手體驗 zkSync 的完整流程,可以點選影片 檢視。

 

 

-活動報名-

 

明晚 19:30,我們邀請到 zkSync 創始人 Alex 和鏈聞研究總監潘致雄,和大家聊聊 Layer2 能否解決以太坊擁堵問題?zkSync 是 Layer2 騰飛的引爆點嗎?zkSync 會如何考慮 Native Token 機制和發放計劃?掃描海報二維碼即可報名參加活動。

 

來源:imtoken錢包部落格,一文讀懂 Layer2 方案 zkSync 基本原理

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读