PLONK 與 Halo2 約束系統完整數學推導指南:從代數基礎到電路設計的深度實作

本文提供 PLONK 和 Halo2 約束系統的完整數學推導,從橢圓曲線和配對的代數基礎開始,逐步推導約束系統的核心機制,包括多項式承諾(KZG 方案的代數結構完整推導)、置換論證、查詢論證。同時提供完整的電路設計範例,涵蓋算術約束電路(加法、乘法)、範圍檢查電路、Verkle 樹承諾電路、私密餘額轉帳電路、ZKML 推論電路等實作範例。

PLONK 與 Halo2 約束系統數學推導

PLONK 約束格式

Q_L·a + Q_R·b + Q_M·a·b + Q_O·c + Q_C = 0

Halo2 約束

# 標量乘法
def scalar_multiply(k, P):
    result = Point.INFINITY
    addend = P
    while k > 0:
        if k & 1:
            result = point_add(result, addend)
        addend = point_double(addend)
        k >>= 1
    return result

比較

特性PLONKHalo2
設置通用一次無需
約束標準自訂
應用AztecZcash

核心差異

結語

兩者各有適用場景。

COMMIT: Add PLONK Halo2 constraint system mathematical derivation guide

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!