diff --git a/data-model-layer/data-model.md b/data-model-layer/data-model.md index c337c9c9..617a3e0c 100644 --- a/data-model-layer/data-model.md +++ b/data-model-layer/data-model.md @@ -115,6 +115,8 @@ Map is a recursive kind. Values in maps are accessed by their "key". Maps can also be iterated over, yielding key+value pairs. +Codecs must be able to serialize Maps in a deterministic way (key sorting should be consistent regardless of insertion order or language specific sorting). The sorting is not defined by the data model, each codec should find the best sorting algorithm, but the sorting must be consistent between languages and is most often implemented as additional code during serialization since most formats do not already have deterministic maps. + #### Link kind A link represents a link to another IPLD Block. The link reference