:RU: Почему важен открытый исходный код

Перевод статьи https://cexplorer.io/article/why-open-source-matters

Исходный код блокчейн проектов должен быть с открытым исходным кодом. Это означает, что он открыт и общедоступен для всех. Люди могут увидеть, как работает протокол, и убедиться, что в нем нет багов или даже бэкдоров. В сообществе Cardano были (и до сих пор есть) дебаты о том, должны ли проекты DeFi также быть с открытым исходным кодом. Давайте поговорим об этом.

Прозрачность - один из принципов децентрализации

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

Вот почему у Cardano открытый исходный код, вся научная работа команды IOG находится в открытом доступе, и ничто не запатентовано. Любой может использовать все, что разработала IOG. Можно взять исходный код протокола и запустить проект, который будет почти идентичен Cardano.

В протоколе Polkadot вы найдете модифицированный PoS Ouroboros. Команда Ethereum в восторге от системы одноразовых подписей. Команда IOG использовала Parity Substrate для создания фреймворка партнерских цепочек.

Открытый исходный код ускоряет развитие криптоиндустрии, так как команды могут использовать работу других проектов.

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

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

Должны ли команды, создающие приложения, подходить к разработке так же, как команды, создающие блокчейн? Это логичное ожидание.

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

Если исходный код приложения (смарт контракт, скрипт и т.д.) не опубликован, проект непрозрачен. У пользователей нет возможности доверять коду, поэтому они должны доверять команде.

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

Преимущества приложений с открытым исходным кодом

Блокчейн - это механизм доверия. То же самое касается приложений. Или, скорее, пользователи ожидают этого.

Целью децентрализации является одноранговое взаимодействие (P2P). Необходимо обеспечить доверие между участниками, которые не знают друг друга и/или не доверяют друг другу.

Протокол Cardano обеспечивает P2P-взаимодействие посредством транзакций. Эти транзакции являются безусловными.

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

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

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

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

Вместо того, чтобы участники читали контракт, они должны доверять команде, что приложение будет вести себя так, как обещано.

Взаимодействие между участниками обеспечивается обещанием, то есть доверием к команде.

Скрипты Plutus обычно блокируют токены и освобождают их только при выполнении определенного условия. Например, 1000 ADA могут быть освобождены только в том случае, если 500 токенов Y отправлены на адрес X.

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

Если исходный код скрипта не является общедоступным и не может быть проверен, такое скрытое условие может существовать.

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

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

Проекты с открытым исходным кодом можно считать более безопасными.

Почему команды не хотят публиковать исходный код смарт контрактов?

Может быть много причин, по которым команды не публикуют исходный код смарт контрактов и скриптов. Иногда публикуются только некоторые части приложений.

Одна из главных причин - конкурентная среда. Команды вкладывают деньги, время и усилия в разработку приложений, и они не хотят, чтобы их работой легко и свободно пользовался кто-то другой. Это абсолютно логично и объяснимо.

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

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

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

Некоторые пользователи настаивают на открытом исходном коде и требуют его в качестве необходимого условия для использования приложения. Однако некоторые пользователи заинтересованы в других аспектах приложения (UX, комиссии и т.д.) и готовы доверять команде.

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

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

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

Вывод

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

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

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском языке можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano? Тогда приглашаем в наше уютное русскоязычное сообщество Cardano в Telegram. Оставайтесь на связи, все только начинается!