Самые известные Биткоин-транзакции и связанные с ними истории. Первая транзакция биткоин


Самые известные Биткоин-транзакции и связанные с ними истории

Биткоин используется уже более 7 лет. На момент написания статьи в блокчейн навечно включены более 140 млн транзакций.

Самый первый блок, эффектно названный «блоком генезиса», был добавлен в январе 2009 г. Эта и последующие транзакции уже сделались неотъемлемой частью истории развития Биткоина. Напомним о наиболее резонансных из них.

Всеобщая история транзакций

12 января 2009 г.: как все начиналось

Блок 170 знаменит тем, что в нем содержится первая транзакция Биткоина. Отправителем был Сатоси Накамото – легендарный создатель криптовалюты, получателем – Хэл Финни, компьютерный специалист и изобретатель одного из алгоримов доказательства выполнения работы (RPOW).

laszlo-bitcoin-pizza

10 тыс. биткоинов за две пиццы

22 мая 2010 г.: «Я заплатил 10 тыс. биткоинов за две пиццы…»

Эта транзакция стала поистине исторической, так как с ее помощью купили две самые дорогие пиццы в мире. Пользователь форума BitcoinTalk решил заказать две пиццы и нашел человека, готового продать их за 10 тыс. биткоинов. На момент транзакции эта сумма соответствовала примерно $25, в то время как сегодня такое количество биткоинов стоит не менее $6,6 млн. Дата совершения транзакции (22 мая) с тех пор отмечается в Биткоин-сообществе как ежегодный праздник.

23 июня 2011 г.: биржа Mt.Gox демонстрирует движение средств

Когда биржа биткоинов Mt.Gox всеми силами пыталась остаться на плаву и не обанкротиться, ее директору Марку Карпелесу нужно было каким-то образом показать стабильность предприятия. Для этого он провел одну из самых больших транзакций в истории, переведя с одного своего адреса на другой 442 тыс. биткоинов. Сейчас их стоимость оценивалась бы в $282,2 млн.

22 ноября 2013 г.: анонимная транзакция на $149 млн

В конце 2013 г. воображение пользователей сети потрясла транзакция на сумму 194993 биткоинов, и многие начали гадать, кому и за что понадобилось переводить столь немалую сумму денег. На тот момент сумма транзакции уже составляла около $149 млн. CoinDesk в этой связи отмечал: «Неудивительно, что такая большая сумма у многих вызвала желание сделать анализ и провести детективное расследование. Транзакция состояла из большого количества адресов, и в ней были задействованы биткоины из блоков, намайненных в феврале 2010 г. или еще раньше. Это вызвало предположения, что транзакцию совершил Сатоси Накамото – тайный создатель Биткоина, скорее всего действующий под псевдонимом».

6 декабря 2013 г.: биткоины за Tesla Model S

Автомобильный дилер из Калифорнии продал электромобиль Tesla Model S за 91,4 биткоина, что составляло на момент покупки $103 тыс. При этом напрямую дилер с криптовалютами не работал, в результате чего для осуществления сделки ему пришлось воспользоваться обработчиком платежей BitPay – сервисом, который предлагает покупателям использовать Биткоин как форму платежа, а продавец автоматически получает оплату в долларах США.

20 декабря 2013 г.: репортер Блумберга растерял биткоины в прямом эфире

Журналист из журнала Bloomberg Мэтт Миллер делал свою часть программы «12 дней с биткоином», для которой ему понадобилось показать в эфире бумажный аналог Биткоин-кошелька. Недолго думая, он у всех на глазах распечатал QR-код, связанный с его собственным приватным адресом. Кто-то из телезрителей не растерялся и тут же сканировал код, в результате чего мгновенно стал на $20 богаче, а Миллер и другие популяризаторы цифровой валюты получили в этот день хороший урок.

matt-miller-screen-shot

4 февраля 2014 г.: время летать

В январе 2014 г. сервис аренды частных реактивных самолетов PrivateFly начал принимать биткоины как средство платежа, а уже через месяц авиаперевозчик объявил о первой оплате рейса с помощью криптовалюты. Заказчиком, пожелавшим вылететь из Брюсселя в Ниццу, стал Оливье Янссен – миллионер и пожизненный участник Bitcoin Foundation. Ни Янссен, ни PrivateFly не раскрывали подробностей, однако в CoinDesk подсчитали, что перелет в зависимости от размера самолета мог стоить от 9,5 до 54,95 биткоинов.

