5_Как ускорить или отменить транзакции в блокчейне

MixerMoney

Лучший BTC миксер
Проверенный сервис
Сообщения
50
Реакции
122
Всем привет! Сегодня хочу поговорить с вами о скорости подтверждения транзакций в сети блокчейн. От чего она зависит и на что влияет. Текст получился длинный, не обессудьте). Перед пользователями ТОR извиняюсь дважды, много картинок.

Скорость обработки транзакций биткоин и масштабируемость

Все, кто хоть раз пользовался оплатой в биткоине, знают, что транзакция занимает достаточно большое время (иногда, даже очень большое). То есть, например, расплатиться в кафе или в магазине btc достаточно проблематично. С учетом среднестатистического времени генерации блока (10 минут), его размера в 1 Мб и среднестатистического размера сведений об операции, нормальной скоростью считается 7 транзакции в секунду. Введение летом 2017г. протокола SegWid, в котором часть данных о транзакции хранится вне блокчейна, и размер блока увеличен до 2 Мб, позволила несколько увеличить количество транзакций в блоке, а значит и скорость транзакции.

В то же самое время, платежная система VISA способна обрабатывать в пиковом режиме обработать порядка 60000 операций в секунду.
Одна из главных на сегодня проблем биткоина связана с масштабируемостью сети. Работа цепи блокчейн поддерживается нодами – компьютерами, на которых установлена вся его история от первой транзакции. Сейчас размер блокчейна составляет около 300 Гб, то есть поднять у себя на ПК ноду может любой пользователь сети. Для достижения ежесекундного объема транзакций, сравнимых с VISA, объем блока должен достигать порядка 8Гб. За год объем блокчейна должен увеличиться на 400Тб. Это по понятным причинам, резко уменьшит количество нод в сети и отрицательно скажется на самом важном преимуществе крипты – на ее децентрализации.



Однако, чем популярнее биткоин, тем больше в сети происходит транзакций. И из-за ограничения размера блока очень часто возникает очередь. Ситуация стала критической весной 2017 года, когда время ожидания внедрения операции в блок доходило до нескольких суток.

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

Что входит в транзакцию биткоин, входы и выходы


Каждая операция в сети Bitcoin состоит из трех видов элементов:

Пример:



Входы показывают, из какого источника взялись средства, которыми пожелал управлять отправитель. Выходы определяют, кто получит право распоряжаться этими средствами. Ключевое правило – сумма монет на входе не может быть меньше, чем на выходе. Только больше или равна.

Что такое хеш (TXID, TxHash) транзакции

TxHash, или TXID, – это идентификатор транзакции, позволяющий отслеживать состояние сделки. Узнать его просто – он отображается в кошельке Blockchain в сером поле над информацией о платеже.



Иногда встречаются транзакции с многократным выводом, когда под одним и тем же ID сгруппировано сразу несколько платежей. Такая ситуация зачастую образуется при переводе денег из пула либо на кошельках с поддержкой Lightning Network.

Как совершить транзакцию и перевести биткоины на другой адрес

В целом механизм проведения транзакций похож на тот, что используется в банках и других традиционных финансовых структурах. Однако в банках для этого нужно подробно идентифицировать свою личность, получить и заполнить массу документов. В Bitcoin-сети же достаточно зарегистрировать анонимный кошелек, чтобы начать пользоваться криптовалютой.
Вкратце о том, как совершается транзакция:
1. Пользователь, который решил переслать какому-либо адресату некоторую сумму крипты, при помощи приватного ключа подписывает транзакцию. Говоря простым языком, входит в свой кошелек на устройстве или бирже.
2. Затем отправляет заявку в сеть от имени своего кошелька. То есть указывает сколько бтс и на какой адрес он хочет отправить.
3. Вычислительные узлы, они же майнеры, через некоторое время внесут в блокчейн сведения о совершенном денежном переводе. Транзакция получает несколько подтверждений.

С этого момента монеты будут считаться принадлежащими адресату, и он сможет ими распоряжаться.

Покажем на примерах, как производится перевод биткоинов:

