Skip to content

rsmt2d tests do not use nmt for row/column roots calculation #214

@staheri14

Description

@staheri14

Problem

While working on issue #191 in the rsmt2d repo, I encountered an unusual situation. All the tests (as far as I checked) in the repository utilize a default tree, which is a normal Merkle tree but not an NMT. As a result, the tests do not actually make use of any of the logic related to NMT. This discrepancy means that the test scenarios in this repository do not accurately reflect the true mechanics of an EDS in Celestia. Consequently, important issues may remain unnoticed due to this inconsistency.

One such discrepancy can be observed in the Root() method. In the default tree implementation, the root can be computed regardless of whether the shares are nil or not. However, in the NMT implementation, it is not possible to even push a nil value to the tree.

Acceptance Criteria

This issue aims to investigate the problem and address it accordingly:

  1. If the choice of a normal Merkle tree for the tests is intentional, it is crucial to document the reasoning behind this decision, at least within the tests themselves. It may be the case that for some of the tests, the usage of a normal Merkle tree is fine and desirable.
  2. If the use of a normal Merkle tree is not intentional, it is recommended to consider replacing it with an NMT to ensure consistency and accuracy in the test scenarios.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions