Если вы все еще не понимаете, что такое смарт-контракт…
(авторский перевод оригинальной статьи "Smart Contracts for Dummies")
Хорошо, вы немного понимаете, как работает Биткойн и криптовалюта в целом, вы слышали об этом в новостях, читали статьи.
Но вы также могли слышать и о Ethereum. Что из представляет Ethereum ? Судя по всему, именно эту криптовалюту можно использовать для создания «умных договоров» (smart contracts). Звучит впечатляюще. (Спойлер: они не такие уж умные. И на самом деле это не договоры!)
Вместо определения давайте попробуем воспользоваться интуицией. Во-первых, мы вернемся к блокчейну и слову «доверие». Затем поговорим о слове «контракт» (договор). Секрет заключается в понимании обоих терминов.
Часть I. Что мы подразумеваем под «доверием/недоверием»?
В большинстве случаев, когда мы думаем о Биткойне (или Эфириуме), мы представляем себе какие-то криптомонеты .
Разве это не криптовалюты в конце концов? Разве не в этом весь смысл? Наша парадигма мышления представляет их в виде объектов реального мира - как цифровое золото или серебро (или тюльпаны в конце концов).
Однако, такое образное представление, основанное на принципах нашего мышления не раскрывает сути данных явлений. Чтобы понять смарт контракты нужно смотреть иначе.
Цифровой камень
В английском языке есть идиома, которая звучит примерно так: «высечь на камне ». Она употребляется, когда, например, стороны договорились об условиях договора и решают заключить договор или узаконить их отношения, то есть высечь их на камне.
Эта метафора продолжает иметь значение в современном мире, потому что в древнем (физическом) мире камень обладал некоторыми интересными свойствами:
- Когда вы высекаете что-то на камне, это приобретает физическое постоянство, вы не сможете это изменить просто так.
- Если вы потом попытаетесь что-то «стереть» или добавить, это будет заметно. Любые изменения, которые вы вносите на камень прозрачны и защищены от несанкционированного доступа.
- Эти правила в равной степени распространяются на всех. Камень нейтрален . Он подчиняется законам физики, а не людям. Его не волнует, кто ты - король или крестьянин, его правила одинаковы для всех.
Благодаря всем этим свойствам у нас довольно высокий уровень доверия к камню, как хранителю нашей информации.
Имеется в виду, что камень - надежный хранитель информации и доказательств, мы не можем использовать, например, песок для таких целей. В определенном смысле, камень - особая технология.
Блокчейн, по сути, то же самое: особая технология, которая с помощью криптографии и децентрализации позволяет сохранять информацию о транзакциях, как камень, обладая свойствами постоянства, независимости, прозрачности, нейтральности, независимо от того, кто и какую информацию хочет записать на нем.
Записать что-то на блокчейне - то же самое, что записать это на камне, только теперь это можно делать в цифровом виде, нам не нужно собираться вместе, искать подходящий камень и постоянно следить за ним. Представляя блокчейн в виде куска камня, можно увидеть его большой потенциал, что и приводит нас к мысли о договорах, контрактах. Мы бы могли использовать цифровой "булыжник" для них.
Часть II: Что мы понимаем под «контрактами»?
Когда нам говорят о договорах, контрактах мы начинаем думать о юристах, документах и.т.п.
Простым языком: контракты - это вещи, которые выполняются самостоятельно или выполняются автоматически .
Прадед смарт-контрактов
Возьмем, к примеру, обычный торговый автомат . Это «глупая» машина, которая делает то, что ей говорят, и выполняет все автоматически. Он существует уже несколько десятилетий!
Давайте представим, что в один из дней вы наткнулись на эту машину и решили освежиться холодным напитком. На автомате написано: «Если вы дадите мне 2,5 доллара и нажмете эту кнопку, вы получите холодненькую колу».
Автомат никогда не скажет вам этих слов, но по сути вы заключили контракт, договор. Нажать на кнопку - и бутылка в руке, и вы дальше идете беспокоиться и размышлять о несданных в срок отчетах и других заботах.
Вы даже не заметили, что это было небольшим контрактом (договором), заранее закодированным в машине, которые запускался, когда вы нажали кнопку ( аналогично подписанию договора).
В автомате произошло что-то типа:
> if money received (если деньги получены) == $2.50 > && the button pressed is "Diet Coke" (кнопка "Диетическая кола" нажата > then release Diet__Coke (то выдай "Диетическую колу")
Компьютерный код - по сути контракт, договор, а машина - сторона договора.
Автомат может предложить вам что-то на определенных условиях, и если вы согласитесь, то он выполнит свою часть сделки - продаст вам холодненькую колу.
Вуаля. Контракты, договоры - это просто код. Но в отличие от «контракта» на английском или русском языке код могут прочитать и люди, и машины.
Да, но…
Теперь вы еще больше запутались в сути смарт-контрактов. В этом нет ничего особенного, как показал пример с автоматом, код сейчас повсюду. Но если смарт-контракты просто представляют из себя код по типу " если выполнишь …, то получишь...", то что принципиально нового в этих смарт контрактах? в чем их новшество?
Торговые автоматы 2.0
В один солнечный день вы замечаете торговый автомат на углу, который вы не встречали раньше
Вы подходите и смотрите. На автомате написано: « Если вы вложите 1000 долларов, этот автомат даст вам 5000 долларов».
Ого! Тот, кто собрал эту машину, должен быть очень богатым и щедрым (или безумно глупым…). Так или иначе. 1к за 5к? Понятно - это сделка, на которую можно пойти в любой день! Верно?
Все в точности как с автоматом с колой. Та же логика. Тот же процесс «если-то».
Но сейчас ставки другие. Вы тянетесь к своему карману, но внезапно начинаете колебаться. Кто, черт возьми, собрал эту машину? А что, если она съест ваши деньги и ничего не даст взамен? 1000 долларов - это не маленькая сумма - вы копили ее месяцами. Вы не думали дважды, когда вставляли купюру в автомат с колой. Но сейчас? Теперь вы понимаете, что, возможно, торговые автоматы не так просты, какими могут показаться.
Вы задумываетесь о доверии.
Откуда мы знаем, что у него достаточно средств, чтобы выдать обещанные 5000 долларов?
Как мы узнаем, что код будет работать ?
Есть ли способ публично и прозрачно проверить этот код?
Заключение
Торговый автомат, который выдает по 5000 долларов - это крайний, теоретический пример, но он намекает на проблему с масштабированием доверия. В расширяющемся цифровом мире, где люди могут функционировать анонимно, доверие становится сложной задачей. По этой причине мы обычно полагаемся на третьих лиц и других посредников. Нам приходится это делать. Особенно, если мы передаем вещи куда более ценные, чем баночка колы. Ну знаете, вроде новомодных финансовых инструментов и разных штук (например, акций компаний).
Хм. Если бы только мы могли сочетать автоматизацию программирования (автомат с колой) и свойства цифрового камня, который включает в себя прозрачность, постоянство и.т.д.
Что ж, именно для этого и нужен смарт-контракт! Это простой код, но с особой поддержкой.
Имейте в виду, что раньше у нас были и вычисления, и автоматизация. Но они не могли быть заверены, завершены нейтральным, доказуемым и достоверным образом на (цифровом) камне.
А как насчет реального мира? Несколько идей.
Онлайн-игры: борьба с мошенничеством на игровых сайтах . Где гарантия, что бросая кости в онлайн-казино (игра Dice) вам выпало именно случайное число, с вероятностью 1 к 6 и казино вас не обмануло? Почему бы им не "высечь" код на камне, чтобы показать прозрачность и достоверность игры.
Цепочки поставок: возможно, отследить и проверить, где и как производятся товары?
Голосование: Может быть, процесс голосования с защитой от несанкционированного доступа и подтасовки голосов?
Децентрализованные и автономные компании: время научной фантастики.
На протяжении всей истории автоматизация всегда применялась к "рабочей" части компаний . Сборочный конвейер. Заводской рабочий. Но если правила корпорации - это всего лишь своего рода операционная логика, то разве нельзя перевернуть пирамиду и вместо этого автоматизировать вершину ?
Это всего лишь несколько примеров того, что вы могли бы закодировать в блокчейне, используя язык программирования Ethereum Turing . Мы только в начале пути. Если вам что-то приснится, вы сможете это закодировать))
И во многом это то, что делает эту сферу очень интересной. Мы можем только догадываться, что будет построено в ближайшие годы, десятилетия.
Все, что мы знаем, это то, что у нас есть строительные блоки. И это открыто для всех. Остальное зависит только от нас.