1 июля 2014 г.: аукцион службы маршалов США

В результате разгрома черного интернет-рынка Silk Road правительство США конфисковало около 144 тыс. биткоинов. Они ушли с молотка 3 лотами, первый из которых приобрел венчурный капиталист Тим Дрейпер. Таким образом, он стал счастливым обладателем 30 тыс. биткоинов, стоивших на тот момент $19 млн.

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

coinspot.io

Как работают Bitcoin транзакции: подробная инструкция

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

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

Кстати обзор на самую известный криптовалюту вы можете прочитать здесь.

Чтобы лучше понимать смысл криптовалюты и делать прогнозы по ее стоимости, важно понимать, как она устроена и как проходят транзакции с ее использованием. Как отследить транзакцию биткоин? Как и где посмотреть историю операций? Можно ли отменить перевод? Ответы на эти и многие другие вопросы, связанные с bitcoin-операциями, — в нашем материале.

Когда была проведена первая транзакция биткоин?

12 января 2009 года — значимая дата в истории развития первой цифровой валюты. Именно в этот день была осуществлена первая транзакция биткоин. Отправителем блока №170 и 10 монет в нем стал автор валюты Сатоси Накамото. Получателем — компьютерный специалист Хэл Финни.

На самом деле попытку совершить этот перевод Сатоси предпринял двумя днями ранее, 10 января. В тот день Финни отмечал день рождения сына. Вечером, после праздника, он запустил свой компьютер и перешел по ссылке, которую он получил от Накамото. Программа при запуске сгенерировала биткоин-адрес и ключ к нему, после чего дала сбой. Хэл проанализировал файлы журналов и указал в письме Сатоси, в чем проблема и как ее исправить. Между ними завязалась переписка, которая помогла доработать протокол bitcoin. Кто знает, что могло бы быть с самой популярной криптомонетой, если бы не такой гений, как Хэл Финни?

Структура транзакции биткоин: как она выглядит?

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

Со стороны пользователя операция выглядит так: открывается свой кошелек, вводится адрес получателя и сумма отправления, исполняется подпись с помощью приватного ключа. Все, минут 10-30 — и деньги у получателя.

За этим простым на первый взгляд процессом скрывается огромный мир. Например, если Иван отправляет Ирине два с половиной биткоина, транзакция будет иметь три фрагмента информации:

  • Вход. Запись с информацией о том, откуда у Ивана появились эти биткоины.
  • Сумма. Количество передаваемых монет. В этом случае — 2,5.
  • Выход. Адрес биткоин-кошелька Ирины.
Узнать о том, как происходят транзакции соперничающей монеты – Ethereum вы можете в этой статье.

Что такое вход и выход и что делать, если их суммы не совпадают?

Вход — это полные сведения о том, откуда пришли биткоины и их точная сумма. Выход — это сумма, которую необходимо отправить, и адрес кошелька получателя.

 

Биткоины, как вы уже поняли, существуют только в виде записей финансовых операций в электронном хранилище. Со временем в одном кошельке количество транзакций увеличивается. Так, например, баланс Ивана составляет 1 BTC от Игоря, 3 BTC от Славы, 0,5 BTC дохода с обмена валюты на бирже.

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

Транзакции биткоина: вход и выход

Если Иван хочет отправить Ирине 2,5 биткоина, хранилище сразу пытается найти файл с такой суммой или сочетание файлов, чтобы получилось 2,5 BTC. В нашем примере нет операции с такой суммой и они не суммируются для получения нужной суммы. Иван не может разбить 3 биткоина, полученные от Славы (это сумма входа), так как система не разрешает дробления. Поэтому ему приходится отправлять 3 BTC вместо 2,5 (сумма выхода) на две транзакции или два выхода: 2,5 для Ирины и 0,5 обратно в виде сдачи.

Минимальное количество bitcoin, которое можно перевести, — 5430 сатоши.

Сколько ждать подтверждения транзакции биткоин?

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

