Как работает транзакция блокчейн? Хороший вопрос, правда?! Даже для крипто-профессионалов это может оказаться сложным для понимания.
Узлы, майнеры, протоколы, мемпулы…Как в блокчейне работают транзакции вы еще не запутались? Начало вашего крипто-путешествия может быть довольно сложным. Независимо от того, являетесь ли вы новичком, интересуетесь криптовалютами или имеете некоторое базовое представление о том, как все работает, трудно понять, с чего начать. Часто может показаться, что все вокруг вас говорят на иностранном языке, но если вы хотите узнать больше, то вам придется потрудиться. Как и при изучении нового языка, как только вы усвоите ключевую лексику и понятия, все остальное встанет на свои места. Итак, давайте начнем наше познание тонкостей блокчейна. И стоит начать с начала.
Что такое Blockchain
В описании любого блокчейн-проекта на Coinmarketrate.com вы найдете, что в своей основе блокчейн — это просто массивный, автоматизированный, децентрализованный реестр (или база данных). Основная цель криптовалют — создание цифровой валюты, позволяющей осуществлять одноранговые (P2P) транзакции без участия третьих лиц.
Блокчейн предназначен для безопасной передачи таких предметов, как деньги, собственность, контракты и многое другое, без привлечения сторонних посредников, таких как банк или правительство. Более подробную информацию вы можете найти в наших предыдущих статьях.
Именно передача стоимости в блокчейне и является транзакцией. Проще говоря, транзакция — это когда один человек передает другому определенную сумму криптовалюты, которой он владеет.
Для осуществления транзакций на блокчейне вам необходим кошелек — программа, связанная с блокчейном, доступ к которой имеете только вы. Она отслеживает принадлежащие вам криптовалюты, и позволяет совершать с ними операции. Каждый кошелек защищен специальным криптографическим методом, который использует уникальную пару разных, но связанных между собой ключей: закрытый и открытый.
Открытый ключ, также известный как адрес, представляет собой серию букв и цифр, которыми пользователь должен поделиться, чтобы получить средства. В отличие от него, закрытый ключ должен храниться в секрете, подобно пин-коду вашей банковской карты, поскольку он дает право на расходование любых средств, полученных с помощью связанного с ним открытого ключа.
С помощью своего кошелька пользователь (тот, у кого есть закрытый ключ) может санкционировать или подписывать транзакции, и тем самым передавать ценность новому владельцу. Затем транзакция передается в сеть для включения в блокчейн.
В отличие от традиционных транзакций, здесь не требуется ни доверия, ни договора. Стали бы вы напрямую заключать сделку с незнакомцем в Интернете? Скорее всего, нет. В обычных транзакциях вам либо нужно доверять человеку, с которым вы заключаете сделку (и даже в этом случае существует риск), либо использовать контракт для обеспечения соблюдения условий обмена. Это влечет за собой свои проблемы, потому что стоит денег, и — вы угадали, вам нужна третья сторона, чтобы составить контракт, и обеспечить его соблюдение. Технология блокчейн является революционной, потому что она предлагает нам третий вариант, который является безопасным, быстрым и дешевым, и не требует участия другой стороны.
И так, как это работает
Мы можем представить себе транзакцию как состоящую из трех основных частей:
- Вход: приватный адрес монет, скажем “избитой” примерами Алисы, где она в настоящее время хранит монеты, которые хочет потратить.
- Выход: открытый ключ ее друга “по несчастью” Боба, или адрес монеты.
- Сумма: количество монет, которые Алиса хочет потратить.
Чтобы Алиса отправила 2 монеты Бобу, она подписывает сообщение с деталями транзакции, используя свой закрытый ключ. Сообщение содержит вход, выход и сумму для отправки. Затем транзакция передается в сеть: количество монет на ее счету должно уменьшиться на 2, а на счету Боба увеличиться на 2. Каждый компьютер в сети получит сообщение и применит запрошенную транзакцию к своей копии бухгалтерской книги (реестра), обновив остатки на счетах.
Чтобы отслеживать количество криптовалюты, которой владеет каждый из нас, в каждом блокчейне используется реестр (бухгалтерская книга) — цифровой файл, в для отслеживания всех транзакций. Этот файл не хранится на центральном сервере, как в банке, или в одном центре обработки данных. Он распространяется по всему миру через сеть частных компьютеров, которые одновременно хранят данные и выполняют вычисления. Каждый из этих компьютеров включен в сеть Blockchain, и имеет копию файла бухгалтерской книги, что означает, что вы можете совершать транзакции без участия третьей стороны, быстро и безопасно.
Казалось бы, все просто, верно? Но откуда мы знаем, что это безопасно? Для этого нам придется рассмотреть вопрос немного подробнее.
Пошаговое описание транзакции
Прежде чем мы погрузимся в детали транзакции, давайте начнем с представления персонажей, обеспечивающих этот процесс.
Во-первых, у нас есть пользователи — это такие люди, как вы, которые хотят использовать механику блокчейна для совершения транзакции. Но, кто обеспечивает это в системе, не имеющей центральной структуры?
Вот здесь-то и приходят на помощь майнеры. Мы знаем, что блокчейн — это система без доверия, позволяющая людям знать, что их транзакция будет выполнена правильно, без центрального органа. Майнеры делают это возможным, проверяя входящие транзакционные блоки — партии запрошенных транзакций, которые ожидают подтверждения (в мемпуле, на этапе между запросом и добавлением в блокчейн). Правильное подтверждение означает вознаграждение для майнера/майнеров, что является стимулом, поддерживающим работу системы.
Вы когда-нибудь задумывались, почему мы платим за газ? Вот вам ответ: они компенсируют энергию, используемую в процессе добычи транзакций, и идут на вознаграждение майнеров за блок.
И наконец, у нас есть узлы. Узлом может быть кто угодно — даже вы. Узлы обеспечивают надежность и безопасность всей системы, проверяя блоки транзакций, отправленные майнерами, прежде чем они будут добавлены в блокчейн. Для этого они сверяют полученную информацию с историей транзакций в блокчейне, чтобы убедиться, что все совпадает. Затем узлы сети, разбросанные по всей планете, коллективно приходят к консенсусу о том, что новые транзакции действительны, и добавляют их в блокчейн.
Процесс транзакции можно разбить на шесть этапов:
- Кто-то запрашивает транзакцию. Транзакция может включать в себя криптовалюту, контракты, записи или другую информацию.
- Транзакция транслируется на все компьютеры с участием P2P в конкретной сети блокчейна. Они называются узлами. Все транзакции публикуются в Mem-pool или пул памяти, где они считаются «ожидающими». Плата за газ вносится пользователями как часть транзакции, чтобы компенсировать вычислительную энергию, необходимую для обработки и подтверждения транзакций в блокчейне.
- Майнеры проверяют транзакцию. Каждый компьютер в сети проверяет транзакцию на соответствие определенным правилам валидации, которые устанавливаются создателями конкретной сети блокчейн.
- Проверенные транзакции сохраняются в блок и скрепляются замком, называемым хэш.
- Новый блок добавляется к существующему блокчейну. Этот блок становится частью блокчейна, когда другие компьютеры в сети подтверждают правильность блокировки блока.
- Транзакция завершена. Теперь транзакция является частью блокчейна, и не может быть изменена каким-либо образом.
Различные способы достижения согласия между сетями
Одна из проблем создания крипто-сети заключается в том, как подтвердить транзакции, не прибегая к помощи централизованного органа, и для этого вам нужны люди, много людей! И у людей должен быть стимул, который обычно представляет собой некоторую родную валюту, им нужно приложить значительные усилия, чтобы доказать, что они готовы подтвердить действительность транзакции.
В настоящее время существует 2 варианта подтверждения достоверности консенсуса Proof-of-Work (PoW), где на карту ставится расход энергии и вычислительной мощности, на решение сложных математических уравнений. Майнеры получают вознаграждение, когда они первыми решают уравнение, и поэтому это, по сути, гонка между майнерами.
В модели Proof-of-Stake (PoS) валидаторы, эквивалент майнеров, блокируют средства в смарт-контракте. Каждый раз, когда сети требуется новый блок, алгоритм предоставляет определенному валидатору возможность опубликовать следующий блок. Алгоритм выбирает валидатора случайным образом, в зависимости от процентной доли каждого стейка, от общего объема средств.
Биткойн использует консенсус PoW, но мы наблюдаем рост PoS как альтернативного механизма консенсуса, разработанного и используемого многими альтернативными криптовалютами, такими как Tezos, DecimalChain и Cosmos. Ethereum также переходит от PoW к PoS. PoS был изобретен, чтобы устранить огромные затраты на электроэнергию, обеспечив более высокую скорость транзакций, лучшую масштабируемость и снижение энергопотребления сети.
Аналогия — классная вещь!
Понимание времени блока, размера пула памяти и ожидающих транзакций является ключевым не только для понимания того, как работают блокчейны, но и для сравнения различных цепочек. Это может быть техническим вопросом, но аналогия с автовокзалом может помочь нам представить его наглядно.
Представьте себе автобусную станцию, где каждый автобус представляет блок, который будет включен в блокчейн, а каждый человек представляет транзакцию, которая будет отправлена в блокчейн. Некоторые люди движутся быстрее, чем другие, и некоторых больше, чем других. Те люди, которые движутся быстрее, представляют собой транзакции, платящую более высокую комиссию, поэтому более быстро движущийся человек означает более высокую комиссию, а более крупный человек представляет более крупную транзакцию.
Каждый автобус может вместить только определенное количество людей (1 МБ информации). Поскольку пространство ограничено, в каждый автобус или блок может быть включено ограниченное количество транзакций. Поэтому каждый человек покупает билет, цена которого соответствует его размеру и скорости, а билетным контролером являются узлы сети. Они записывают всю эту информацию и отправляют каждого человека в зону ожидания.
Водитель автобуса (майнеры) получает как субсидию за блок (вновь выпущенная монета), так и плату за транзакции (плата за газ) за то, что приглашает людей в автобус. Это означает, что у них есть стимул отдавать предпочтение человеку или транзакции с наибольшей комиссией. В периоды высокой загруженности сети, когда большое количество пользователей хотят совершить транзакцию или сесть в автобус, транзакции с наибольшей комиссией с большей вероятностью будут включены в следующий автобус/блок.
В заключение
Теперь, когда вы точно знаете, как это работает, вы можете сами принять в этом участие, и даже можете управлять своим собственным узлом!
Красота блокчейна заключается в том, что это полностью децентрализованный способ совершения сделок. А это означает, что вы можете свободно перемещать свои деньги и данные по своему усмотрению, не передавая свои данные центральному органу, и не имея барьеров для входа.
Таким образом, децентрализация фактически создает более справедливый баланс сил между крупными центральными структурами и обычными людьми, такими как мы с вами, а работа в качестве узла в этой системе позволяет вам внести свой вклад в эти изменения. Речь идет о гораздо большем, чем деньги, и каждый может стать частью этого процесса