Смарт-контракты | Первый творческий форум ЦРТП

molt

Креатор
Регистрация
18 Дек 2016
Сообщения
164
Реакции
693
Смарт-контракты – это просто код, запускаемый сетью блокчейна, чтобы выполнить те или иные задачи, определённые автором смарт-контракта. После создания смарт-контракта его код не может быть изменён, и он может быть автоматически исполнен, без необходимости в третьей стороне.


Зачем нужны смарт-контракты?

Криптовалюты – это распределённые реестры, которые синхронизируются благодаря сотрудничеству и согласованности множества компьютеров. По сути, криптовалюты позволяют передавать право собственности на единицы валюты от одного человека другому, и эта передача навсегда записывается в реестр.

Но что, если вы хотите делать больше, чем просто передавать единицы той или иной валюты? Что, если вы хотите передать эти единицы только по прошествии определённого срока или только после некоторого события? Вот тут-то и пригодятся смарт-контракты!

Смарт-контракты используют такое свойство блокчейна, как неизменяемость, благодаря чему они необратимы.

Как создаются смарт-контракты, и на каких платформах они используются?

Смарт-контракты могут писаться на разных языках программирования, в зависимости от платформы, для которой они предназначены. Сегодня существует уже немало платформ для смарт-контрактов. В числе самых известных Эфириум, NEO, EOS, Cardano, Stellar, VeChain – и список можно продолжать ещё долго. В Эфириуме и на ряде других платформ смарт-контракты пишутся на языке Solidity, разработанного специально для этого, тогда как на других платформах, таких как NEO, смарт-контракты можно писать на языках общего назначения, таких как C#, Java и Python.

Для чего применяются смарт-контракты?

Хотя варианты применения смарт-контрактов ограничены разве что креативностью авторов, чаще всего они используются для создания токенов. Большинство криптотокенов – это не что иное, как смарт-контракт, работающий на той или иной платформе. Данное применение настолько распространено, что на большинстве – если не на всех – платформ для смарт-контрактов существуют стандарты создания токенов. В Эфириуме это стандарт ERC-20, а в NEO – NEP5. Эти стандарты определяют минимальный набор функций, которые должен иметь смарт-контракт.

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

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

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

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

 

omnius

Креатор
Регистрация
23 Сен 2021
Сообщения
52
Реакции
217
Как Биткойн выполняет смарт-контракты

Сеть Биткойна поддерживает широкий спектр смарт-контрактов, используя для этого мощный скриптовый язык, называемый просто Script. Скрипты позволяют пользователям устанавливать критерии расходования своих биткойнов, и биткойн-транзакции привязывают к этим скриптам определенные суммы биткойнов. Теперь для того чтобы потратить эти биткойны, заблокированные скриптом, пользователь должен удовлетворить установленные критерии. И в этом смысле все биткойн-транзакции являются смарт-контрактами.

Критерий расходования средств называется scriptPubKey или скриптом блокировки, а данные и скрипты, удовлетворяющие этому критерию, называются ScriptSig или ScriptWitness, в зависимости от того, использует ли вход транзакции SegWit или нет.

 
Сверху Снизу