Опубликован: 07.03.2018 | Доступ: свободный | Студентов: 1203 / 532 | Длительность: 03:37:00
Специальности: Экономист
Лекция 3:

Примеры использования блокчейн вне сети Биткоин

24 августа, мягкая развилка: SegWit

Чтобы быть точным, эта мягкая развилка случилась 24 августа, в результате процесса, названного UASF (User Activated Soft Fork - мягкая развилка, активированная пользователем). Раздельное подтверждение (SegWit) было заблокировано 8 августа 2017 года на блоке номер 479,707. Заметим, что этот номер выше, чем 478,558, то есть чем номер блока, на котором отделился Биткоин Кэш. Таким образом, Раздельное подтверждение произошло на главной цепочке Биткоин, а не на Биткоин Кэш.

Биткоин Кэш не имеет ничего общего с Раздельным подтверждением. Это другая криптовалюта на тот момент. Заметим, что Раздельное подтверждение было активировано не 8, а 24 августа. Эта мягкая развилка с Раздельным подтверждением не привело к расщеплению цепочки. Раздельное подтверждение заключалось в том, что при ограничении размера блока был изменен способ измерения пространства, и этот способ был назван ограничением веса блока.


Что произошло 8 августа с блоком 479,707?


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


Это должно было произойти. Однако, процесс нуждался в продолжении до блока 481,824, когда система активировала Раздельное подтверждение и оно начало жить.


На блоке № 481,824 узлы, которые выполняли Раздельное подтверждение, стали создавать транзакции, включающие Раздельное подтверждение (SegWit).


Учтите, что это не расщепление, потому что по-прежнему возможно было запускать транзакции Биткоин старым путем с ограничением в 1 Мб, но с данного момента появилась новая функциональность, называемая Раздельное подтверждение. Это означало, что те майнеры, которые уже апгрейдились до Раздельного подтверждения, могли начать процесс и создавать транзакции, используя Раздельное подтверждение. Однако другой майнер, который еще не апгрейдился до Раздельного подтверждения, мог все еще оставаться в цепочке. Однако он бы не смог участвовать в транзакциях Раздельного подтверждения.

Теперь давайте обсудим, что такое Раздельное подтверждение.


Раздельное подтверждение (SegWit) это, прежде всего, обновление (апгрейд) протокола. Оно существенно улучшает масштабирование Биткоина без увеличения размера блока. SegWit также нацелено на уязвимость Биткоина, которую называют "транзакционной тягучестью". SegWit позволяет преодолеть транзакционную тягучесть.

Мягкая развилка, которая была предложена для Раздельного подтверждения, не требует апгрейда, чтобы остаться в блокчейне. Это означает, что майнеры, которые не обновились до Раздельного подтверждения, все еще могут остаться в блокчейне. Они не будут иметь доступа к функциональности, которую обеспечивает Раздельное подтверждение, но при этом будут способны участвовать в транзакциях Раздельного подтверждения. Они все-еще будут способны проверять блоки, которые не включают информацию Раздельного подтверждения.


Как результат Мягкой развилки, Раздельное подтверждение не приводит к расщеплению цепочки.

Транзакция Биткоин содержит три основные части.


Первая часть - это Вход (Input). Вход - это откуда пришли монеты или откуда появились средства. Вторая часть - Сумма (Amount). То есть, сколько биткоинов пришло из данного источника. Третья часть - Выход (Output). Это направление, куда собираются пойти эти биткоины.

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


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


Это позволяет быть уверенным, что биткоины не отправлены кем-то, кто не уполномочен это делать. Это обеспечивается наличием личного (закрытого, секретного) ключа, или скорее, кошелька, имеющего Ваш личный ключ и возможностью подписать каждую транзакцию контролируемым только Вами личным ключом. Это цифровая подпись. Сейчас в выполняемой транзакции с SegWit эти данные с подписью, также известными как Подтверждение (Witness), Разделы в отдельный блок.


Другими словами, эти данные вытянуты из основного блока. Это часть изменений, о которых упоминалось выше, когда говорили об ограничении (лимите) веса блока вместо размера блока. Информация с цифровой подписью вынесена во внешний блок, который отделен от транзакции. Это освобождает, по оценкам, от 60 до 63% пространства, занимаемых данными самой транзакции, которая подтверждена этой цифровой подписью. Кроме того, следует особо отметить, что SegWit делает так, что Вход и Количество тоже становятся частью цифровой подписи!


На этом рисунке показан процент транзакций с Раздельным подтверждением.


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