Так сколько же времени занимает подтверждение перевода? Средняя скорость — от 20 минут до целого часа. Время зависит от того, сколько пользователей взялись за обработку вашего запроса, то есть за создание блоков.

Как ускорить транзакцию биткоина? Просто выставить чуть большую комиссию чем средняя по рынку. Для этого зайдите в свой кошелек, перейдите во вкладку «Транзакции» и выберите «Расширенные параметры». В открывшемся окне можно установить размер комиссионный отчислений за осуществление сделки. Чтобы ускорить транзакцию bitcoin, но и не переплатить лишнего, советуем узнавать размер среднерыночных отчислений и установить за свой перевод на 15-20% больше. Если вам нужно перевести деньги мгновенно, не жадничайте и сразу установить сумму вознаграждения в разы выше средней.

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

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

Сколько стоит перевод биткоинов?

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

В последнее время вознаграждение за сделку заметно снизилось и составляет в среднем 1-2 сатоши за 1 байт, это где-то 0,25 доллара за перевод.

Как отследить транзакцию биткоин?

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

  • Размер комиссионных отчислений, которую указал отправитель;
  • Сумма перевода;
  • Нагрузка на сеть;
  • Программное обеспечение получателя;
  • Резкие скачки курса.

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

Отследить биткоин можно на публичных сервисах. Многие ресурсы даже не требуют регистрации. Chain.so и Blockchain.info — самые популярные платформы, где можно узнать о подтверждении транзакции биткоин.

Транзакции биткоина: проверка

Поиск информации по своей сделке осуществляется по стандартной схеме:

  • Зайдите на сайт;
  • Перейдите в раздел с информацией;
  • Найдите поисковых строку;
  • Введите хэш операции.

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

Транзакции биткоина: информация о блоке

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

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

Системе нужно время, чтобы провести вашу крупную сделку. Иногда хватает всего 10 минут, а иногда приходится ждать по 72 часа.

У вас есть два сценария развития событий:

  • Ждать, пока сделка не совершится;
  • Попытаться увеличить скорость прохождения перевода.

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

  • Двойная трата;
  • Использование ускорителей;
  • Replace-by-fee;
  • CPFP.

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

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

Лайфхак: отправляйте ID вашего перевода буквально в первые секунды каждого часа. Это поможет ускорить подтверждение вашей сделки.

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

Причин на зависание сделки много:

  • У вас резко пропал доступ в интернет;
  • Поторопились и не дождались обработки первого перевода и оформили вторую сделку;
  • Неправильно указанный размер комиссии (он должен быть не ниже суммы, которую рекомендует система).

Если у вас зависла транзакция биткоин, следуйте инструкции:

  • Главное, убедитесь, что монеты действительно зависли;
  • Откройте кошелек и перейдите в отладочную панель;
  • Получите доступ к зашифрованному счету: создайте ключ для выбранного адреса. В строке dumpprivkey <address> пишем конечный адрес, который указывали в переводе;
  • Когда получите список ключей, выйдите с кабинета и аннулируйте кошелек. Не удаляйте его физически, просто переместите его в другое место или же смените имя;
  • Перезапустите клиент и создайте новый кошелек;
  • Зайдите в консоль, наберите importprivkey <privkey>, чтобы импортировать созданные ранее ключи, и дождитесь завершения. Процедура длительная, лучшее ее не прерывайте;
  • В новом кошельке вы увидите полную информацию о состоянии счетов. Деньги вернуться на прежнее место, данных о неподтвержденных транзакциях не будет.

Как отменить транзакцию биткоин?

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

Можно ли получить квитанцию о переводе?

Привычные бумажные квитанции или электронные подтверждения о проведении платежа — это не про биткоин. Здесь не предусмотрены документы. Единственным подтверждением совершения сделки является факт поступления денег на счет получателя.

Теперь вы знаете, как устроены btc транзакции и что делать, если они не подтверждаются. Главное, конечно, не паниковать, ведь ваши монеты не пропадут бесследно. А дальше — дело техники.

Загрузка...

howtobuycoin.com

Bitcoin транзакции — отслеживание транзакций

Это утверждённая версия страницы. Она же — наиболее свежая версия.

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

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

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

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

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

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

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

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

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

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

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

