Reed-Muller or other locally decodable erasure codes #127
Replies: 5 comments
-
For Firedancer, I think the team is likely to create an optimized Reed-Solomon implementation from scratch. We generally try to minimize the amount of external dependencies. I'm also not aware of plans to change the erasure coding algorithm. |
Beta Was this translation helpful? Give feedback.
-
I'm not too familiar with |
Beta Was this translation helpful? Give feedback.
-
Thanks for the info. It makes sense to match functionality first. To give some context for my question, I'm designing a distributed ledger and have been looking at locally decodable codes and fountain codes. Wanted to see if the firedancer team was cooking up something in this regard. Here's a recent paper I read with a bit more info http://article.sapub.org/10.5923.j.jwnc.20160601.02.html#Sec1 RS has O(N^2) decoding time w/ block size N vs DF Raptor code which is O(N) with smaller constant. I recently found a C library that implements raptor codes https://github.com/obolo/freeRaptor, which may or may not be worth checking out (at the very least as a reference implementation). Going to check it out this week and test/benchmark with the other codes I've been trying. edit: also tried raptorQ |
Beta Was this translation helpful? Give feedback.
-
I'm not sure if you're still interested in this topic, but I just pushed our Reed-Solomon encoder. It's O(N*log N) using some techniques in recent papers and also has a very low constant coefficient. See #244 for more details. |
Beta Was this translation helpful? Give feedback.
-
Closing for now, we probably have lower hanging fruit than changing codes at this point. |
Beta Was this translation helpful? Give feedback.
-
Currently, the
solana-ledger
rust crate uses Reed-Solomon erasure codes. For Firedancer's ledger, it may be worth considering and benchmarking locally decodable erasure codes.Are there any existing highly optimized C libraries that implement locally decodable erasure codes e.g. Reed-Muller?
Beta Was this translation helpful? Give feedback.
All reactions