Почему блокчейн?
Простая умственная модель для понимания "что" и "почему".
Блокчейн - это децентрализованное соглашение среди разнообразного набора участников о двух вещах:
Официальном порядке (реестре) транзакций.
Официальном состоянии мира, включая балансы счетов и состояние различных программ.
В современных блокчейнах, таких, как Ethereum, транзакции состоят из передачи балансов, создания новых программ и вызова функций существующих программ. Агрегированный результат всех транзакций до настоящего момента создает текущее состояние, поэтому согласие относительно (1) подразумевает согласие относительно (2).
В системе блокчейн установлен набор протокольных правил, которые описывают, как распределенный набор узлов, находящихся в настоящее время в синхронизации, будет взаимодействовать друг с другом, чтобы договориться о новом списке транзакций, которые каждый из них должен применить. Индукция поддерживает синхронизацию узлов: они начинают с одного и того же состояния и применяют те же самые транзакции, поэтому в конце применения нового списка транзакций у них по-прежнему есть согласованное состояние. (В тексте не углубляются в детали о том, как такая система узлов достигает согласия, но вы можете обратиться к документации по механизму консенсуса Monad для получения дополнительной информации.)
Общее глобальное состояние позволяет разработке децентрализованных приложений - приложений, которые существуют "на блокчейне", т.е. на каждом из узлов в системе блокчейн. Децентрализованное приложение - это набор кода (а также постоянное, специфичное для приложения состояние), который может быть вызван любым пользователем, который делает это, отправляя транзакцию, указывающую на функцию этого приложения. Каждый из узлов в блокчейне ответственен за правильное выполнение вызываемого байткода; дублирование обеспечивает честность каждого узла.
Пример приложения
Децентрализованные приложения могут реализовывать функциональность, которая обычно реализуется в централизованной форме. Например, очень простым примером децентрализованного приложения является Виртуальный Банк (обычно называемый в криптовалютной среде Протоколом Займов).
В физическом мире банк - это бизнес, который принимает депозиты и выдает их в кредит под более высокий процент. Банк зарабатывает разницу между высокой ставкой и низкой ставкой; заёмщик получает кредит для осуществления чего-то экономически продуктивного; а вы получаете проценты на свои депозиты. Все выигрывают!
Виртуальный Банк - это просто приложение с четырьмя основными методами: внесение депозита, вывод депозита, получение займа и погашение займа. Логика для каждого из этих методов в основном сводится к ведению бухгалтерии, чтобы убедиться, что депозиты и кредиты отслеживаются правильно:
class VirtualBank:
def deposit(self, sender, amount):
# перевести сумму от отправителя к себе (банку)
# выполнить внутреннюю бухгалтерию для зачисления отправителю
def withdraw(self, sender, amount):
# убедиться, что у отправителя достаточно средств на счету
# выполнить внутреннюю бухгалтерию для списания средств у отправителя
# перевести сумму от себя (банка) к отправителю
def borrow(self, sender, amount):
# ...
def repay(self, sender, amount):
# ...В Ethereum или в Monad кто-то может написать код для этого Виртуального Банка и загрузить его; затем любой может использовать его для займов и кредитования, потенциально намного проще, чем при попытке получить доступ к банковским услугам в своей стране.
Этот простой пример демонстрирует силу децентрализованных приложений. Вот несколько других преимуществ:
Открытые API / композиционность: децентрализованные приложения могут быть вызваны атомарно другими децентрализованными приложениями, позволяя разработчикам создавать более сложные функции, объединяя существующие компоненты.
Прозрачность: логика приложения выражается исключительно через код, поэтому любой может просмотреть логику для выявления побочных эффектов. Состояние прозрачно и поддается аудиту; доказательство резервов в DeFi является стандартом.
Устойчивость к цензуре и доверительная нейтральность: любой может отправлять транзакции или загружать приложения в сеть без разрешения.
Глобальный охват: любой с доступом к интернету может получить доступ к важным финансовым услугам, включая пользователей без банковского счета или с ограниченным доступом к банковским услугам.
Last updated