{"id":14284,"url":"\/distributions\/14284\/click?bit=1&hash=82a231c769d1e10ea56c30ae286f090fbb4a445600cfa9e05037db7a74b1dda9","title":"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0430\u043d\u0446\u044b \u0441 \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438","buttonText":"","imageUuid":""}

Транзакции, UTXO и скрипт-код

Лекция 5 из курса MIT "Блокчейн и деньги", лектор Гари Генслер

План лекции

  • Ввод и вывод транзакций
  • Неизрасходованный вывод транзакций (UTXO)
  • Язык сценариев
  • Дизайн блокчейна - Сведение всего этого воедино
  • Научная родословная биткойнов
  • Кто такой Сатоши Накамото?
  • Выводы

Вопросы лекции

  • Как Биткойн регистрирует транзакции? Что
    такое вывод неизрасходованных транзакций (UTXO)? Что такое скриптовый код, встроенный в каждую транзакцию Биткойна, и насколько это гибкий язык программирования?
  • Поскольку многие конструктивные особенности предшествовали Биткоину, в чем заключалось новшество Сатоши Накамото?
  • Кто такой Сатоши Накамото?

Материалы для чтения

  • "Bitcoin's Academic Pedigree" Narayanan and Clark
  • "Making Sense of Crypto economics" CoinDesk

Формат транзакций

Формат транзакции очень прост. Есть входные данные, цифровая подпись и получатель транзакции (адрес кошелька).

В биткоине есть вводные данные - хэшированный айди предыдущей транзакции. То есть вводные данные появляются на основе предыдущих выходных данных.

Откуда пришли все тразакции? Coinbase, верно. Это создание свежего биткоина.

Что такое время блокировки? Это механизм для установления временных условий выполнения транзакции.

Входных и выходных данных может быть несколько.

Что происходит с входными данными после того, как происходит транзакция? Они стираются после совершения транзакции.

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

Коинбейз транзакция - это награда майнеру за работу с Proof of work.

  • Единственным вводимым значением является вознаграждение за блок Coinbase
  • Вознаграждение делится пополам (1/2 секунды) каждые 210 000 блоков
  • В настоящее время 12,5 биткоина за блок
  • Первоначально 50 биткоинов за блок
  • Выходные данные не могут использоваться в качестве входных данных транзакции до тех пор, пока не будет выполнено еще 100 блоков
  • Записано как первая транзакция в дереве Меркла
  • Может содержать 100 байт произвольных данных
  • Используется для дополнительного одноразового использования
  • В блок Genesis включен заголовок из Financial Times:
    "The Times 03/Январь/2009 Канцлер на пороге второй финансовой помощи банкам"

На этом слайде представлено количество неизрасходованных транзакций. На момент 2018 года это примерно 50-60 миллионов. Это число измеряется не в биткоинах.

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

Возможно ли такое, что эти транзакции могут когда-нибудь стать дороже и стать выгоднее? Да, могут, как и копейки однажды. Но, как и копейки, их нужно не потерять, пока вы ждете повышения цены.

На этом слайде обозначено общее количество транзакций, которые когда-либо вообще произошли на сети биткоина. На момент 2018 года это 342 транзакции.

Где хранятся эти неизрасходованные транзакции? Они хранятся в таблице UTXO, а также на десяти тысячах нодах в блокчейн.

Набор выходных данных неизрасходованной транзакции (UTXO)

UTXO - выходные данные транзакции Bitcoin, которые не были потрачены в данный момент времени.

  • Содержит все текущие неизрасходованные выходные данные транзакции
  • Ускоряет процесс проверки транзакции
  • Хранится с использованием базы данных LevelDB в Bitcoin Core под названием "состояние цепочки"

Биткойн-скрипт

Биткойн-скрипт - программный код, используемый для транзакции.

  • Код на основе стека, без циклов (не полный по Тьюрингу)
  • Предоставляет гибкий набор инструкций для проверки транзакции и
    аутентификации подписи
  • Наиболее распространенные типы скриптов в UTXO:
    • Транзакция, отправленная на хэш биткоин-адреса - 'Pay-to-PubkeyHash'
    (81%)
    • Транзакция, отправленная на хэш условного скрипта - 'Pay-to-scriptHash' (18%)
    • Транзакция, требующая нескольких подписей - "M из N мультисигналов" (0,7%)
    • Транзакция, отправленная на биткоин-адрес - "Pay-to-Pubkey" (0,1%)
    (Источник: Перес-Сола, Дельгадо-Сегура и др.)

Биткоин - технические характеристики

  • Криптография и журналы с отметками времени
    • Криптографические хэш-функции
    • Криптографические хэш-функции
    • Журналы (блоки) только для добавления временных меток
    • Заголовки блоков и деревья Меркла
    • Асимметричная криптография и цифровые подписи
    • Адреса
  • Консенсус децентрализованной сети
    • Подтверждение работы
    • Национальная валюта
    • Сеть
  • Сценарий транзакции и UTXO
    • Входы и выходы транзакции
    • Задан неизрасходованный вывод транзакции (UTXO)
    • Язык сценариев

Заключение

Спасибо за внимание! Этот конспект — часть цикла из более чем 20 лекций, информация в которых будет постепенно наслаивается, что в результате поможет сформировать понимание относительно темы Биткойна в контексте финансов. Очевидно, что на этапе погружения, возникает ряд вопросов и будет здорово, если вы присоединитесь к нашей группе, где всегда можно коллективно обсудить детали https://t. me/blockchain24money

Список всех лекций курса «Блокчейн и деньги»:

0
Комментарии
-3 комментариев
Раскрывать всегда