Подтверждение транзакций в сети блокчейн

0
513

Чтобы распоряжаться полученными криптовалютными средствами, транзакция в сети блокчейн должна быть включена в новый блок основной цепи. Этот процесс называется подтверждением транзакции. Большинство систем требует шесть подтверждений — после первого включения в блок должно быть найдено еще пять блоков, такая транзакция будет считаться подтвержденной. Таким образом система защищена от повторного расходования средств.

Кто подтверждает транзакции

    • Любая транзакция в блокчейне содержит информацию:
  • адрес отправителя;
  • адрес получателя;
  • сумма перевода;
  • время создания транзакции;
  • комиссионное вознаграждение;
  • прочую информацию.

Все данные шифруются при помощи хэш-функции. Добавлением информации о проведенной транзакции и поиском новых блоков занимаются майнеры.

    • Очередность включения данных в найденный блок зависит от ряда факторов:
  • размер информации;
  • размер комиссии за байт информации;
  • сумма перевода;
  • время создания транзакции.

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

Алгоритмы подтверждения транзакций в сети блокчейн

    • Децентрализованные публичные сети блокчейн не имеют общего центра принятия решений. Они должны приходить к общему мнению через использование механизмов достижения консенсуса. Таких алгоритмов несколько:
  • PoW (ProofOfWork) — доказательство проделанной работы. Популярный алгоритм, применяется в блокчейне Bitcoin. Узлы сети проделывают множество сложных математических вычислений, результат которых легко проверяется другими участниками сети. Первый майнер нашедший верное решение создает новый блок, добавляет в него информацию о транзакциях и рассылает информацию об этом в сеть. Другие участники проверяют результат — если он удовлетворяет заданным условиям, то блок добавляется в основной блокчейн, а майнер получает вознаграждение. PoW самый затратный алгоритм, решение криптографической функции требует вычислительной мощности.
  • PoS (ProofOfStake) — доказательство владения долей. Добавлением информации о транзакциях в новый блок занимаются майнинговые узлы, которые обладают большим количеством монет или имеющие больший возраст. Система случайным образом выбирает узел из ряда кандидатов. На практике имеется ряд ограничений на генерацию нового блока одним и тем же узлом. Применение этого алгоритма отличается низкими затратами вычислительных мощностей, но стимулирует накопление валюты у одного владельца.
  • PoL (ProofOfImportance) — доказательство важности. Разновидность алгоритма PoS, где кроме размера баланса, учитывается время нахождения узла в сети и количество активных транзакций. Такой метод стимулирует не только накопление, но и заставляет активно использовать средства на счету.
  • PoAuth (ProofOfAuthority) — все новые блоки и транзакции подтверждают узлы-валидаторы. Это могут быть вычислительные мощности владельцев блокчейна или выбранные определенным образом аккаунты. Такой алгоритм предполагает централизованный подход и применяется в частных блокчейн-сетях.
  • PoB (ProofOfBurn) — алгоритм предполагает отправку средств на случайно сгенерированный адрес. Использовать эти средства не возможно, так как ключей доступа к нему нет. Это дает узлу шанс сгенерировать новый блок и получить награду, а чем больше будет отправлено монет, тем выше шансы. Этот метод еще называют сжиганием. На практике применяется на финальных стадиях майнинга или при переходе одной криптовалюты в другую.

Что значит неподтвержденная транзакция

Информация в блокчейне шифруется при помощи хэш-функций и добавляется в новый блок, размер которого ограничен. После его заполнения оставшаяся информация ожидает в очереди в новый блок в статусе неподтвержденная транзакция.

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

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

Как ускорить подтверждение

    • Для быстрого подтверждения транзакции она должна быть привлекательной для майнеров, чтобы ее включили в ближайший найденный блок. Рекомендуются следующие действия:
  • определить загруженность сети, количество неподтвержденных переводов;
  • определить размер комиссионных сборов для включения перевода в ближайший блок, для Биткоина эту информацию можно узнать на сайте bitcoinfees.earn.com;
  • установить комиссию равной или выше рекомендуемой;
  • переводить крупные суммы.
    • Если транзакция долгое время имеет статус неподтвержденной, можно использовать методы ускорения подтверждения. Таких способов несколько:
  • ReplaysByFee — изменение размера комиссии, данная функция доступна в некоторых программах-кошельках.
  • CPFP — «дети платят за родителей». Метод требует наличие остатка средств на адресе, с которого сделан перевод. Для ускорения подтверждения необходимо создать новый перевод с этого же адреса, но с привлекательной комиссией. Майнеры будут рассматривать такие переводы как группу и внесут в блок их вместе.
  • Сервис ускорения переводов. Майнинг-пул ViaBTC дает возможность бесплатно принудительно внести несколько переводов в новый блок. Для этого на сайте пула нужно в форме указать ID транзакции. Подобные сервисы есть и у других пулов, но эта услуга платная.

Неподтвержденная транзакция не подразумевает потерю средств, добавление информации о переводе в новый блок может произойти в любой момент.

Децентрализованная криптобиржа

Добавить комментарий

Please enter your comment!
Please enter your name here