Перевод статьи Contracts can be smarter on Cardano | Cardanians
Блокчейн используется в качестве транзакционной сети. Большим шагом вперед было бы использование технологии блокчейна также и для разного рода соглашений. Это просто естественный и логичный шаг, при котором программируемые деньги станут стандартом в будущем.
Будущее денег
Бумажные соглашения между сторонами можно воспринимать как слой над деньгами. Каждый денежный обмен имеет свой контекст. Контекст может иметь много форм. Он может быть словесным и неформальным, когда условия просты, стороны хорошо знают друг друга, видят друг друга в одном месте или споров попросту не предвидится. Например, когда вы платите в кассе, обе стороны видят друг друга. Контекст может быть также формальным и иметь письменную форму. Это необходимо, когда стороны не знают и не доверяют друг другу. Это обычное дело в деловом мире. Например, когда один деловой партнер будет платить за дом при изменении данных в кадастре.
В настоящее время мы используем блокчейн как транзакционную сеть. Можно сказать, что обработка транзакций децентрализована. Что касается контекстов транзакций, то они обычно не децентрализованы. Это прекрасно работает для вербальных и неформальных контекстов. Однако это сложнее для формальных или сложных контекстов. Можно использовать децентрализованные транзакции и придерживаться текущей централизованной формы соглашений. Например, можно создать бумажный контракт, в котором будет указано, что одна сторона будет платить за произведение искусства криптовалютами. Но у него есть несколько недостатков:
- Децентрализованный и централизованный миры смешаны вместе, что, скорее всего, не позволит работать нормально, поскольку правовая база не обладает необходимой властью, способной обеспечить соблюдение закона в цифровом мире блокчейна. Поэтому в физическом мире какая-то сторона может пострадать.
- Личности сторон сделки должны быть всегда известны в централизованном мире.
- Он может прекрасно работать в локальном контексте, но может быть медленным, дорогостоящим и более сложным для глобальных деловых партнеров. В основном, когда возникают споры.
- Отправка блокчейн транзакции - это очень простая задача. Поэтому может быть немного громоздко иметь дело с бумажным соглашением.
- Это может идти вразрез с главным принципом всего движения за децентрализацию. Нет никаких оснований использовать криптовалюты для платежей и по-прежнему полагаться на существующие финансовые и правовые системы. Децентрализация - это прозрачность, сопротивление цензуре и, возможно, конфиденциальность. Правовая система может быть коррумпирована, и она всегда будет зависеть от решений отдельных лиц. Таким образом, он никогда не будет полностью доверительным и надежным.
Очевидно, что возможность полагаться на блокчейн технологии в отношении соглашений может быть очень выгодна и значительно повысит независимость от существующих централизованных структур. Наивно думать, что мы можем децентрализовать инфраструктуру и продолжать использовать медленные, дорогие, ненадежные, а иногда и поврежденные системы. Если блокчейн можно использовать для децентрализованной отправки транзакций, и мы можем внедрять инновации и улучшать его возможности, то мы в принципе должны попробовать это сделать. Децентрализация - это не двоичный переключатель. Когда мы усиливаем возможности децентрализации, мы улучшаем свободу, независимость, неприкосновенность частной жизни и автономию.
Бумажные соглашения - это инструмент традиционного финансового мира, и они являются неизбежной частью нашей финансовой жизни. По крайней мере, в западных странах. Мы должны попытаться создать технологии, которые помогут нам децентрализовать бумажные соглашения. К счастью, технология уже изобретена, и вы, вероятно, слышали о ней. Его название - смарт контракт.
Будущее денег заключается в их способности программироваться. Как вы увидите позже, нам понадобятся смарт контракты для установления доверия между сторонами, которые не доверяют друг другу или даже не знают друг друга. Вероятно, в децентрализованном мире цифровые контракты будут использоваться чаще, чем в централизованном. Для этого есть целый ряд причин. Наиболее значимой из них является возможность избежать зависимости от существующей правовой системы или резко уменьшить необходимость полагаться на нее. Давайте теперь посмотрим, как выглядят бумажные соглашения. Вы, вероятно, хорошо знаете это, но давайте быстро пройдемся по данной теме
Бумажное соглашение
Хотя устные соглашения являются законными и обязательными во многих ситуациях, их часто трудно обеспечить в суде. По этой причине разумно иметь письменное соглашение. По сути, это документ, в котором четко прописаны права и обязанности каждой стороны. В деловом мире письменное соглашение является обязательным, даже если закон этого прямо не требует.
Каждое соглашение содержит юридическую идентификацию сторон. Должно быть понятно, кто несет ответственность за выполнение обязательств, которые прописаны в договоре. Должно быть также ясно, кто имеет законные права требовать принудительного исполнения. В тексте договора должны быть указаны права и обязанности каждой из сторон, а также должны быть указаны все необходимые детали договора. В мире договорного права суд - это всего лишь третья сторона, которая может прочесть только бумажное соглашение и, естественно, не знает, что было согласовано устно. Если что-то не было прописано на бумаге, то это может быть невозможно или очень трудно доказать. Если право или условие не прописано, и стороны говорят другой вариант истории, то оно не может быть юридически исполнено. Хорошее соглашение обычно содержит информацию об урегулировании споров. Если стороны находятся в разных государствах, то следует выбирать право только одного государства. Этот закон будет применяться для разрешения споров.
Самые важные вещи связаны с платежами. В договоре оговаривается, кто кому платит. Далее, когда должны быть произведены платежи и каковы условия их осуществления. Стороны должны быть очень щепетильны в отношении точной суммы, даты, времени, способа платежей и условий осуществления платежей.
Как описать соглашение
На самом деле очень легко описать соглашение, т.к. непосредственно базовые пункты всегда почти одинаковы. Это просто набор повторяющихся паттернов, и обработка может быть описана алгоритмами. Соглашение - это набор переменных и описание ожидаемых событий, включая их порядок. В финансовом мире у клерков часто есть подобный бумажный шаблон, который заполняется вручную. В интернете можно найти много шаблонов разных соглашений. Бумажное соглашение может быть создано довольно быстро. Ожидаемое поведение участников всегда одинаково или очень похоже для подобных случаев. Различаются только идентификация сторон, дата/время и цифры, связанные с платежами. Все это переменные величины. Если Алиса хочет продать машину Бобу, то Алиса может скачать шаблон соглашения и заполнить переменные вместе с Бобом. Основа соглашения - это описание ожидаемого поведения (порядок событий). Как только они подпишут соглашение, ожидается, что они будут действовать соответственно.
Соглашение может восприниматься как совокупность платежей или описание контекста платежей. Целью соглашения является защита сторон от недобросовестного поведения контрагента. Таким образом, соглашения содержат права и обязанности. Например, когда Алиса отправляет платеж Бобу, ожидая, что Боб будет действовать так, как диктует соглашение, а Боб не действует, тогда Алиса может связаться с третьей стороной для обеспечения соблюдения закона. Законные власти помогут Алисе забрать машину у Боба. Соглашение используется как описание ожидаемого поведения и как доказательство того, что Боб обещал действовать именно так.
Цифровые смарт контракты
Блокчейн - отличный инструмент для отправки платежей. В наши дни деньги - это просто оцифрованные величины. Криптовалюты - это то же самое. ADA, BTC или стабильные монеты - это просто цифры. Цифровые монеты - это числа в блокчейне, которые можно перемещать с адреса на адрес. Алиса может легко отправить платеж Бобу. Единственное, что нужно Алисе, - это адрес Боба, на который она отправляет монеты.
Смарт контракт нуждается в таких же деталях, как и бумажное соглашение. Это идентификация сторон, платежные реквизиты, порядок ожидаемых событий и время, в течение которого ожидается отправка платежей. В отличие от бумажного соглашения, смарт контракт не может вечно ждать платежей. Если какая-то сторона не отправляет платеж в срок, то согласно контрактам необходимо вернуть средства участникам или выполнить другие определенные действия с отправленными средствами.
Когда Алиса и Боб используют бумажное соглашение, Алиса посылает деньги непосредственно Бобу. Они договорились не использовать третью сторону, которая будет хранить деньги до тех пор, пока не произойдет передача автомобиля. Когда используется смарт контракт, всегда существует услуга условного депонирования, которая предоставляется самим контрактом. Это необходимо и на самом деле очень полезно. Боб не получит оплату, пока не докажет, что Алиса является владельцем автомобиля. Таким образом, Боб мотивирован действовать честно, чтобы получить оплату от Алисы. Если Боб не отдаст машину, то Алиса автоматически получит свои деньги обратно посредством смарт контракта. Таким образом, физическая третья сторона или арбитр не нужны.
Вопрос в том, как Боб докажет смарт контракту, что Алиса стала новым владельцем автомобиля. Есть и другие варианты. Например, Алиса может сообщить смарт контракту, что она действительно является новым владельцем автомобиля. Таким образом, смарт контракт освободит деньги от условного депонирования. Что делать, если Алиса становится владельцем автомобиля и не сообщает об этом смарт контракту? Алиса может предположить, что она может получить машину, а также свои деньги обратно из условного депонирования. Что ж, смарт контракт должен быть проинформирован о том, что Боб сделал все необходимые шаги, чтобы передать машину. Только Боб может это сделать. Когда он это делает или знает, что сделал, он сообщает об этом смарт контракту. Смарт контракт никогда не отдаст деньги из депонирования обратно Алисе. Так что порядок событий может быть таким. Боб сообщит смарт контракту, что он передал машину Алисе, и тогда Алисе нужно будет это подтвердить. Если Алиса не подтвердит это, то деньги будут отправлены Бобу. Таким образом, Алиса мотивирована сообщить смарт контракту, является ли действия истинными или ложными. На самом деле, она должна делать это только тогда, когда она не является владельцем автомобиля. Когда Алиса действительно становится владельцем автомобиля, тогда это конец истории.
Единственный случай, который не может быть разрешен смарт контрактом, - это состояние, когда Боб утверждает, что он передал машину Алисе, и это неправда. Боб все еще держит машину у себя. Алиса сообщает контракту, что у нее нет автомобиля, несмотря на то, что Боб сообщил этому смарт контракту, что она уже является новым владельцем. Здесь либо Алиса, либо Боб лгут. Единственное, что может сделать смарт контракт, - это отправить средства Алисы на адрес арбитра.
Проблема в том, что автомобиль - это физический предмет. Возможным решением здесь является токенизация автомобиля. Если бы можно было доказать право собственности на физические предметы, владея соответствующими невзаимозаменяемыми токенами, то это было бы легкой задачей для смарт контракта. Как только акции, облигации, CBDC и другие финансовые инструменты будут токенизированы, смарт контракты принесут большую пользу финансовому миру. Давай вернемся к машине. Еще одним возможным решением будет участие третьей стороны. Во многих странах право собственности на автомобиль можно найти в регистрах. В этом случае оракулы могут предоставить информацию в смарт контракт.
У нас есть еще одно очень простое решение, которое прекрасно подойдет и для физических предметов. Стороны будут действовать честно, если у них есть для этого экономические мотивы. Когда есть определенные штрафы за нечестное или неправильное поведение, то вполне вероятно, что никто не захочет терять деньги. Алиса и Боб могут отправить 10% или даже 50% от цены автомобиля на условное депонирование, и они будут возвращены им в том же количестве только в том случае, если контракт закончится так, как ожидалось. Они могут договориться, что если третья сторона вынуждена будет решать спор, то победитель забирает все. Боб не может просто утверждать, что он передал машину Алисе, если это не так, и это можно легко доказать. Алиса не может просто утверждать, что у нее нет машины, когда она действительно есть, так как она не получит обратно деньги, которые используются для возможного штрафа.
Основные элементы смарт контрактов
Смарт контракты существуют уже несколько лет, но до сих пор трудно написать такой, который был бы безопасным и надежным. Смарт контракт не может быть изменен после его развертывания. Таким образом, необходимо обеспечить, чтобы контракт делал именно то, что ожидается во всех возможных случаях. Простота - это ключ к безопасности. Команда IOG разработала предметно ориентированный язык под названием Marlowe и создали отличный графический инструмент под названием Blockly. Blockly позволяет пользователям создавать программы таким же образом, как играть с пазлами/головоломками. Marlowe предназначен для специалистов в данной области. Например, для экспертов в области финансов. Вместо навыков программирования человеку, использующему Marlowe, нужны навыки предметной области. Marlowe разработан таким образом, чтобы защитить пользователей от написания плохой программы. Благодаря этому программа, написанная на языке Marlowe, вряд ли может быть некорректно использована. Пользователи могут тщательно проверить программу и увидеть все возможные пути развития.
Вы можете спросить, как это возможно. Это очень просто. При использовании Blockly программа Marlowe строится путем объединения небольшого числа строительных блоков. Каждый блок описывает маленький кусочек головоломки. Например, есть блоки для платежей, наблюдений, действий, ожидания, пока определенное условие не станет истинным и т. д. Когда пользователь выбирает определенный блок, он вынужден подключать другие блоки. Например, есть блок для определения депозита. Когда используется депозитный блок, то необходимо определить сторону, сумму, валюту и роль. Пользователи не забудут предоставить определенную необходимую информацию, что, в свою очередь, упростит разработку. Когда две стороны должны внести средства, то используются два блока депозитов. Пользователи могут определять стороны сделки, называя их просто Алиса и Боб. Marlowe заставляет пользователей определять все возможные пути развития контракта.
Давайте объясним простыми словами, как работает программа, написанная, например, на Java или Solidity. Программа состоит из нескольких основных элементов, таких как переменные, условия и действия. Переменные используются для описания физического мира. Таким образом, вы можете описать свой банковский счет, имя пользователя, сумму платежа и т. д. Действие может быть платежом, использующий переменные. Например, действие может быть платежом на данный банковский счет. Элементы условий используются для описания условий, которые должны выполниться для запуска действий. Например, платеж отправляется только после того, как другой платеж был выполнен.
Marlowe позволяет пользователям писать смарт контракт без необходимости понимания, что такое переменные, условия и действия. Пользователям, в данном случае экспертам в области финансов, просто необходимо знать, что необходимо определить стороны и указать платежи и условия. Чтобы создать простой смарт контракт для обмена двумя цифровыми активами, пользователям необходимо использовать два блока депозитов, два блока платежей и заполнить их другими блоками для указания деталей о сторонах и платежах.
Когда пользователи хотят писать более сложные программы, они могут использовать Marlowe, Javascript и Plutus. Мы настоятельно рекомендуем вам проверить игровую площадку Marlowe. Игровая площадка Marlowe позволяет создать программу, запустить ее в симуляторе и посмотреть, что происходит при отправке транзакций.
Резюме
Смарт контракты расширят возможности технологии блокчейн. Люди могут использовать блокчейн транзакции, поэтому им будет легко использовать и смарт контракты. Это будет не возможная опция, а необходимость, как только децентрализация станет мейнстримом. Децентрализация - это наша собственная ответственность за нашу жизнь, и для того, чтобы мы могли это сделать, нам нужно заменить существующие финансовые и правовые системы. Блокчейн транзакции недостаточны для достижения цели, так как вы никогда не узнаете, будет ли контрагент действовать честно. Более того, когда он или она захотят быть анонимными, тогда на этот случай должен существовать какой-то механизм, который устанавливает доверие между сторонами. Смарт контракты способны это реализовать. Если мы хотим более высокой конфиденциальности, то нам нужно использовать смарт контракты. Программируемость - это будущее денег.
// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram . Оставайтесь на связи, все только начинается!