Authenticated modular maps in Haskell

Publication date

2018-09-27

Authors

Cacciari Miraldo, V.ISNI 0000000506342834
Carr, Harold
Moir, Mark
Kogan, Alex
Herlihy, Maurice

Editors

Advisors

Supervisors

Document Type

Part of book
Open Access logo

License

taverne

Abstract

We present hamm, a Haskell library that enables programmers to easily configure authenticated map (key-value store) implementations. We use type level programming techniques to establish an extensible foundation, and provide an example base map and several example “add on” transformers supporting features such as caches, Bloom filters and paging structures. Another add-on enables a prover to provide—and a verifier to verify—a “summary” containing only a small subset of the map’s data, and a verifier to receive and verify additional data only if needed. Preliminary performance results demonstrate significant potential for authenticated maps configured using hamm to support our goal of enabling participants to join blockchain networks faster.

Keywords

Authenticated Datatypes, Haskell, Blockchain, Taverne

Citation

Cacciari Miraldo, V, Carr, H, Moir, M, Kogan, A & Herlihy, M 2018, Authenticated modular maps in Haskell. in Proceedings of the 3rd ACM SIGPLAN International Workshop on Type-Driven Development. Association for Computing Machinery, New York, pp. 1-13. https://doi.org/10.1145/3240719.3241790