Input: Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6 Index: 0 scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10 90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501 Output: Value: 5000000000 scriptPubKey: OP_DUP OP_HASh260 404371705fa9bd789a2fcd52d2c580b65d35549d OP_EQUALVERIFY OP_CHECKSIG

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

Вход в этой транзакции импортирует 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 Скрипт <длина выходного скрипта> - много байтов

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

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

ru.bitcoinwiki.org

Девять лет назад состоялась первая биткоин-транзакция

Девять лет назад, 12 января 2009 года, в 170-й блок блокчейна биткоина была включена первая транзакция — создатель криптовалюты Сатоши Накамото отправил на биткоин-адрес Хэла Финни 10 биткоинов.

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

Хэл был известным специалистом по криптографии и работал над ранней версией PGP бок о бок с Филом Циммерманом. Также он активно участвовал в движении шифропанков и разработке первого анонимного ремейлера с шифрованием. В 2004 году, задолго до создания биткоина, Финни написал первый алгоритм многоразового доказательства выполнения работы.

В PGP Corporation он проработал до самой пенсии: в августе 2009-го ему поставили диагноз «боковой амиотрофический склероз» (БАС), также называемый болезнью Лу Герига, из-за чего он стал почти полностью парализованным. Хэл Финни умер 28 августа 2014 года.

В одном из своих последних сообщений на форуме bitcointalk.org в марте 2013 года Хэл писал следующее:

Биткоин был принят скептически, когда Сатоши представил его в криптографической рассылке. Криптографы уже видели слишком много «больших проектов» от неопытных новичков, поэтому их реакция была предсказуемой… Я же был настроен более позитивно; криптографические схемы платежей интересовали меня давно.

Я был получателем первой биткоин-транзакции, когда Сатоши отправил мне 10 монет в качестве теста. Мы общались по электронной почте в течение нескольких последующих дней: я писал ему о багах, а он их исправлял.

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

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

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

coinspot.io

Разбираемся с Replace-By-Fee транзакциями Bitcoin / Хабр

Всем привет! В этой статье мы разберемся что такое Replace-By-Fee транзакции и как их использовать. Бонус! Пара поучительных историй в конце. Итак, представим ситуацию когда A посылает монеты B. Он создает и подписывает транзакцию, и выпускает ее в сеть для подтверждения. К сожалению, транзакция долго не подтверждается, у транзакции слишком маленькая комиссия (или комиссия нормальная в обычных обстоятельствах, но в данный момент очередь неподтвержденных транзакций слишком большая и майнеры предпочитают майнить транзакции с бОльшими комиссиями). Что делать пользователю A? Варианты: a) ждать подтверждения (ждать можно долго) б) ждать отмены транзакции (когда большинство нод решат наконец выкинуть из mempool транзакцию) и освобожденными монетами можно будет снова распоряжаться (то есть создавать транзакции и пулы не будут считать их даблспендами и отвергать) в) Заменить транзакцию с повышением комиссии (RBF)

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

RBF описан в BIP-0125

Какая транзакция может быть заменена? Это хороший вопрос. Замена транзакций была предусмотрена еще создателем системы Сатоши Накамото, но выключена в определенный момент. Затем она была доработана до RBF и включена в код Bitcoin Core 0.12 и старше. Для замены в данных транзакции предусмотрено специальное int поле nSequence, которое сигнализирует о том, какая транзакция старше какой. Чтоб транзакция была потенциально заменяемой, значение nSequence должно быть меньше (0xffffffff — 1).

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

