27 мая 2020

Как работают мгновенные Bitcoin-транзакции?

Как может криптопровайдер предлагать мгновенные транзакции в BTC и BCH, если стандартная операция в Bitcoin обрабатывается от 10 до 30 минут? Объясняем.

У платежей в крипто есть ряд серьезных преимуществ перед фиатом – как для покупателя, так и для продавца (мерчанта). Если вы продаете товары или услуги через интернет, то можете сэкономить до 70% на платежных издержках. 

Как? Очень просто: вам не придется иметь дела с банковским эквайрингом. А с точки зрения покупателям очень удобно, что деньги можно отправить в любую точку мира с минимальной комиссией и что этот платеж не заблокирует никакой банк. 

Ключевая проблема криптоплатежей

Но если сравнивать фиатные и криптовалютные платежи по скорости, то все сложнее. Мы привыкли к тому, что оплата по карте или через “Яндекс.Деньги” занимает считанные секунды. Однако мало какие из цифровых валют могут похвастаться такой скоростью. Транзакции с Ripple и Stellar можно условно считать мгновенными. Но если вам хоть раз приходилось отправлять кому-то ВТС, то вы знаете, насколько медленными могут быть транзакции с биткойном. 

Многие из клиентов нашей платежной платформы Cryptoprocessing.com  — компании из индустрии iGaming (особенно онлайн-казино), и для них скорость обработки платежей крайне важна. Геймеры хотят поскорее пополнить депозит и начать играть или делать ставки, а не ждать по полчаса, пока будут получены подтверждения от сети Bitcoin. 

Нам нужен был способ подтверждать платежи в ВТС мгновенно и одновременно гарантировать надежность операций. Мы его нашли – читайте дальше.

Почему платежи в Bitcoin обрабатываются так долго?

Сразу подчеркнем: сами транзакции в сети Bitcoin практически мгновенны. Зато подтверждения (верификация) этих транзакций занимает время. 

Как только кто-то отправляет вам ВТС, платеж добавляется в пул ожидания и появляется в вашем кошельке под значком “не подтверждено”. Чтобы увидеть подробности транзакции, можно воспользоваться любым из многочисленных биткойн-эксплореров, таких как blockchain.info.  Некоторые сервисы даже дают прогноз времени обработки. Они также полезны в случаях, когда отправитель утверждает, что отправил монеты, но платеж не появляется в вашем кошельке. 

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

Когда в пуле ожидания накапливается достаточно транзакций, майнеры собирают из них новый блок и добавляют его к блокчейну. (Конечно, это крайне упрощенная формулировка, но сейчас мы говорим о скорости, а не о протоколе консенсуса.) Это и есть первое подтверждение – в том смысле, что блок, содержащий ваш платеж, подтвержден. С этого момента транзакция становится необратимой. 

Когда будет валидирован следующий блок, ваш платеж получит второе подтверждение – и так далее. 

Сколько времени нужно на обработку оплаты в BTC?

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

Учтите, что ваша операция необязательно попадет в ближайший блок. Если другие пользователи заплатят более высокую комиссию, их платежи попадут в очередь впереди вашего. Поэтому даже одно подтверждение может занять 20 минут и больше: иногда  Bitcoin-транзакция может “висеть” в неподтвержденном состоянии часами. 

Разные криптоплатформы и приложения требуют разного количества подтверждений. Например, на Binance достаточно одного для внесения депозита и двух – для вывода средств. А вот биржа Kraken требует 6 подтверждений для депозита в Bitcoin (60 минут) и целых 15 для Bitcoin Cash (2,5 часа). 

Для казино или онлайн-магазина такой вариант не подходит. Нельзя заставлять геймеров или покупателей ждать по часу – это просто плохой UX. Конечно, можно порекомендовать клиентам платить в “быстрых” монетах, таких как XRP. Но большинство криптопользователей все еще отдает предпочтение ВТС. Где же выход?

Зачисление до первого подтверждения

К счастью, у проблемы медленных подтверждений в сети Bitcoin уже есть эффективное решение. Наш платежный шлюз Cryptoprocessing.com использует его для мгновенной обработки платежей в самых популярных криптовалютах благодаря сотрудничеству с компанией GAP600. Работает этот метод следующим образом:

— Покупатель выбирает BTC, BCH или ETH в качестве метода оплаты на сайте нашего клиента (например, онлайн-казино);

— Платежная система генерирует ссылку и QR-код, чтобы покупатель мог легко совершить оплату с любого устройства и кошелька за 1-2 клика;

— Как только транзакция попадет в пул ожидания (мемпул), она поступает в систему анализа рисков через API;

— Система оценивает уровень риска  транзакции на основе ее хэша. Этот анализ занимает доли секунды, причем одобрение получают около 85% транзакций;

— Одобрение системы практически гарантирует, что биткойны не будут потрачены повторно и что транзакция рано или поздно будет обработана;

— Все одобренные операции застрахованы от риска повторной траты, поэтому ни платежной компании, ни продавцу не нужно беспокоиться, получат ли они деньги;

— Весь процесс занимает до 2 секунд – примерно столько же, сколько платеж с помощью карты Visa;

— Депозит поступает на счет клиента в казино (или проходит оплата его покупки и т.д.)

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

Заглядывая в недалекое будущее: Lightning Network 

Разумеется, хорошо, что мгновенные транзакции в Bitcoin уже возможны. Однако масштабирование блокчейна ВТС остается серьезной проблемой. Лучшие умы криптоиндустрии ищут способы сделать биткойн-платежи быстрее. Пока что самый перспективный вариант – это Lightning Network (LN).

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

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

Вполне возможно, что Lightning Network действительно изменит наше представление о криптоплатежах, но в Cryptoprocessing.com мы приняли решение подождать доказательств надежности этого протокола. Пока же метод нулевых подтверждений остается лучшим выходом – естественно, при условии тщательного анализа рисков.

 

Обсудить в Discord!