Блокчейн. Принципы и основы - [46]

Шрифт
Интервал

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

Смарт-контракты

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

Скрипт-язык Биткоина содержит около восьми десятков различных команд, каждая из которых выполняет определенную алгоритмическую операцию. От элементарной, вроде сравнения двух числовых значений, до более сложных – хеширования данных или алгоритма проверки цифровой электронной подписи. В подавляющем большинстве случаев в параметрах выхода каждой транзакции помещается стандартный скрипт под названием P2PKH, или Pay to Public Key Hash. Этот скрипт реализует процедуру оплаты на хеш публичного ключа, которым, собственно, и является биткоин-адрес получателя транзакции.

Для обработки нестандартных платежных ситуаций отправитель может составить собственный скрипт, содержащий дополнительные условия для обработки транзакции. Хотя, надо сказать, выбор у него небогатый. Например, имеется возможность реализовать функционал мультиподписи или сделать так, чтобы отправляемые средства нельзя было потратить ранее указанного в скрипте времени. Однако по-настоящему замысловатых алгоритмических конструкций для обработки транзакций с дополнительным набором условий подобными средствами создать практически невозможно. И дело не только в ограниченном наборе команд биткоин-скрипта, а в первую очередь в том, что данный язык является «неполным по Тьюрингу». Что это означает?

В 1936 году Алан Тьюринг, будущий герой криптографической войны с германским шифровальным устройством «Энигма», предложил модель вычислительной машины в форме математической абстракции. Полученную модель впоследствии стали называть «Машиной Тьюринга». Эта логическая вычислительная конструкция послужила инструментом для доказательства наличия или отсутствия алгоритмического решения для различных задач. Что же касается «полноты по Тьюрингу», то одним из ее критериев является наличие в языке программирования команд, на базе которых можно построить алгоритмические циклы. Скрипт-язык сети Биткоин не предоставляет операторов обработки циклов, а значит, и возможности реализации на нем сложных вычислительных алгоритмов весьма ограничены. В отличие от Биткоина, в проекте Ethereum подобная возможность предусмотрена, а реализована она как раз с использованием функционала смарт-контрактов. Попробуем разобраться, что же они собой представляют.

Как уже неоднократно упоминалось, автором концепции является Ник Сабо, который еще в 1994 году впервые представил форму исполняемых электронных контрактов в децентрализованной среде. Сабо определил этот вид виртуального соглашения как «протокол передачи информации, обеспечивающий автоматическое исполнение сторонами условий сделок». Преимуществами такой формы заключения контрактов автор считал конфиденциальность, низкие затраты на проведение операций и отсутствие необходимости привлечения посредников для обеспечения доверия для сторон по сделкам. Если сравнивать электронные контракты с обычными, то очевидным отличием будет возможность смарт-контракта контролировать лишь математически доказуемые условия сделки, в то время как в обычном контракте изложенные в нем условия могут носить и нечеткий, то есть описательный характер. В конечном итоге Ник Сабо ограничился лишь теоретическим представлением своей модели, а непосредственная реализация данного концепта увидела свет только спустя два десятка лет в проекте Ethereum.

В целом процесс формирования смарт-контракта похож на обычную транзакцию, которая содержит ряд дополнительных элементов, придающих ей уникальные свойства. В первую очередь речь идет о программном коде, который подлежит децентрализованному исполнению при помощи так называемой виртуальной машины Ethereum (EVM) непосредственно на узлах сети, создающих блоки. В коде смарт-контракта описана алгоритмическая логика обработки сделок между пользователями сети и владельцем смарт-контракта, поместившим его в блокчейн, введя его, таким образом, в действие. С этого момента смарт-контракт присутствует в одном из блоков цепочки, и любой желающий участник сети может активировать его работу путем отправки транзакции на адрес контракта в системе. То есть смарт-контракт является полноправным субъектом сети, который может принимать и формировать транзакции. Но делает он это не самостоятельно, а только когда код контракта запускается на исполнение виртуальной машиной Ethereum на узле майнера при создании нового блока. Как происходит этот процесс?


Рекомендуем почитать
Кибербезопасность в условиях электронного банкинга. Практическое пособие

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


Доходное инвестирование

Что я могу ответить? Я такой же как вы, только начал инвестировать на несколько лет раньше (с 2002 года). Я начинал с "маленьких денег", но уже живу вместе со своей семьей на доходы со своего инвестиционного капитала. Я люблю докапываться до сути вещей и эта моя страсть может быть кому-нибудь полезна кроме меня. А я люблю быть полезным, потому что люблю людей и люблю пользу. Я люблю писать – поэтому я все это и пишу. Если быть кратким: я не собираюсь ни в этой рубрике, ни в целом на вокруг да около, ни в своих консультациях кого-то чему-то учить.


Инвестор за выходные. Руководство по созданию пассивного дохода

Вокруг инвестиций много мифов. Одни говорят, что это слишком сложно и 90 % инвесторов теряют деньги. Другие убеждают в обратном: инвестировать можно безопасно, никакие знания не нужны, а начать стоило еще вчера. Правда, как всегда, посередине: чтобы не прогореть в самом начале, стоит познакомиться с основными правилами в мире инвестиций. Но это действительно несложно – вы справитесь за несколько дней. Автор книги «Инвестор за выходные» Семён Кибало к 30 годам добился полной финансовой независимости благодаря пассивному инвестированию.


Фондовый рынок. Курс для начинающих

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


Государственные и муниципальные финансы: конспект лекций

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


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

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