
Полная версия:
Блокчейн простыми словами. Технология биткоина и криптовалют
Неизменяемость
Хотя неизменяемость может быть преимуществом, она также означает, что после развертывания внести полезные изменения или исправить ошибки бывает сложно или невозможно.
Некоторые смарт-контракты содержат механизмы обновления, но они, как правило, требуют доверия к разработчикам, контролирующим ключи обновления.
Масштабируемость
Многие блокчейн-сети обрабатывают ограниченное число операций в секунду. При высокой нагрузке исполнение смарт-контрактов может замедляться, а комиссии — расти.
Правовое признание
Во многих юрисдикциях правовой статус смарт-контрактов по-прежнему остаётся неопределённым. В случае непредвиденного поведения смарт-контракта может быть неясно, какие правовые меры защиты можно применить.
Пользовательский опыт
Взаимодействие со смарт-контрактами обычно требует технических знаний в области блокчейн-транзакций, комиссий за газ и управления кошельками. Такая сложность ограничивает их внедрение на массовом рынке.
Безопасность смарт-контрактов
Поскольку смарт-контракты обычно обрабатывают ценные активы и после развертывания их невозможно легко изменить, безопасность имеет решающее значение. Разработчики используют различные методы для повышения безопасности смарт-контрактов:
Аудит кода
Перед публикацией специалисты по безопасности проверяют код смарт-контрактов на уязвимости. Аудит бывает дорогим и не гарантирует, что будут найдены все ошибки.
Формальная верификация
Математические методы, позволяющие доказать определенные свойства кода смарт-контракта. Этот подход более строгий, чем традиционное тестирование, но при этом более сложный и дорогостоящий.
Вознаграждения за обнаружение уязвимостей
Программы вознаграждения исследователей за обнаруженные уязвимости помогают привлекать больше специалистов к проверке безопасности и поощряют ответственное раскрытие ошибок.
Поэтапное внедрение
Сначала размещают смарт-контракты с ограниченными возможностями и небольшими объёмами средств, а затем, по мере проверки надёжности кода, постепенно расширяют функциональность.
Контроль с помощью мультиподписи
Требование одобрения ключевых действий несколькими сторонами снижает риск возникновения единой точки отказа.
Несмотря на эти меры безопасности, уязвимости смарт-контрактов по-прежнему могут приводить к значительным убыткам. Пользователи должны осознавать, что взаимодействие со смарт-контрактами (особенно с новыми или неаудированными) сопряжено с рисками.
Экономика смарт-контрактов
Исполнение смарт-контрактов в блокчейн-сети требует оплаты. В Ethereum вычислительные операции оплачиваются комиссией, размер которой выражается в единицах газа (gas).
Эти комиссии служат нескольким целям:
Предотвращение спама: введение платы за транзакции позволяет предотвратить переполнение сети бесполезными транзакциями.
Вознаграждение валидаторов: комиссии за транзакции выплачиваются майнерам или валидаторам, обеспечивающим безопасность сети.
Распределение ресурсов: более сложные операции требуют большего количества «газа», что обеспечивает эффективное использование ресурсов сети.
Стоимость газа колеблется в зависимости от нагрузки на сеть. В периоды высокой активности в сети стоимость газа может стать чрезвычайно высокой, что приводит к недоступности некоторых приложений на основе смарт-контрактов.
Это привело к развитию решений второго уровня и альтернативных блокчейн-сетей, которые обеспечивают более низкие комиссии и более высокую скорость обработки транзакций.
Разработка смарт-контрактов
Создание безопасных смарт-контрактов требует специальных знаний и внимания к вопросам безопасности. Обычно разработка включает следующие этапы:
Анализ требований
Определение требований к контракту и выявление нестандартных ситуаций и рисков безопасности.
Проектирование
Создание общей архитектуры и выбор подходящих шаблонов проектирования. К распространённым шаблонам относятся контроль доступа, механизмы обновления и аварийная остановка.
Реализация
Написание кода, например на Solidity для Ethereum или Rust для других платформ.
Тестирование
Проведение модульных, интеграционных и сценарных тестов. Во многих проектах используют также инструменты автоматического создания тестовых сценариев и формальной проверки свойств контракта.
Аудит
Перед развертыванием в основной сети код должен быть проверен внешними экспертами по безопасности.
Развертывание
Размещёние контракта в блокчейне и проверка его работы.
Мониторинг
Постоянное наблюдение за поведением контракта, возможными уязвимостями и необходимыми улучшениями.
Решения второго уровня и смарт-контракты
Из-за высоких комиссий и ограниченной пропускной способности основных блокчейн-сетей появились решения второго уровня. Они обрабатывают часть операций вне основной цепочки, используя её для подтверждения результатов и обеспечения безопасности.
Такие решения позволяют проводить операции со смарт-контрактами дешевле и быстрее:
Каналы состояния: стороны обмениваются сообщениями вне блокчейна, а итоговое состояние фиксируют в основной сети.
Сайдчейны: независимые блокчейны, подключенные к основной сети через мосты.
Роллапы: объединяют множество операций и передают данные или подтверждения их результатов в основную сеть.
Эти подходы помогают сделать смарт-контракты удобнее для повседневного использования, хотя их свойства безопасности различаются.
Интероперабельность и межсетевые смарт-контракты
С появлением множества блокчейн-сетей растёт интерес к смарт-контрактам, способным работать на разных блокчейнах.
Межсетевые мосты помогают перемещать активы между блокчейнами и использовать ликвидность разных сетей.
Межсетевые протоколы позволяют смарт-контрактам одной сети инициировать действия в другой, создавая более сложные приложения.
Будущее смарт-контрактов
Технология смарт-контрактов продолжает быстро развиваться. Следующие тенденции определяют её будущее:
Усовершенствованные языки программирования
Новые языки программирования помогают упростить разработку безопасных смарт-контрактов и анализ их поведения.
Улучшенные инструменты разработки
Интегрированные среды разработки, тестовые фреймворки и инструменты отладки упрощают разработку смарт-контрактов.
Формальная верификация
Методы математического доказательства свойств программ становятся доступнее и находят более широкое применение при разработке смарт-контрактов.
Смарт-контракты с защитой конфиденциальности
Доказательства с нулевым разглашением и другие криптографические методы позволяют выполнять смарт-контракты в конфиденциальном режиме без раскрытия конфиденциальной информации.
Интеграция искусственного интеллекта
Исследователи изучают способы сочетать искусственный интеллект и машинное обучение со смарт-контрактами для создания более гибких автоматизированных систем.
Оценка проектов по смарт-контрактам
Если вы собираетесь использовать приложение со смарт-контрактами или инвестировать в такой проект, оцените несколько обстоятельств:
Прошел ли код аудит со стороны авторитетной компании, специализирующейся на безопасности?
Является ли код открытым и доступен ли он для проверки?
Как долго проект работает без серьезных проблем?
Существует ли механизм обновлений? Кто им управляет?
Что произойдет, если команда проекта исчезнет или с ней потеряется связь?
Как защищаются источники информации оракула и кто их предоставляет?
Каковы экономические стимулы для всех участников?
Подготовка к следующей главе
Смарт-контракты позволяют перейти от ручного исполнения соглашений к выполнению правил, закреплённых в коде. Вместо того чтобы во всём полагаться на организацию-посредника, участники могут проверять программу и её исполнение.
Этот переход имеет далеко идущие последствия для того, как мы организуем экономическую деятельность, создаём организации и координируем масштабное сотрудничество людей.
В следующей главе мы поговорим о прозрачности и неизменяемости записей — ещё одном важнейшем свойстве блокчейна. Посмотрим, как оно помогает в управлении цепочками поставок, при голосовании и в других областях, где особенно важны проверяемость и подотчётность.
Понимание сути смарт-контрактов и принципа прозрачности позволит нам в последующих главах изучить конкретные отраслевые применения и увидеть, как эти технологии можно внедрять для решения реальных проблем.
Глава 4. Прозрачность и неизменяемость — записи, которым можно доверять
Представьте, что важные записи хранятся так, что изменить или удалить их крайне сложно, а проверить подлинность может каждый. Что вы можете проследить путь товара от производства до покупки или убедиться, что результаты выборов нельзя незаметно переписать.
Это не просто мечта. Блокчейн уже позволяет создавать системы с таким уровнем прозрачности и защиты записей.
Два ключевых свойства блокчейна — прозрачность и неизменяемость. Первое означает, что данные в публичном блокчейне доступны для просмотра. Второе — что однажды внесённую запись крайне сложно изменить или удалить.
Вместе эти свойства позволяют участникам проверять записи и обнаруживать попытки переписать историю операций.
Как работает неизменяемость
Неизменяемость не означает абсолютной невозможности исправить данные. Скорее, чем больше времени проходит после записи, тем труднее и дороже её изменить.
Вот как это работает:
Каждый новый блок содержит криптографический хеш предыдущего. Подобно отпечатку пальца, этот хеш связан с содержимым блока и позволяет обнаруживать изменения.
Если кто-то попытается изменить данные в старом блоке, он тем самым изменит и хеш этого блока. Однако следующий блок уже содержит исходный хеш, поэтому такое изменение будет немедленно обнаружено.
Чтобы подделать старую запись, злоумышленнику пришлось бы изменить соответствующий блок, а затем пересчитать связанные с ним последующие блоки. Чем глубже блок в цепочке, тем сложнее такая атака.
В блокчейнах с алгоритмом доказательства работы, таких как Биткоин, злоумышленнику необходимо контролировать вычислительную мощность, превышающую совокупную мощность остальной части сети, чтобы успешно переписать историю.
По мере добавления новых блоков изменить старые записи становится всё труднее. Недавнюю транзакцию теоретически ещё можно отменить при определённых условиях, но переписать историю многомесячной давности чрезвычайно сложно.
Сила прозрачности
Прозрачность блокчейна устроена иначе, чем привычная нам открытость организаций. В традиционной системе мы доверяем тем, кто публикует сведения. Публичный блокчейн позволяет независимо проверить сами записи.
Рассмотрим следующие примеры:
Государственная отчётность: когда власти публикуют бюджетные данные, гражданам приходится полагаться на полноту этих сведений. При этом неудобные детали могут быть опущены, а выводы — представлены односторонне.
Прозрачность блокчейна: если данные записаны в публичный блокчейн, их можно проверить независимо от того, кто их опубликовал. Криптографические механизмы помогают убедиться, что записи не изменились.
Корпоративная отчётность: инвесторы анализируют финансовые отчёты компаний и полагаются на работу бухгалтеров и аудиторов. Однако отчёты не исключают ошибок или мошенничества.
Цепочки поставок: записи в блокчейне могут помочь покупателям проследить происхождение товара и проверить документы о его качестве и подлинности.
Такая проверяемость может повысить подотчётность организаций и укрепить доверие к информации.
Уровни прозрачности
Не все блокчейн-системы одинаково прозрачны. Существуют разные уровни открытости:
Публичные блокчейны
Публичные блокчейны, такие как Биткоин и Ethereum, открывают доступ к истории транзакций и активности сети. Это облегчает независимую проверку, но одновременно создаёт риски для конфиденциальности.
Частные блокчейны
В частных блокчейнах доступ ограничен уполномоченными участниками. Они могут совместно проверять записи, не раскрывая их широкой публике.
Сети с ограниченным участием
В некоторых блокчейнах любой может читать данные, но добавлять записи или участвовать в консенсусе разрешено лишь определённым участникам. Так сочетаются публичная проверяемость и контроль доступа.
Системы с нулевым разглашением
Криптографические методы могут позволять проверять определённые свойства транзакции, например её действительность, не раскрывая подробностей, таких как сумма или данные участников.
Прозрачность на практике
Рассмотрим несколько примеров того, как используется прозрачность блокчейна:
Отслеживание цепочки поставок
Традиционные цепочки поставок часто непрозрачны. Покупая товар, вы обычно не знаете, откуда поступило сырьё, в каких условиях его производили и можно ли доверять заявлениям об экологичности.
Блокчейн помогает фиксировать путь товара по этапам:
Сырьё: источник материалов, сертификаты качества и сведения о воздействии на окружающую среду.
Производство: условия труда, потребление энергии и результаты контроля качества.
Транспортировка: способ, сроки и условия перевозки.
Розничная торговля: проверка подлинности и доступ покупателей к истории товара.
Например, Walmart использует блокчейн для отслеживания пути продуктов от фермы до магазина. При обнаружении загрязнения это помогает быстрее определить его источник и сократить объём отзываемой продукции.
Благотворительные пожертвования
Благотворительные организации тоже сталкиваются с вопросами доверия. Жертвователи хотят знать, на что пошли их деньги, но обычно располагают лишь общей информацией.
Благотворительные платформы на основе блокчейна могут обеспечить полную прозрачность:
Отслеживание пожертвований: запись времени переводов и сведений о жертвователях с учётом требований конфиденциальности.
Распределение средств: сведения о том, какие суммы направлены разным проектам и получателям.
Оценка результатов: фиксация измеримых итогов и их связи с конкретными пожертвованиями.
Административные расходы: разбивка затрат на работу организации и реализацию проектов.
Такая прозрачность укрепляет доверие доноров и может способствовать увеличению общего объема благотворительных пожертвований.
Системы голосования
Традиционные выборы требуют доверия к избирательным комиссиям, техническим системам и подсчёту голосов. Избирателю трудно самостоятельно убедиться, что его голос учтён правильно, а итоговый результат точен.
Системы голосования на основе блокчейна стремятся сочетать прозрачность с защитой тайны голосования:
Регистрация: каждый голос фиксируется в виде записи, которую можно проверить.
Личная проверка: избиратель может убедиться, что его голос учтён, не раскрывая свой выбор другим людям.
Общественная проверка: независимые наблюдатели могут сверять записи и проверять итоговый подсчёт.
Защита от подмены: попытки изменить уже записанные голоса должны выявляться средствами проверки.
При этом блокчейн не снимает проблем безопасности голосования, сохранения тайны выбора и удобства системы для избирателей.
Реестры недвижимости
Учёт прав на недвижимость важен для экономики, но традиционные реестры не всегда защищены от ошибок, потери документов и мошенничества:
бумажные документы могут быть утеряны, повреждены или подделаны;
Централизованные базы данных могут быть взломаны или повреждены.
Передача собственности часто требует множества проверок, из-за чего сделки затягиваются и дорожают.
Реестр на основе блокчейна может обеспечить:
Историю владения: последовательные записи о прежних владельцах и сделках.
Защиту от мошенничества: криптографические доказательства делают подделку документов о праве собственности практически невозможной.
Упрощение передачи права собственности: автоматизированные проверки могут сократить сроки и расходы.
Глобальная доступность: возможность доступа к записям о собственности и их проверки из любой точки мира.
Ряд стран, таких как Эстония и Грузия, уже внедрили систему регистрации собственности на основе блокчейна и добились обнадеживающих результатов.
Образование
Поддельные дипломы — серьёзная проблема: их нетрудно купить в интернете, а проверка подлинности документов иногда занимает много времени.
Система проверки дипломов на основе блокчейна может помочь решить эту проблему:
Защита от подделок: криптографическая подпись помогает отличить подлинный диплом от фальшивого.
Быстрая проверка: работодатели могут проверить происхождение диплома без обращения в выдавшее его учебное заведение.
История обучения: записи о квалификации можно собирать из разных учебных заведений.
Контроль со стороны выпускников: владелец диплома решает, кому предоставить доступ к своему сертификату.
Массачусетский технологический институт (MIT) уже опробовал дипломы на основе блокчейна, а несколько других университетов также изучают возможность внедрения аналогичных систем.
Проблемы прозрачности
Прозрачность полезна, но у неё есть и свои ограничения:
Конфиденциальность
Полная открытость данных может противоречить требованиям защиты персональной информации, финансовых операций и коммерческой тайны.
Для защиты конфиденциальных данных можно использовать несколько подходов:
Доказательства с нулевым разглашением, позволяющие проверять утверждения, не раскрывая самих данных.
Блокчейны с защитой конфиденциальности, скрывающие детали транзакций при сохранении возможности проверки.
Гибридные системы, в которых публично доступна только часть сведений, а остальные данные защищены.
Информационная перегрузка
Избыточная открытость тоже может мешать. Человеку без технической подготовки трудно разобраться в исходных данных блокчейна и выделить главное.
Эффективная система прозрачности требует:
удобного для пользователя интерфейса, четко представляющего информацию;
Инструментов поиска и фильтрации, помогающих быстро находить нужные сведения.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
Всего 10 форматов

