Читать книгу Блокчейн простыми словами. Технология биткоина и криптовалют (Ливай Гиллард) онлайн бесплатно на Bookz (2-ая страница книги)
Блокчейн простыми словами. Технология биткоина и криптовалют
Блокчейн простыми словами. Технология биткоина и криптовалют
Оценить:

5

Полная версия:

Блокчейн простыми словами. Технология биткоина и криптовалют

Логическая децентрализация

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

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

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

Преимущества децентрализации

По сравнению с централизованными системами децентрализованные системы обладают несколькими важными преимуществами:

Отказоустойчивость

В централизованной системе возможна единая точка отказа: сбой центрального сервера может остановить работу сервиса. Распределённая система способна продолжать работу даже при отключении части узлов.

В 2021 году Facebook, Instagram и WhatsApp простояли шесть часов из-за ошибки в настройках. Это затронуло миллиарды пользователей по всему миру. Биткоин никогда не сталкивался с подобными сбоями, поскольку у него нет центрального сервера.

Устойчивость к атакам

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

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

Сопротивление цензуре

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

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

Снижение зависимости от контрагента

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

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

Цена децентрализации

Децентрализация даёт важные преимущества, но требует компромиссов:

Эффективность

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

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

Управление

Управление децентрализованной системой сложно: нет единого органа, который мог бы быстро принять решение. Например, обсуждение размера блока в сети Биткоина продолжалось несколько лет, поскольку сообщество не могло договориться, как повысить пропускную способность.

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

Пользовательский опыт

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

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

Потребление энергии

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

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

Степень децентрализации

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

Рассмотрим Ethereum. Сеть децентрализована по сравнению с традиционными финансовыми системами, но некоторые её компоненты могут зависеть от относительно небольшого числа участников:

Распределение узлов: узлы Ethereum распределены по всему миру, что обеспечивает отказоустойчивость и устойчивость к цензуре.

Разработка: разработка Ethereum частично координируется сообществом и организациями, в том числе Ethereum Foundation, которая влияет на дорожную карту проекта.

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

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

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

Децентрализация на практике

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

Хранение файлов

Традиционные облачные хранилища, такие как Google Drive или Dropbox, являются централизованными. Ваши файлы хранятся на серверах компаний, а доступ к ним осуществляется через их приложения.

Децентрализованные системы хранения, например IPFS (InterPlanetary File System) и Filecoin, позволяют хранить и распространять данные между разными узлами, снижая зависимость от одного поставщика.

Преимущества: отсутствие единой точки отказа, устойчивость к цензуре, возможное снижение затрат.

Недостатки: сложность использования, непостоянная скорость поиска, относительно молодая экосистема.

Социальные сети

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

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

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

Недостатки: более сложный пользовательский интерфейс, сложность достижения сетевого эффекта, проблемы с модерацией.

Система доменных имён

Традиционная система доменных имён (DNS) преобразует удобочитаемые для человека доменные имена (например, «google.com») в IP-адреса, понятные компьютерам. Эта система имеет иерархическую структуру и в конечном итоге контролируется ICANN и правительствами разных стран.

Системы именования на основе блокчейна, например Ethereum Name Service (ENS) и Handshake, предлагают децентрализованный способ учёта прав на доменные имена.

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

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

Сетевой эффект и децентрализация

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

Социальные сети, платёжные системы и торговые площадки выигрывают от сетевого эффекта. Facebook ценен тем, что им пользуются ваши друзья; банковские карты удобны, потому что их принимают продавцы; Amazon — потому что на площадке много товаров и продавцов.

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

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

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

Другие децентрализованные системы пробуют использовать другие подходы:

Стимулирование с помощью токенов: ранние пользователи получают вознаграждение в виде токенов, стоимость которых может расти по мере развития сети.

Управление сообществом: предоставление держателям токенов права голосовать по вопросам обновления сети и распределения ресурсов.

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

Межсетевая совместимость: возможность запуска децентрализованных приложений в нескольких блокчейн-сетях.

