Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hash-based integrity checking of operation sets #27

Closed
ept opened this issue Jun 22, 2017 · 1 comment
Closed

Hash-based integrity checking of operation sets #27

ept opened this issue Jun 22, 2017 · 1 comment

Comments

@ept
Copy link
Member

ept commented Jun 22, 2017

At the moment, tesseract has no integrity checks. For example, a buggy node could send two different operations with the same sequence number to different peers, and they may never notice that they have diverged.

A simple approach for fixing this would be to take a leaf out of git's model: each operation has a cryptographic hash that covers the contents of the operation, the author, and the hashes of the prior operations on which it depends. The recipient must check that the hashes match up. Such hash-chaining alone is not sufficient to prevent disruption by actively malicious peers, but it would catch a lot of accidental bugs, and it would pave the way for a protocol that is robust against malicious peers (e.g. using digital signatures).

@ept
Copy link
Member Author

ept commented Dec 2, 2020

Hash chaining of Automerge changes is implemented as part of the new binary format #253. Implications for networking layers are discussed in #290. I'm going to close this issue and leave further discussion on those issues.

@ept ept closed this as completed Dec 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant