引擎组帮忙解释一个Prefab文件存储的问题

[
  {
    "__type__": "cc.Prefab",
    "_name": "",
    "_objFlags": 0,
    "_native": "",
    "data": {
      "__id__": 1
    },
    "optimizationPolicy": 0,
    "asyncLoadAssets": false,
    "readonly": false
  },
  {
    "__type__": "cc.Node",
    "_name": "infoNode",
    "_objFlags": 0,
    "_parent": null,
    "_children": [
      {
        "__id__": 2
      }
    ],
    "_prefab": {
      "__id__": 4
    }
  },
  {
    "__type__": "cc.Node",
    "_name": "New Node",
    "_objFlags": 0,
    "_parent": {
      "__id__": 1
    },
    "_prefab": {
      "__id__": 3
    }
  },
  {
    "__type__": "cc.PrefabInfo",
    "root": {
      "__id__": 1
    },
    "asset": {
      "__uuid__": "512e4adc-83c0-4f50-ae8b-f25a86b2bedd"
    },
    "fileId": "f7ThajkP5BOJ/WpDmnZd7v",
    "sync": false
  },
  {
    "__type__": "cc.PrefabInfo",
    "root": {
      "__id__": 1
    },
    "asset": {
      "__uuid__": "512e4adc-83c0-4f50-ae8b-f25a86b2bedd"
    },
    "fileId": "",
    "sync": false
  }
]

从Prefab文件结构上看,每增加一个Node就会增加一个cc.PrefabInfo,并且这个PrefabInfo仅仅和根节点上的只有fileId不同,这样设计的目的是什么?可不可以直接引用同一份数据,减少文件大小?
@jare

插眼,我也想知道这个问题

sync/fileId 在构建后,对大部分节点应该是能剔除的。其余重复的字段,gzip 是能很好的进行压缩的。另外 2.4.3 构建后,json 已经变小了。