Будущее децентрализации

Степень децентрализации бывает разной. Она зависит от потребностей конкретной системы.

Некоторые приложения получают значительные преимущества от полной децентрализации:

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

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

Децентрализованные автономные организации: организации, функционирующие в соответствии с запрограммированными правилами, не требующие ручного управления.

Другие приложения могут извлечь выгоду из гибридного подхода, сочетающего некоторые преимущества децентрализации и некоторые преимущества централизации:

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

Цифровая идентификация: предоставление пользователям контроля над своей идентичностью при одновременном обеспечении услуг по верификации со стороны организаций.

Рынки прогнозов: использование децентрализованных систем для прозрачных и устойчивых к цензуре ставок при одновременной интеграции с централизованными источниками данных.

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

Выбор в пользу децентрализации

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

Какие конкретные преимущества децентрализации есть для данного сценария использования? Не все приложения могут извлечь выгоду из децентрализации.

Каковы затраты и компромиссы? Децентрализованные системы обычно требуют уступок в плане эффективности, пользовательского опыта или функциональности.

Насколько система децентрализована на практике? Многие проекты заявляют о децентрализации, но сохраняют важные централизованные компоненты.

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

Каковы риски централизации? Подумайте, что произойдёт, если централизованный сервис закроется, подвергнется взлому или начнёт действовать против интересов пользователей.

Подготовка к смарт-контрактам

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

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

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

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

Глава 3. Смарт-контракты — программирование доверия

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

Это не научная фантастика. Такие программы уже существуют сегодня, и они называются смарт-контрактами.

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

Что такое смарт-контракт?

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

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

Термин «смарт-контракт» предложил специалист по информатике Ник Сабо (Nick Szabo) ещё в 1990-х годах, задолго до появления блокчейна. Он предполагал, что программное и аппаратное обеспечение сможет сделать нарушение условий соглашения сложным или слишком дорогим.

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

Как работают смарт-контракты

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

Смарт-контракты работают иначе: их условия записаны в виде кода, который исполняется в блокчейне. Если попытка провести операцию не соответствует правилам контракта, она отклоняется.

Рассмотрим пример. Алиса хочет купить у Боба цифровое произведение искусства за криптовалюту на сумму 100 долларов. Для сделки они могут использовать смарт-контракт.

Алиса и Боб согласуют условия: Алиса переводит криптовалюту на сумму 100 долларов, а Боб передаёт ей цифровой актив.

Затем они создают смарт-контракт с правилом: «Если Алиса отправит в контракт криптовалюту на сумму 100 долларов, цифровой актив перейдёт ей, а средства будут перечислены Бобу».

Алиса отправляет криптовалюту в смарт-контракт. После подтверждения операции контракт передаёт ей цифровой актив, а Бобу — платёж.

Алисе и Бобу не обязательно доверять друг другу при проведении такой сделки: им нужно убедиться, что код контракта делает именно то, о чём они договорились, а сеть выполняет его корректно.

Компоненты смарт-контракта

Смарт-контракт состоит из нескольких ключевых компонентов:

Логика кода

Основа любого смарт-контракта — программная логика: набор правил, определяющих его поведение. Код задаёт условия, при которых выполняются различные операции.

Например, смарт-контракт для краудфандинговой кампании может содержать следующую логику:

«Если к концу срока сбора средств достигнута целевая сумма, деньги перечисляются создателю проекта».

«Если срок истёк, а целевая сумма не собрана, участники могут вернуть свои взносы».

Переменные состояния

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

Простой контракт на токены может иметь следующие переменные состояния:

Общий объем предложения токенов

Количество токенов, принадлежащих каждому адресу

Кто имеет право выпускать новые токены

Функции

Функции — это части программы, которые вызывают для взаимодействия со смарт-контрактом. Некоторые доступны всем, другие — только определённым пользователям.

Контракт токена может иметь следующие функции:

transfer(получатель, сумма): перевод токенов с одного адреса на другой

approve(spender, amount): разрешить другому счету тратить токены от вашего имени