Пример декодированой транзакции:... "inputs": [ { "addresses": [ "...." ], "output_index": 0, "output_value": 1010000, "prev_hash": "...", "script": "...", "script_type": "pay-to-pubkey-hash", "sequence": 0 }, ... Sequence указывается для каждого входа транзакции.

В том же кошельке Electrum после включения опции RBF станет возможным увеличивать комиссию за транзакцию прямо в GUI, но сейчас мы с вами будем собирать RBF транзакцию руками. Зачем? Во-первых — разобраться, во-вторых — для большей гибкости, например, в этом случае в RBF транзакции мы сможем указать совершенно другие целевые адреса для перевода, чем периодически пытаются воспользоваться злоумышленники.

Выглядит это так: A хочет заплатить B. A создает, подписывает и транслирует транзакцию на перевод монет B, но умышленно ставит пониженную или нулевую комиссию. Если B недостаточно осторожен он засчитывает неподтвержденную транзакцию (и отдает товар А, например). После этого A заменяет транзакцию и перенаправляет выход транзакции на С, где С подконтролен А.

Как B может этого избежать? Если все же B предпочитает засчитывать неподтвержденные транзакции (для скорости), не стоит засчитывать пластичные транзакции (где nSequence позволяет транзакции заменять). И вообще, с подозрением относиться к таким транзакциям. Если вы когда-то засчитывали пластичные транзакции то неплохо бы их перепроверить на факт наличия фрода и применить санкции к плательщику, если тот мошенничает. Ну и естественно, идеально было бы дожидаться не менее 2х подтверждений.

Пример.

Будем пользоваться замечательной опенсорсной тулзой github.com/OutCast3k/coinbin с помощью которой можно вручную легко создавать транзакции с нужными нам входами и выходами. Работает полностью в браузере не общаясь с сервером. Живая версия доступна по адресу coinb.in

Создаем транзакцию через New → Transaction. Берем приватный ключ в формате WIF и загружаем доступные (непотраченные) выходы для этого ключа. Во вкладке Outputs указываем целевой адрес, указываем amount. В Advanced Options не забываем поставить галку на “Make this a RBF transaction” — в этом случае nSequence транзакции будет меньше максимального значения. Жмем Submit.

Транзакция создана. Обратите внимание на Transaction Fee — это разница между доступным количеством монет суммарно со всех входов МИНУС сумма всех выходов (в нашем случае 1 выход). Разница и будет комиссией которую майнер заберет себе. В этом примере она специально нулевая.

Жмем Sign, копипастим туда полученный hex транзакции, все тот же приватный ключ, и подписываем транзакцию:

Транслируем транзакцию в сеть (можно использовать любой ендпоинт):

Так транзакция выглядит:

Теперь давайте воспользуемся RBF. Создаем новую транзакцию, входы берем с того же WIF. Но выходы укажем совершенно иные! Один из выходов укажем 1CWHWkTWaq1K5hevimJia3cyinQsrgXUvg — донейт адрес создателя coinb.in

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

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

Подписываем:

Транслируем:

Вот так это теперь выглядит на blockchain.info. У новой транзакции есть все шансы быть включенной в блок раньше своей предыдущей версии.

Ждем. Есть подтверждение:

Мы только что заменили транзакцию с помощью RBF, причем монеты отправили совсем не на тот адрес который хотели изначально.

Опять о безопасности

Не всегда nSequence=MAX гарантирует что транзакция финальная и заменить ее нельзя. На самом деле галку “Make this a RBF transaction” можно было не ставить, но:

  • При замене транзакции не все ноды согласятся ретранслировать новую версию, ссылаясь на mempool-conflict
  • Некоторые ноды примут транзакцию, и таки ретранслируют ее в сеть
  • Информационные ресурсы типа blockchain.info будут прямым текстом писать DOUBLE SPEND
  • Не все пулы будут майнить эту транзакцию, справедливо считая её даблспендом. Некоторые пулы будут ее майнить, но это может занять больше времени (по сравнению со временем если вся сеть будет её майнить)
  • Если новая транзакция будет таки включена в блок — это абсолютно валидно и не противоречит правилам сети. Любые претензии потенциально обманутых нигде не принимаются
Т.о. мы приходим к мысли что любые транзакции без подтверждения хотя бы в 2х блоках являются ненадежными. Почему в 2х а не 1м? Короткий ответ — orphaned blocks.

Ссылки и материалы:

Бонус!

История 1.

Как-то один из проектов использующих мой биткоин платежный шлюз взломали, и поставили на вывод 2 BTC. В той версии шлюза была захардкоджена комиссия 0.0001 BTC, что было достаточно мало на тот момент. Времени оказалось достаточно чтобы во всем разобраться и заменить транзакцию на возврат средств, повысив комиссию до 0.1 BTC. Злоумышленники наверное расстроились. Мораль — используйте RBF во благо!

История 2.

Я на bitmedia.io пополнял счет биткоином. Счет там пополняется засчитывая входящие транзакции на специальный top-up адрес пользователя, и прибавляя сумму транзакции к общему балансу пользователя. Засчитываются только транзакции с 6 подтверждениями.

Баланс я хотел пополнить поскорее, поэтому когда первая транзакция зависла, я несколько раз заменял транзакцию с помощью RBF. Когда транзакция подтвердилась — баланс мне приплюсовался в столько раз больше, сколько RBF замен я сделал. Я сразу написал в поддержку, чтобы баг исправили. В благодарность лишние 0.3 BTC мне подарили как bug bounty. Мораль — проверьте свои системы как они поведут себя с RBF!

habr.com

Сколько по времени идет транзакция биткоин и от чего это зависит?

время-транзакции

Ваши транзакции BTC когда-нибудь застревали, что приходилось ждать часы подряд и паниковать, пока перевод не отобразится в кошельке? Кроме того, вы не задавались вопросом, почему на получение BTC требуется более 10 минут?

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

Сколько времени требуется для перевода BTC

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

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

  • загрузка сети Bitcoin,
  • плата за транзакцию при переводе BTC.

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

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

Эту статистику всегда можно узнать по ссылке https://www.blockchain.com/statsСколько идет биткоин-транзакция и как сократить это время?Кроме того, размер комиссии определяет, какая транзакция получит приоритет в блоке. Эта задержка теоретически может быть бесконечной, потому что, если ваша комиссия за транзакцию очень низкая, она вообще может не попасть в блок. И большая часть задержки происходит из-за этого только.

О комиссии за транзакцию и ускорении перевода

Факт в том, что в декабре 2017 года комиссионные сборы достигли $ 40-50, и все транзакции со стандартной комиссией застряли.

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

Сколько идет биткоин-транзакция и как сократить это время?Такую статистику можно обнаружить на https://bitcoinfees.earn.com/#fees

Фактическое время танзакции

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

Но что еще более важно. Если транзакция включена в блок, и он замайнен, первое подтверждение приходит через 10 минут. Далее! Считается полностью подтвержденной та транзакция, которая получила 6 подтверждений — то есть 6 блоков добыто после.

А значит, требуется еще 50 минут.

Соответственно, для переноса биткоинов в кошелек потребуется минимум 60 минут (при условии, что транзакция включена сразу в следующий блок). Если нет, это может занять больше времени. Раньше люди ждали по 7-8 дней для завершения транзакции.

Вот время подтверждения на историческом графике, который можно смотреть по ссылке: https://www.blockchain.com/charts/avg-confirmation-timeСколько идет биткоин-транзакция и как сократить это время?Однако в настоящее время среднее время для первого подтверждения транзакции составляет около 15 минут.

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

Как вы видите, ситуация не в пользу биткоина. Это основная претензия тех, кто не верит в его внедрение. Действительно, час на перевод — это очень долго.

Разработчики не оставляю проблему без внимания. Развиваются Lightning, Schnorr, через которые транзакции биткоина будут почти мгновенными.

crypto-fox.ru

Транзакции Bitcoin: время ожидания и скорость подтверждения - Блог

Транзакции Bitcoin: время ожидания и скорость подтверждения

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

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

Сведения о транзакциях (переводах) между биткоин-адресами общедоступны и открыты для просмотра с момента появления первого биткоина. Но владельцы этих адресов никому не известны.  

Основные принципы системы Биткоин

1. Стать анонимным владельцем BTC-кошелька может каждый пользователь Сети. Для этого достаточно установить и запустить биткоин-клиент или воспользоваться онлайн-сервисом типа blockchain.info (блокчейн-кошелек).

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

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

Среднее время, отводимое на решение - 10 минут. Далее формируется уже следующий блок.

3. Получить монеты Bitcoin можно иными способами:

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

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

5. Если провести аналогию между биткойнами и рублями, то "копейки" здесь называют "сатоши". 1 сатоши равен 0,000 000 01 BTC. Это самая мелкая единица биткоин-системы.

6. Для перевода средств используется адрес кошелька получателя и подпись отправителя (идентификатор транзакций участника). Подпись подтверждает вашу личность (участие) в системе Bitcoin.

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

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

8. Нет единого органа или организации (эмитента), контролирующей финансовые процессы и выпуск валютных знаков. Запретить BTC-криптовалюту невозможно физически. Для этого придется выключить весь интернет и все компьютеры мира.

9. С каждым годом добывать (майнить) биткоины все сложнее. Конечный объем монет ограничен и составляет 21 миллион BTC. Последний биткоин будет получен в 2140 году.

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

10. Каждые 4 года потенциальная прибыль майнеров сокращается вдвое (халвинг). Это объясняет рост ценности криптовалюты и ее покупательской способности.

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

Транзакции Bitcoin

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

1. INPUT – входные данные, откуда биткоины попали к Кате, и сколько. 2. AMOUNT – сумма (число) биткойнов для перевода. 3. OUTPUT – выходные данные – адрес Оли.

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

Записи биткоин передаются в фиксированном размере, соответствующем поступившим средствам. А после – отправителю приходит сдача.

Например, Катя получила 1 BTC от Миши, но хочет передать Оле 0,4 BTC. Чтобы транзакция прошла, система записывает передачу Оле 1 BTC от Кати, а затем создает новую операцию – "сдачу", в которой Кате возвращается 0,6 биткоин от Оли.

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

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

В Блокчейн минимальный операционный сбор (MIN_RELAY_TX_FEE) составляет 0,0001 биткоин (10 000 сатоши). Чем выше установленная комиссия, тем больше ее приоритет в списке формирования блоков транзакций, тем скорее пройдет операция.

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

Время ожидания транзакций по переводам биткоинов

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

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

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

Иногда мелкие и невыгодные заявки могут висеть достаточно долго. Если для небольших сумм 2-7 часов – это нормально, то для крупного трейдера, торгующего валютой в реалтайме, это очень долгие сроки.

Есть риск, что транзакционный блок так и не сформируется, а заявка зависнет.

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

1. Централизованные сервисы

Это системы, объединяющие много кошельков и пользователей, чтобы проводить операции без участия экосистемы Блокчейна. Пример – Coinbase, где транзакции идут внутри системы и занимают минимум времени.

2. Мультиподпись надежности

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

3. Открытая транзакция

Если сведения о переводах максимально открыты, они утрачивают анонимность, но ускоряют обработку заявок.

4. Сервисы-ускорители

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

Пример ускорителя транзакций – сервис Transaction Accelerator. Вам нужно указать только TXID (идентификатор) транзакции и ввести капчу.

Для самостоятельного ускорения вручную не забывайте ставить комиссию больше минимального значения 0,0001 BTC (внимательно считайте знаки от запятой). Комиссия повысит приоритет и привлекательность заявки, и та скорее попадет в следующий информационный блок.

Основные критерии быстрого обмена (из частного опыта):

1) Перевод плюс сдача (сумма транзакции) – не ниже 0.01 BTC 2) Есть большое число подтверждений по транзакциям, из которых поступают биткойны 3) Объем данных (транзакция как набор символов) не превышает 999 байт

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

Зависшие транзакции, особенности ПО и софта

Число N-подтверждений зависит от программного обеспечения (ПО) получателя средств. По факту заявка на транзакцию уходит в систему мгновенно. Но за счет разницы софта, не всегда деньги сразу отображаются на кошельках.

Состояние транзакции проверяют по TXID на блокчен.инфо.

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

Заявка или будет обработана (и подтверждена) или деньги автоматически вернутся на кошелек отправителя (в случае зависания). За все время существования Bitcoin не было ни одной бесследно исчезнувшей записи.

В случае бага (сбоя) программы-клиента или онлайн-сервиса можно предпринять ряд дополнительных мер по перезагрузке софта. Главное – сохранить секретные ключи и данные входа.

Вариант 2 – предварительно сохранить копию файла-кошелька "wallet.dat" (скопировать в другую папку), а при зависании сделать бэкап (заменить зависший файл ранней копией).

Зависшая транзакция Bitcoin, которая еще не прошла в Сеть, вернется в исходное состояние. После повторите транзакцию.

x-monitor.ru