1. Перевод некоторого количества BTC с кошелька биржи LocalBitcoins на принимающий адрес. Комиссию изменить нельзя, но она всего 0,00005 BTC или 42руб по курсу криптовалюты на сегодня (29.09.2020):



Перевод со стороны биржи произойдет в течение нескольких минут. В истории транзакции будет показан идентификатор TXID, по которому можно проверить ее подтверждение. Сначала она имеет статус "Не подтвержденная транзакция".

2. Перевод из аккаунта биржи BitMEX. Нужно указать комиссию, адрес получателя и сумму. Биткоин на торговой площадке имеет тикер XBT. Транзакции на вывод подтверждаются сотрудниками биржи один раз в день:



3. Перевод из десктопного (локального) кошелька для криптовалют Exodus:



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

Транзакция, успешно включенная в блок, называется подтвержденной. Соответственно, та, которая пока еще находится в очереди, – неподтвержденной. В сети Bitcoin обработкой переводов занимаются майнеры, и для них существует свой приоритет: быстрее всего в блок будет добавлена транзакция с наибольшей комиссией. Вот почему чаще всего в очереди надолго «зависают» транзакции с низкой комиссией. Нужно заметить, что размер комиссии никаким образом не связан с суммой транзакции. Размер комиссии рассчитывается из размера транзакции (в байтах) умноженной на вознаграждение (за каждый байт). Вес транзакции абсолютно не зависит от ее суммы, но сильно зависит от истории входов на ваш адрес.
Например, если вы получили на один свой кошелек 1 транзакцию на 1 BTC, а на другой одновременно, сто транзакций по 0,01 BTC, и сразу же отправите с обоих кошельков по 1 BTC, то вес второй транзакции, а следовательно и комиссия за нее будет примерно в 100 раз больше. Соответственно при одинаковой комиссии, в первом случае транзакция подтвердится гораздо быстрее.
Пример неподтвержденной транзакции биткоин:



Пример подтвержденной транзакции:



Вывод №1. Быстрее будет подтверждена комиссия с наибольшей транзакцией. Хотите ускорить перевод – не жлобитесь!
Вывод №2. Размер комиссии не зависит от величины транзакции, а зависит от истории входов. Получаете много мелких сумм в btc – готовьтесь при выводе заплатить высокую комиссию.


Как проверить статус и где отследить транзакцию биткоина онлайн


Узнать статус своего перевода в любой момент можно на одном из онлайн-сервисов. Как пример – сайт blockchain.com. В поле поиска нужно ввести идентификатор транзакции (TXID). В результате отобразится путь перевода и число подтверждений.



Если возле операции находится синяя «кнопка» и любая цифра (1, 2, 3 и т. д.), то платеж прошел. В противном случае фон будет красным, и на экране будет надпись «Unconfirmed Transaction».



Если в обозревателе вместо TXID указать адрес биткоина, то на экране появится полная информация о балансе, транзакциях:



Время подтверждения транзакции, количество подтверждений
Стандартной ситуацией считается требование от торговых точек и приложений, чтобы транзакция была подтверждена двумя - тремя созданными блоками – это гарантирует ее честность и подлинность. Исходя из этого, подтверждение занимает минимум 20 минут.
Итак, при идеальной ситуации платеж подтверждается 20–30 минут. Но нагрузка на сеть постоянно возрастает. Число проведенных за 10 минут сделок значительно превышает отведенный объем блока, отсюда и появляются задержки в переводе. Бывает, время ожидания затягивается на 5–6 часов и больше. Максимальное время составляет 72 часа, после этого транзакция будет отменена.

Где посмотреть неподтвержденные транзакции биткоин

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



А на странице blockchain.com/charts/mempool-count отображается статистика по этому параметру:



Как ускорить или отменить транзакцию и протолкнуть зависшую

Уже включенную в состав блока транзакцию отменить нельзя!
Если из-за небольшой комиссии она не может подтвердиться, то есть несколько способов ее ускорения. Здесь сразу хочу отметить, что все перечисленные ниже способы не относятся к онлайн кошелькам. На биржах и p2p обменниках комиссия фиксированная и повлиять на отправленную транзакцию у вас нет ни каких средств.

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



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