mint(to, amount): выпуск новых токенов (только для уполномоченных адресов)

События

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

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

Ethereum: платформа для смарт-контрактов

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

Ethereum включает виртуальную машину Ethereum Virtual Machine (EVM), которая выполняет код смарт-контрактов. Её вычислительная модель обладает полнотой по Тьюрингу: в теории она позволяет реализовать любые вычисления, которые можно описать алгоритмом.

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

В Solidity очень простой смарт-контракт может выглядеть следующим образом:

```solidity

contract SimpleStorage {

uint256 storedData;

function set(uint256 x) public {

storedData = x;

}

function get() public view returns (uint256) {

return storedData;

}

}

```

Этот контракт позволяет сохранять число и позже считывать его. Даже в таком простом примере видны переменная состояния storedData и функции set и get для работы с ней.

Применение смарт-контрактов на практике

С помощью смарт-контрактов можно реализовывать приложения, создание которых с помощью традиционных технологий затруднительно или невозможно:

Децентрализованные финансы (DeFi)

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

Кредитные протоколы: смарт-контракты позволяют пользователям предоставлять криптовалюту в долг под проценты или занимать её под залог. Если залог становится недостаточным, протокол может автоматически ликвидировать позицию.

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

Автоматический маркетмейкер: механизм на основе смарт-контракта, позволяющий торговать через пул ликвидности и определять цены по заданной формуле.

«Фарминг доходности»: смарт-контракты, вознаграждающие пользователей за предоставление ликвидности или участие в различных протоколах DeFi.

Невзаимозаменяемые токены (NFT)

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

Смарт-контракт может определять:

Кто является владельцем каждого NFT

Как происходит передача NFT

Роялти, получаемые автором от вторичной продажи

Метаданные, связанные с каждым NFT

Децентрализованная автономная организация (DAO)

DAO — это организация, функционирующая на основе правил, заложенных в смарт-контрактах, а не в рамках традиционной иерархии управления.

DAO может использовать смарт-контракты для:

управления финансами и принятия решений о расходах путём голосования участников

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

управления обновлениями протокола и изменением его параметров

учёта участников и их права голоса

Страхование

Смарт-контракт может автоматически выплачивать страховое возмещёние, если данные из проверенного внешнего источника подтверждают наступление страхового случая.

Страхование задержки рейсов: смарт-контракт получает данные о рейсе от внешнего сервиса и автоматически выплачивает компенсацию при выполнении заданных условий.

Страхование урожая: если определенные условия указывают на повреждение урожая, смарт-контракт выплачивает фермерам компенсацию на основе данных о погоде.

Страхование по параметрам: страхование с автоматической выплатой компенсации при достижении заданных параметров, не требующее оценки ущерба.

Преимущества смарт-контрактов

По сравнению с традиционными договорами смарт-контракты обладают рядом значительных преимуществ:

Автоматизация

Смарт-контракты автоматически исполняются при выполнении условий. Это устраняет необходимость ручной обработки и сокращает время между срабатыванием события и исполнением контракта.

Выполнение без необходимости доверия

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

Прозрачность

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

Неизменяемость

После развёртывания смарт-контракт обычно трудно изменить. Это помогает сохранить правила, о которых заранее договорились стороны.

Глобальная доступность

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

Экономическая эффективность

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

Ограничения и риски

У смарт-контрактов есть и существенные ограничения, о которых пользователям необходимо знать:

Ошибки в коде

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

Хакерская атака на DAO в 2016 году наглядно продемонстрировала этот риск. Уязвимость в смарт-контракте позволила злоумышленникам похитить эфир на сумму около 60 миллионов долларов, что в конечном итоге привело к спорному хард-форку сети Ethereum.

Проблемы с оракулами

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

Это приводит к «проблеме оракулов» — как внедрить достоверные внешние данные в смарт-контракт. Оракул — это сервис, предоставляющий внешние данные смарт-контрактам, однако он вводит элементы централизации и требует доверия.

bannerbanner