/generic-ads

Generalized Authenticated Data Structures

Primary LanguageHaskell

Generic Authenticated Data Structures

Main module: Merkle.hs : To use this library, you provide

  • a signature for a datatype (an HFunctor)
  • a hash function (an algebra over the datatype)
  • operations defined parametrically over a (?) Then this module provides you with Prove and Verify contexts for running your operations as an ADS protocol

Examples: binarytree.hs : a binary tree data structure with integers in the nodes lambda.hs : a lambda calculus interpreter Using the lambda calculus, any data structure representable with a church encoding can be merkle-ized