2024-05-17
· 2 min read
Present
- Summarized the status of Peras prototyping and defined next steps.
- Outlined the business value of formal methods.
- Investigated different approaches for representing a voting string in Agda: the first attempt implemented a formal language using equational reasoning and a coalgebraic style.
- Changed the reflexive transitive closure of the small-step semantics to a List-like syntax similar to what has been proposed in
test-demo
. This allows to express execution steps in a concise way and could be used as DSL for specifying test-cases and attack-scenarios. - Computed the size in bytes of the various keys and certificates involved in Peras, under the assumption that it uses existing keys and crypto available to a Cardano node.
- Sketched a detailed design of what the independent voting layer would look like.
- Designed an Agda+Haskell workflow where Agda formal specifications for Peras can be made decidable and then exported as an executable specification for Haskell
quickcheck-dynamic
tests. - Met with Max (Quviq) to settle next steps in their support of Peras.
- Suggest improvements in exising Agda+Haskell workflow and code, including identifying changes to
agda
and/oragda2hs
that would streamline the workflow. - Demonstrate how to convert proofs present in the workflow into property-based tests in
quickcheck-dynamic
.
- Suggest improvements in exising Agda+Haskell workflow and code, including identifying changes to
- Started mapping the spectrum of conformance testing relevant for a Peras CIP and RFP. The overall goal is "conformance without over-specification".
- Discussed strategies for making the Peras specification readable by the broad Cardano commmunity.
Future
- Complete Praos proofs à la Baspitter.
- Model voting and vote diffusion in detail using Dynamic QuickCheck and ΔQ.
- Construct Dynamic QuickCheck tests for adversarial scenarios.
- Continue refining requirements for conformance testing.
- Conduct additional stakeholder interviews, with an aim to define the ideal form of a Peras CIP.
Issues
- The Peras protocol paper is expected to be submitted May 22.
- The target date for the in-person Peras meeting is June 24.