Как работает биткоин-транзакция?

Простая версия:

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

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

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

Более сложная версия:

Биткоин-кошелек на самом деле не содержит биткоин. Он содержит биткоин-адрес, который хранит записи обо всех транзакциях и, следовательно, баланс. Этот адрес - длинная строка из 34 символов - также известен как «публичный ключ». Его можно и нужно предоставлять для получения криптовалюты. Каждый публичный ключ имеет соответствующий «личный/секретный ключ» из 64 букв и цифр. Очень важно, хранить его в секрете и в безопасности. Эти ключи взаимосвязаны, но из публичного не возможно распознать секретный.

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

С помощью этой информации программа выдает цифровую подпись, которая отправляется в сеть для проверки.

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

Еще сложнее:

Как только моя транзакция была проверена, она включается в «блок» вместе с несколькими другими транзакциями.

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

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

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

Немного веселья

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

Если же у вас есть свободное время и вы хотите немного развлечься вы  можете посетить интернет-ресурс BitBonkers.