Префиксы - довольно тонкая условность. Дело в том, что все блоки в БЭМ можно разделить в категории "по смыслу".
- Одни из блоков служат контейнерами для других, в свою очередь даже не имея элементов.
- Другие блоки являются частью js-плагинов.
- Третьи вообще нужны для различных фиксов
- Четвертые ничем не примечательны
- ...
Вот для деления на такие логические группы используют префиксы. Нет каких-либо стандартов на эту тему, но как-то так прижилось использовать эти
b (обычный, ничем не примечательный блок),
g (блок без элементов),
js (блок - часть js#плагина).
Лично я использую префиксы довольно редко. Чтобы связать по смыслу несколько блоков, не более.
.header-top.header-center.header-bottom.js-plugin1.js-plugin2.special-block-head.special-block-body.special-block-footer