Skip to content

JOSS Statement of need

Important

this issue only applies to the paper-joss branch from !210.

The "Statement of need" part begins with citing situations where Komodo can be useful. This can be extended with some additional use cases:

  • Benchmarking and comparing different configurations of available PC
  • Developing and benchmarking new PCs, e.g. post-quantum

The "Statement of need" part can also introduce what Komodo adds to its contenders (fec-rs and arkworks), what they do not provide (the need), and how Komodo may fill the gap.

Below is something I wrote a few months ago, that could be appended to the current beginning of the section.


A few libraries provide similar functionalities, with a few gaps filled by Komodo.

The arkworks ecosystem [@arkworks] is probably the closest library, providing many of the necessary building bricks involved in Data Availability Sampling: prime fields, possibly paired with elliptic curves like BLS12-381 or BN254 among many others; linear algebra operations like polynomial operations and matrix operations; and polynomial commitment. On top of those features, Komodo adds Reed-Solomon encoding, tightly integrated with proof generation.

The Rust implementation of Reed-Solomon erasure coding [@rust-rse] provides mechanisms to encode and decode data into raw shards, using elements of finite fields \mathbb{F}_{2^8} or \mathbb{F}_{2^{16}}, containing respectively 2^8 and 2^{16} elements. Komodo adds the proving mechanisms, and makes it possible to use elements from arkworks' prime fields, possibly paired with elliptic curves.

Komodo also adds a unified high-level API, allowing to benchmark and compare different combinations of prime fields, elliptic curves and polynomial commitment schemes, as we did in two publications [@stevan2024performance; @stevan2025performance]. Finally, a modular design allows to extend Komodo with new polynomial commitment schemes, which performance can be evaluated in the same benchmarking conditions.


@article{stevan2025performance,
   TBD
}
@misc{rust-rse,
  author = {{rust-rse contributors}},
  title = {Rust implementation of Reed-Solomon erasure coding},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub repository},
  url = {https://github.com/rust-rse/reed-solomon-erasure}
}
Edited by STEVAN Antoine