Блокчейн транзакции (Blockchain transactions) - это передача стоимости биткоина, которая транслируется в сеть и собирается в блоки. Транзакция обычно ссылается на результаты предыдущих транзакций как на новые входные данные и присваивает все входные значения биткойнов новым выходным данным. Транзакции не зашифрованы, поэтому можно просматривать каждую транзакцию, когда-либо собранную в блок. Стандартные выходные данные транзакций назначают адреса, и для погашения любых будущих входных данных требуется соответствующая подпись. Все транзакции видны в цепочке блоков и могут быть просмотрены с помощью шестнадцатеричного редактора.

Типы блокчейн транзакций

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

Pay-to-PubkeyHash

scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>

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

Pay-to-Script-Hash

scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL
scriptSig: ..signatures... <serialized script>

Адреса P2SH были созданы с мотивацией переноса "ответственности за предоставление условий для погашения blockchain транзакции с отправителя средств на получателя. Они позволяют отправителю финансировать произвольную транзакцию, какой бы сложной она ни была, используя 20-байтовый хэш"1. Pay-to-Pubkey-hash адреса с оплатой за публикацию соответствуют 20-байтовому хэшу открытого ключа. Хэш с оплатой за сценарий обеспечивает средство для сложных транзакций, в отличие от Pay-to-pubkey-hash, который имеет конкретное определение для scriptPubKey и scriptSig. Спецификация не накладывает никаких ограничений на скрипт, и, следовательно, с помощью этих адресов можно финансировать абсолютно любой контракт. scriptPubKey в транзакции финансирования-это скрипт, который гарантирует, что скрипт, указанный в транзакции погашения, хэширует сценарий, используемый для создания адреса. В приведенном выше scriptSig "подписи" относятся к любому сценарию, которого достаточно для выполнения следующего сериализованного сценария.

Как транзакция попадает в Blockchain?

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

блокчейн транзакции

Идентификация

Оригинальный блокчейн был разработан для работы без центрального органа (т. Е. Без банка или регулятора, контролирующего, кто совершает транзакции), но транзакции все равно должны быть аутентифицированы. Это делается с помощью криптографических ключей, строки данных (например, пароля), которая идентифицирует пользователя и предоставляет доступ к его “учетной записи” или “криптовалютному кошельку”, представляющему ценность в системе. У каждого пользователя есть свой собственный закрытый ключ и открытый ключ, который может видеть каждый. Использование их обоих создает безопасную цифровую идентификацию для аутентификации пользователя с помощью цифровых подписей и "разблокировки" транзакции, которую они хотят выполнить.

Авторизация

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

Подтверждение доли

Доказательство работы требует, чтобы люди, владеющие компьютерами в сети, решили сложную математическую задачу, чтобы иметь возможность добавить блок в цепочку. Решение этой проблемы известно как майнинг, и "майнеры" обычно получают вознаграждение за свою работу в криптовалюте. Но добыча полезных ископаемых-дело нелегкое. Математическую задачу можно решить только методом проб и ошибок, и шансы на ее решение составляют примерно 1 к 5,9 триллиона. Это требует значительных вычислительных мощностей, которые потребляют значительное количество энергии. Это означает, что вознаграждение за проведение майнинга должно перевешивать стоимость компьютеров и затраты на электроэнергию для их работы, так как одному компьютеру понадобились бы годы, чтобы найти решение математической проблемы.

Мощь майнинга

Кембриджский индекс потребления электроэнергии Биткойнов оценивает, что сеть майнинга биткойнов потребляет почти 70 тераватт-часов (ТВтч) электроэнергии в год, занимая 40-е место по величине потребления электроэнергии по "стране". Для сравнения, Ирландия (68-е место) использует чуть более трети потребления Биткоина, или 25 ТВтч, а Австрия под номером 42 потребляет 64,6 ТВтч электроэнергии в год, согласно данным за 2016 год, собранным ЦРУ.

Проблема с проверкой блокчейн транзакций

Чтобы добиться экономии за счет масштаба, майнеры часто объединяют свои ресурсы через компании, которые объединяют большую группу майнеров. Затем эти майнеры делятся вознаграждениями и сборами, предлагаемыми блокчейн-сетью. По мере роста блокчейна все больше компьютеров объединяются, чтобы попытаться решить проблему, проблема усложняется, а сеть расширяется, теоретически расширяя цепочку и делая ее еще более сложной для саботажа или взлома. Однако на практике горнодобывающая промышленность сосредоточилась в руках нескольких майнинг-пулов. Эти крупные организации обладают обширными вычислительными и электрическими мощностями, необходимыми в настоящее время для поддержания и развития сети блокчейн, основанной на подтверждении транзакций. Позже блокчейн - сети приняли консенсусные протоколы проверки “Доказательства участия”, в которых участники должны иметь долю в блокчейне - обычно владея некоторой криптовалютой-чтобы иметь возможность выбирать, проверять и подтверждать транзакции. Это экономит значительные вычислительные ресурсы, поскольку майнинг не требуется. Кроме того, технологии блокчейна эволюционировали, включив в себя “Умные контракты”, которые автоматически выполняют транзакции при выполнении определенных условий.