mafintosh / mafintosh/hypercore-strong-link

Not non-repudiable

Open
#1 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
14
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Here's an attack where I can try to convince another peer that the writer is a liar, even though they aren't.

Since a strong link is a tuple of (key, seq, tree hash), I can create a different merkle tree for a given seq and present that as a strong link to another peer. If that peer chooses to believe that link, they may believe that the hypercore they are looking at, is in fact a fork. This is because nothing in the link proves that a given tree hash was definitely part of the hypercore at some point. If the signature for the tree hash is also included, then the link has non-repudiation, meaning that the writer definitely had the block written at some point, since only the writer has access to the signing private key (basic assumption of hypercore)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the strong-link entry point in this repository and trace how the (key, seq, tree hash) tuple is created and consumed. Define the signature and verification behavior described in the issue, then validate that a link cannot present an unauthenticated tree hash as a writer-produced state.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cryptography, distributed-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.