Найти тему
5 ДОЛЛАРОВ

Смарт-контракты для чайников

Оглавление

Если вы все еще не понимаете, что такое смарт-контракт…

(авторский перевод оригинальной статьи "Smart Contracts for Dummies")

Хорошо, вы немного понимаете, как работает Биткойн и криптовалюта в целом, вы слышали об этом в новостях, читали статьи.

Но вы также могли слышать и о Ethereum. Что из представляет Ethereum ? Судя по всему, именно эту криптовалюту можно использовать для создания «умных договоров» (smart contracts). Звучит впечатляюще. (Спойлер: они не такие уж умные. И на самом деле это не договоры!)

Вместо определения давайте попробуем воспользоваться интуицией. Во-первых, мы вернемся к блокчейну и слову «доверие». Затем поговорим о слове «контракт» (договор). Секрет заключается в понимании обоих терминов.

Часть I. Что мы подразумеваем под «доверием/недоверием»?

В большинстве случаев, когда мы думаем о Биткойне (или Эфириуме), мы представляем себе какие-то криптомонеты .

Разве это не криптовалюты в конце концов? Разве не в этом весь смысл? Наша парадигма мышления представляет их в виде объектов реального мира - как цифровое золото или серебро (или тюльпаны в конце концов).

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

Цифровой камень

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

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

Эта метафора продолжает иметь значение в современном мире, потому что в древнем (физическом) мире камень обладал некоторыми интересными свойствами:

  1. Когда вы высекаете что-то на камне, это приобретает физическое постоянство, вы не сможете это изменить просто так.
  2. Если вы потом попытаетесь что-то «стереть» или добавить, это будет заметно. Любые изменения, которые вы вносите на камень прозрачны и защищены от несанкционированного доступа.
  3. Эти правила в равной степени распространяются на всех. Камень нейтрален . Он подчиняется законам физики, а не людям. Его не волнует, кто ты - король или крестьянин, его правила одинаковы для всех.

Благодаря всем этим свойствам у нас довольно высокий уровень доверия к камню, как хранителю нашей информации.

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

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

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

Часть II: Что мы понимаем под «контрактами»?

Когда нам говорят о договорах, контрактах мы начинаем думать о юристах, документах и.т.п.

Простым языком: контракты - это вещи, которые выполняются самостоятельно или выполняются автоматически .

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

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

Узрите волшебную машину, которая выплевывает пищу с высоким содержанием фруктозы
Узрите волшебную машину, которая выплевывает пищу с высоким содержанием фруктозы

Давайте представим, что в один из дней вы наткнулись на эту машину и решили освежиться холодным напитком. На автомате написано: «Если вы дадите мне 2,5 доллара и нажмете эту кнопку, вы получите холодненькую колу».

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

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

В автомате произошло что-то типа:

> if money received (если деньги получены) == $2.50 > && the button pressed is "Diet Coke" (кнопка "Диетическая кола" нажата > then release Diet__Coke (то выдай "Диетическую колу")

Компьютерный код - по сути контракт, договор, а машина - сторона договора.

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

Вуаля. Контракты, договоры - это просто код. Но в отличие от «контракта» на английском или русском языке код могут прочитать и люди, и машины.

Да, но…

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

Торговые автоматы 2.0

-3

В один солнечный день вы замечаете торговый автомат на углу, который вы не встречали раньше

Вы подходите и смотрите. На автомате написано: « Если вы вложите 1000 долларов, этот автомат даст вам 5000 долларов».

Ого! Тот, кто собрал эту машину, должен быть очень богатым и щедрым (или безумно глупым…). Так или иначе. 1к за 5к? Понятно - это сделка, на которую можно пойти в любой день! Верно?

Все в точности как с автоматом с колой. Та же логика. Тот же процесс «если-то».

Но сейчас ставки другие. Вы тянетесь к своему карману, но внезапно начинаете колебаться. Кто, черт возьми, собрал эту машину? А что, если она съест ваши деньги и ничего не даст взамен? 1000 долларов - это не маленькая сумма - вы копили ее месяцами. Вы не думали дважды, когда вставляли купюру в автомат с колой. Но сейчас? Теперь вы понимаете, что, возможно, торговые автоматы не так просты, какими могут показаться.

Вы задумываетесь о доверии.

Откуда мы знаем, что у него достаточно средств, чтобы выдать обещанные 5000 долларов?
Как мы узнаем, что код будет работать ?
Есть ли способ публично и прозрачно проверить этот код?

Заключение

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

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

Хм. Если бы только мы могли сочетать автоматизацию программирования (автомат с колой) и свойства цифрового камня, который включает в себя прозрачность, постоянство и.т.д.

Что ж, именно для этого и нужен смарт-контракт! Это простой код, но с особой поддержкой.

Имейте в виду, что раньше у нас были и вычисления, и автоматизация. Но они не могли быть заверены, завершены нейтральным, доказуемым и достоверным образом на (цифровом) камне.

А как насчет реального мира? Несколько идей.

Онлайн-игры: борьба с мошенничеством на игровых сайтах . Где гарантия, что бросая кости в онлайн-казино (игра Dice) вам выпало именно случайное число, с вероятностью 1 к 6 и казино вас не обмануло? Почему бы им не "высечь" код на камне, чтобы показать прозрачность и достоверность игры.

Цепочки поставок: возможно, отследить и проверить, где и как производятся товары?

Голосование: Может быть, процесс голосования с защитой от несанкционированного доступа и подтасовки голосов?

Децентрализованные и автономные компании: время научной фантастики.

На протяжении всей истории автоматизация всегда применялась к "рабочей" части компаний . Сборочный конвейер. Заводской рабочий. Но если правила корпорации - это всего лишь своего рода операционная логика, то разве нельзя перевернуть пирамиду и вместо этого автоматизировать вершину ?

Это всего лишь несколько примеров того, что вы могли бы закодировать в блокчейне, используя язык программирования Ethereum Turing . Мы только в начале пути. Если вам что-то приснится, вы сможете это закодировать))

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

Все, что мы знаем, это то, что у нас есть строительные блоки. И это открыто для всех. Остальное зависит только от нас.