Фраза и понятие «Смарт-контракты» мы предложено Ник Сабо с целью расширить функциональные возможности методов электронных транзакций, таких как POS (точки продаж), в цифровую сферу. Смарт-контракты помогают вам обменивать собственность, акции или что-либо ценное прозрачным и бесконфликтным способом, избегая при этом услуг посредников.
В этом блоге о смарт-контрактах мы рассмотрим следующие темы:
- Что такое смарт-контракты?
- Смарт-контракты Ника Сабо
- Зачем нужны смарт-контракты?
- Смарт-контракты: сложность в зависимости от сценариев использования
- Пример использования смарт-контрактов: индустрия здравоохранения
- Преимущества смарт-контрактов
- Блокчейн-платформы для написания смарт-контрактов
- Инструменты для написания и развертывания смарт-контрактов
- Языки программирования для написания Ethereum
- Смарт-контракт о передаче собственности
Что такое смарт-контракты?
Смарт-контракты - это самодействующая компьютерная программа, которая автоматически запускается при выполнении определенных условий.
Смарт-контракты = ненадежные контракты
С помощью смарт-контрактов вы можете делиться всем ценным между незнакомцами бесконфликтным и прозрачным способом.
Вы также можете думать о смарт-контрактах как о блокчейне.на базе торговый автомат. Подобно тому, как торговый автомат настроен на прием долларов для выдачи выбранного вами товара, смарт-контракты используют эфир как топливо для выполнения кода на основе заранее настроенных правил.
Что такое смарт-контракты | Разверните свой первый смарт-контракт Ethereum | Эдурека
Смарт-контракты Ника Сабо
В своей статье Сабо предложил заключить контракт на синтетические активы, такие как деривативы и облигации. «Эти новые ценные бумаги образуются путем комбинирования ценных бумаг (таких как облигации) и деривативов (опционов и фьючерсов) самыми разными способами. Очень сложные временные структуры платежей теперь могут быть встроены в стандартизированные контракты и проданы с низкими транзакционными издержками благодаря компьютеризированномуанализ этих сложных термических структур », - написал он.
Зачем нужны смарт-контракты?
Мы можем автоматизировать многие решения, написав контракт на блокчейне, чтобы сделать вещи простыми и эффективными. Давайте сравним и оценим, насколько смарт-контракты лучше традиционных.
Смарт-контракты: сложность в зависимости от сценариев использования
Сложность контрактов зависит от вариантов использования, которые вы мечтаете кодировать на блокчейне. Изображение ниже поможет вам лучше понять сложность смарт-контрактов.
С контекстуализированными смарт-контрактами не только компании будут автоматизированы, но и может быть сформировано децентрализованное автономное правительство.
Давайте разберемся, как работают смарт-контракты, на примере использования.Пример использования смарт-контрактов: индустрия здравоохранения
Управление данными пациентов: Когда дело доходит до управления данными пациентов, есть две основные проблемы в сфере здравоохранения:
- Первый , каждый пациент уникален, поэтому доступ к полным медицинским записям важен для адаптации лечения и предоставления индивидуального ухода
- Второй , обмен информацией среди медицинского сообщества является серьезной проблемой
Теперь вышеуказанные проблемы могут быть решены с помощью функциональности смарт-контрактов на блокчейнах.
Преимущества смарт-контрактов
Вот что дают вам смарт-контракты:
Блокчейн-платформы для написания смарт-контрактов
В то время как Ethereum это самая популярная платформа для написания контрактов, но не единственная. Ниже приведены некоторые из других платформ, используемых для написания смарт-контрактов:
Биткойны: Биткойн использует скрипт, который имеет ограниченные возможности при обработке документов. Скрипты специально разработаны для обработки биткойн-транзакций.
Hyperledger Fabric : В Fabric Chaincode - это программный код, развернутый в сети, где он выполняется и проверяется валидаторами цепочки вместе в процессе согласования.
NXT: Это общедоступная блокчейн-платформа, которая содержит ограниченный набор шаблонов для смарт-контрактов. Вы должны использовать то, что вам дано, вы не можете написать свой собственный код.
Боковые цепи: Боковые цепи повышают производительность блокчейнов и защиту конфиденциальности. Они также добавляют возможностилюбитьсмарт-контракты, безопасные ручки,и реестр недвижимого имущества.
Инструменты для написания и развертывания смарт-контрактов
- Браузер тумана - Это инструмент для просмотра и использования dApps. Это отдельный браузер, который можно использовать для просмотра dApps и взаимодействия с ними.
- Трюфельный каркас - Truffle - популярный фреймворк для разработки Ethereum. Он имеет встроенную компиляцию смарт-контрактов, связывание, развертывание и двоичное управление.
- Метамаск - MetaMask - это мост, который позволяет сегодня посетить распределенную сеть будущего в своем браузере. Это позволяет пользователям запускать приложения Ethereum dApps прямо в браузере без запуска полного узла Ethereum.
- Ремикс - Remix - это IDE на основе веб-браузера, которая позволяет пользователям писать смарт-контракты Solidity, а затем развертывать и запускать смарт-контракт.
Языки программирования для написания смарт-контрактов Ethereum
Твердость И змея являются двумя основными языками для написания смарт-контрактов Ethereum.
: Это контрактно-ориентированный язык высокого уровня с синтаксисом, аналогичным синтаксису JavaScript, и он предназначен для работы с виртуальной машиной Ethereum (EVM).
что такое токены в Java
Змей: Serpent - это язык высокого уровня, предназначенный для написания контрактов Ethereum. Он очень похож на Python, но с сентября 2017 года Solidity является предпочтительным языком разработки для разработчиков Ethereum.
Хотя Solidity в настоящее время является самым популярным языком для смарт-контрактов, в ближайшее время появятся несколько языков смарт-контрактов, которые могут стать важными в будущем.
Предстоящие языки программирования
- Гадюка: У Viper есть схема отступов, подобная Python. Основное внимание уделяется безопасности, языку и простоте компилятора.
- Лиск: Lisk использует javascript в качестве языка смарт-контрактов, что упрощает разработчикам кодирование приложений.
- Цепь: Chain предоставляет инфраструктуру блокчейна корпоративного уровня с SDK на популярных языках, таких как Ruby, Java и NodeJS.
Теперь, поскольку Solidity является наиболее широко используемым языком программирования для написания смарт-контрактов Ethereum, позвольте мне познакомить вас с контрактом, написанным на Solidity.
Смарт-контракт о передаче собственности
Проблема: В настоящее время мы используем центральный орган для передачи права собственности. Это отнимает много времени и влечет за собой много дополнительных расходов с дополнительным бременем документооборота. Кроме того, поскольку система централизована, всегда существует возможность мошенничества.
Решение: План состоит в том, чтобы использовать эту технологию, чтобы детали сделок с недвижимостью были видны всем сторонам - банкам, брокерам, государственным служащим, покупателям и продавцу.
Хорошо, позвольте мне написать для вас смарт-контракт:
pragma solidity ^ 0.4.11 // Мы используем этот вариант использования для имитации передачи собственности в реальном мире // Предварительным условием этого варианта использования является следующее: // Цифровая идентификация на месте // Правительство соглашается поставить земельные записи в публичном блокчейне // Каждый орган по развитию (DA) становится фактическим владельцем собственности, которая существует в его округе / законодательном органе // Когда все вышеперечисленные условия выполнены, DA (владелец) может легко прикрепить соответствующее имущество их законному владельцу после тщательной проверки. // мы будем формулировать функцию вокруг этого установленного предположения. // мы предполагаем, что каждый DA будет развертывать свой собственный смарт-контракт в соответствии со своими правилами и положениями. Весь этот смарт-контракт написан с учетом того, что DA является владельцем, который может распределять собственность. // Правительство может стать слоем поверх этих DA. и правительство может решить, какой DA (адрес) станет владельцем какого округа. // Мы можем легко расширить это. Но после прохождения этого смарт-контракта вы сможете понять, как все может работать. контракт PropertyTransfer {адрес публичного DA // DA должен быть владельцем, мы должны инициализировать значение этой переменной адресом пользователя, который собирается его развернуть. например допустим сам DA. uint256 public totalNoOfProperty // общее количество свойств под DA в любой момент времени. они должны увеличиваться в соответствии с выделением их соответствующему владельцу после проверки. // Ниже представлен конструктор, код которого запускается только при создании контракта. function PropertyTransfer () {DA = msg.sender // установка владельца контракта как DA. } // модификатор для проверки того, что tx исходит от DA (владельца) или нет. Модификатор onlyOwner () {require (msg.sender == DA) _} // Эта структура сохраняется в таком виде для хранения гораздо большего количества информации, чем просто имя struct Property {string name // сохраняя карту свойства по каждому адресу. мы укажем имя для свойства bool isSold // мы также ведем счетчик для каждого адреса} mapping (address => mapping (uint256 => Property)) public propertiesOwner // у нас будут свойства, сопоставленные с каждым адресом с помощью его имя и его индивидуальный счет. mapping (address => uint256) IndividualCountOfPropertyPerOwner // сколько свойств содержит событие PropertyAlloted (адрес, проиндексированный _verifiedOwner, uint256, индексированный _totalNoOfPropertyCurrently, строка _nameOfProperty, строка _msg), адрес_индексированный объект _f, свойство_индексировано _f _msg) // это даст нам точное количество свойств, которым владеет любой адрес в любой момент времени function getPropertyCountOfAnyAddress (address _ownerAddress) constant возвращает (uint256) {uint count = 0 for (uint i = 0 i
Итак, вы только что запрограммировали способ передачи собственности в децентрализованной сети. Как это круто!!
Как видите, возможность [смарт-контрактов] изменить аспекты жизни общества очень велика.
На этом я заканчиваю это Смарт-контракт блог. Надеюсь, вам понравилось читать этот блог и он оказался информативным.
Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев, и мы свяжемся с вами в ближайшее время.ул.
яЕсли вы хотите изучить смарт-контракты, построить карьеру в области блокчейна и получить опыт программирования Ethereum, зарегистрируйтесь в онлайн-режиме Здесь вы получите круглосуточную поддержку, которая поможет вам на протяжении всего периода обучения.