Пользователи Bitcoin обычно ждут около часа, прежде чем считать платёж завершённым. Algorand ($ALGO) работает иначе: платежи становятся окончательными сразу после включения в блок, а новые блоки появляются примерно каждые 2,8 секунды.

Почему для подтверждения платежей в Bitcoin нужно ждать

В сети Bitcoin ($BTC) майнеры работают одновременно, поэтому на короткое время могут появиться конфликтующие версии цепочки. Согласно статье Университета Мэриленда, более короткая ветвь становится осиротевшей, а все конфликтующие транзакции аннулируются. Это проблема форков, из-за которой платёж в проигравшей ветви может быть отменён.

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

Как Algorand избегает форков

Algorand устроен так, чтобы такие разделения не происходили. В нём используется Pure Proof-of-Stake: согласно сравнению Bitcoin и Algorand от Spark, проверяемая случайная функция выбирает создателей блоков и участников комитета. Вероятность быть выбранным пропорциональна количеству ALGO во владении. Каждый новый блок выносится на голосование случайно выбранных участников, и для его принятия требуется более двух третей голосов.

Поскольку цепочка не разделяется, откатывать нечего. В объяснении Algorand от Finst говорится, что не нужно создавать несколько дополнительных блоков поверх блока, чтобы он получил дополнительное подтверждение. Spark указывает, что финальность Algorand детерминированная и достигается за один блок, тогда как у Bitcoin она вероятностная: для шести подтверждений требуется около 60 минут.

Компромисс в кризисной ситуации

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

Короче говоря, в условиях экстремальной нагрузки Algorand жертвует непрерывной доступностью ради скорости и надёжности при обычной работе. Bitcoin идёт на противоположный компромисс: цепочка продолжает работать, но пользователям приходится ждать дополнительных подтверждений, прежде чем можно будет положиться на платёж.

Источники:

  • Algorand: технология Pure Proof-of-Stake

  • Spark: Bitcoin и Algorand — сравнение

  • Ляо и Кац: стимулирование сговора ради двойного расходования в Bitcoin