# Automatically generated tamper evident data structures, or Merkle things for free!

**URL:** <https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311>\
**Category:** Outreach\
**Created:** [March 22, 2021, 3:38pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311 "2021-03-22T15:38:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shaul](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/shaul/32/117_2.png) [@Shaul](https://forum.canton.network/u/Shaul)\
**Post date:** [March 22, 2021, 3:38pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/1 "2021-03-22T15:38:15Z")

</div>

I just watched this 2017 gem from Sean Seefried again and thought it may be interesting for the broader Daml and blockchain communities.

[![](https://canada1.discourse-cdn.com/flex028/uploads/daml/original/2X/0/01eeb1797b83caeecc6c99a57301d2509a7ba653.jpeg "YOW! Lambda Jam 2017 Sean Seefried - Automatically generated tamper evident data structures...") ](https://www.youtube.com/watch?v=6VyQMsYUrz8)

Sean shows in this short talk how generalized Merkle data structures can be derived from the Type of the underlying data.

Where could this be useful? For example, in Daml the level of granularity of privacy is contract but in theory it may be possible to encode contracts parameters as these generalized Merkle data structures and selectively discloses specific fields

---

<div class="post-metadata">

**Author:** ![Shaul](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/shaul/32/117_2.png) [@Shaul](https://forum.canton.network/u/Shaul)\
**Post date:** [March 22, 2021, 3:39pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/2 "2021-03-22T15:39:32Z")

</div>

If you found this interesting, you may also be interested in this post about formally proving Merkle data structures

> [@Our new formal methods paper on Merkle trees & co](https://discuss.daml.com/t/our-new-formal-methods-paper-on-merkle-trees-co/494):
>
> @Andreas_Lochbihler and myself have [a new paper](https://www.canton.io/publications/iw2020.pdf) on formally modelling Merkle trees and similar so-called “authenticated data structures” in the theorem prover Isabelle. Such structures allow several systems to ensure that they’re talking about the same structure, even if everyone has only a part of the structure. Yes but why? The reason for the exercise are DAML transactions; there, you can have parties and participant nodes that only see a part of the transaction (their “projections”), but we …

---

<div class="post-metadata">

**Author:** ![anthony](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/anthony/32/419_2.png) [@anthony](https://forum.canton.network/u/anthony)\
**Post date:** [March 22, 2021, 4:00pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/3 "2021-03-22T16:00:42Z")

</div>



---

<div class="post-metadata">

**Author:** ![SamirTalwar](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/samirtalwar/32/374_2.png) [@SamirTalwar](https://forum.canton.network/u/SamirTalwar)\
**Post date:** [May 3, 2021, 3:46pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/4 "2021-05-03T15:46:52Z")

</div>

I finally watched this. Can’t believe it took me so long to get around to it.

Thanks for the succinct and easy-to-follow explanation, Sean! It was very enlightening, and I appreciate that you broke down the basics first.

---

<div class="post-metadata">

**Author:** ![Sean\_Seefried](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/sean_seefried/32/1853_2.png) [@Sean\_Seefried](https://forum.canton.network/u/Sean_Seefried)\
**Post date:** [May 4, 2021, 6:20am UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/5 "2021-05-04T06:20:33Z")

</div>

My pleasure.

---

<div class="post-metadata">

**Author:** ![anthony](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/anthony/32/419_2.png) [@anthony](https://forum.canton.network/u/anthony)\
**Post date:** [May 4, 2021, 12:33pm UTC](https://forum.canton.network/t/automatically-generated-tamper-evident-data-structures-or-merkle-things-for-free/2311/6 "2021-05-04T12:33:41Z")

</div>

Welcome to the forum Sean!
