Что такое транзакция биткоина

Содержание
  1. Bitcoin транзакция
  2. Содержание
  3. Что такое Bitcoin транзакция? [ править ]
  4. Сложность процедуры традиционной банковской онлайн транзакции [ править ]
  5. Преимущество проведения Bitcoin транзакции перед банковской онлайн транзакцией: [ править ]
  6. Общий формат проведения Bitcoin транзакций (внутри блока) [ править ]
  7. Пример транзакции Биткоина с одним входом и одним выходом [ править ]
  8. Данные [ править ]
  9. Объяснение [ править ]
  10. Вход [ править ]
  11. Выход [ править ]
  12. Верификация транзакции [ править ]
  13. Общий формат каждого входа транзакции — Txin [ править ]
  14. Общий формат каждого выхода транзакции — Txout [ править ]
  15. Как работает биткоин?
  16. Биткоинов как таковых нет, есть только записи о биткоин транзакциях
  17. Так как что же представляет из себя транзакция?
  18. Как происходит пересылка биткоинов?
  19. Иногда подтверждение транзакций затягивается во времени. Почему?
  20. А что, если сумма на входе и выходе транзакции разная?
  21. Нужно ли платить комиссию за транзакции?
  22. Могу ли я получить чек или документ, подтверждающий перевод биткоинов?
  23. Что если я хочу отправить часть биткоина?

Bitcoin транзакция

Понравилась статья? Поделись:

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

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

Содержание

Что такое Bitcoin транзакция? [ править ]

Сложность процедуры традиционной банковской онлайн транзакции [ править ]

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

Посредством POS-терминала, в целях аутентификации держателя, информация о карте из терминала передаётся в банк-эквайрер, обслуживающий данный терминал, и имеющий соглашение с владельцем торговой точки. В зависимости от договорённостей торговая точка оплачивает банку комиссию за его участие в обработке транзакции. Далее банк-эквайрер передаёт информацию в платёжную систему, обслуживающую данную карту. Там данные попадают в операционный центр, к которому подключены банки-участники платёжной системы. В этом центре проходит проверка на предмет наличия или отсутствия платёжных данных карты в стоп-листе и в зависимости от полученного результата в транзакции отказывается или она одобряется с дальнейшим направлением в банк-эмитент, выпустивший данную карту, и обслуживающий привязанный к ней банковский счёт/счета клиента. Здесь она попадает в процессинговый и авторизационный центр, в котором проводятся расширенные проверки на легальность обрабатываемой транзакции. При подозрении на мошенничество или нарушение условий обслуживания даётся отказ. В зависимости от типа карты (дебетовая или кредитная) и установленного банком приоритета авторизации здесь может проводиться проверка доступного остатка средств на счёте или платёжного лимита, а также сверяться авторизационный PIN-код держателя. При удовлетворении всем проверкам эмитент одобряет операцию и в рамках транзакции, также через платёжную систему, ответ даётся в торговую точку. Путём взаиморасчётов с платёжной системой эмитент перечисляет эквайреру сумму запрашиваемых по транзакции средств, а также комиссию платёжной системы за обработку транзакции. В свою очередь с клиентского счёта банк списывает оплачиваемую и подтверждённую клиентом к оплате сумму денег (для дебетовых карт) или уменьшает доступный платёжный лимит, тем самым резервируя часть средств к последующему списанию (для кредитных карт). Транзакция завершается в момент поступления обратно в торговую точку ответа с одобрением или отказом. Bitcoin транзакцию отменить невозможно.

Преимущество проведения Bitcoin транзакции перед банковской онлайн транзакцией: [ править ]

  • Избавление от посредников (банков-корреспондентов)
  • Быстрота транзакций
  • Стоимость транзакции
  • Низкий риск возникновения ошибок
  • Децентрализация,
  • P2P взаимодействие

Общий формат проведения Bitcoin транзакций (внутри блока) [ править ]

