Отправлять каждое сообщение блокчейна всем подряд звучит безопасно. И при этом невероятно расточительно.

Вот что заинтересовало меня в Kadcast, когда я изучал whitepaper Dusk.

Dusk использует Kadcast, чтобы рассылать блоки, транзакции и голоса консенсуса. Вместо того чтобы просто затоплять каждого соседнего узла одним и тем же сообщением, Kadcast организует узлы, используя идеи из Kademlia.

Каждый узел хранит маршрутизационную информацию, сгруппированную в бакеты на основе XOR-расстояния между идентификаторами узлов.

Затем распространение становится более избирательным.

Узел пересылает сообщение выбранным пирами на возрастающих XOR-расстояниях. Эти пэры продолжают процесс, создавая структурированную «каскадность» по всей сети.

Kadcast также использует мультикаст-деревья. Сообщение начинается с ближайших пиров, которые затем передают его узлам, расположенным дальше в сети. Это позволяет сети охватывать свои узлы с меньшим числом ретрансляций, вместо того чтобы снова и снова отправлять ту же информацию по ненужным маршрутам.$TUT

Эта особенность привлекла мое внимание, потому что сетевое взаимодействие в блокчейне может стать дорогим, если каждый узел постоянно пересылает всё каждому соседу.

Суть не только в том, чтобы сообщения распространялись быстро.

Суть — в снижении избыточных передач при сохранении надежного и своевременного распространения.

Мне это нравится, потому что это показывает: производительность блокчейна зависит не только от консенсуса или производства блоков.$PUMP

Сеть тоже должна эффективно передавать информацию.

Иногда более умный дизайн — это не отправлять больше сообщений.

А понимать, какие узлы действительно должны их получать.

@Dusk_Foundation $DUSK #dusk

Что делает Kadcast эффективным?
🌐 Selective propagation
🔁 More message flooding
15 ч. осталось