Конференция разработчиков Эфириума DevCon-3, день третий

Третий день конференции Devcon-3 начался обзором сооснователя Oaken Innovations Хадсона Джеймсона (Hudson Jameson) «Введение в язык программирования Solidity – 2017 год», с общим описанием разнообразных IDE и инструментов для разработки смарт-контрактов. Всего существуют 6 специализированных языков для смарт-контрактов, однако Serpent и Mutan уже не используются. Оставшиеся четыре:

  • LLL, что может расшифровываться как «низкоуровневый язык» (Low Level Language), или «язык, похожий на lisp», (Lisp-Like Language)

  • Viper – язык, пришедший на замену Serpent, его разрабатывает Виталик Бутерин.

  • Bamboo – функциональный язык смарт-контрактов, явно отображающий изменения состояния и не допускающий ситуаций, подобных «повторному входу», ставшему причиной взлома TheDAO

  • Наконец, тема обзора Solidity – высокоуровневый язык, схожий с JavaScript, в котором контракты аналогичны классам.

Джеймсон подробно провел слушателей по всем этапам разработки смарт-контракта от начала до компиляции в EVM, используя инструментарий Remix.

Он выделил основную проблему так:

Написать контракт легко. Труднее убедиться в его безопасности.

Действительно, аудит смарт-контрактов занимает гораздо больше времени и стоит дороже, чем их написание – никто не забыл TheDAO.

Говоря о проблемах безопасности, Джеймсон вкратце остановился на ZoKrates – языке, который компилирует в Эфириум доказательства с нулевым разглашением из Z-Cash.

Тему Solidity продолжил разработчик Фонда Эфириума — доктор Кристиан Райтвисснер (Christian Reitwiessner) с презентацией Flexibility in Solidity (Игра слов: Flexibility – гибкость, а Solidity может быть буквально переведено как «твердость»). По его словам, первоначальной целью разработчиков было создание высокоуровневого языка с максимально быстрым выполнением команд. 

Эта цель достигнута и теперь пришло время сделать его более безопасным. Он рассказал о работе по реализации динамических данных (слайды с презентации) на Solidity: проект будет закончен к концу года. Кроме того, он обрадовал собравшихся сообщением, что готов перевод документации по Solidity на испанский язык, а в будущем появятся русский, китайский и немецкий переводы.

Mist

Презентация Эвертона Фраги (Everton Fraga) и Виктора Майя (Victor Maia) из Фонда Эфириума называлась «Mist: децентрализованная и безопасная инфраструктура». Разработчики похвастались рекордом: приложения Mist и Ethereum Wallet были скачаны 2.6 миллиона раз. Однако, наибольший интерес вызвал анонс нового браузера Эфириума Moon. 

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

Конференция разработчиков Эфириума DevCon-3, день третий

Еще одно существенное отличие: Mist работает на JavaScript, а Moon использует специально написанный для него язык Moon-lang
с собственным компилятором Moon, конвертирующим любой код написанный на moon-lang в JavaScript.

Пользователь Moon может скачать Dapp из библиотек, размещенных на IPFS, и создать его копию для последующего редактирования, получая таким образом форк Dapp, не затрагивающий исходный код.

DappHub

Энди Майлениус (Andy Milenius) из MakerDAO представил DappHub
– самоорганизующуюся сеть инструментов логики, исследований, дизайна и разработок, в основу которой заложен философский принцип UNIX:

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

Конечная цель – избавить Dapp от избыточных и бесполезных токенов.

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

DappHub содержит стандартную библиотеку для разработчиков Dapp, которая переносит ту же самую философию на все смарт-контракты: набор небольших и проверенных инструментов.

MetaMask: препарирование лисы

Презентация MetaMask стала настоящим развлечением для собравшихся (как в информативном, так и в развлекательном смысле). Кошелек и браузер Эфириума, выполненный в виде расширения браузера Chrome стал, де-факто, стандартным инструментом проведения ICO.

Команда Metamask похвасталась статистикой: 200 000 скачиваний; в пиковые моменты Metamask обеспечивал более 10% всех транзакций Эфириума. Команда разработчиков увеличилась с 4 до 10 человек, браузер стал поддерживать аппаратные кошельки.

После того, как CEO Арон Дэвис закончил со вступлением, техническую сторону представил разработчик в костюме тиранозавра, что вызвало ажиотаж в зале.

Конференция разработчиков Эфириума DevCon-3, день третий

Фрэнки Пангиллиган (Frankie Pangilligan) представила проект Metamascara, который может понравиться тем, кто не любит Chrome: вместо того, чтобы устанавливать плагин, приложение будет выполняться в JS и перенаправлять пользователя на https://wallet.metamask.io. Кроме того, если раньше для интеграции веб-страницы с Metamask, требовалось включить в код несколько объемных JavaScript блоков, то c Metamascara для этого требуется выполнение всего 4 строк кода.

Оракулы данных – конкуренция

Смарт-контракты, как и блокчейн, работают изолированно от «реального мира» и не могут самостоятельно получать внешние данные. Поэтому рынок надежных внешних данных привлекает все новых игроков – новые продукты представили как блокчейн-стартапы Oraclize и ChainLink, так и гиганты – Microsoft и агентство Thomson Reuter

Thomson Reuter представил смарт-контракты оракулов для Эфириума и Corda. Разработчики Dapp будут получать их бесплатно, но только после регистрации.

Конференция разработчиков Эфириума DevCon-3, день третий

Конференция разработчиков Эфириума DevCon-3, день третий

CEO ChainLink Сергей Назаров считает централизованные оракулы ненадежными. Платформа ChainLink – пакет связующего программного обеспечения, использующий аппаратную защиту данных Intel SGX и ленту данных TownCrier для построения сети децентрализованных оракулов и безопасного ввода информации на блокчейн Эфириума.

Конференция разработчиков Эфириума DevCon-3, день третий

ChainLink может объединять смарт-контракты из разных сетей (основного Эфириума и частных сетей) так, что они будут взаимодействовать между собой.

Здесь вы можете прочитать отчеты о первом и втором дне devCon-3.