Поле Описание Размер
Номер версии На данный момент 1 4 байта
Входящий счётчик Положительное целое VI = VarInt 1-9 байтов
Список входящих данных Первый ввод первой транзакции также называется «coinbase» (монетная база) много входящих данных
Исходящий счётчик Положительное целое VI = VarInt 1-9 байтов
Список исходящих данных Исходящие данные первой транзакции используют добытые Биткоины для блока много исходящих данных
Время блокировки Если не равны нулю и порядковые номера меньше 0xFFFFFFFF: высота блока или временная отметка (для конечных транзакций) 4 байта
Читайте также:  Российская криптовалюта что это такое

Пример транзакции Биткоина с одним входом и одним выходом [ править ]

Данные [ править ]

Объяснение [ править ]

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

Вход [ править ]

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

Скрипт содержит две компоненты: подпись (signature) и публичный ключ (public key). Публичный ключ принадлежит пользователю, который использует выходы транзакции, и подтверждает то, что создатель транзакции имеет право распоряжаться суммой, пришедшей с выходов. Другой компонент – это ECDSA-подпись хеша упрощённой версии транзакции. Объединённая с публичным ключом, подпись подтверждает, что транзакция была создана реальным владельцем данного Bitcoin адреса.

Выход [ править ]

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

Может существовать более одного выхода, и они будут делить между собой сумму, пришедшую со входов.

Каждый выход транзакции может быть использован в качестве входа для следующей транзакции только один раз, поэтому сумма всех входов для текущей транзакции должна быть использована на её выходах. В противном случае, оставшаяся сумма входов транзакции будет потеряна. Например, если ввод равен 50 BTC, а пользователю нужно отправить только 25 BTC, то биткоин создаст два выхода по 25 BTC каждый: один отправится в пункт назначения, а другой отправится ещё раз владельцу этих средств (так называемая «сдача» — транзакция, которую пользователь фактически отправляет сам себе).

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

Верификация транзакции [ править ]

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

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

Общий формат каждого входа транзакции — Txin [ править ]

Поле Описание Размер
Хеш предыдущей транзакции Двойное SHA256-хэширование предыдущей транзакции 32 байта
Предыдущий Txout-индекс Неотрицательное целое, индексирующее выходы предыдущей транзакции 4 байта
Длина скрипта Txin Не отрицательное целое VI = VarInt 1-9 байтов
Txin-script / scriptSig Скрипт -много байтов
sequence_no обычно 0xFFFFFFFF; действует, только если lock_time транзакции > 0 4 байта

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

Общий формат каждого выхода транзакции — Txout [ править ]

Поле Описание Размер
value Неотрицательное целое, дающее сумму Сатоши (1 BTC = 10^8 сатоши), необходимых для транзакции 8 байтов
Длина Txout-скрипта Неотрицательное множество 1-9 байтов
Txout-script / scriptPubKey Скрипт — много байтов

Выход определяет условия по использования данных биткоинов в следующих транзакциях.

Читайте также:  Бизнес шарики с гелием доходность

Сумма выходных значений для первой транзакции в блоке — это значение добытых биткоинов для блока, плюс сумма коммиссий от других Биткоин транзакций, включённых в этот блок.

Источник

Как работает биткоин?

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

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

Биткоинов как таковых нет, есть только записи о биткоин транзакциях

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

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

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

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

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

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

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

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

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

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

Ответ прост. Транзакции подтверждают майнеры, которые при этом заняты добычей новых монет. Иногда приходиться ждать, пока они закончат майнинг. Алгоритмом, заложенным в Биткоин, предусмотрено, что для майнинга каждого блока нужно примерно десять минут. Однако если вы оплачиваете через процессинговые компании, такие как BitPay, Coinbase или похожие вам не нужно не чего ждать. У них встроен механизм моментального подтверждения сделки после перевода биткоинов.

Читайте также:  Приложение бинанс для windows

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

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

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

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

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

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

Нужно ли платить комиссию за транзакции?

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

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

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

Могу ли я получить чек или документ, подтверждающий перевод биткоинов?

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

Что если я хочу отправить часть биткоина?

Вполне. Биткоины — делимые единицы, вплоть до стомиллионных. Например 1 сатоши это 0,00000001 биткоина.

Хотите больше новостей? Facebook. Быстрее всех? Telegram и Twitter. Подписывайтесь!

Источник

Оцените статью