Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

erasure doesn't tolerate forks #1431

Closed
rob-solana opened this issue Oct 5, 2018 · 7 comments
Closed

erasure doesn't tolerate forks #1431

rob-solana opened this issue Oct 5, 2018 · 7 comments

Comments

@rob-solana
Copy link
Contributor

data blobs have PoH information that allows us to figure out who the parent blob is, in the case of a fork (i.e. 2 different blobs at the same blob_idx/ledger height).

possible fixes:

  • move FEC into the blobs themselves, so that PoH can (maybe?) be used to put the blobs in order before calling recover()
  • use blob_id (i.e. leader that issued the blob) to group blobs by fork instead of PoH
  • try erasure blobs with multiple PoH tracks

It's possible that erasure is generally incompatible with forks

@aeyakovenko
Copy link
Member

@rob-solana, won’t all forks be virtual?

@rob-solana
Copy link
Contributor Author

rob-solana commented Oct 14, 2018

these cases are of concern, I think

  1. leader schedule partition, where 2 leaders think they're next
  2. slashable leader (i.e. 2 different data blobs for the current entry height)

@aeyakovenko
Copy link
Member

@rob-solana how will two leaders be next? L1 and l2 have different start points

@rob-solana
Copy link
Contributor Author

in a partition that lasts long enough for a new leader schedule?

@aeyakovenko
Copy link
Member

@rob-solana just fail those :). schedule is decided at count X, active at count Y. that difference could be 24 hours

@rob-solana
Copy link
Contributor Author

rob-solana commented Oct 22, 2018

depends on #1433 being fixed

@mvines mvines added this to the The Future! milestone Oct 23, 2018
@rob-solana
Copy link
Contributor Author

this rolls into #1717, is essentially a duplicate, so closing here

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants