Каждая транзакция, проведённая в сети биткоина, должна получить как минимум 6 подтверждений. То есть транзакция должна быть включена в 6 блоков, после чего она считается подтверждённой. Время нахождения одного блока в сети биткоин — около 10 минут. Таким образом примерно через десять минут после отправления транзакция получит первое подтверждение.
Но это в идеале. Так всё работало разве что тогда, когда криптовалюта не была такой популярной, как сегодня. В наши дни на практике вы скорее всего столкнётесь с тем, что ваша транзакция может провисеть неподтверждённой несколько часов или даже дней.
Основная причина, по которой вам возможно придётся подождать подтверждения транзакции несколько часов, это популярность криптовалюты биткоин. Рост количества людей, пользующихся биткоином, привёл к тому, что сеть начала перегружаться.
Пропускная способность сети ограничена стандартным размером блоков — 1 МБ. Если общий размер транзакций, проведённых в течение 10 минут, превышает 1 МБ — все транзакции не поместятся в блок. Оставшимся придётся дожидаться следующего блока, а за это время может накопиться ещё «пачка» новых транзакций.
Таким образом формируется очередь из неподтверждённых транзакций, что приводит нас к понятию мемпула.
Мемпул (mempool, сокращённое от memorypool) — набор всех транзакций, которые пока что не подтвердились и ожидают своей очереди.
Это работает следующим образом:
При нормальной загруженности сети транзакции не проводят много времени в мемпуле и быстро получают подтверждение. Однако, когда увеличивается активность пользователей, в мемпуле может скапливаться довольно большое количество неподтверждённых транзакций.
Естественно, при снижении активности пользователей уменьшается количество новых транзакций и сеть разгружается. В таком случае транзакции постепенно подтверждаются и мемпул становится почти пустым.
Небольшой размер блоков — одно из проблемных мест биткоин-сети. Если раньше это не было проблемой, то сейчас, когда биткоин активно используется миллионами пользователей по всему миру, порой это доставляет серьёзные неудобства.
Одна из особенностей биткоин-транзакций состоит в том, что в каждой транзакции пользователь должен указать размер комиссии (вознаграждения для майнера). А так как нет каких-либо определённых требований к её размеру, пользователи могут устанавливать минимальную комиссию, вплоть до нескольких сатоши.
Для пользователей это хорошо, так как не нужно платить фиксированный сбор и можно сэкономить. Но для майнеров такое положение дел не очень выгодно. Поэтому вполне логично, что из заполненного мемпула майнеры в первую очередь выбирают для подтверждения транзакции, у которых размер комиссии больше.
Напрашивается не менее логичный вывод, что можно ускорить обработку своих транзакций, устанавливая больше размер вознаграждения. Так ваши транзакции будут иметь более высокий приоритет для майнеров и быстрее обрабатываться.
Такой подход далеко не идеален и всё равно не поможет решить проблему перегруженности сети. Вот несколько причин, по которым увеличение комиссии не сильно поможет пользователям:
Проблема переполнения мемпула доставляет серьёзные неудобства пользователям, которым необходимо быстро провести транзакцию в сети биткоин.
Например, в середине августа 2017 года размер мемпула был около 82 МБ с общим количеством неподтверждённых транзакции до 100 000. Для подтверждения некоторых транзакций могло потребоваться до недели.
Самый эффективный способ решения проблемы — увеличение пропускной способности сети. Если в один блок майнеры смогут включать больше транзакций — мемпул будет разгружаться быстрее и не будет скапливаться многотысячная очередь.
Эту проблему пытались (и до сих пор пытаются) решить разными способами. Часть криптовалютного сообщества выступает за увеличение размера блоков. 1 августа 2017 года был проведён хардфорк биткоина, в результате которого образовалась новая криптовалюта — Bitcoin Cash. В этой версии протокола биткоина размер блока увеличен до 8 МБ.
По поводу оригинальной ветки Bitcoin было предложено внедрить протокол Segregated Witness (SegWit), который состоит из двух этапов:
В данном протоколе размер блоков остаётся неизменным (1 МБ), но часть данных, а именно подписи транзакций, выносятся за размер блока и хранятся в отдельных файлах. Это позволяет разгрузить блоки и дать возможность большему количеству транзакций поместиться в блоке.
Переход на протокол SegWit был осуществлён 24 августа 2017 года. Почти сразу после перехода на новый протокол количество неподтверждённых транзакций в мемпуле биткоина упало до 5 000.
Часть разработчиков и майнеров считают, что SegWit— это лишь временное решение. Сеть рано или поздно переполнится и размер блока всё равно придётся увеличивать.
Поэтому предположительно в ноябре этого года планируется переход на протокол SegWit2x. Блоки будут увеличены до 2 МБ, а в дальнейшем возможно последующее увеличение размера в два раза.
Активная торговля криптовалютных инструментов
С чего начать майнинг криптовалюты
Будущее криптовалют и инвестиций
Криптовалюты как будущее фондового рынка