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

specs: remove evidence #1437

Closed
Tracked by #650
rootulp opened this issue Mar 1, 2023 · 1 comment
Closed
Tracked by #650

specs: remove evidence #1437

rootulp opened this issue Mar 1, 2023 · 1 comment
Assignees
Labels
specs directly relevant to the specs

Comments

@rootulp
Copy link
Collaborator

rootulp commented Mar 1, 2023

#950 failed to account for updating the specs after removing evidence from the data square. In particular the following instances need to be removed:

  1. - [`block.availableData.evidenceData`](#blockavailabledataevidencedata)
  2. Block data consists of transactions (which modify the Celestia chain's state), intermediate state roots (required for fraud proofs of the aforementioned transactions), messages (binary blobs which do not modify the Celestia state, but which are intended for a Celestia application identified with a provided namespace ID), and other relevant pieces of data (e.g. evidence for slashing). We want to arrange this data into a `k * k` matrix of fixed-sized shares, which will later be committed to in [Namespace Merkle Trees (NMTs)](../specs/data_structures.md#namespace-merkle-tree).
  3. ### EvidenceData
    Wrapper for evidence data.
    | name | type | description |
    |-------------|---------------------------|------------------------------------------------|
    | `evidences` | [Evidence](#evidence)`[]` | List of evidence used for slashing conditions. |
    #### Evidence
    | name | type | description |
    |----------|-------------------------|-------------|
    | `pubKey` | [PublicKey](#publickey) | |
    | `voteA` | [Vote](#vote) | |
    | `voteB` | [Vote](#vote) | |
    #### PublicKey
    | name | type | description |
    |------|------------|--------------------------|
    | `x` | `byte[32]` | `x` value of public key. |
    | `y` | `byte[32]` | `y` value of public key. |
    #### Vote
    ```C++
    enum VoteType : uint8_t {
    Prevote = 1,
    Precommit = 2,
    };
    ```
    | name | type | description |
    |--------------|---------------------------|-------------|
    | `type` | `VoteType` | |
    | `height` | [Height](#type-aliases) | |
    | `round` | [Round](#type-aliases) | |
    | `headerHash` | [HashDigest](#hashdigest) | |
    | `timestamp` | [Timestamp](#timestamp) | |
    | `signature` | [Signature](#signature) | |
@rootulp rootulp added the specs directly relevant to the specs label Mar 1, 2023
@rootulp rootulp self-assigned this Mar 1, 2023
@rootulp
Copy link
Collaborator Author

rootulp commented Mar 6, 2023

Closed by #1436

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
specs directly relevant to the specs
Projects
None yet
Development

No branches or pull requests

1 participant