На днях я устроился на новую работу, и при переезде вызвал грузовой «Хула-ла» (аналог карго-сервиса). Когда водитель приехал, он взял бумажку и стал ходить от дома к дому, выискивая номер на двери. Обошёл три круга — и всё равно не нашёл. Я спустился вниз встретить его и увидел, что на карте на его телефоне синяя точка всё время крутится в проулке.

Он сказал: «У вас в этом районе нумерация зданий как лабиринт. Позвать по радио — и то было бы лучше, чем навигатор».

Пока я ждал у дороги, пока он сдаст назад, внезапно пришла в голову мысль — похоже, сеть в блокчейне на «уровне сети» устроена примерно так же.

Подавляющее большинство публичных блокчейнов в P2P-рассылке использует протокол Gossip: сообщение приходит — и его «передают всем, до кого дотянутся», примерно как когда управляющая компания орёт из громкоговорителя: «Чья машина мешает проезду?». Просто, грубо, но по эффективности впечатляет.

Каждому сообщению приходится проходить через уйму промежуточных узлов, чтобы дойти до всей сети — чем больше узлов, тем всё более «тормозит». Ethereum, по-видимому, терпел это годами, и я думаю, что все просто привыкли.

В белой книге Dusk есть штука, на которую мне пришлось посмотреть дважды — Kadcast. Тут не используется подход с «громкими объявлениями», а применяется структурированная маршрутизация на базе алгоритма Kademlia: сообщение отправляется только в определённом направлении, а сложность широковещательной рассылки падает с O(n) до O(log n). Официальные данные говорят: по сравнению с Gossip можно сэкономить 25%–50% пропускной способности сети. Ещё жёстче: в симуляции, когда отрубают 30% узлов, Kadcast всё равно способен перестроить маршрутизацию на уровне миллисекунд. Как будто в нашем районе внезапно перекрыли треть дорог — а курьер всё равно мгновенно перестраивает маршрут и доставляет вовремя.

Если по-честному, я видел слишком много проектов, которые «крутят гайки» на уровне консенсуса — спорят, кто лучше, — но никто не хочет лезть в грязную и тяжёлую работу на уровне сети. Даже если консенсус невероятно крутой, если сообщения не доходят — это всё впустую. Dusk готов потратить усилия на такую «невидимую» часть, как Kadcast, а не просто на тех, кто умеет только рассуждать о TPS. В тот день, когда я переезжал, водитель в конце сказал: «Когда навигатор врёт — дорогу приходится искать самому». Блокчейн — то же самое: если не перестраивать базовую архитектуру, то сколько бы «фишек» ни навешивали сверху, это будет воздушный замок.
#dusk $DUSK @Dusk