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

Explore erasure coded rectangles #1199

Open
4 tasks
cmwaters opened this issue Jan 9, 2023 · 3 comments
Open
4 tasks

Explore erasure coded rectangles #1199

cmwaters opened this issue Jan 9, 2023 · 3 comments
Labels
enhancement New feature or request proposal item is not yet actionable and is suggesting a change that must first be agreed upon

Comments

@cmwaters
Copy link
Contributor

cmwaters commented Jan 9, 2023

Summary

Instead of enforcing equal rows and columns, allow for rectangles which have columns twice the size of rows

Problem Definition

Imagine a set of transactions in a block that taking up 16 shares (including intershare padding). This is great because in a 4x4 square we have no tail padding. However, if the set of transactions takes up 17 shares, we need to double both axes, creating a grid of 8x8 = 64 shares. This means 47 shares are tail padding. If we allow rectangles with sides that are powers of 2. Then we can reduce tail padding. In this example, the rectangle would be 4x8 = 32. Which only means 15 shares of tail-padding.

Proposal

Allow for rectangles with sides powers of 2. We can represent this as the area in which the area can increment in multiples of 2 instead of multiples of 4.

A lot of the current code has the idea of a square baked in so this would be a difficult adjustment to make.

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@cmwaters cmwaters added the enhancement New feature or request label Jan 9, 2023
@nashqueue
Copy link
Member

nashqueue commented Jan 9, 2023

What would the erasure-coded block look like? What I mean by that is that if the ODS (Orginal Data Square) is 48. Is the EDS(Erasure coded Square) 816?
image
Yellow would be the ODS. That's how imagine it.

The second question is, do we still have equivalency if we erasure code yellow->blue->red and yellow->green->red?

@cmwaters
Copy link
Contributor Author

cmwaters commented Jan 9, 2023

Good question. I'm not familiar with the internals/properties of reed-solomon erasure coding so I'm not sure if there's parity (and if it's necessary)

@adlerjohn
Copy link
Member

Tail padding is a very small issue IMO since it's known simply by looking at the block header.

@rootulp rootulp added the proposal item is not yet actionable and is suggesting a change that must first be agreed upon label Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request proposal item is not yet actionable and is suggesting a change that must first be agreed upon
Projects
None yet
Development

No branches or pull requests

4 participants