Есть механизмы типа pubsub, которые позволяют обмениваться сообщениями в p2p сети, например whisper/gossip_sub которые позволяют обмениваться сообщениями на сети эфира
это используется в основном как служебный канал, для обмена сообщениями со списками пиров
Но это короче частные отговорки в пользу исторически сложившегося. На деле все доводы валидные, и на каждом из них немало шишек набито даже мной лично.
А общая рекомендация такая - в любых случаях, где есть строки переменной длины, и они ожидаются чаще длиннее 16-256 байт использовать прямое указание длины. Там где не ожидаются - использовать терминацию только в рамках экстремальных оптимизаций
DAG это больше про формат представления/хранения переписок (узел - сообщение, ребро - некоторое отношение между сообщениями, например сказать что сообщение-предок всегда отправлено до сообщения-потомка)
И да, я занимаюсь байтоёбством. Я сделал достаточно большой ID из соображений совместимости с IPFS но я хочу экономить реально каждый байт. Чтобы проще было бы сваливаться в identity-хэш, чтобы легче было пердеть по телеграфу и т.п.