Как осуществляются криптовалютные транзакции?

Что такое транзакции криптовалюты
Криптовалюта представляет собой чисто цифровую форму ценности, которую не может контролировать ни отдельно взятый человек, ни компания, ни правительство.
В отличие от традиционных валют, где цифровой баланс можно обменять на материальные купюры, транзакции с криптовалютой представляют собой просто записи данных, зарегистрированные в неизменяемом распределенном леджере — так называемом блокчейне.
В популярных блокчейнах, таких как Bitcoin, Ethereum и Algorand, на самом деле не происходит никакого обмена криптовалютой между пользователями. Вместо этого всякий раз при обработке транзакции в блокчейне обновляются данные о собственности, связанные с криптовалютными кошельками обеих сторон.
Технология блокчейн позволяет глобальной сети волонтеров (так называемых «узлов») предлагать, обрабатывать и регистрировать такие транзакции. Компьютеры-узлы работают коллективно, чтобы единогласно гарантировать выполнение только действительных транзакций, а также их хранение в леджере в неизменном виде.
Что нужно для совершения транзакции в криптовалюте?
Прежде чем шаг за шагом рассмотреть процесс создания, передачи, проверки и обработки пиринговой криптовалютной транзакции, важно понять, какие именно элементы в ней задействуются.
Для совершения платежа в криптовалюте необходимы три основных компонента:
- Криптовалютный кошелек
- Блокчейн-сеть
- Криптовалюта для оплаты транзакции в блокчейне / комиссии за газ
Криптовалютные кошельки
В широком смысле криптовалютные кошельки можно разделить на горячие или холодные в зависимости от того, подключены ли они постоянно к Интернету или нет.
Горячие кошельки — это программное обеспечение, загружаемое на настольные компьютеры, мобильные телефоны или другие интеллектуальные устройства. Они постоянно подключены к Интернету и позволяют пользователям быстро получать и переводить средства.
Холодные кошельки — это аппаратные устройства, например специализированные USB-накопители, которые для отправки или получения переводов необходимо подключать к интеллектуальному устройству вручную. В отличие от горячих кошельков холодные кошельки не поддерживают постоянное соединение с Интернетом. Многие считают, что холодные кошельки менее удобны в использовании, чем горячие, однако они и значительно безопаснее.
В отличие от реальных купюр в ваших бумажниках, криптовалюта в действительности не хранится в криптовалютном кошельке.
Средства в криптовалюте регистрируются в блокчейне, а доступ к ним контролируется с помощью кошелька. В криптовалютном кошельке хранятся адреса, которые используются для взаимодействия со средствами, выделенными для него в блокчейне. При утере ключей теряется и доступ к любым средствам, связанным с кошельком.
Каждый криптовалютный кошелек имеет свои уникальные ключи: открытый и закрытый. Ключи являются важной частью криптовалютного кошелька и используются для следующих целей:
- Подтверждение права на владение средствами в блокчейне
- Цифровая подпись и одобрение исходящих транзакций
- Создание адресов кошельков, доступных для публики
Как создаются открытые и закрытые ключи?
Открытые и закрытые ключи кошелька математически связаны с помощью односторонней криптографической формулы определенного типа. Закрытый ключ используется для создания открытого ключа. Одним из основных криптографических методов генерации открытых ключей для криптовалютных кошельков, включая все кошельки Bitcoin, является эллиптическая криптография (ECC).
Подробнее см. в статье Центра обучения Kraken Как работает криптография в мире криптовалют?
Безопасность этих ключей основана на том факте, что только человек, обладающий закрытым ключом, может создать открытый ключ и доказать право собственности на средства, связанные с кошельком. Благодаря криптографическим алгоритмам вычислить закрытый ключ на основе открытого ключа практически невозможно.
Давайте рассмотрим наглядный пример. Представьте число, состоящее из миллиона цифр. Вам нужно найти два числа, при сложении которых образуется это число из миллиона цифр. Попытка найти единственно правильное из всех возможных решений связана с огромным количеством проб и ошибок.
Но как только решение будет найдено, любой человек в мире сможет легко убедиться самостоятельно, что это правильный ответ. В конце концов, для этого нужно будет просто сложить эти два числа и проверить, соответствует ли результат нашему исходному числу из миллиона цифр.
Именно этот принцип — сложность поиска решения, но легкость проверки полученного ответа — лежит в основе криптовалютных транзакций. Криптография позволяет осуществлять криптовалютные транзакции надежно, безопасно и экономически эффективно.
ECC еще больше усложняет вышеприведенную задачу, используя сложную систему пересекающихся линий, проходящих через кривую особого типа на графике. Пересекая кривую, линия каждый раз меняет направление под прямым углом. Открытый ключ в данном случае — это отправная точка и конечный пункт, в котором линия оказывается, совершив некоторое, неизвестное нам, количество итераций.
А закрытый ключ здесь — неизвестное число движений, которые потребовались для перехода от точки A к конечной точке на кривой.
Как создается адрес криптовалютного кошелька?
Открытый и закрытый ключи помогают задать адрес криптовалютного кошелька.
Для этого открытый ключ (созданный, как мы помним, на основе закрытого ключа) обрабатывается с помощью криптографического алгоритма хеширования. Это еще один тип одностороннего математического алгоритма, который принимает любые вводные данные и превращает их в случайный алфавитно-цифровой код фиксированной длины, называемый «хешем».
Хеш-коды считаются «уникальными» и «детерминированными». Это означает, что каждый раз при вводе данных создается совершенно уникальный хеш-код, который при прохождении через алгоритм всегда будет принимать одно и то же значение.
Как и в случае с открытым и закрытым ключами, хеш невозможно просмотреть и вычислить, какие именно данные использовались для его создания.
Этот хеш служит адресом криптовалютного кошелька, и им можно делиться, чтобы получать входящие криптовалютные транзакции.
Где хранятся открытые и закрытые ключи?
Ключи горячих кошельков хранятся онлайн в программном обеспечении кошелька.
Это то преимущество, которое позволяет пользователям без проблем отправлять и получать транзакции по своему усмотрению, но в этом же кроется причина уязвимости горячих кошельков для атак киберпреступников.
Закрытые и открытые ключи холодного кошелька хранятся вне сети на физическом устройстве.
Из-за этого онлайн-атаки на холодные кошельки практически невозможны. Но минус в том, что каждый раз для перевода средств пользователь должен подключать свой холодный кошелек к компьютеру или интеллектуальному устройству.
Для тех, кто долго держит свои активы и, следовательно, редко торгует, это не представляет большой проблемы. Однако более активным трейдерам, которые часто переводят средства между разными адресами, этот дополнительный уровень безопасности создает определенные неудобства.
Подробнее о преимуществах и недостатках различных способов хранения криптовалюты см. в статье Центра обучения Kraken Как защитить криптовалюту.
Как обрабатываются транзакции в блокчейн-сети?
Общие сведения о блокчейне
Блокчейн — это тип технологии распределенного леджера. Проще говоря, блокчейн — это система регистрации данных, которая управляется и поддерживается открытым сообществом, а не каким-то конкретным лицом.
Любой человек может участвовать в работе открытой блокчейн-сети, если у него есть доступ к Интернету и интеллектуальное устройство. Большинство блокчейн-сетей принимают меры для «децентрализации» платформ, прилагая усилия к тому, чтобы ни один человек или центральный орган не мог взять под контроль леджер блокчейна.
Люди, добровольно выделяющие время для активной работы в блокчейн-сети, называются «узлами». Узлы могут выполнять различные задачи, от поддержания полного журнала транзакций до выполнения важнейшей задачи валидации данных.
Что такое блокчейн?
Блокчейн можно рассматривать как виртуальную цепочку коробок («блоков»), каждая из которых содержит определенное количество данных. В криптовалютных сетях эти «коробки» в основном хранят информацию о транзакциях — кто что перевел, кому и в какое время.
Когда новые транзакции передаются в сеть, должны создаваться новые блоки, которые необходимо заполнить новыми данными, проверить и добавить в цепочку.
Все блоки, добавленные в блокчейн, являются постоянными и неизменяемыми. Это значит, что вернуться и изменить информацию, хранящуюся в уже сформированном блоке, невозможно. Вот почему так важна валидация данных. Любые данные о транзакциях должны быть единогласно подтверждены всеми узлами в сети, что гарантирует обработку только действительных транзакций.
Поскольку у сети нет единого управляющего органа, автоматизированная система следит за тем, чтобы все узлы пришли к согласию по поводу новых данных, которые будут добавлены в блокчейн. Эта система, которую еще называют майнингом в блокчейн-сетях, таких как Bitcoin, призвана воспрепятствовать действиям злоумышленников, которые могут исказить хранящиеся в сети данные недействительными транзакциями.
Эта система именуется механизмом консенсуса.
Хотя разные блокчейны используют разные типы механизмов консенсуса, все они стремятся к одной и той же цели — беречь точную информацию о праве собственности и транзакциях.
Алгоритмы Proof-of-work и Proof-of-stake — самые распространенные механизмы криптовалютной индустрии.
Комиссия транзакции
Чтобы вознаградить узлы за их усилия, все пользователи криптовалют обязаны платить так называемую комиссию за газ — плату за транзакцию, т. е. за обработку платежей.
Эти комиссии покрывают расходы на потребление вычислительных мощностей узлов и финансово стимулируют узлы продолжать работу в сети.
Комиссии могут варьироваться в зависимости от блокчейна и от текущего уровня загрузки сети.
В некоторых случаях пользователи могут добавить «чаевые» к комиссии за транзакцию, чтобы валидаторы обработали их платежи раньше других платежей в очереди.
Суммируем вышесказанное: как работает криптовалютная транзакция
Теперь, когда мы разобрались, какие компоненты обеспечивают криптовалютную транзакцию, давайте рассмотрим всю процедуру платежа от начала до конца.
Создание и подписание криптовалютной транзакции
Описанный ниже процесс используется в сети Bitcoin; в других блокчейн-сетях, таких как Ethereum, Ripple или Solana, он будет немного другим.
Также стоит отметить, что почти все описанные ниже шаги выполняются автоматически за счет кода, лежащего в основе протокола Bitcoin и узлов сети. От пользователя Bitcoin требуется только указать количество криптовалюты, которую он хочет отправить, скопировать и вставить публичный адрес кошелька получателя и нажать кнопку «Отправить».
Процесс отправки транзакций состоит из трех этапов:
- Транзакция
- Передача
- Закрытие
Ниже приведен пример того, что происходит в блокчейне Bitcoin. Благодаря этому процессу Bitcoin может функционировать как пиринговая система электронных денег.
Транзакция
Предположим, что некий пользователь по имени Олег уже купил Bitcoin и теперь хочет отправить 1 Bitcoin (BTC) Ольге. Вообще-то Олег может перевести ей меньше одного Bitcoin (эти дробные части называются сатоши), но для простоты возьмем полный Bitcoin.
- Ольга отправляет Бену публичный адрес своего кошелька.
- Используя публичный адрес кошелька Ольги, Олег создает сообщение о транзакции с информацией о предполагаемой транзакции (откуда поступил один Bitcoin Олега, куда он отправляется, сколько сдачи должно быть возвращено Олегу в виде UTXO и сколько с него возьмут в качестве комиссии).
- Это сообщение о транзакции проходит через криптографический алгоритм хеширования, который сокращает его до уникального кода фиксированной длины.
- Олег шифрует полученный хеш-код своим закрытым ключом, чтобы создать цифровую подпись для транзакции. Таким образом, Олег доказывает Ольге и блокчейн-сети, что он отправил транзакцию и что та не была подделана во время передачи.
- Олег отправляет Ольге исходное сообщение о транзакции и цифровую подпись.
- Ольга расшифровывает цифровую подпись с помощью открытого ключа Олега, извлекая хеш сообщения о транзакции.
- Затем Ольга пропускает оригинальное сообщение о транзакции через тот же криптографический алгоритм хеширования, чтобы получить хеш, и сравнивает его с хеш-значением, полученным на предыдущем шаге.
- Если оба хеша идентичны, это доказывает, что Олег отправил транзакцию и та не была повреждена в ходе передачи. Любое изменение в данных транзакции приведет к получению совершенно другого хеша и просигнализирует сети, что кто-то пытался подделать транзакцию.
Передача
Теперь, когда Ольга смогла убедиться, что транзакция от Олега действительна, сведения о транзакции должны быть переданы в сеть, чтобы все узлы могли подтвердить эту информацию.
- Первоначально сообщение о транзакции и цифровую подпись получают не больше восьми узлов. Затем каждый такой узел передает эту информацию дальше, охватывая до семи других узлов.
- Так происходит до тех пор, пока каждый узел в блокчейн-сети не получит эти данные и не подтвердит транзакцию независимо от других узлов.
- Пока идет процесс подтверждения всеми узлами сети, ожидающие/неподтвержденные транзакции хранятся в так называемом мемпуле (mempool — сокращение от memory pool, что означает «пул памяти»).
Завершение
В зависимости от типа механизма консенсуса, используемого базовым блокчейном, в сети выбирается один узел валидатора, который предлагает новый блок, куда записываются транзакции из мемпула.
Для валидаторов Proof-of-Work существует правило: когда в процессе майнинга будет выбран успешный валидатор, другие узлы в сети сначала должны подтвердить его победу в соревновании по хешированию, прежде чем он сможет предложить новый блок. Подробнее об этом процессе см. в статье Центра обучения Kraken Что такое майнинг Bitcoin?
Как только блок с транзакцией Олега для Ольги добавится в блокчейн, транзакция будет считаться однократно подтвержденной. Впоследствии каждый новый блок, добавляемый в блокчейн, будет дополнительно подтверждать транзакцию Олега. Дополнительные циклы подтверждений повышают уверенность в том, что сеть содержит точные данные о транзакции.
Есть криптовалютные кошельки, где транзакция считается успешной после однократного подтверждения, но такие кошельки, как у Bitcoin, обычно требуют до шести подтверждений. Если учесть, что блоки Bitcoin создаются раз в десять минут, на шесть подтверждений для полного закрытия потребуется примерно час.
Начать использовать Kraken
Теперь, когда вы узнали, как работают криптовалютные транзакции, готовы ли вы сделать следующий шаг на пути в мир криптовалют?
Нажмите кнопку ниже, чтобы создать аккаунт и купить криптовалюту на платформе Kraken уже сегодня!