How Daml guarantees immutability in a centralized setup?

How Daml guarantees immutability in a centralized setup like daml on postgresql?

What happens if someone changes the data inside the sql tables (the ones containing contract data)?

1 Like

Whoever has access to the participant has the keys to the kingdom. There must exist a trust relationship between the participant operator and the party who has their data hosted there. The crucial point is that any party should be able to start a participant and connect to a network. I encourage you to have a look at our documentation about the recently released Canton, who aims at enabling the creation of a network of seamlessly interconnected participants.

Ok thank you Stefano. I see. I thought there was some kind of data structure like merkle trees (or merkle dags) that held the hashes computed from events data that would allow a thirdy party to verifiy if the data was manipulated at a certain stage but from your answer it seems that’s not the case. Am I right?

That is not strictly required at the participant level, which is the one which serves the Ledger API. That’s why Ledger API implementations have a committer side which is separate and provides the guarantees you’re looking for. Have a look at the Canton documentation with regards to domains. :wink: