-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Add Melodot proposal #1804
Add Melodot proposal #1804
Conversation
Hey @Noc2 and @keeganquigley , I hope you're both doing well! I created the proposal and would love to get your suggestions! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application, and sorry for the late reply here. I have some quick initial feedback:
- All the headlines of your milestones currently say: "Example — Basic functionality". Could you update this?
- The estimation of the FTE and total costs seem strange to me. For example, milestone 4 has an FTE of 2 and one month compared to milestone 2, which has only an FTE of 1 and the same total costs.
- Are you aware of avail: https://github.com/availproject?
hey @Noc2 , Thank you for your reply.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick reply and update. I will mark the application already as ready for review. But I need to spend a little bit more time looking into it. One question that I currently have is: do you think Melodot could potentially be a parachain, and what issues might you face in this regard?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application @DarkingLee, your whitepaper link is asking me to log into a notion account. Is there a public link where I can read it?
|
||
### Similar Projects | ||
|
||
There are currently several data availability layer projects, including Ethereum Danksharding, Celestia, Avail, and Eigen DA. Our main difference from them is the introduction of farmers, which solves many tricky problems faced by the data availability layer. Unlike Danksharding, we decouple an independent data availability layer, which is the same principle as Polkadot not supporting smart contracts. Celestia uses a Merkle encoding pattern, requiring fraud proofs and additional assumptions, which we avoid. Avail's data layout uses a 1.5D scheme, which is unacceptable in terms of sampling efficiency, as detailed in the Melodot white paper. Eigen DA is an Ethereum re-collateralization layer implementation of a data availability scheme, with limited public information available, [but it should be in the form of a DA committee](https://ethresear.ch/t/unbundling-pbs-towards-protocol-enforced-proposer-commitments-pepc/13879), which has its applicable scenarios, but is not the same as Melodot. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It also reminds me of the old proof-of-capacity project Signum (formerly Burstcoin), combined with Chia's proof-of-space. Can you explain who would be the primary users of this project once it is complete?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, there are various implementations of proof-of-space / proof-of-capacity. The difference lies in the fact that Melodot utilizes them to store availability data, so the primary users of Melodot are rollup applications.
Melodot is not well-suited to directly function as a parachain, but rather as a parachain through a "data availability bridge", essentially because as a decoupled data availability layer:
As Melodot matured, we used the Data Availability Bridge as a parachain. It was designed as a neutral bridge (allowing other data availability layers), and other parachains acted as settlement layers, getting data availability guarantees from Melodot parallel chains and "secure interoperability of settlement layers" from the security of polkadot. |
I reset the link and now it doesn't need the login anymore. |
Thanks @DarkingLee, a fascinating read, and I appreciate the detailed comparison to Avail in your whitepaper.
Thanks! |
@keeganquigley Thank you for your feedback, sorry for the late reply.
Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the thorough answers @DarkingLee I think it would be nice to see proof-of-space concepts working in substrate, and hopefully the pallets will help other teams who want to implement it as well. Therefore I'm happy to go ahead and approve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry for not getting back to you sooner. To be honest, my biggest concern here and with the application is that you are trying to do too many things at the moment. But I'm happy to approve it since some of it might definitely be useful for other projects.
@Noc2, Thank you for the review, and I understand that you must have been quite busy lately. Your feedback is valuable to me, and I will definitely take note of your concern about trying to do too many things at the moment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DarkingLee thanks, you've clearly put a lot of effort into the whitepaper and the proposal - it's well-written and contains interesting aspects, both from an economical and game-theoretical as well as technical point of view. It's the first time I've seen the concept of price elasticity applied to a web3 project, I've never thought of that before but in retrospect it seems obvious:) Anyway, happy to approve here as well.
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions. |
This statement is true.
Polkadot does not require separate samplers for availability. The validators all "sample" exactly the one piece they hold themselves. Intersection of 2/3rd honest and 2/3rd claiming availability, says 1/3rd really are available, which suffices for reconstruction. In other words, 1d RS has a better undecodable ratio, aka adversary must hide 2/3rd to hide anything, while a 2d RS permits hiding a small chunk of the block if the adversary hides only 25%, which further increases sampling requirements. We do "sample" for validity in the approvals protocol, which includes proving correctness of the available data, but that's an separate concern. We do assume roughly a synchronous gossip protocol for approval assignment announcements though, but we do not require anonymity when sampling for validity, thanks to the no show system.
Ain't clear what you mean here, but it's evenly distributed among the nodes who claim to hold their chunk. Aside from an undecodable ratio meshing cleanly with our security assumptions elsewhere, we abandoned wider sampling ideas used by Celestia like fishmermen or watchtowers because we concluded there was no mechanism for incentivizing correct behavior. We know validators can be incentivized, although this turns out nastier than one likes. I've not looked into the rest but this paragraph jumped out at me, so figured I'd comment here. Carry on :) |
@burdges Thank you for your comment.
|
Project Abstract
Melodot is an incentive-compatible data availability layer. Melodot introduces the role of farmers by combining PoSpace, alleviating the system's dependence on the minimum number of honest nodes assumption, and completing an incentive-compatible distributed generation and data storage scheme. Consensus validators now act more like light clients, improving future scalability.
Grant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)