Как получить транзакции на кошелек Биткоин

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Принимает ли сбербанк Биткоины

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

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

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

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

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

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

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

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

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

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

Как это ни странно звучит, но «биткоин-кошельки» не содержат биткоинов!

Да-да! Именно так! Собственно биткоины, как монеты или деньги, существуют только в контексте протокола блокчейна Биткоина, а именно в виде записей транзакций в распределенной базе данных, которую еще называют ledger — бухгалтерская книга или гроссбух. Это база данных — блокчейн Биткоина — содержит записи абсолютно всех транзакций за всю историю со всеми существующими на данный момент биткоинами (монетами).

Читайте также:  Как с криптонатора вывести Биткоины

Что же такое транзакция и как работают т.н. «биткоин-кошельки» (под этим термином будем подразумевать программное обеспечение, при помощи которого совершаются транзакции)? Попробуем разобраться…

Транзакция — это финансовая операция по передаче некоторого количества денег от отправителя к получателю. При этом и отправитель и получатель должны иметь определенные адреса (метки), между которыми и происходит движение денег.

В этом смысле финансовая транзакция подобна почтовым отправлениям — отправитель со своего почтового адреса отправляет в конверте некую сумму денег на адрес получателя.

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

В протоколе биткоина банковсий счет аналогичен т.н. биткоин-адресу, которые еще называют адресом кошелька. Формально это некая уникальная буквенно-цифровая строка, например: 12ctspmoULfwmeva9aZCmLFMkEssZ5CM3x.

Но вернемся к блокчейну Биткоина (гроссбуху — ledger) и записи транзакций в нем.

Представьте себе большую таблицу, в каждой строке которой содержатся следующие данные (поля):

  • Дата и время финансовой операции (перевода денег).
  • Биткоин-адрес кошелька отправителя.
  • Биткоин-адрес кошелька получателя.
  • Сумма перевода.

Это и есть транзакция в блокчейне Биткоина.

Примечание: Этот пример упрощен для понимания. На самом деле транзакция в блокчейне Биткоина записывается как Входы и Выходы (см.ниже).

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

Как это присходит? Все транзакции с определенным биткоин-адресом можно условно разделить на две категории:

  1. Входы — пополнения, когда данный адрес выступает в качестве получателя монет.
  2. Выходы — платежи, переводы и т.п., когда адрес выступает в качестве отправителя.

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

Но, как владельцы этих адресов (кошельков) управляют своими деньгами? Как они совершают платежи и переводы?

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

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

Собственно, эту операцию и совершают специальные компьютерные программы и приложения, называемые «биткоин-кошельками», такие как Bitcoin Core, Electrum или веб-приложение на сайте Blockchain.info др. Они также подсчитывают баланс биткоин-адреса (кошелька), отслеживая все входы и выходы по данному адресу и показывают все предыдущие транзакции по этому адресу.

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

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

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

Читайте также:  Как вывести Биткоины с coincheckin

Один из этих адресов действительно тот, который был указан мной как «получатель» в биткоин-клиенте, при отправке денег.

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

Наверно я ничего не понимаю из-за того, что не знаю что-такое Инпуты и Оутпуты и, вообще, как хранятся данные в Blockchain.

Задал вопрос на Reddit/r/Bitcoin, там мне посоветовали эту ссылку
bitcoin.stackexchange.com/questions/736/how-does-c.

Читаю, перевожу, даже распечатал. Ничего не понимаю.

По поводу разницы между аккаунтом и адресом, это понятно. Аккаунт один, адресов в нем много. К каждому адресу приватный ключ. Но кто такие «Инпуты» и «Оутпуты» и почему они существуют?

Буду крайне признателен за помощь.

UPDATE: Забыл указать, что для просмотра транзакций я использовал адрес https://blockchain.info/ru/address/, а в качестве биткоин клиента оригинальный bitcoin-qt

  • Вопрос задан более трёх лет назад
  • 8197 просмотров

Кошелек — это набор сгенерированных пар приватный ключ/адрес, некоторые из которых могут иметь непотраченные выходы (типа купюры).

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

Вобщем, это нужно немного осмыслить 🙂

Ага, кажется начинаю понимать. Т.е. Вход — это приход денег. Например мне кто-то оправил 5 БТЦ на мой адрес, значит появился Вход на 5 биткоинов. Теперь если мне нужно будет потратить 1 битикоин, то транзакция будет состоять из перевода в 5 БТЦ и сдача в 4 БТЦ, верно?

Мне только непонятно почему делить «купюру» перед отправкой нельзя, а вот при возврате сдачи проблем с разделением не возникает? Наверняка в этом есть определенный смысл.

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

Фигуративно также существует TransactionChain — это уже другая цепочка в этой цепочке транзакции идут друг за другом, ссылаясь друг на друга с момента когда произошла эмиссия (например цепочка из 500 транзакций и так пока фрактальный резерв не закончится).

Меня интересует больше другой вопрос: насколько я понял проверкой TransactionChain занимается комп.пользователя биткоин клиента на основании данных полученных из папки блокчейн и пр. информации — также мне неизвестна иерархия хранения — подскажите — блокчейн хранится отдельно от транзакшнчейна или транзакшнчейн прямо в одном файле находится вместе с блокчейном?

Но самый основной вопрос который прямо не даёт мне спать: насколько длинной должна стать цепочка этих аутпутов / инпутов отсчитывая от genesis block чтобы засорить процессор чрезмерно сложными вычислениями? Да я понимаю что биткоин-клиент в первом запуске может несколько часов только лишь проверять цепочки TransactionChain’a на валидность (если я правильно понял по таймингу, если неправильно то поправьте — и скажите сколько реально на что в основном уходит время).

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

Читайте далее:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock detector