Основные понятия транзакции на Capitalogy.io
Криптовалюта
Основные понятия транзакции
Евгения Маслова
Начало > Криптовалюта
#Криптовалюта

Как устроена транзакция
Она состоит из двух элементов. Выходы - набор записей, которые состоят из двух частей: указано количество монет и реальное количество денег. К выходу привязан скрипт - требование, которое нужно удовлетворить, чтобы забрать деньги. Публичный ключ – запись в вашем адресе. Человек должен убедить всех, что у него есть деньги, поэтому он ссылается на другие транзакции.

Транзакции представляют собой последовательность записей, в которых деньги протекают из одной записи в другую. Вход отвечает за то, откуда вы берете деньги. Выход отвечает за то, куда вы деньги передаете. Важно помнить, что после того, как вы сослались на какой-то выход каждой из транзакций, выход считается потраченным − транзакция, которая забрала деньги.

Биткоин – алгоритм по передаче денег, которые передаются между абстрактными кошельками. Разница между входом и выходом идет на комиссию. Например, попало 250 монет, а вышло 249 монет. Вы сами можете определить, какая будет комиссия. Платите не за то, сколько денег переводите, а за место в базе данных вашей транзакции. Чем длиннее запись, тем дороже комиссия. Чем транзакция старее, тем больше вероятность, что ее включат.

Записи узлов весят 140 Гб и никто не может их стереть. А у майнеров есть вся история, поэтому если произошла транзакция, то у всех данные обновятся.



Проблема двойного расходования
Давайте разберем на простом и доступном примере. У пользователя В есть 20 монет. Он приходит к пользователю А, чтобы отдать 20 монет, затем он ставит подпись. Пользователь А верит пользователю В и эти деньги переписывает себе. Пользователь В приходит к пользователю С и предлагает ему эти 20 монет, ставит подпись. Пользователь С верит и переводит себе. Пользователь С отдает кофе, а пользователь А дает пирог. Но пользователь В убегает. Пользователь С и пользователь А не понимают кто из них прав, как пользователю А и пользователю С синхронизоваться от пользователя В? Это фундаментальная проблема, которую решает блокчейн.

Алгоритм консенсуса
Необходимо обращать внимание на то, какие транзакции верны. Proof of work. Вы хотите хранить данные о транзакциях, значит вы будете группировать транзакции в блоки. Каждый блок будет сформирован по правилу. Информация представляет из себя хеш-функцию: 3 поля, верхнее поле – хеш. В итоге получите результат – хеш-блок. Давайте решим, что блок считается правильным, если хеш содержит определённое количество нулей. Пре-хеш – следующее поле, хеш текущего блока включает хеш предыдущего блока. Последнее поле – нонц – свободные параметры. Хеш блока будет иметь правильный вид. Хеш – это функция (алгоритм).

Задача майнера – создать новый блок. В сети есть 2 майнера. Майн – это добыча, а значит майнер добывает блоки. Существует 265 последовательности. Есть область, которая начинается с 5 нулей. Задача майнера состоит в том, чтобы хеш блока попал в эту область. Майнер создает транзакцию, начисляет сумму денег, комиссию и фикс. После длительного перебирания, итоговый хеш дает нужное количество нулей. Все майнеры занимаются перебором нонцев.

Сатоши придумал первое программное обеспечение, в котором основная идея блокчейна заключается в том, что идет строго одна цепочка.

Есть другие способы достижения согласия.

Ledger – распределённые системы, которые содержат информацию.

Proof of work - доказательство работы, т.е. вы должны доказать, что вы произвели вычисления. Proof of stake - доказательство того, что у человека на счете что-то есть, чем он не пользуется.

Наверняка у вас возникает вопрос: кто все это судит? Ответ очень прост – создатель блокчейна. Если сообщество захочет оптимизировать процесс, то они обсуждают и изменяют, так появляются форки.



Софт форки
Софт форки и есть жесткие вилки. Софт форк − это изменение консенсуса, когда новые блоки по новым правилам поддаются старым правилам. Для того, чтобы софт форк сработал, должен кто-то замайнить по-новому правилу остальным. Они принимают блок, потому что он сделан по старым правилам. Товарищей по новым правилам создают поверх блока по новым правилам, его все принимают, кроме тех, кто по старым правилам, создается форк. По новым правилам – принимают все. По старым правилам принимают только те, кто работает по старым правилам. Если их больше, то вся система остается на том же месте. Новые и старые правила не совместимы.

Хард форк
Хард форки ведут версии по разным правилам − 2 различных версии.

Когда идет софт форк, необходимо чтобы пользователей по новым правилам было больше.

Онлайн мастер-класс по криптовалютам. Записывайся!
Записаться на мастер-класс
9 февраля 2018