Estimating the capacity of the Ethereum platform based on the mathematical model of the smart contract
УДК 681.3.06
Н.Е. ИВАНОВ, Р.В. ОЛЕЙНИКОВ, д-р техн. наук
ОЦЕНКА ПРОПУСКНОЙ СПОСОБНОСТИ ПЛАТФОРМЫ ETHEREUM
НА ОСНОВЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ СМАРТ-КОНТРАКТА
Введение
Децентрализованная платежная система (криптовалюта) Bitcoin стала первой платформой для учета виртуального актива, в которой клиенты и участники сети, не доверяя друг
другу, способны приходить к единому консенсусу (согласованному состоянию балансов
пользователей системы, истории транзакций и пр.). Для решения вопроса впервые была
предложена технология блокчейн в качестве базы данных для узлов сети [1]. Успешное
функционирование и возрастающая популярность платежной системы Bitcoin (капитализация Bitcoin составляет более 316 млрд долларов на 18.12.2017 [2]) увеличили интерес к используемым в ней решениям [1].
Новая технология блокчейн привнесла в распределенные системы доверие к данным,
циркулирующим между узлами таких систем, и вызвала заметный интерес в финансовом
секторе и других областях, непосредственно связанных с учетной деятельностью. Появление
первой платформы, позволяющей разрабатывать полноценные программируемые смартконтракты, Ethereum, открывает широкий потенциал в реальном создании и использовании
децентрализованных приложений [3, 4].
Смарт-контракт – компьютерный алгоритм, предназначенный для заключения и поддержания коммерческих контрактов в технологии блокчейн. На платформе Ethereum смартконтракт представляется в виде программного кода, корректное выполнение которого обеспечивается согласованием результатов его работы между узлами платформы [4].
Самым популярным смарт-контрактом в сети Ethereum является контракт начального
размещения токенов (Initial Coin Offering, далее – ICO). Он служит для сбора средств в поддержку проектов финансирования стартапов и для эмиссии виртуальных активов – токенов
[5]. Для понимания преимуществ, которые несет этот контракт, стоит обратить внимание на
его типичные, но не обязательные, свойства и логику работы.
1) Пользователь отправляет на адрес контракта определенную сумму в виде криптовалюты Ethereum. В качестве вознаграждения ему отправляются виртуальные активы – токены.
Таким образом обеспечивается распродажа токенов.
2) При сборе определенной суммы распродажа токенов прекращается.
3) При достижении определенной даты распродажа токенов прекращается.
4) Когда распродажа прекращается, если учредители не получили минимально необходимую сумму, то распродажа считается неудавшейся, и все пользователи, вложившие деньги,
могут вернуть средства.
Компании, проводящие ICO для обеспечения интереса пользователей к инвестициям,
могут наделить токены такими свойствами.
1) За токены можно приобрести продукт или услугу компании [5].
2) Владельцы токенов могут принимать участие в голосованиях внутри компании
(digixDAO) [6].
3) Токены могут быть выведены на биржу (если соответствуют стандарту ERC20) и быть
объектом торговли [7].
4) Владельцам токенов могут выплачивать дивиденды [8].
Для того чтобы быть более уверенными в успешном проведении ICO, компании прибегают к рекламным кампаниям. Иногда это приводит к чрезмерному количеству желающих
участвовать в распродаже токенов. Количество транзакций, генерируемых ими, приводит к
тому, что сети Ethereum приходится отклонять часть поступающих заявок [9]. В таком случае часть участников сети должны отправить свою транзакцию повторно и вновь ожидать
подтверждения.
40
ІSSN 0485-8972 Радиотехника. 2017. Вып. 191
Анализ литературных данных и постановка проблемы
Главным недостатком блокчейн технологий является сложность их масштабирования и,
соответственно, сравнительно низкая пропускная способность. Блокчейн технологии имеют
ограничения по скорости обработки одной транзакции, а обрабатывающие узлы ограничены
размером буфера транзакций. Оценка пропускной способности и вероятности отказа в обслуживании транзакций в платформе Ethereum позволит понять целесообразность использования смарт-контрактов. Теория систем массового обслуживания (СМО) предоставляет возможность произвести такие оценки и предоставить в итоге информацию о среднем времени
ожидания операции в системе, вероятности отказа в обслуживании и зависимости этих величин от параметров системы: размера буфера ожидания, среднего времени обработки одной
заявки [10].
Цель и задачи исследования
Целью работы является разработка математической модели для оценки пропускной способности платформы Ethereum, что позволит оценить, с каким уровнем нагрузки способна
справиться платформа. Для достижения данной цели необходимо:
1) провести анализ условий, при которых функционирует глобальная платформа
Ethereum;
2) определить параметры математической модели;
3) разработать математическую модель на основе СМО.
Анализ функционирования платформы ETHEREUM
На платформе Ethereum циркулируют множество транзакций, связанных с смартконтрактами или же обычными криптовалютными переводами между пользователями. При
разработке математической модели наличие этих транзакций не учитывается, поскольку они
создают неравномерную и, в то же время, сравнительно незначительную нагрузку на сеть.
Наибольшую же нагрузку сеть Ethereum испытывает во время проведения ICO распродаж.
Транзакций, вызывающих код ICO контракта, в эти периоды подавляющее большинство, поскольку платформа Ethereum в первую очередь обрабатывает транзакции с более высокой
комиссией, а остальные ставит в очередь или отбрасывает [4]. Для получения токенов раньше других участников распродажи, пользователи значительно увеличивают комиссию за
транзакции, что приводит к тому, что некоторый промежуток времени большая часть подтверждаемых транзакций связана с эмиссией токенов [5]. Поэтому данное упрощение математической модели наиболее соответствует реальным процессам.
Разработка математической модели
Для согласования терминологий теории СМО и блокчейн, под транзакциями и заявками
на обслуживания будем иметь в виду одно и то же.
Разработка математической модели СМО на основе платформы Ethereum включает в себя несколько допущений и упрощений.
1) Считается, что все транзакции, циркулирующие в системе, направлены на эмиссию
новых токенов, ICO.
2) Принимается, что существует только один канал обслуживания. Несмотря на то, что
сеть Ethereum – распределенная система, в итоговую базу данных блокчейн будет записан только один блок, от одного узла [4].
3) В математической модели не учитывается возникновение ветвлений (forks), так как
различия будут в древовидной структуре блоков, а не в последовательностях транзакций.
4) Время генерации нового блока подчиняется экспоненциальному закону (коэффициент
ковариации для этого закона – константа, равная единице) [4].
5) В блокчейн-платформе Ethereum нет максимально возможного размера блока и ограничения по количеству и размеру транзакции, однако существует ограничение на максимальISSN 0485-8972 Радиотехника. 2017. Вып. 191
41
ное количество газа (gas, комиссии за транзакцию), используемого в блоке. Эта величина может быть уменьшена или увеличена в следующем блоке на 20 процентов [4]. Это также позволяет в теории неограниченно (...truncated)