#dusk $DUSK @Dusk 今天我在做 DUSK 的小型測試時,檢查了自己的測試位置,結果發現自己在做一個相當基礎的假設:我過去一直以爲默克爾樹和零知識證明大致是在做同一件事。

深入瞭解 @Dusk 之後,這一點對我來說改變了。

Dusk-Merkle 和 PLONK 並不能互換。它們解決的是不同的問題,這一點在理解隱私真正來自哪裏時至關重要。

Dusk-Merkle 是一種自定義的稀疏默克爾樹,且與哈希函數無關。它可以用於網絡的不同部分,包括 Stake、Transfer 和 Citadel。

我現在用一個更簡單的方式來理解:

Merkle = 對狀態進行承諾(commit)。
PLONK = 證明一次計算。

默克爾樹可以把結構化的狀態壓縮成一個根(root)。然後,默克爾開示(opening)就可以證明某個特定元素屬於該已承諾的結構,而不需要驗證者處理整棵樹。

而 PLONK 則做另一件事。它允許證明者證明某個陳述或計算滿足某個電路(circuit),同時不泄露用於生成該證明的私密信息。

這種分離反而讓我更容易理解 $DUSK

樹負責組織並承諾狀態。
電路定義必須成立的規則。
證明展示這些規則確實得到了滿足。

合約隨後就能確定接下來會發生怎樣的狀態轉移。

但我覺得更有意思的是這一點。

靈活性並不自動等於安全。

一種與哈希函數無關的默克爾設計仍然依賴於選擇正確的哈希函數,並且要正確實現開示(openings)。可複用的 PLONK 電路也有類似的權衡:它們減少了重複工作,但如果某個錯誤假設被採用,就可能被多個應用反覆複用。

所以我不僅僅是在看 DUSK 是否使用 ZK。

我在看每個密碼學組件是否確實在做它應該做的那份工作。
#dusk $DUSK
@Dusk
$BTW
$TUT
$CYS

Dusk 的隱私最關鍵的是什麼?
Merkle commits state
0%
PLONK proves rules
0%
Both have boundaries
0%
Which matters most?
0%
0 票 • 投票已結束