Технологии блокчейна IOST и консенсусный алгоритм PoB — быстрее чем Ethereum, более децентрализованный, чем EOS
Содержание
The Internet of Services (IOST) – это проект, цель которого состоит в создании улучшенной блокчейн-платформы посредством решения фундаментальных проблем масштабируемости, с которыми сталкивается блокчейн на пути к массовому распространению.
В данной статье представлена информация о принципах, на которых строится IOST и об их будущем развитии и применении. Этот обзор основан на словах Келвина Тана – одного из соучредителей IOST.
До IOST Келвин был техническим директором EtherCap. Он является победителем Чемпионата по Программированию ACM в 2011 (ACM Programming Challenge) и Национальной Олимпиады по Информатике в 2008 (National Informatics Olympiad).
Келвин получил степень бакалавра информатики в университете Цинхуа (согласно рейтингу US News, университет занимает первое место в мире в области информатики).
По словам Келвина:
«Команда IOST концентрируется на устранении проблем, связанных с безопасностью, централизованностью и пропускной способностью и реализует собственные идеи, необходимые для реализации успешной платформы, применяющей блокчейн».
Почему команда IOST решила разрабатывать именно такую технологию?
Естественно, первый вопрос состоит в том, почему в IOST выбрали именно Proof-of-Believability в качестве консенсусного алгоритма для решения проблемы масштабирования сетей (scalability).
Все текущие проекты и исследования, связанные с масштабированием основываются на 4 основных технологиях:
- голосование;
- сегментирование;
- прямой ацикличный граф (DAG);
- решения второго слоя (layer2, который часто называют «off-chain» или вне цепочки).
Что такое PoB и почему выбор остановился на нем
Узел становится доверенным и участвует в формировании консенсуса, временно внося накопленные токены. После подтверждения, Servi сгорают и их снова нужно набирать, что обеспечивает естественную ротацию валидаторов.
PoB (Proof-of-Believability) – это ответвление алгоритма Proof-of-Stake, основанного на подтверждении транзакций валидаторами, обладающими долей токенов. Первое нововведение – это то, что валидаторы выбираются путем голосования, как в блокчейне EOS.
Стоит упомянуть, что система EOS – Delegated Proof-of-Stake (DPoS) считается централизованной из-за ограниченного количества валидаторов. Однако это совсем не значит, что система выбора валидаторов путём голосования сама по себе ведет к централизации.
Дело в том, что в некоторых традиционных механизмах консенсуса, ограниченный круг избранных лидеров получает эксклюзивное право подтверждать транзакции в рамках одного временного цикла. Так, степень децентрализации может быть определена как распределение производителей блоков в рамках определенного отрезка времени.
В будущем, в IOST будут также использоваться сегментирование и off-chain решения, чтобы скорость транзакций в системе продолжала расти.
Несмотря на то, что IOST использует PoB чтобы избежать «атак Сибиллы», в первом слое системной архитектуры используется модель «доля-плюс-голосование».
Все существующие на сегодняшний день функциональные публичные блокчейны, которые вдобавок можно назвать безопасными, являются либо ответвлениями PoW, либо PoS. То есть регулирование хеш-мощности (PoW) и внесение залога (PoS) по сей день являются единственными путями к созданию безопасного блокчейна. Все другие формы консенсуса все еще сталкиваются с проблемами безопасности.
Так, Proof of Believability – это ответвление PoS, в котором взаимодействие с системой на первом слое функционирует за счет основанной на токене аутентификации, что требует как залога токенов, так и накопления определенного количества «токенов аутентификации». Эти условия необходимо выполнить, чтобы стать «доверенным узлом» и получить право принимать участие в формировании консенсуса.
Второй слой — это основа PoB, потому что именно на этом слое выбирается пул валидаторов. В создании второго слоя, разработчики IOST преследуют две цели:
- Быстрые и частые смены валидаторов.
- Внедрение дружественной конкуренции между участниками сети, посредством которой узлы будут мотивированы вносить вклад в развитие экосистемы IOST.
Механизм достижения консенсуса работает следующим образом: каждый доверенный узел получает баллы репутации – «Servi». Servi можно накопить только посредством различных действий внутри сети, направленных на ее улучшение и повышение стабильности, развитие сообщества.
Так, авторизированные токены из первого слоя будут автоматически обмениваться на Servi во втором слое в начале каждого временного цикла в соответствующих пропорциях. Только посредством конкуренции, создаваемой потреблением Servi, участник (нод) может стать членом пула валидаторов и таким образом принять участие в достижении консенсуса.
В IOST будет регулярно сменяться пул валидаторов из чего следует, что:
- Выбранные валидаторы будут обязаны использовать накопленные Servi. Таким образом, у других нодов, которые не участвовали в формировании консенсуса, все время есть возможность быть выбранными.
- Участники с меньшим количеством IOST смогут вносить посильный вклад в развитие сети и получать Servi. Таким образом, даже те, кто не обладает большим количеством IOST, смогут подтверждать транзакции.
- В отличие от DPoS EOS, избранные ноды IOST не будут нести наказания за неактивность.
Голосование – это наиболее прямое и, на данный момент, единственное приемлемое решение проблемы масштабирования для крупномасштабных коммерческих приложений, использующих блокчейн. Сам по себе факт достижения статуса «доверенного» узла не является наиболее важным фактором. Сужение масштаба сети для достижения более быстрого консенсуса, а также поощрение нодов увеличивать их вычислительные ресурсы с данной точки зрения является наиболее эффективным решением проблемы масштабируемости.
Off-Chain решения и сегментирование
Будь то Lightning Network, Ethereum Plasma или другие технологии масштабирования, тенденция такова, что приоритет смещается с хранения всех данных на блокчейне к решениям «вне цепи».
Off-chain решения способны решать проблемы масштабирования только в определенных условиях. Например, в случае обработки данных с низкими требованиями к безопасности или транзакций небольшого размера нет острой необходимости осуществлять их в основной цепи. Стоит отметить, что масштабирование вне сети не является универсальным решением, так как потеря данных может привести к серьезным последствиям и, следовательно, данные с высоким приоритетом все равно должны в какой-то момент быть обработаны на основном блокчейне.
На уровне кода, простая модель залога не может ни осуществить компенсацию пользователям, которые несут реальные убытки, ни компенсировать настоящую ценность утерянных данных.
Шардинг – это вторая технология, которую команда IOST рассматривает в качестве решения проблемы масштабирования во втором слое, в комбинации с PoB. Однако, проведя много исследований и тестов по технологии шардинга, было установлено,что какое бы решение мы бы ни выбрали, неизбежной проблемой станет сегментирование сети. Хотя результатом этого и являются впечатляющие показатели скорости транзакций, это может радикально снизит безопасность.
Количество пользователей блокчейн-сети должно расти постепенно. Планируется, что на ранних стадиях запуска IOST будет обладать максимально простой структурой, в то же время поддерживая безопасность и стабильность сети. Самого по себе PoB должно быть достаточно для этого начального периода, в то время как технология сегментирования будет разрабатываться и постоянно обновляться в нашей бета-сети.
Почему IOST не используют направленный ациклический граф (DAG)
Использование DAG приводит к нестабильным результаты, что в свою очередь увеличивает задержку транзакций.
Согласно различным исследованиям, проведенным командой IOST по всем настоящим технологиям, относящимся к DAG, на данный момент не существует отработанного и осуществимого решения, не влекущего за собой значительного снижения скорости.
Две причины, по которым было принято решение отказаться от структуры DAG:
- DAG жертвует постоянностью показателей, что приводит к неизбежно высоким значениям задержки, что не соответствует требованиям поставленных целей.
- Если DAG и позволяет достичь постоянных и стойких значений показателей, относящихся к скорости транзакций, то исключительно при окончательной согласованности всех нодов, что при экстренных обстоятельствах ведет к перегрузке сети.
Особенности построения IOST
Разработчики IOST создают блокчейн, поддерживающий смарт контракты – то есть виртуальный децентрализованный компьютер с достоверными и проверяемыми данными. Этот «Компьютер» ограничен только своей производительностью, так что чем выше производительность, тем более привлекательны условия для создания разнообразных приложений на платформе. Для оценки производительности используются следующие 3 категории:
Высокая скорость передачи данных
Пока что это наиболее часто упоминаемый индикатор, он также является одним из наиболее широко используемых измерительных стандартов для блокчейнов нового поколения. Однако команда IOST по исследованиям и разработкам не сконцентрирована только лишь на максимальном увеличении скорости передачи данных в лабораторных условиях, они также стараются обеспечить оптимальную производительность для всех задач в любых ситуациях, включая атаки на сеть и нестабильное интернет-соединение.
В приоритете скорость передачи данных отдельных смарт-контрактов. Команда не гонится за тем, сколько транзакций блокчейн может обработать за секунду. Например, можно было бы одновременно управлять двумя сетями Ethereum, что привело бы к удвоенной скорости передачи данных Ethereum. Однако поскольку сети разделены, когда дело касается отдельных контрактов, определенное приложение все равно можно внедрить только в одной сети. В этом смысле скорость передачи данных совсем бы не увеличилась.
Минимальная задержка
Под минимальным значением задержки обычно понимают время между началом транзакции и ее подтверждением. Хотя на это часто не обращают внимание, это является важным индикатором, относящимся к производительности. Более высокая задержка в блокчейн сети, использующейся исключительно для денежных транзакций, приемлема, но целью IOST является более низкое значение задержки и максимально высокая скорость обратной связи, так как она разрабатывается для более сложных систем, а не планируется как еще одна криптовалюта.
Высокопроизводительная виртуальные машины
Время, необходимое различным технологиям виртуализации для выполнения одинаковых задач, может очень сильно варьироваться. Ожидания проекта относительно платформы блокчейн приложения не останавливаются на выполнении простейших транзакций, команда неизбежно столкнется со множеством сложных смарт-контрактов. Соответственно, выбираются виртуальные машины, которые могут справиться с нагрузкой крупномасштабных приложений, а не просто похвастаться изрядными показателями для простых транзакций.
Как решаются проблемы
Децентрализация – это основание надежности блокчейна, поэтому в IOST также работают над обеспечением высокого уровня децентрализации. EOS был начальной точкой для платформ блокчейн-приложений, а механизм DPoS, используемый EOS, стремился в первую очередь поддерживать стабильность узлов. Однако при отсутствии вознаграждений для голосующих, «антикоррупционные» решения, внедренные в DPoS, уменьшают эффект стимулов к участию в выборах и голосовании для супернодов. Учитывая то, что в консилиуме немного возможностей для изменений, EOS остается очень централизованным. В то же время при действенном управлении EOS некоторые проблемы могут быть решены. Поскольку данные на блокчейне могут в любой момент быть перехвачены любой организацией, изначальная концепция «цепочки блоков» теряет часть своей исконности и простоты.
IOST создается таким образом, чтобы он смог оставаться блокчейном в чистой форме и поддерживать исконную суть технологии. Вот некоторые принципы, которых, по мнению команды IOST, необходимо придерживаться для достижения этого.
Безопасность первостепенна
Безопасность – это основа блокчейна. Коррупция и потеря данных – это последнее, что IOST хотели бы видеть на своем блокчейне. Поэтому команда стремится обеспечить, чтобы безопасность IOST соответствовала безопасности других основных публичных блокчейнов или превосходила ее.
С контрактами Ethereum уже было много проблем, которые привели к серьезным последствиям. Хотя это можно было бы списать на небрежность разработчиков, в IOST считают, что важно проводить более строгие проверки и иметь более интуитивные интерфейсы, которые уменьшают возможность ошибок со стороны разработчиков.
Гибкие механизмы доступа и обновлений
Хороший публичный блокчейн как операционная система: кроме высокой производительности он должен быть доступен для пользователей и разработчиков.
Доступ к аккаунтам и контрактам определяется гибкими функциями. Например, вы можете определить выбор предложенного разработчиками обновления в течение первых 3 дней, чтобы оценить будет ли оно приемлемо или нет. IOST создал возможность консенсуса для разработчиков на уровне контракта, что делает смарт-контракты IOST чрезвычайно мощными).
Маленькие комиссии для пользователей либо их полное отсутствие
В определенной мере EOS убрал комиссии, и все же в определенные моменты можно видеть, что разрабатывать на EOS или использовать его дороже, чем на Ethereum. Барьер для регистрации более высокий, что приводит к недостаточно эффективной работе технологии блокчейн. Если говорить вкратце, то это происходит из-за механизма RAM EOS.
Блокчейн с высокой скоростью передачи данных естественно снизит затраты, а механизм консенсуса PoB, который создается IOST, позволит ресурсам оказаться в руках тех, кто действительно в них нуждается. Команда IOST хочет обеспечить то, чтобы платное использование, платные разработки и другие механизмы могли быть применимы к различным блокчейнам.
Удобство для разработчиков
Здоровье экосистемы особенно важно для разработчиков, поэтому внедрение платформы, на которой разработчикам легко работать, имеет для IOST первостепенное значение.
Язык программирования
IOST хотят использовать самые популярные и доступные языки для разработчиков, так что C++, Haskell и им подобные не будут целевыми языками, а вместо этого приложения можно будет писать на Javascript.
Дорожная карта
С релизом нашей первой публичной тестовой сети IOST в июне – Everest v0.5 – был реализован фундамент и осуществлена предварительная проверка PoB.
Буквально пару дней назад был релиз второй публичной тестовой сети, в которой добавилась поддержка JavaScript в смарт-контрактх. Продолжается работа над оптимизацией PoB, повышением стабильности, новыми функциями и «токеномикой».
Другими словами, до конца этого года и до первого квартала 2019 года разработчики будут сосредоточены на том, чтобы довести до совершенства пакет протоколов на индивидуальных фрагментированных блокчейнах. На протяжение следующего года они будут проводить дальнейшие исследования по решениям для масштабирования вне сети и по внедрению технологии сегментирования.
Если подробнее, то разработки в последнем релизе включили в себя:
- Улучшенные модули кода, увеличенную базовую производительность и стабильность.
- Гибкая система доступа к функциям.
- Больше утвержденных деталей по PoB.
- Первое предложение экономической модели.
- Перевод виртуальной машины на V8.
- Решение проблем злонамеренных узлов и другие технические улучшения.
- Реструктурированный модуль сети P2P.
- внедрение недостающих базовых функций, таких как механизмы событий, больше портов RPC и т. д.
Заключение
Технология блокчейн еще находится в стадии зарождения, и кроме постоянных дискуссий вокруг консенсуса есть множество областей, которые требуют исследования, тестирования и разработок.
Эта статья написана для того, чтобы позволить тем, кто заинтересован в IOST и технологии блокчейн, узнать, на что направлена работа проекта. По словам Келвина Тана:
«Команда уверена, что IOST может стать платформой блокчейн приложения, которая сможет на самом деле привести технологию блокчейн к крупномасштабному использованию».
Еще необходимо утвердить множество технических деталей, а многие улучшения и инновации, осуществленные IOST, не могут быть полностью продемонстрированы в этой статье. В течение следующих месяцев команда проекта и дальше будет стараться детально освещать свои разработки и технологии, а также конкретные задачи, соответствующие особенностям разработки сети IOST и экосистемы блокчейн в целом.
Официальный сайт IOST: https://iost.io/
Whitepaper: https://iost.io/iost-whitepaper/
FAQ: https://iost.io/glossary-faq/
Reddit: https://www.reddit.com/r/IOStoken/
Телеграм: https://t.me/officialios
Русскоязычная группа ВК (в разработке): https://vk.com/internetofservices
Подписывайтесь на наш Telegram канал. Будьте в курсе новых статей.