Транзакция – это сделка по переводу или покупке денежных средств или финансовых инструментов. В техническом аспекте — это серия операций по обмену информацией, в результате которой в систему вносятся изменения.
Переводы в сети Bitcoin происходят по технологии блокчейн: при передаче монет BTC от одного адресата другому в публичную базу заносится информация о данной транзакции в виде блока. Непрерывная цепочка таких блоков транзакций и представляет собой систему Blockchain.
Каждый участник подобных сделок имеет возможность совершенно свободно просмотреть всю историю транзакций своих BTC и даже добраться до точки возникновения цифровой валюты. Вы удивитесь, но биткоинов как таковых нет. Есть только цепочка электронных записей движений криптовалюты между адресатами, которые меняют остаточный баланс на вашем адресе. Нет объекта, на который можно указать и сказать, что это – биткоин.
Каждое движение электронной наличности фиксируется в системе blockchain в виде цепочки блоков. И чтобы узнать количество биткоинов на определенном счете (адресе), нужно просчитать все операции, связанные с этим BTC-адресом.
Как происходит транзакция
Чтобы понять, как происходит запись денежных движений в системе блокчейн, давайте рассмотрим пример биткоин транзакции: пусть Участник №1 переведет 2 BTC Участнику №2. Эти действия отражают в себе три типа данных:
input – этот тип данных содержит информацию о предыдущих переводах (с какого адреса биткоины поступили на адрес Участника №1);
amount – сумма биткоинов, участвующих в данном переводе;
output – биткоин адрес Участника №2.
Чтобы перевод денег состоялся нужно иметь биткоин адрес и закрытый ключ. И то и другое – это уникальная последовательность символов. Отличие заключается в том, что закрытый ключ невозможно увидеть, он держится в секрете. Биткоин адрес можно сравнить с прозрачным ящиком, содержимое которого могут видеть все, но доступ к наполнению имеет только владелец секретного ключа.
При совершении транзакции Участник №1 с помощью закрытого ключа подписывает заявку на перевод BTC Участнику №2 (в которой фиксируются три типа данных: input, amount, output). Заявка отправляется в сеть Биткоин, где она ждет действий от майнеров. Когда биткоин заявка прошла подтверждение транзакции, в сети появился новый блок, который увеличил баланс валюты на адресе Участника №2.
Биткоин подтверждение транзакции
Btc ждет подтверждения: что это значит? Майнеры работают над добычей новых биткоинов и подтверждением BTC-транзакций. Иногда для подтверждения заявки нужно время, пока вычислительная машина закончит майнить монеты (в некоторых случаях подтверждение сделки приходится ждать несколько часов). Если перевод осуществляется через провайдеров платежных сервисов (через процессинговые компании), то перевод проводится моментально, без ожидания подтверждения.
Зачем нужно подтверждение транзакций и почему это занимает столько времени? Процесс занесения перевода в сеть Биткоин – это не просто фиксация сделки. Система ищет подтверждения транзакций, и когда их набирается шесть, новая сделка становится легитимной и включается в блок сети. Это защита от двойной траты одних и тех же биткоинов (double-spending).
Пока система ищет подтверждения, BTC -клиент видит свой перевод в статусе «неподтвержденный». Количество подтверждений установлено не просто так. Если мошенники захотят взломать или нарушить шесть подтверждающих блоков в системе blockchain, им придется завладеть более 10% вычислительных мощностей (а это миллионные инвестиции). Подтверждение шестью информационными блоками, сводит к минимуму возможность хакерской атаки (менее 0,1%).
BTC ждет подтверждения: как долго перевод проверяется?
Иногда, когда система особенно перегружена, транзакция какие-то время не подтверждается. В таком случае деньги возвращаются на кошелек инициатора заявки. Это происходит редко, но все же случается. Не стоит переживать, алгоритм переводов электронной валюты хорошо налажен и надежно защищен.
Подтверждение транзакции занимает от 10 минут до нескольких часов. Конечно, пользователю спокойно, когда сделка проходит тщательную проверку на подлинность и безопасность, но не всегда удобно ждать перевода несколько часов. Полное доверие и законченность сделки получают только подтвержденные заявки. Есть несколько способов ускорить биткоин переводы:
- Воспользоваться сервисом процессинговых компаний.
- Обзавестись мультиподписью.
- Совершать открытые сделки.
Централизованные сервисы процессинговых компаний хранят закрытые ключи клиентов и merchant на стороне сервиса биткоин кошелька. Если перевод криптовалюты происходит между пользователями данного сервиса, операции осуществляются очень быстро. Финансовые транзакции происходят за пределами блокчейна, информация обновляется только на внутренних счетах. Но такое решение ставит под сомнение централизацию криптовалюты и основу блочной технологии Blockchain.
11% пользователей пользуются кошельками с мультиподписью. Любые финансовые операции этого сервиса проходят подтверждение двумя подписями из трех. Пользователь владеет двумя ключами, которые хранятся в разных местах (например, на ПК или смартфоне и в депозитной ячейке), третий ключ находится у разработчика компании.
Транзакция пройдет только после применения двух ключей: если компания-разработчик свою подпись поставила, то чтобы Bitcoin отправились, потребуется еще одна подпись пользователя кошелька. Можно осуществить транзакцию двумя подписями пользователя. В любом случае, для подтверждения перевода нужно применить 2 ключа из трех. Такие операции имеют высокие показатели безопасности и защищенности.
Открытые транзакции предполагают использование открытой информации о пользователях двух сторон сделки: принимающей и отправляющей. Такие операции получают оперативное подтверждение системы Blockchain, но нарушают идею анонимности криптовалюты.