Hash
證明你計算過有__Hr(我nput)H一個sHr(一世np在噸)hash^r(input)對於一些密碼散列函式
證明一個人計算過的最有效的方法是什麼 $ r $ 輸入上的一些加密雜湊函式(例如SHA256)?具體來說,我正在嘗試優化**(1)驗證者的執行時間和(2)**證明的大小(按該順序)。
簡單的解決方案似乎是顯示所有 $ r $ 雜湊,在哪裡 $ v_i = hash(v_{i-1}), \space \forall i \leq r $ ,但這似乎空間效率很低。
儘管目前我還沒有正式的證明。我相信我可以提出一個令人信服的論點,這是無法做到的。
如果你想要一個證明者提供輸出和一些額外的證據。並且驗證者應該能夠以比自己計算雜湊少幾個數量級的工作量以高機率說服自己它是正確的。
即使證明者提供了完整的鏈,偽造者也只能交換單個雜湊併計算偽造鏈上的任何其他內容。除了檢查單個偽造的雜湊(r 中的 1)之外,驗證者無法捕捉到這一點。如果驗證者隨機檢查一半的步驟,仍然會給偽造者 50% 的成功機會(未被發現)。您可能希望驗證者只檢查少數雜湊值,但這會給偽造品提供極好的機會而不會被發現。
為了獲得高可信度,驗證者必須自己完成幾乎所有計算 r 雜湊的工作。