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)?
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)?
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.