В некоторых случаях требуется создать новый платеж, конкурирующий со старым, и при помощи завышения комиссии добиться ее включения в блок. Первая транзакция с маленькой комиссией отменяется с пометкой "двойная трата" ("double spend"). Способ называется "replace by fee" или "замена транзакций".

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

Второй способ протолкнуть зависший платеж — "Child Pays For Parent". Дочерняя транзакция платит за родительскую.



Если вам направлена транзакция с ОЧЕНЬ низкой комиссией, она будет идти ОЧЕНЬ долго.



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



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

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

Вывод №3. Подтвержденную транзакцию отменить нельзя, а не подтвержденную – можно! При получении btc, дождитесь хотя бы одного подтверждения!

Вывод №4. В десктопных кошелькаж (типа Электрума) есть инструменты для ускорения и «отмены» зависших исходящих транзакций, а также для «затаскивания» зависших входящих.


Существуют ускорители для проталкивания транзакции:


Все известные мне, на данный момент ускорители работают от майнинговых пулов (например, ViaBTC.com) способ работает примерно также, как и в случае с замещаемой транзакцией, но в данном случае комиссию вы отправляете в конкретный пул, и ускорение сработает, только в тот момент, когда пул найдет блок и включит туда вашу транзакцию.

Куда идут комиссии за транзакции

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

Как определить оптимальную комиссию за транзакцию

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



Если в используемом кошельке такого нет, то можно прибегнуть к помощи сторонних ресурсов например Bitcoinfees.earn.com.
На криптобиржах комиссии на ввод обычно отсутствуют. Но за вывод биткоина взимается сбор, который нельзя изменить. Его значение указывается в разделе "Fee" ("Комиссии") или при оформлении заявки.

Средняя комиссия

Сайт blockchain.com/charts/transaction-fees позволяет просмотреть статистику по выплачиваемым майнерам комиссиям за указанный промежуток времени.
На скриншоте средняя комиссия за биткоин-транзакцию сегодня составляет 67,2 сатоши/байт:



Вывод №5. Даже такая элементарная операция как получение и отправка btc имеет массу нюансов, которые очень полезно знать любому пользователю крипты.
 
Последнее редактирование:

WarTech

[email protected]
Проверенный сервис
Сообщения
2.764
Реакции
3.825
Мы уже знаем, что биткоинов, как таковых, не существует. Вместо этого, существуют только записи о транзакциях между различными адресами, баланс на которых, то растет, то падает. Каждая транзакция, когда-либо имевшая место, сохраняется в огромной книге учета под названием цепочка блоков (blockchain). Например, если вы хотите узнать баланс на каком-либо из биткоин адресов, то просмотрев этот адрес вы ничего в нем не увидите. Баланс придется вычислить, просмотрев все транзакции, которые относятся к данному адресу и хранятся в цепочке блоков.

Так как что же представляет из себя транзакция?

Давайте смотреть. Пусть Маша отправит Васе несколько биткоинов. Это действие и есть транзакция, которая будет содержать в себе три типа данных:
• Вход (Input) — запись о том, с какого адреса биткоины пришли Маше (допустим, она получила их от подруги Оли);
• Сумма (Amount) — количество биткоинов, которые Маша пересылает Васе;
• Выход (Output) — биткоин-адрес Васи.



Как происходит пересылка биткоинов?

Чтобы переслать биткоины кому-либо, нужно две вещи: биткоин адрес и закрытый ключ. Когда Маша хочет переслать несколько цифровых монет Васе, то с помощью закрытого ключа своего кошелька она подписывает «заявку» на перевод, в которую включаются, как указывалось выше, три типа данных: биткоин адрес, с которого биткоины поступили к Маше, количество и адрес друга получателя. Затем она со своего биткоин кошелька отправляет эту «заявку» в сеть Биткоин. Там майнеры, находят, а затем подтверждают новую транзакцию в сети путем ее добавления в блок транзакций, что в конечном итоге приводит к увеличению баланса биткоин адреса Васи.

А что, если сумма на входе и выходе транзакции разная?

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

