История умных контрактов: приключение, начатое Ником Сабо

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

Введение

Привет, Хабр! С вами Арарат, разработчик умных контрактов и руководитель курса по Solidity на платформе Otus. Наши дни наполнены вопросами о криптовалютах, блокчейне и, в частности, умных контрактах. Исследование этих тем - это не просто изучение технологий, но и проникновение в философию, лежащую в основе их создания.

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

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

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

Часть 1: Изначальный Импульс - Ник Сабо и Эпоха Разработки Концепции

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

Первая публикация Сабо о смарт контрактах
Первая публикация Сабо о смарт контрактах

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

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

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

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

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

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

Ник Сабо (Nick Szabo)
Ник Сабо (Nick Szabo)

Часть 2: Биткоин - начало эпохи криптовалют

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

Обложка The Times, заголовок с которой попал в нулевой блок Bitcoin
Обложка The Times, заголовок с которой попал в нулевой блок Bitcoin

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

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

Некоторые разработчики, вроде Майка Хирн и Джереми Рубин, пытались исследовать возможности Биткоина для создания умных контрактов. Они пытались использовать Bitcoin Script для создания примитивных умных контрактов, но их возможности были сильно ограничены функциональностью и безопасностью языка.

Пример одного такого контракта в Bitcoin Script может выглядеть так:

OP_IF
    OP_SHA256 [hash of secret] OP_EQUALVERIFY OP_DUP OP_HASH160 [receiver pubkey hash]
OP_ELSE
    [locktime] OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 [sender pubkey hash]
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG

Этот контракт называется Hashed Timelock Contract (HTLC), оно позволяет двум участникам обмениваться средствами, устанавливая для этого временной лимит и секретное число для раскрытия сделки. Тем не менее, это лишь одно из ограниченного числа возможностей использования Bitcoin Script для создания умных контрактов. Ключевая особенность заключается в том, что Bitcoin Script не совместим с машиной Тьюринга. В отличие от полноценных языков программирования, способных выполнять любой алгоритм (как в машине Тьюринга), Bitcoin Script не является "полным по Тьюрингу". Это означает, что Bitcoin Script неспособен выполнить определенные операции или функции. Такой подход был изначально выбран разработчиками Биткоина с целью обеспечения безопасности, чтобы исключить возможность злоупотреблений и атак на сеть.

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

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

Часть 3: Ethereum - Умные Контракты Становятся Реальностью

Ethereum, появившийся на свет благодаря амбициозному плану Виталика Бутерина в 2013 году, открыл новую главу в истории умных контрактов. Эта платформа представляла собой открытый блокчейн, поддерживающий полноценные умные контракты, и обеспечивала их безопасное исполнение. Бутерин осознавал потенциал, который могли бы предложить умные контракты, и сформулировал свою визию Ethereum в его исходном Whitepaper. От момента зарождения идеи до запуска первого блока прошло два года. Официальный запуск Ethereum состоялся в июле 2015 года.

Чарльз Хоскинс занимал должность генерального директора, но ушел в 2014 году, чтобы основать Cardano (ADA). Гэвин Вуд работал техническим директором сети Ethereum, но покинул пост в 2016 году, чтобы запустить Polkadot (DOT)
Чарльз Хоскинс занимал должность генерального директора, но ушел в 2014 году, чтобы основать Cardano (ADA). Гэвин Вуд работал техническим директором сети Ethereum, но покинул пост в 2016 году, чтобы запустить Polkadot (DOT)

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

Умные контракты Ethereum обладают широчайшим спектром применений. Они использовались для создания dApps, от финансовых сервисов и игр до децентрализованных бирж. Добавление стандарта ERC-20 позволило легко создавать новые токены, что стало основой для ICO, и привело к буму криптовалют в 2017 году.

Более того, умные контракты Ethereum использовались для создания децентрализованных автономных организаций DAO. DAO - это организация, управляемая программным кодом, в которой решения принимаются на основе голосования участников. Один из наиболее известных примеров DAO - это The DAO, который собрал более $150 миллионов в течение своего ICO в 2016 году.

