boltlabs-inc / zeekoe

Zero-knowledge layer-2 payment channels
MIT License
24 stars 1 forks source link

Design and implement transcript integration for zero-knowledge proofs #27

Open marsella opened 3 years ago

marsella commented 3 years ago

In order to tightly bind each zero-knowledge proof (in zkAbacus's Establish and Pay protocols), it is important to integrate the current session transcript into the proof challenge (so the proof cannot be reused). This requires zeekoe to reveal an interface for providing some form of summarized transcript that can be passed into zkAbacus.

@kwf has several possible architectures for this. We should discuss them, pick one, and integrate it into challenge generation.

plaidfinch commented 2 years ago

From Slack: "Basically, we need a new generic Dialectic backend wrapper that provides additional "summarizing" functionality, a modification of the Dialectic API that lets you access the raw backend to retrieve the summary, and an instantiation of this that uses a rolling hash as the summarizer."

indomitableSwan commented 2 years ago

Perhaps we could consider changes on the cryptography and zkAbacus/zeekoe sides and not in dialectic? It's unclear to me that dialectic is really where we need/want to handle this.

yaymukund commented 2 years ago

https://docs.rs/merlin/3.0.0/merlin/struct.Transcript.html might be a useful example implementation.