Рассмотрим такую ситуацию. У нас есть Маша, которая, как мы писали выше отправляла биткоины Васе. Теперь представьте, что у Маши день рождения и ее друзья решили отправить ей в качестве подарка цифровые монеты. Итак, Света отправила подруге два биткоина, Дима — три и Юля — еще один, причем каждый со своего биткоин адреса, ну и, естественно, в разное время дня. Так вот баланс биткоин-адреса Маши теперь увеличился на 6 биткоинов, однако это не означает, что транзакции от ее друзей были объединены в одну. Они так и будут привязаны к адресу Маши как отдельные, каждая от другого адреса, транзакции.

Теперь, если Маша захочет снова отправить Васе несколько биткоинов, например 4, то ее кошелек будет пытаться использовать записи транзакций с различными суммами, которые сложатся в нужное количество биткоинов, которые она шлет Васе. То есть, в соответствии с нашим примером с днем рождения Маши, на Васю могут быть подвязаны транзакции от Димы (три биткоина) и Юли (один биткоин).



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

Алгоритм Биткоин сработает следующим образом. Васе придет от Маши транзакция на большую сумму, например, та, которую отсылала Маше на день рождения Света — 2 биткоина. Полбиткоина же вернутся Маше в качестве сдачи. В частности, входными данными для транзакции от Маши к Васе будут данные о транзакции от Светы к Маше. Биткоин-адрес Васи — выходные данные. Отправляя транзакцию в обработку Машин кошелек создаст новый биткоин адрес, принадлежащий Маше, который в свою очередь создаст свою транзакцию на 0,5 биткоина только от Васи к Маше. Таким образом, получится, что транзакция на 2 биткоина от Светы к Маше перейдет к Васе, а от Васи к Маше перейдет транзакция на 0,5 биткоинов, что означает, что Маша отправила Васе 1,5 биткоина.




Иногда подтверждение транзакций затягивается во времени. Почему?

В сети Bitcoin обработкой переводов занимаются майнеры, сразу после создания транзакции клиентом она расходится по всем кошелькам майнеров/пулов.
Пулы работают так: через каждый определенный промежуток времени (зависит от настроек, чаще всего ежесекундно) делают выборку из собственного мемпула (очереди) транзакций, формируют блоки из них и пытаются совершить математическое вычисление, чтобы закрыть блок.
Однако, нужно понимать, что у майнеров существует свой приоритет: быстрее всего в блок будет добавлена транзакция с наибольшей комиссией. Вот почему чаще всего в очереди надолго «зависают» транзакции с низкой комиссией.

Более подробно об отслеживании транзакций причинах их задержек и способах ускорения будет рассказано в следующей статье.


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

в данном случае источник (2017 год) видимо:

https://vk.com/wall401997857_252
 
Последнее редактирование:

Я с Орла

Местный
Сообщения
422
Реакции
518
Прочитал название статьи-обрадовался новой информации ,а саму тему глянул и не увидел -как ускорить,отменить....:(
ТS ,вы ошиблись,эта статья уже у вас была!!! "Транзакции в блокчейне"
 
Последнее редактирование:

El Jefe

Местный
Сообщения
453
Реакции
458
быстрее всего в блок будет добавлена транзакция с наибольшей комиссией
Это есть квинтессенция и основной смысл всего прогона. "Чтобы ты так доехал, как заплатил", как было напейсано в одесском трамвае.
(Безотносительно к вопросу о добросовестности цитирования.)
 

MixerMoney

Лучший BTC миксер
Проверенный сервис
Сообщения
50
Реакции
122
привет. есть такое понятие - добросовестное цитирование. оно означает, что если ты не написал текст сам, а процитировал чужой (или даже часть чужого текста), то вежливым поступком будет указать источник.

в данном случае источник (2017 год) видимо:
В самой первой статье этого цикла я сразу оговорился, что статьи не претендуют на авторские. Выложены они здесь для расширения кругозора пользователей бтс. Что нужно дать ссылку согласен (забыл и поленился). И сорри, текст был выложен из прошлой статьи. Сегодня заменил на новый)))
 
Сверху Снизу