Однако, успех Ethereum был омрачен серьезным событием в 2016 году, когда произошел один из самых известных взломов в истории блокчейна - взлом The DAO. Из-за ошибки в коде умного контракта DAO было украдено более 50 миллионов долларов. Этот код, содержащий уязвимость, выглядел примерно так:

function splitDAO(uint _proposalID, address _newCurator) noEther onlyTokenholders returns (bool _success) {

    Proposal p = proposals[_proposalID];

    if (!p.splitData[0].split) throw;

    ...

    if (p.amount > actualBalance())
        throw;

    ...

    withdrawRewardFor(msg.sender);
    uint fundsToBeMoved = (balances[msg.sender] * p.amount) / totalSupply;
    if (!p.splitData[0].newDAO.createTokenProxy.value(fundsToBeMoved)(msg.sender))
        throw;

    ...

    return true;
}

Уязвимость была в том, что вызов p.splitData[0].newDAO.createTokenProxy.value(fundsToBeMoved)(msg.sender) позволял злоумышленнику вызвать функцию withdrawRewardFor(msg.sender) повторно до того, как баланс был обновлен, что привело к тому, что злоумышленник смог похитить больше эфира, чем он имел право.

Это событие подчеркнуло риски и сложности, связанные с использованием умных контрактов, и подчеркнуло необходимость более тщательного тестирования и аудита кода. Виталик Бутерин, в своем ответе на взлом The DAO, написал:

Мы должны изучить и внедрить все уроки, полученные из этого инцидента, и использовать его как важное учебное пособие для всего сообщества. The DAO Hack

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

Часть 4: Расцвет Умных Контрактов - Современное Состояние и Будущее Перспективы

Несмотря на все проблемы и сложности, умные контракты продолжают свое стремительное развитие, эволюционируя и адаптируясь к меняющемуся цифровому ландшафту. Они стали краеугольным камнем dApps и Децентрализованный финансовый сервис</p>" data-abbr="DeFi">DeFi, играя критическую роль в формировании современного криптовалютного пейзажа.

Проект Compound, созданный Робертом Лешнером и Джеффри Хейзусом, стал воплощением успешного применения умных контрактов в DeFi. С использованием умных контрактов, Compound автоматизирует процесс кредитования и накопления процентов на вкладах в криптовалюту, предоставляя пользователю полный контроль над своими активами и упрощая механику финансовых взаимодействий. Подробнее о механизмах работы проекта можно прочитать в их Whitepaper.

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

Экосистема DeFi по отраслям от Tokeny, 2022-23 год
Экосистема DeFi по отраслям от Tokeny, 2022-23 год

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

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

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

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

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

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

Заключение: Переход к Новой Эре

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

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

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

Также приглашаю вас на бесплатный вебинар, где я расскажу про основные концепции Solidity: типы данных, функции, события. Мы погрузимся в практическую работу, разработав и задеплоив смарт-контракт на Solidity с использованием инструмента HardHat. Разберем основы работы с Metamask для обеспечения взаимодействия пользователя с децентрализованными приложениями, познакомимся с принципами взаимодействия между фронтендом и смарт-контрактами, используя библиотеку Web3.js, и применим эти знания для создания dApp. Это будет интересным и продуктивным началом изучения блокчейн-технологий. Регистрируйтесь, будет интересно.

Источник: https://habr.com/ru/companies/otus/articles/748860/


Интересные статьи

Интересные статьи

Дискеты — технологический артефакт прошлого, о котором очень мало знают многие представители нового поколения. Те же дети, разбирая иконки в каком-нибудь текстовом редакторе, частенько задают о том,...
Привет, Хабр! Как вы помните, с бензином мы связаны опосредованно. Но так как тема топлива в мире постепенно становится горящей (no pun intended), мы решили рассказать вам в подробностях о том, как бе...
Когда учились в школе, встречали ли вы на картах мира название «Южный океан»? Так подписывали совокупности южных частей Тихого, Атлантического и Индийского океанов, окружающих Антарктид...
Еще в прошлом году чувствовалось, что 2020 год будет очень богат на китайские космические достижения. На этот год планировались испытания нового перспективного пилотируемого корабля, начало р...
Компания Klipsch, основанная в 1946 году Полом Клипшем, — всемирно известный производитель акустических систем. Аппаратура этого бренда нашла применение как в крупных кинозалах, так и домашних ки...