Опубликован: 01.02.2018 | Доступ: свободный | Студентов: 1346 / 258 | Длительность: 17:50:00
Лекция 7:

Общество, политика и законодательство

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >

Программное обеспечение Bitcoin Core

Для обсуждения правил биткоина необходимо познакомиться с программным обеспечением Bitcoin Core.

Программное обеспечение Bitcoin Core — это комплекс программного обеспечения с открытым исходным кодом. Оно имеет лицензию открытого программного обеспечения MIT, которая представляет собой свободную лицензию на программное обеспечение с открытым исходным кодом. Это позволяет использовать программное обеспечение практически для любых целей.

Программное обеспечение Bitcoin Core является наиболее распространенным программным обеспечением биткойн. Даже не применяющие это ПО, опираются на него, чтобы определить, какие в нем используются правила. В альтернативном программном обеспечении, как правило, пытаются имитировать правила программного обеспечения Bitcoin Core, в частности, какие транзакции и блоки действительны. То есть фактически Bitcoin Core определяет свод правил биткойна. Предложения по усовершенствованию биткойна или BIP (Bitcoin Improvement Proposals) - это формальные предложения об изменениях в биткойн. Обычно предложение по улучшению включает техническую спецификацию для предлагаемого изменения и его обоснование. Документы публикуются в пронумерованных сериях предложений по улучшению биткоин. У каждого из них есть апологет, своего рода автор, чья работа заключается в том, чтобы рассказывать о предлагаемом изменении и его преимуществах, координировать дискуссию и пытаться достичь консенсуса внутри сообщества в пользу реализации конкретного предложения.

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

Ключевые разработчики Bitcoin Core

Рис. 7.2. Ключевые разработчики Bitcoin Core

Ключевыми разработчиками Bitcoin Core являются шесть человек, изображенные на рис. 7.2. Если точнее, их пять, так как Сатоши Накамото в настоящее время не активен. Ключевые разработчики это те люди, которые возглавляют продолжение разработки Bitcoin Core и отвечают за то, какой код попадает в новые версии этого программного обеспечения.

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

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

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

Жесткая вилка в правилах

Рис. 7.3. Жесткая вилка в правилах

Рассмотрим подробнее, что произойдет, если в правилах будет ответвление (форк). На рис. 7.3 изображен хардфорк. Есть цепочка блоков (блокчейн), создающая историю. И в какой-то момент в блокчейне, в результате разногласий по поводу правил, появится ответвление. Получится две ветви. Одна ветвь действительна в соответствии с набором правил A, но недействительна в соответствии с набором правил B. И наоборот, другая ветвь, которая действительна в соответствии с набором правил B и недействительна в соответствии с набором правил A.

Если произойдет хардфорк относительно того, какими должны быть правила, тогда будут какие-то транзакции, которые будут действительны в каждой из ветвей и будут какие-то недействительные только в одной из них. Как только эти ветви расходятся, они не могут объединиться, потому что одна ветвь является незаконной в соответствии с правилами B, а другая — незаконной в соответствии с правилами A. Они разделены навсегда. Валюту слева можно назвать биткойном, так как с ним все согласны.

После форка появляются две новые валюты, которые можно назвать A-койн, соответствующая набору правил A, и B-койн, соответствующая набору правил B. И в момент форка каждый имеющий один биткойн получит один A-койн и один B-койн. И с этого момента А-койн и В-койн будут существовать раздельно, как если бы они были двумя отдельными валютами.

Они могут действовать независимо. Группа A и группа B могут развить свои правила по-разному, и, конечно же, их цепочки блоков будут продолжать расти и, вероятно, противоречить друг другу.

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

После хардфорка есть два пути.

По первому пути идут, когда причиной форка стало не несогласие с правилами, а желание начать Альткойн. Это запуск новой криптовалюты с другими правилами. Кто-то пожелал сделать собственную валюту, и ему было удобно начать с набора правил, который очень близок к биткойну. Он счел удобным начать с блочной цепи биткойна и сделать форк от нее, как это было проиллюстрировано на рис. 7.3. В данном случае нет проблемы - Альткойн идет своим путем. Ветви сосуществуют мирно, кто-то из пользователей предпочитает биткойн, кто-то — Альткойн.

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

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

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

Терминологический словарь

ПО с открытым исходным кодом (англ. opensource software) — открытое программное обеспечение. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок – через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов.

Лицензия MIT (англ. MIT license) — лицензия открытого программного обеспечения, разработанная Массачусетским технологическим институтом. Лицензия MIT является одной из самых ранних свободных лицензий, так как она относительно проста и иллюстрирует некоторые из основных принципов свободного лицензирования. Она является разрешительной лицензией, то есть позволяет программистам использовать лицензируемый код в закрытом ПО при условии, что текст лицензии предоставляется вместе с этим ПО.

Форк (англ. fork — развилка, вилка) или ответвление — использование кодовой базы программного проекта в качестве старта для другого. При этом основной проект может как продолжать существование, так и прекратить его. Ответвленный проект может поддерживать и обмениваться частью содержимого с основным проектом, а может и приобрести абсолютно другие свойства, перестав иметь с базовым проектом что-то общее.

Хардфорком (англ. hard fork) называют разбиение блокчейна на две отдельные цепи в результате использования двух разных протоколов. Новый протокол также может разделить сеть, если все участники сети не следуют за ним. Например, Ethereum Classic возник в результате хардфорка Ethereum из-за разного понимания необходимых действий в ответ на взлом DAO.

Софтфорк (англ. soft fork) в отличие от хардфорка, софтфорк — это изменение протокола, в результате которого созданные блоки признаются действительными и старым программным обеспечением.

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >