Что такое транзакции Bitcoin

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

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

Что такое транзакции в сети Bitcoin


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

Вход:
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Index: 0
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

Выход:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG

Разъяснения

Вход этой транзакции импортирует 50 BTC с выхода #0 транзакции f5d8… Затем выход данной транзакции отправляет 50 BTC на Bitcoin-адрес (выраженный в шестнадцатеричном формате: 404371…). Когда получатель захочет потратить эти деньги, он сформирует транзакцию, на входе которой будет ссылаться на выход #0 данной сделки.

Вход

Вход — это ссылка на выход другой транзакции. Часто в одной транзакции может быть записано несколько входов, в таком случае значения всех упомянутых выходов предыдущих сделок суммируются и общая сумма записывается на выход текущей транзакции. Previous tx — это хэш предыдущей транзакции. Index — конкретный выход транзакции на которую ссылаются. ScriptSig — это подпись – первая половина Скрипта.

Скрипт состоит из двух компонентов, подписи (ScriptSig) и открытого ключа (scriptPubKey).

Открытый ключ принадлежит инициатору транзакции и подтверждает что он обладает суммой необходимой для выполнения транзакции (записанной на выходе транзакции).

Второй компонент — это подпись (ScriptSig) полученная из хэша транзакции по алгоритму ECDSA (Elliptic Curve Digital Signature Algorithm — алгоритм с открытым ключом для создания цифровой подписи). Вместе они подтверждают что транзакция была создана реальным владельцем Bitcoin-адреса. Различные флаги определяют как упростить транзакцию, и могут быть использованы для создания различных типов оплаты.

Выход

Выход содержит инструкции на перевод BTC. Value – это количество Сатоши (1 BTC = 100 000 000 Сатоши) участвующих в данной транзакции (сумма которая будет списана с кошелька инициатора сделки). ScriptPubKey — это вторая половина Скрипта.

Транзакция может содержать больше одного выхода, для того что бы обработать всю сумму BTC указанную на входе, к примеру: если вход ссылается на транзакцию в 50 BTC, а вы хотите отправить получателю только 25 BTC, то будет создано 2 выхода: первый к Bitcoin-адресу получателя, а второй обратно к вашему адресу. В тех случаях когда на выходах транзакции обрабатывается не вся сумма BTC указанная на входе, любой необработанный остаток BTC признаётся комиссией за транзакцию: майнер, сгенерировавший блок в который включена запись о данной транзакции — получит эти BTC.

Подтверждение

Для подтверждения того что выход транзакции имеет право использовать суммы BTC на её входах, в Bitcoin применяется Forth-подобная Скрипт-система. ScriptSig, на входе, и ссылающийся на него scriptPubKey, на выходе, оцениваются (именно в таком порядке), с использованием значения scriptPubKey из стека scriptSig.

Вход признаётся действительным, если scriptPubKey возвращает значение true (истина). Через систему скриптов, отправитель может создавать более сложные условия, которым должен соответствовать получатель суммы указанной на выходе транзакции. Например, можно создать выход:

  • Для получения суммы которого нужно будет ввести пароль (а не использовать ключ);
  • Для получения суммы которого нужны будут подписи 10 различных ключей и т. д.

Время подтверждения транзакции в блокчейне: сколько ждать?


Ждать приходится по разному:

  • Информация об операциях с биткоинами записывается в специальные блоки, которые представляют собой список транзакций. Если сложить блоки в цепочку, то получите историю «хождения» криптовалюты;
  • Блок состоит из заголовка и списка транзакций. Заголовок содержит хеш-коды транзакций, собственный и хэш предыдущего блока. Первой в перечне идет транзакция, в которой указывается вознаграждение (комиссия) за создание нового блока;
  • Чтобы проверить подлинность операций с криптовалютой, транзакции должны быть валидированы в блокчейн. Он представляет собой распределенную БД. Ее части хранятся на множестве компьютеров в сети Bitcoin.

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

Подтверждение транзакции – это ее присоединение к списку транзакций в блоке.

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

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

Если верификации перевода не произошло, то система возвращает средства обратно на кошелек отправителя.

Как долго ждать?

У меня в среднем уходит от 20 минут до часа.

Время ожидания зависит от нескольких составляющих:

  1. Загруженность «криптосети» — за последние два года количество операций с биткоинами выросло более чем в 8 раз;
  2. Маленькая комиссия – в «криптосети» первыми проходят валидацию транзакции с большим размером вознаграждения майнерам. В некоторых случаях, если сильно экономить, процедура подтверждения может занять несколько дней;
  3. Скачки курса криптовалюты – тоже повышают время верификации.

Как увеличить скорость?

Методы сокращения времени транзакции:

  • Повышение комиссии для майнеров – специалисты советуют «не жадничать» и отдавать за подтверждение от 0,0002 ВТС и более;
  • Объем переводимых средств – чем больше криптовалюты переводите, тем статус операции выше в «криптосети»;
  • Использование специализированных площадок наподобие coinbase.com – на таких сервисах покупатели и продавцы сохраняют свои ключи. Благодаря этому подтверждение происходит в рамках этой платформы, а не в общей сети.

Как проверить транзакцию bitcoin?


Самый простой и эффективный способ отслеживания движения средств – посещение сайта blockchain.info. Здесь собраны сведения о проведённых операциях, ведётся статистика и имеются данные о ходе проверок и обработки блоков. Чтобы получить необходимую информацию, потребуется:

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

Здесь же можно уточнить сведения о платеже, что позволит получателю убедиться, что деньги уже отправлены и скоро поступят на его кошелёк.

Неподтвержденная транзакция – что делать?


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

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

