-
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
GRANDPA formal verification grant proposal #2176
Conversation
1st iteration of the proposal
Removed the smart contract part and piece_contract development , since it is not the scope of Dapp development . Smart contract development needs support from underlaying tuxedo runtime.
cleaning up
Updated the file extension to .md
Updated below : 1. Meaning of Feature Parity 2. Updated browsers which will be supported . 3. Meaning and Scope of "Manage NFT" in M2(Dapp) section
Updated the semantic issues.
Updated the M2 features i.e DApp features supported to Kitties based on the features by Kitties pieces in blockchain code .
updated M2 deliverables in all places in accordance with kitties pieces.
Updated DApp functionalities to support the trading, updating features, searching of kitties ,etc .
Updated the IPFS requirement to store meta data of kitty.
Wireframes links are updated.
Fixed typos
After a better analysis of the scope, we decided to cut the cost by 10% but maintain 3 months as the total estimated duration.
fixed some typos and comments.
Updated the tech stack for DApp.
Removed the Amoeba demo from wallet functionality.
This reverts commit db38448.
Hi @AltiMario, nice to see interest in this RFP. However, we usually only sign one grant at a time for any team. We can leave this open until a decision is made on the other one, but if you prefer this one over the other, then we should close the first one. |
Hi @semuelle I added this note https://github.com/AltiMario/Grants-Program/blob/grandpa-formal-verification/applications/grandpa_verification.md#additional-information-heavy_plus_sign hoping for a not restrictive policy. |
@AltiMario thanks for the update. We will discuss this and get back to you next week. |
Hi @AltiMario! Great to know that your team is interested in the GRANDPA formal verification RFC. I have a few questions/comments:
|
hi @bhargavbh I swapped the order as you suggested, it makes more sense now.
How would partial synchrony be modelled? How the gossip network be modelled?
How do we model the consistency oracle used in the definition of safety and liveness?
What about the changes to the protocol to add the notion of time?
In the case of coq we plan to start modeling the time dependency as a function from some domain T to the values. For example, we can do a direct translation of a set of votes V_r_v_t as a function V that relates a round of votes, a voter, and a time to a particular set of voters. |
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.
Hi @AltiMario thanks for the detailed responses. I have left a few suggestion for changes, please address them.
From a technical viewpoint, i am happy to approve the proposal. Feel free to contact me if you need clarifications during the project, happy to get involved.
I'll let the grants team @semuelle @Noc2 decide what is the best way forward, either the current W3F grants program or via Decentralised Futures program.
| Number | Deliverable | Specification | | ||
| -----: | ----------- | ------------- | | ||
| **0a.** | License | Apache 2.0 | | ||
| **0b.** | Verification | We will provide encoding and property verification using TLA+ as described in detail| |
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.
Can you please add documentation for the techniques and abstractions used for modelling as a deliverable. Ideally with in-line comments in the TLA+ spec.
When we say code extraction, we don’t mean full implementation of the mentioned functions or data types. We refer to literal extraction of the functions/data types as is to `Haskell` code without extraction of the required definitions for the result to be a compilable program in `Haskell`. | ||
This allows us to replace some types and functions used in `COQ` with those already existing in the `Haskell` ecosystem. | ||
The complete extraction of the protocol including all the needed types would require a complete implementation of the protocol and is out of the scope of this proposal. | ||
|
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 responding to my queries in detail. Could you please incorporate and consolidate those responses in the proposal itself. Maybe you can create a new subsection "Modelling Techniques".
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.
Hi, I have created a pull-request on this branch with the modeling and abstraction techniques we are planning to use on TLA+ once @AltiMario approves it should show here.
Thank you.
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.
@AltiMario: This looks interesting. I have one question: This looks like a very interesting initiative to kickstart formal verification in our ecosystem. In this case, it might make sense, to rather get funding via the decentralized futures program: https://futures.web3.foundation/ Would you potentially interested in applying for the DF program instead? This way we might be able to support this initiative with a bigger amount.
hi @Noc2 It sounds like a good idea, especially if a formal verification is performed regularly on critical areas. |
Added Modeling and Abstraction techniques details in TLA+
CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. Please submit the following text as a separate comment: I have read and hereby sign the Contributor License Agreement. 2 out of 3 committers have signed the CLA. |
It sounds like you are applying for the DF program instead. So, I'm closing the application for now. But I'm happy to reopen it in the future. |
hi @Noc2 yes I will apply for DF. Thank you for your support. |
Project Abstract
This application is in response to the RFP "Formal Guarantees for GRANDPA Finality Gadget"
Grant level
Application Checklist
grandpa_verification.md
).@_______:matrix.org
(change the homeserver if you use a different one)