Kaspa простыми словами: blockDAG, десять блоков в секунду и как работает мультиподпись

·5 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: Kaspa простыми словами

Kaspa простыми словами: blockDAG, десять блоков в секунду и как работает мультиподпись

Большинство сетей на proof-of-work создают блоки по одному: майнер находит блок, все строят поверх него, а любой конкурирующий блок, найденный в тот же момент, выбрасывается. Kaspa исходит из другого вопроса: а что, если параллельные блоки вообще не пропадали бы впустую?

Ответ — blockDAG, и именно благодаря ему Kaspa может выпускать десять блоков в секунду, оставаясь сетью на proof-of-work. Поддержка Kaspa скоро появится в SSP, поэтому разберёмся, чем эта сеть отличается и как в ней работает мультиподпись.

От цепочки к DAG

Если в Bitcoin два майнера находят блоки почти одновременно, сеть временно разветвляется. В итоге один блок побеждает, а другой становится «сиротой» — вложенная в него работа просто теряется. Чтобы сироты появлялись редко, Bitcoin нацелен на один блок раз в десять минут: этого времени хватает, чтобы каждый блок разошёлся по всей сети до того, как будет найден следующий.

Kaspa снимает это ограничение. Каждый новый блок может ссылаться не на один, а на несколько предыдущих блоков, поэтому все блоки, созданные параллельно, становятся частью реестра. Структура перестаёт быть единой цепочкой и превращается в направленный ациклический граф — DAG.

Но у DAG самого по себе есть проблема: если два параллельных блока содержат конфликтующие транзакции, какая из них считается? Протокол консенсуса Kaspa, GHOSTDAG, решает её, согласованно упорядочивая все блоки. Он выделяет хорошо связанное большинство блоков, созданных честными майнерами, и выстраивает всё в единый общепринятый порядок, так что каждый узел приходит к одному и тому же выводу о том, какая транзакция была первой.

В результате Kaspa может работать со скоростью десять блоков в секунду — такой темп действует со времени обновления Crescendo в 2025 году — без потерь на сиротах, которые парализовали бы цепочку на такой скорости. Для защиты реестра по-прежнему используется proof-of-work.

Что это значит на практике

  • Быстрые подтверждения. Транзакции попадают в блоки примерно за секунду. Как и в любой сети, для крупных сумм глубина подтверждений по-прежнему важна — каждый блок сверху делает отмену транзакции сложнее, — но эта глубина набирается быстро.
  • Монеты, а не счета. Kaspa использует модель UTXO, как и Bitcoin: ваш баланс — это набор отдельных монет, а при расходе часть из них объединяется, и сдача возвращается вам.
  • Прунинг. Узлы Kaspa не хранят всю историю вечно: данные старых блоков удаляются примерно через полтора дня. Текущее состояние всегда можно проверить, но долгосрочная история транзакций хранится у индексаторов и обозревателей блоков, а не на каждом узле.
  • Мелкие единицы. Один KAS равен 100 000 000 sompi — наименьшей единицы Kaspa.

Комиссии измеряются в «массе»

Bitcoin оценивает место в блоке в байтах. Kaspa — в массе, которая объединяет несколько видов затрат:

  • Размер — сколько байтов занимает транзакция.
  • Операции подписи — каждая проверка подписи добавляет фиксированную величину, поэтому расход с мультиподписью весит больше, чем расход с одним ключом.
  • Хранение — правило KIP-9 делает дорогими транзакции, создающие множество крошечных выходов, чтобы реестр не заполнялся пылью.

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

Как работает мультиподпись в Kaspa

В Kaspa намеренно мало типов адресов. Адрес kaspa:q контролируется одним ключом. Адрес kaspa:p — это адрес pay-to-script-hash: он привязан к скрипту, и чтобы потратить средства, нужно раскрыть этот скрипт и выполнить его условия.

Мультиподписное хранилище — это адрес kaspa:p, скрипт которого гласит: «M из этих N ключей должны подписать». Kaspa использует подписи Schnorr, на уровне консенсуса поддерживает до 20 ключей в скрипте, а стандартные транзакции ретранслирует с числом ключей до 15. Две детали делают работу с ней удобной:

  • Идентификатор транзакции не включает подписи. Вы знаете окончательный идентификатор транзакции ещё до того, как кто-либо её подписал, — это упрощает согласование подписей между устройствами.
  • Нет слоя SegWit или Taproot. В Kaspa всего три стандартных типа выходов — с одним ключом, его вариант на ECDSA и pay-to-script-hash, — поэтому правильно реализовать нужно только один вид мультиподписного хранилища.

Одна тонкость важна для безопасности. Подпись в Kaspa фиксирует только сумму того конкретного входа, который она подписывает, а не суммы всех входов. Поэтому аккуратный мультиподписной кошелёк заставляет каждого подписанта самостоятельно проверять расходуемые монеты, а не доверять суммам, полученным от другого устройства.

Kaspa в SSP

SSP добавляет Kaspa по той же модели 2-из-2, что и для всех остальных сетей: ваше хранилище — это адрес kaspa:p, построенный из одного ключа в SSP Wallet и одного в SSP Key, и каждое устройство независимо проверяет, что именно оно подписывает. SSP Enterprise будет поддерживать хранилища Kaspa с одобрением по схеме M-из-N.

Пока это недоступно: поддержка Kaspa проходит финальное тестирование и будет анонсирована вместе с примечаниями к выпуску, когда выйдет. Библиотека, на которой она основана, @runonflux/kaspa-core, уже открыта для всех, кто хочет её изучить или использовать повторно.

Честный итог

Kaspa берёт знакомую идею — proof-of-work, защищающий реестр UTXO, — и убирает узкое место «по одному блоку за раз», позволяя блокам образовывать DAG. В итоге получаются быстрые блоки, комиссии по массе, а не по байтам, и чистая архитектура мультиподписи, построенная вокруг одного типа скрипта.

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

Поделиться статьёй

Похожие статьи

Квадратная обложка SSP Academy: доказательство работы против доказательства доли

Доказательство работы и доказательство доли: что на самом деле покупает блокчейн

Оба механизма решают одну задачу: сделать участие по-настоящему затратным, чтобы личности нельзя было подделывать бесплатно. Один тратит энергию заранее, другой рискует капиталом атакующего постфактум. Что покупает каждый и почему для вашей безопасности это значит куда меньше, чем кажется.

6 min
Квадратная обложка SSP Academy: модель UTXO, балансы счетов и рента Solana

Монеты, балансы и счета: почему у вопроса «сколько у меня» три разных ответа

Биткоин не хранит балансов вовсе, Ethereum хранит баланс и счётчик, а Solana берёт ренту за само существование. Почему это объясняет высокие комиссии на мелких платежах, транзакции, которые падают и всё равно стоят денег, и токены, которые будто исчезают.

6 min
Квадратная обложка SSP Academy: подтверждения, реорганизации и окончательность в блокчейне

Подтверждения и реорганизации: насколько окончательным бывает окончательное?

Короткие реорганизации — обычное дело, шесть подтверждений — соглашение масштаба биткоина, а не закон, и глубина что-то значит лишь по отношению к стоимости производства блока. Почему они важны при получении и почти не важны при отправке.

7 min