Tôi đang đọc phần giải thích về zkSnark được viết bởi Maksym Petkus - http://www.petkus.info/papers/WhyAndHowZkSnarkWorks.pdf
Ở đây, Người chứng minh biết một đa thức bậc 3, 2 nghiệm của đa thức là 3 & 4. Anh ta phải chứng minh với người xác minh rằng anh ta biết một đa thức như vậy mà không tiết lộ cho người xác minh nghiệm thứ 3.
Đây là đa thức họ sử dụng làm ví dụ - $P(x) = x^3 - 7x^2 + 12x$
Điều này có thể được coi là $x(x-3)(x-4)$, vì vậy giải pháp thứ 3 là $x = 0$
$T(x) = (x-3)(x-4)$
$H(x) = x$ (chỉ người tục ngữ biết điều này)
$P(x) = H(x) . T(x)$
$E(c) = g^c \pmod p$.
Tóm lại, đây là giao thức được sử dụng
Người xác minh chọn ngẫu nhiên $s$, tính toán $E(s^0), E(s^1), E(s^2), E(s^3)$
Gửi 4 giá trị này tới câu tục ngữ mà không tiết lộ s.
Tục ngữ tính toán $E(p(s))$ sử dụng khác nhau $E(s^n)$S. Ông cũng tính toán $E(H(s))$ tương tự mà không biết $s$. Anh ta đưa cả hai cho người xác minh
Người xác minh tính toán $T(s)$ và sau đó tăng $E(H(s))^ {T(s)}$. Nếu $E(P(s))$ được gửi bởi câu tục ngữ phù hợp với $E(H(s))^ {T(s)}$, thì giao thức xác minh thành công.
Tôi hiểu giao thức nói chung. Có những vấn đề với nó mà họ sẽ giải quyết sau, nhưng một vấn đề mà tôi nghĩ đến (mà họ không giải quyết) là vấn đề sau.
Nếu người tục ngữ không biết đa thức thực tế (tức là $x^3 - 7x^2 + 12x$), nhưng chỉ chọn một số giải pháp thứ 3 ngẫu nhiên - tức là $x = 2$ & anh ấy tiếp tục với các bước giao thức ở trên như được mô tả, nó vẫn sẽ xác minh bằng trình xác minh.
Trong trường hợp đó, tôi không thể hiểu chính xác giao thức đang cố gắng đạt được điều gì?