а как вообще это работает?
Как я недалёкий до низкого уровня смерд думаю -
Вот есть реальный бразуер юзера - это си(шарп или плюсы).
Есть компьютер этого юзера, браузер знает о том оборудовании которое в нём есть на основе данных, которые он получает на основе диспетчера устройств.
Есть сервер, который получает информацию об устройстве.
Каким образом сервер, который может знать конфигурацию компьютера юзера, будет записать что именно рисует кэнвас и слушает юзер?
Клиентский JS рисует разными шрифтами определённый текст, фигуры и т.д. И потом канвас переводит в блоб и снимает хэш. От видеокарты, от ОС, от браузера зависит как будет это нарисовано (на пиксельном уровне можешь сравнить шрифты в разных ОС). Плюс время операций на разные действия. Так же со звуком.