Skip to content

michaelsproul/swap-or-not-shuffle-isabelle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Swap-or-Not Shuffle (Isabelle/HOL)

This is a formalisation of the swap-or-not shuffling algorithm as used in Ethereum 2.0.

Outline

  • AbstractSwapOrNotShuffle.thy: definition of swap-or-not shuffle in terms of Abelian groups. We prove that under some mild assumptions about the input list, swap-or-not shuffle yields a permutation.

The proofs are compatible with Isabelle 2019

Next Steps

The next step will be to instantiate the abstract shuffle with the key and round functions used in Eth2, which are based on hashing and modulo arithmetic on integers.

Once that is complete, I hope to prove equivalence between the optimised implementation of the algorithm that we use in Lighthouse, and the one-at-a-time shuffling defined by the Ethereum 2 specification.

More Info

About

Formalisation of the swap-or-not shuffle used in Ethereum 2.0

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published