На протяжении первых лет существования Биткоина, большинство кошельков добавляли фиксированные комиссионные для исходящих транзакций: обычно, 0.1 mBTC.

Так как у майнеров было в блоках достаточно места, они без проблем включали эти транзакции в первый же блок, который им удавалось намайнить. (На самом деле, транзакции с ещё более низкими комиссионными или даже вообще без комиссии включались в блоки так же быстро.)

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

Попробуйте увеличить комиссию

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

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

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

Проверьте, поддерживает ли ваш кошелёк динамическое изменение комиссий

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

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

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

Рассмотрите переход на другой кошелёк

Когда вы переключаетесь на новый кошелёк, то, конечно, вам нужно перевести средства с вашего старого кошелька на новый кошелёк. Если вы не возражаете против небольшой траты, то можете переслать средства из старого кошелька в новый кошелёк через сеть Биткоина. Они, в конечном счёте, прибудут — даже если комиссия будет низкой.

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

Подберите для себя кошелек, прочитайте статьи:
Выбор кошелька для криптовалют
Какой Биткоин кошелек выбрать
Создание Биткоин кошелька
Выбор кошелька для Эфириума

Можно ли мою транзакцию отменить или вернуть средства?

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

Это, конечно, очень неприятно, но сеть Bitcoin устроена так, что транзакции в ней необратимы.

Именно поэтому важно убедиться в правильности всех параметров транзакции перед тем как Вы нажимаете “отправить.”

Как ускорить Биткоин транзакцию?


В последнее время биткоины демонстрируют рекордные темпы роста. Именно поэтому общественный интерес к добыванию этой валюты растёт. Но частая проблема, с которой могут столкнуться майнеры – это задержки по проведению транзакций.

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

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

Ускоритель транзакций Viabtc

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

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

Увеличение комиссии за транзакцию

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

Замена по комиссии – replace by fee

Эта функция, подобно представленной выше, также связана с комиссией. Но она уже заключается в следующем:

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

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

Опция CPFP – ребёнок платит за родителя

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

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

Ожидание подтверждения

Терпение и ещё раз терпение – если это про вас, более того, вы не хотите тратить больше денег на проведение транзакций, то вам нужно всего лишь ждать. При этом вам не нужно будет проводить расчёты и повышать объёмы комиссии.

Ждать бесконечно будет не самым лучшим вариантом, но срок — сутки является вполне приемлемым. После этого можно рассмотреть один из указанных выше способов.

Комиссии за транзакции в сети Биткоин


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

Любой майнер является обработчиком транзакции и получателем комиссии. Когда в сети находится новый блок, в него включается вся информация по транзакциям и, в том числе, их комиссия. Таким образом, пользователь или группа пользователей, которые нашли этот блок, получат и награду за блок, и комиссию за все транзакции, включённые в него.

Включение комиссии в транзакцию – процесс добровольный, но, пользователь нашедший блок, может включать в состав блока транзакции по своему усмотрению. Таким образом, транзакции с нулевой комиссией имеют самый низкий приоритет, а транзакции даже с минимальной комиссией (~0.0001 BTC на данный момент) имеют стандартный приоритет и с высокой вероятностью будут включены в состав блока.

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

Отправка транзакций

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

  1. Ее размер составляет менее 1000 байт;
  2. Все выходы имеют значение 0.01 BTC и выше;
  3. Ее приоритет достаточно высок

В противном случае транзакция будет округлена до 1000 байт и будет добавлена комиссия в размере 0.0001 BTC. За каждые последующие 1000 байт в этой транзакции так же будет добавлено по 0.0001 BTC комиссии.

Таким образом, комиссия в транзакции размером 750 байт будет составлять 0.0001 BTC, а в транзакции размером 1001 байт – 0.0002 BTC. Стандартный Bitcoin кошелек (Bitcoin-Qt) всегда запрашивает у пользователя подтверждение на комиссию, если пользователь не согласен ее платить он может отменить транзакцию. Средний размер транзакции, на текущий момент, составляет примерно 500 байт, что соответствует комиссии в 0.0001 BTC.

Включение в блоки

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

30 000 байт в блоке выделены для транзакций с высочайшим приоритетом, они никак не зависят от комиссии. Затем в блок добавляются транзакции, которые имеют минимальную и выше комиссию. Чем выше комиссия, тем больше приоритет. Максимальный размер блока составляет 300 000 байт. Не вошедшие в состав блока транзакции остаются в памяти майнера и могут быть включены в последующие блоки.

Как работают майнеры в транзакциях и сколько им платить


Майнеры не дураки, они хотят денег! В любом вопросе, связанном с майнерами, никогда не стоит это забывать: будь то обработка транзакций или войны о форках Биткоина.

После того, как вы подписали и отправили транзакцию в сеть Биткоин, она очень быстро распространяется по всей сети и попадает в мемпул (mempool) — очередь транзакций. Мемпул принято сравнивать с бутылкой, через горлышко которой транзакции попадают в блоки.

Размер блока в сети Биткоин на данный момент — 1 МБ, время нахождения блока — 10 минут. В один блок может попасть только 2000-3000 транзакций.

Биткоины, которые пришли к вам на кошелек невозможно взять и просто так разделить. Например, если вам пришел 1 BTC, а затем вы хотите отправить товарищу 0.5 BTC, то транзакция будет создана таким образом, что вы отправите 0.5 BTC товарищу и сдачу 0.5 BTC получите обратно на свой кошелек.

Этот процесс можно сравнить с операцией с бумажными деньгами: если вам дали купюру 100 рублей, вы не можете разрезать ее пополам и отдать 50 рублей за батон, вам надо отдать 100 и получить 50 в виде сдачи.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: