3 ms·
Can someone help clarify a point about the zero-knowledge part for me? As far as I can tell calculation is performed (which I would argue is equivalent to know
by mijoharas 12y ago
Can someone help clarify a point about the zero-knowledge part for me?
As far as I can tell calculation is performed (which I would argue is equivalent to knowledge being created) in the process of first checking the value and then rewinding the program to a previous state. Consider the following program (pseudocode):
start: int value = rand(10) //take a random number between one and 10
if (value == 2) {return "success"} //here we are checking if our "answer" is correct
else {goto: start} //rewinding time and trying again
I would argue that this program calculates the number two, and is functionally equivalent to checking a value and is identical to the scheme outlined in this article. Isn't a calculation a creation of information?
If the program was changed so that the if block had (value == 2 `times` 2) I would argue that the program had calculated 2 times 2 (albeit in a stupid way) and thus information had been created.
Can someone point out the flaws in my reasoning? (Obviously there are some, I'm just being too obtuse to see them at the moment)
(EDITS: code syntax and unable to use asterisk as times in the comment so put `times` in instead, hope it's clear
EDIT #2: just realised I said "information is created" which is obviously incorrect as information is conserved. I still think calculation is being performed. I would argue it is the same as performing a random search on the search space. so the information is provided when we check the value
EDIT #3: expanding upon the previous point, assuming we control the time (which we model as the scientist going back in time in the given example) surely in the Verifiers timeline it seems that there is no computation occuring, but in the scientists timeline (assuming the scientist must go back in time and set pick a new set of random colorings) computation is occuring and thus we break our tenet.
)
- sysk 12y ago> and is identical to the scheme outlined in this article Would you care to elaborate? In your example, the Verifier (line 2) already has a solution to the problem (the number 2). Therefore the Solver (line 1) can't possibly give more information about the solution. In the article's example (graph colouring), the Verifier doesn't know the solution to the problem and just verifies a small part of the solution provided by the Solver (2 vertex each time). The Solver doesn't leak any information about its solution at each iteration since the colours are randomised each time. > I still think calculation is being performed Yes, but this is the whole point of ZKPs. It's called Zero Knowledge, not Zero Computation. > I would argue it is the same as performing a random search on the search space I agree but the fatal flaw in your reasoning is that the Verifier already knows the solution and therefore doesn't learn "new" information. The Solver is just wasting CPU cycles. Disclaimer: I just read the article and have no prior knowledge of ZKPs. This is just my basic understanding.