2 октября в блоге Coinbase её сотрудники Брок Миллер и Эли Хеймз представили подробное описание новой техники, используемой биржей для упрощения обработки транзакций в блокчейне биткоина.
В компании решение прозвали «Ребёнок платит за родителя» (CPFP).
Вот как излагается основная проблема, которую пытается решить Coinbase:
«Комиссии за транзакции волатильны и непредсказуемы, что приводит к значительным колебаниям в количестве времени, которое требуется для подтверждения транзакции.
Например, в декабре 2017 года некоторые транзакции пользователей «застревали» из-за роста комиссий и общей перегрузки сети биткоина.
Это прежде всего разочаровывает наших пользователей, потому что для их транзакций требуется больше времени, чем они ожидают.
Возникает много обращений к техническим специалистам Coinbase с требованием расследования ситуации, которая не находится под их контролем».
Для полной ясности Миллер и Хеймз описывают, как происходит традиционная транзакция:
«Когда клиент хочет отправить некоторое количество биткоинов на другой адрес в сети, есть два основных фактора, которые мы как биржа пытаемся сбалансировать:
1. комиссия за транзакцию (то, сколько клиент платит за свою транзакцию, которая должна быть включена в блок),
2. скорость включения этой транзакции».
Если сборы по кредитным картам рассчитываются в процентах, то биткоин представляет собой «рынок комиссий».
Это означает, что комиссии зависят от перегруженности сети, и блокчейн позволяет пользователям выбирать, сколько они предпочли бы заплатить.
При этом майнеры, для которых комиссия — это стимул, склонны выбирать для обработки транзакции с самыми высокими заявленными сборами.
Таким образом, если кто-то совершает транзакцию, когда сеть работает в спокойном режиме, он платит небольшую комиссию.
Однако, если загрузка сети внезапно возрастает и кто-то другой пытается совершить транзакцию, комиссия для последнего будет намного выше.
Майнеры в первую очередь проводят проверку последней транзакции, а предыдущей приходится ждать, пока сеть не замедлит работу, в результате перевод «застревает».
Решение CPFP — «ребёнок платит за родителя»
На помощь приходит решение CPFP, стимулирующее майнеров к подтверждению транзакций с более низкой оплатой.
Чтобы понять, как это работает, нужно взглянуть на биткоин через призму фиатной валюты. Если вы купили что-то, вы должны «ввести» наличные средства в сеть продавца.
Когда он в свою очередь использует эти средства для покупки чего-либо, он «выведет» их в другую сеть.
Его покупка считается «ребёнком» вашей, «родительской» покупки, так как она может существовать только благодаря вашему финансированию.
Представьте тот же процесс с небольшими изменениями. Если вы заплатите $10 за пятидолларовую покупку, то полученная сдача («выход сдачи») будет расходоваться из сети продавца.
Этот «выход сдачи» — «ребёнок» транзакции, где сети продавца и покупателя рассматриваются как «родители». У каждой биткоин-транзакции есть «выход сдачи», что и позволяет реализовать решение CPFP.
Такие «дочерние» транзакции не могут быть добавлены в блок до тех пор, пока туда не попадут «родительские». При CPFP блокчейн биткоина рассматривает «родительские» и «дочерние» транзакции как группу.
Если обе стороны ждут подтверждения, сеть добавляет их транзакционные комиссии вместе.
Майнеры действительно получают больше за подтверждение такой группы, но в тоже время транзакции не могут быть проверены и не проверяются по-отдельности.
То есть для получения высокой комиссии от «дочерней» транзакции майнер должен иметь дело с обоими «родителями». В итоге выигрывают все.
В течение последних нескольких месяцев Coinbase объясняла трейдерам принцип CPFP следующим образом:
«Если транзакция клиента застревает в течение как минимум четырёх блоков, мы транслируем и оплачиваем достаточную комиссию за «дочернюю» транзакцию, чтобы спасти «родительскую».
Фактически мы группируем их в партию для того, чтобы спасти несколько «родителей» при помощи одного «ребёнка».
Это делается без какого-либо согласования с конечным пользователем, и до сих пор мы получали положительные результаты».
Такое решение Coinbase испытано на тысячах транзакций, которые в итоге оказались быстрее традиционных.
Источник: CoinSpot.io