Въведение
Ник Сабо за първи път описва интелигентните договори през 90-те години. Тогава той определи интелигентния договор като инструмент, който формализира и защитава компютърните мрежи чрез комбиниране на протоколи с потребителски интерфейси.
Сабо обсъди потенциалното използване на интелигентни договори в различни области, които включват договорни споразумения - като кредитни системи, обработка на плащания и управление на права върху съдържанието.
Интелигентните договори в блокчейн позволяват създаването на протоколи без доверие. Това означава, че две страни могат да поемат ангажименти чрез блокчейн, без да се налага да се познават или да си имат доверие. Те могат да бъдат сигурни, че ако условията не са изпълнени, договорът няма да бъде изпълнен. Освен това, използването на интелигентни договори може да премахне необходимостта от посредници, намалявайки значително оперативните разходи.
Тази статия ще се фокусира върху интелигентните договори, които работят на виртуалната машина Ethereum (EVM), която е съществена част от блокчейна на Ethereum.
Как работят те?
Казано по-просто, интелигентният договор работи като детерминирана програма. Той изпълнява конкретна задача при изпълнението на определени условия. Като такава, системата за интелигентни договори често следва изявленията „ако… тогава…“. Но въпреки популярната терминология, интелигентните договори не са нито правни договори, нито интелигентни. Те са само част от код, работещ в разпределена система (блокчейн).
В мрежата на Ethereum интелигентните договори са отговорни за изпълнението и управлението на блокчейн операциите, които се извършват, когато потребителите (адресите) взаимодействат един с друг. Всеки адрес, който не е интелигентен договор, се нарича външно притежаван акаунт (EOA). По този начин интелигентните договори се контролират от компютърен код, а EOA се контролират от потребителите.
По принцип интелигентните договори на Ethereum са съставени от код на договор и два публични ключа. Първият публичен ключ е този, предоставен от създателя на договора. Другият ключ представлява самия договор, действащ като цифров идентификатор, който е уникален за всеки интелигентен договор.
Разгръщането на всеки интелигентен договор се извършва чрез блокчейн трансакция и може да бъдат активиран само при извикване от EOA (или от други интелигентни договори). Въпреки това, първото задействане винаги се поражда от EOA (потребител).
Основни характеристики
Интелигентен договор на Ethereum често представя следните характеристики:
Разпределени. Интелигентните договори се възпроизвеждат и разпределят във всички възли на мрежата на Ethereum. Това е една от основните разлики от други решения, които се базират на централизирани сървъри.
Детерминирани. Интелигентните договори изпълняват само действията, за които са предназначени, при условие че изискванията са изпълнени. Освен това резултатът винаги ще бъде един и същ, независимо кой ги изпълнява.
Автономни. Интелигентните договори могат да автоматизират всякакви задачи, като работят като самоизпълняваща се програма. В повечето случаи обаче, ако интелигентният договор не се задейства, той ще остане „спящ“ и няма да извърши никакви действия.
Неотменими. Интелигентните договори не могат да се променят след внедряване. Те могат единствено да бъдат „изтрити“, ако конкретна функция е била внедрена преди това. Така че можем да кажем, че интелигентните договори могат да предоставят защитен код.
Без доверие. Две или повече страни могат да взаимодействат чрез интелигентни договори, без да се познават или да си имат доверие. Освен това блокчейн технологията гарантира, че данните са точни.
Прозрачност. Тъй като интелигентните договори се основават на публичен блокчейн, техният изходен код е не само неотменим, но и видим за всеки.
Мога ли да променя или изтрия интелигентен договор?
Невъзможно е да се добавят нови функции към интелигентен договор на Ethereum след внедряване. Въпреки това, ако създателят му включи функция в кода, наречена SELFDESTRUCT , те са в състояние да „изтрият“ интелигентния договор в бъдеще - и да го заменят с нов. За разлика от тях обаче, ако функцията не е включена в кода предварително, те няма да могат да я изтрият.
По-специално, така наречените интелигентни договори с възможност за надграждане позволяват на разработчиците да имат повече гъвкавост спрямо неотменимостта на договорите. Има много начини за създаване на интелигентни договори с възможност за надграждане с различна степен на сложност.
Като вземем опростен пример, нека си представим, че интелигентен договор е разделен на множество по-малки договори. Някои от тях са проектирани да бъдат неотменими, докато други имат активирана функцията „изтриване“. Това означава, че част от кода (интелигентните договори) могат да бъдат изтрити и заменени, докато други функционалности остават непокътнати.
Предимства и случаи на употреба
Като програмируем код, интелигентните договори са много адаптивни и могат да бъдат проектирани по много различни начини, предлагайки много видове услуги и решения.
Като децентрализирани и самоизпълняващи се програми, интелигентните договори могат да осигурят повишена прозрачност и намалени оперативни разходи. В зависимост от изпълнението, те могат също да увеличат ефективността и да намалят бюрократичните разходи.
Интелигентните договори са особено полезни в ситуации, които включват прехвърляне или размяна на средства между две или повече страни.
ERC-20
Ограничения
Интелигентните договори са направени от компютърен код, написан от хора. Това носи множество рискове, тъй като кодът е обект на уязвимости и грешки. В идеалния случай те трябва да бъдат написани и внедрени от опитни програмисти, особено когато включват чувствителна информация или големи суми пари.
Освен това, някои твърдят, че централизираните системи могат да осигурят повечето от решенията и функционалностите, предлагани от интелигентните договори. Основната разлика е, че интелигентните договори се изпълняват в разпределена P2P мрежа, а не в централизиран сървър. И тъй като са базирани на блокчейн система, те са склонни да бъдат или неотменими, или много трудни за промяна.
Неотменимостта може да бъде голямо предимство в някои ситуации, но и голям недостатък в други. Например, когато децентрализирана автономна организация (DAO), наречена "The DAO", беше хакната през 2016 г., милиони Ether (ETH) бяха откраднати поради недостатъци в кода на интелигентния им договор.
Важно е да се отбележи, че проблемът не идва от блокчейна на Ethereum. По-скоро е причинено от неправилно изпълнение на интелигентен договор.
Друго ограничение на интелигентните договори е свързано с техния несигурен правен статут. Не само защото в повечето страни е в сива зона, но и защото интелигентните договори не отговарят на настоящата правна рамка.
Например, много договори изискват и двете страни да бъдат правилно идентифицирани и да са навършили 18 години. Псевдонимността, предоставена от блокчейн технологията, в съчетание с липсата на посредници, може да застраши тези изисквания. Въпреки че има потенциални решения за това, правната приложимост на интелигентните договори е истинско предизвикателство - особено когато става въпрос за разпределителни мрежи без граници.
Критика
Някои блокчейн ентусиасти виждат интелигентните договори като решение, което скоро ще замени и автоматизира голяма част от нашите търговски и бюрократични системи. Въпреки че това е възможна реалност, вероятно е далеч да се превърне в норма.
Интелигентните договори със сигурност са интересна част от технологията. Но тъй като са разпредени, детерминистични, прозрачни и донякъде неизменяеми могат да бъдат по-малко привлекателни в някои ситуации.
По същество критиката се основава на факта, че интелигентните договори не са подходящо решение за много проблеми в реалния свят. Всъщност за някои организации е по-добре да използват конвенционални сървърни алтернативи.
В сравнение с интелигентните договори, централизираните сървъри са по-лесни и по-евтини за поддръжка и са склонни да представят по-висока ефективност по отношение на скоростта и междумрежовата комуникация (оперативна съвместимост).
Заключителни мисли
Няма съмнение, че интелигентните договори предизвикаха голямо влияние в света на криптовалутите и със сигурност извършиха революция в блокчейн пространството. Въпреки че крайните потребители може да не взаимодействат директно с интелигентните договори, те вероятно ще захранват широк спектър от приложения в бъдеще, вариращи от финансови услуги до управление на веригата за доставки.
Заедно, блокчейнът и интелигентните договори имат потенциала да нарушат почти всички области на нашето общество. Но само времето ще покаже дали тези новаторски технологии ще успеят да преодолеят многото бариери пред широкомащабното приемане.