- Повернутися до менюЦіни
- Повернутися до менюдослідження
- Повернутися до менюКонсенсус
- Повернутися до менюСпонсорський матеріал
- Повернутися до меню
- Повернутися до меню
- Повернутися до меню
- Повернутися до менюВебінари та Заходи
У формальній верифікації Ethereum прагне надійності смарт-контракту
CoinDesk висвітлює фактори, які спонукають спільноту програмістів Ethereum прийняти концепцію формальної перевірки для смарт-контрактів.

До осені з’являється нове модне слово блокчейн – формальна перевірка.
Фраза (яка використовується для опису застосування математики для перевірки програмного забезпечення) поки що рідко згадується в пресі. Але якщо розмова на саміті розробників Ethereum минулого тижня була певною ознакою, вона може відігравати дедалі більшу роль, враховуючи питання безпеки, які все ще стосуються смарт-контрактів і блокчейнів у більш широкому сенсі.
Як свідчать численні розмови, присвячені цій темі на Devcon2, ідея про те, що кодери Ethereum можуть отримати нові гарантії, широко підтримується спільнотою розробників. Ця концепція вже пропонується як спосіб вселити довіру до всього, починаючи від самого протоколу Ethereum і закінчуючи його експериментальним блокчейном із підтвердженням частки.
Те, що це сталося, можливо, не дивно, враховуючи раптовий крах The DAO цього літа, на сьогоднішній день найбільшого смарт-контракту, запущеного на платформі децентралізованої розробки додатків.
Але поки формальна перевірка може здатися складним, концепцію можна коротко описати у застосуванні до Ethereum – кодери наразі використовують значно нову мову (solidity) для написання смарт-контрактів, записуючи команди, які потім перетворюються на байт-код для використання віртуальною машиною Ethereum (EVM) і поширюються на вузли мережі для виконання.
У певному сенсі формальну перевірку можна розглядати як більш об’єктивний спосіб переконатися, що коли різні складові частини мережі отримують ці інструкції, вони виконують їх за призначенням від імені користувачів.
Грант Пассмор, співзасновник Aesthetic Integration, є ONE із підприємців, який бачить можливість допомогти в цьому, використовуючи Devcon2 для запуску Imandra Contracts, офіційної платформи перевірки для смарт-контрактів блокчейна.
Під час заходу він висловив ідею про те, що Ethereum може служити «раєм» для формальної перевірки (широко цитована точка дотику в переговорах), враховуючи цілі спільноти та значні обов’язки, які вона хоче довірити коду.
Пасмор сказав CoinDesk:
«Спільнота Ethereum знаходиться в унікальному становищі, коли після DAO ми розуміємо, що необхідна ретельна інженерна робота. Ви T можете підійти до написання смарт-контракту як до веб-додатку».
В інших місцях спікери, такі як Філіп Дайан з Cornell, говорили про інтерес до методології ширше, кажучи аудиторії, що він вірить, що формальна перевірка може допомогти Ethereum вирішити ключові проблеми.
«Це стане критично важливою ONE загальної картини. Я з нетерпінням чекаю можливості використовувати Ethereum , щоб встановити стандарт і показати людям, як це робиться», — сказав він.
Тренувальні колеса
Враховуючи те, що останнім часом фінансові компанії приділяли увагу дослідженням розумні контрактні мови, можливо, саме концепція застосування формальної перевірки до Solidity була найчастішою темою обговорень.
Solidity, розроблений для платформи Ethereum , зазнав критики за те, що він майже не перевірений і його важко писати, головним чином тому, що він такий новий. Можливо, такі проблеми посилилися через питань з компілятором мови, відсутністю загальнодоступних бібліотек і крахом DAO, який був перевірений відомими членами спільноти розробників.
У цьому світлі Крістіан Райтвайснер, творець Solidity, визнав, що існує прагнення запровадити формальну перевірку, щоб кодери Ethereum могли ефективніше виявляти помилки.
Райтвайснер сказав CoinDesk , що розробники смарт-контрактів ONE разу зможуть використовувати формальні інструменти перевірки, щоб, наприклад, визначити, чи є непередбачені помилки в їхній роботі. Він зазначив, що такий інструмент можна використовувати для визначення того, чи при додаванні двох балансів результат розширюється довше, ніж поле, виділене компілятором.
«Це може статися, і формальний інструмент перевірки [буде] автоматично це виявить. Ви можете виявити це на ранній стадії та відреагувати на це всередині смарт-контракту», — пояснив він.
Райтвайснер сказав, що команда Solidity вже вивчає, як застосувати формальну перевірку до своєї роботи. Ще в минулого жовтня, були прототипи того, як набір інструментів під назвою Why3 можна було б використовувати для цієї мети, хоча такі пропозиції ще не доступні для повної мови.
Полігон
Те, що Ethereum можна використовувати для перевірки того, як формальну перевірку можна застосувати до Фінанси в більш широкому плані, також активно обговорювали під час конференції.
Passmore, наприклад, сказав, що Aesthetic Integration працює над застосуванням формальної перевірки в роботі з фінансовими установами з 2014 року, і що досі клієнти прагнули використовувати її в обмежених областях, як-от темні пули, де трейдери вимагають впевненості щодо справедливості.
У розумних контрактах Пассмор припустив, що він бачить Ethereum як спільноту, яка може сприяти подальшому прийняттю.
«Багато наших банківських клієнтів, коли ми почали з ними працювати, ми чули, що вони зацікавлені в просторі, але вони хвилювалися щодо правильності смарт-контрактів», — сказав він.
Розвиток формальної перевірки також привабив Йоічі Хіраї з подібних причин. Інженер з офіційної верифікації зараз працює у фонді Ethereum . Його інтерес до концепції почався як дослідник і коли він раніше працював у лідері з кібербезпеки FireEye.
У доповіді на конференції Хіраї розповів про своє розчарування застосуванням формальної перевірки в налаштуваннях, де він не мав доступу до вихідного коду, або завдання були, можливо, занадто широкими для просування концепції.
«Я знайшов Ethereum, я побачив EVM, жовтий папір, специфікацію, це було лише 32 сторінки, і я подумав, що справді зможу перекласти це та написати докази про розумні контракти», — сказав він.
Ethereum, навпаки, пропонує те, що він назвав «меншою специфікацією» та «вирішуваною проблемою» для інженерів у визначенні того, як найкраще перевести Solidity у байт-код.
«Я вважаю, що з’явиться ще багато дослідників формальної перевірки», — сказав він.
Без срібної кулі
Проте, незважаючи на ентузіазм, вживаються кроки, щоб попередити, наскільки формальна перевірка може досягти. Розробник Алекс Берегсазі, який працює над оновленням EVM, говорив про потребу в наборі рішень, які допоможуть розробникам забезпечити належну роботу коду смарт-контракту.
Пассмор також зазначив, що важко сказати, чи могла його нова система виявити проблеми з DAO, оскільки формальні інструменти перевірки все ще вимагають втручання Human .
«Ви можете закодувати проблеми, які виникли з The DAO, і перевірити, чи їх T , але ви повинні знати, на що звертати увагу», — пояснив він.
Обмеження визнали Райтвайснер і Пассмор, обидва з яких застерегли розробників не розглядати формальну перевірку як «срібну кулю».
Райтвайснер, однак, вважає, що методологія буде ONE у міру її ширшого використання, а розробники повільно вдосконалюватимуться у визначенні проблем і розробці репозиторіїв, де знання про загальні проблеми можуть бути доступні
Таким чином, Пассмор вважає, що спільнота Ethereum досягає успіху в «проповідуванні» концепції, що, на його думку, зрештою сприятиме розвитку досліджень блокчейну.
Пасмор зробив висновок:
«Хоча це те, з чим багато хто ніколи не стикався, формальна перевірка — це те, що нам потрібно. Це крива навчання, але її потрібно прийняти, і це захоплююче».
Зображення через Pete Rizzo для CoinDesk
Pete Rizzo
Піт Ріццо був головним редактором CoinDesk до вересня 2019 року. До того, як приєднатися CoinDesk у 2013 році, він був редактором джерела новин про платежі PYMNTS.com.
