Предварительный просмотр IoTeX тест-нета (StoneVan)

Сегодня мы рады сообщить, что наш первый выпуск кода (кодовое имя: StoneVan) открыт для всех!

https://github.com/iotexproject/iotex-core

StoneVan — это всего лишь начало, в котором есть основные функции, такие как обработка транзакций и блоков, протокол сплетен по сети P2P, совместимая система консенсуса с нашей инновационной схемой R-DPoS и начальной поддержкой RPC. Мы разрабатываем поверх StoneVan, чтобы добавить больше возможностей; следующие из них будут - полноценные R-DPoS с поддержкой голосования, кросс-цепной связью, контрольной точкой, встроенной интеграцией крипто-библиотеки, скриптом, виртуальной машиной и кошельком.

Большие планы и где мы на данном этапе

В IoTeX есть две технические команды: исследовательская и инженерная. Наша исследовательская группа фокусируется на ключевых технологиях для IoTeX блокчейна, например, разработке и улучшении консенсусной схемы R-DPoS и быстрой передачи межсетевых связей в краткосрочной перспективе, а также легкой конфиденциальности в сети и смарт-контрактов IoT в среднесрочной перспективе. Наша инженерная команда, отвечает за разработку блок-цепей IoTeX, объединяя результаты наших исследований с самыми утонченными умами в этой отрасли, например, они пишут системы кода и сборки, проводят всесторонние тесты unit/e2e и отметки уровней в больших масштабах. Обе команды сейчас довольно небольшие, и мы работаем над их разрешением, отыскивая и нанимая талантливых исследователей и инженеров.

Разработка IoTeX блокчейна будет состоять из двух фаз: тест-нет и майн-нет, и каждая фаза будет иметь четыре основные подфазы: Превью, Альфа, Бета и Стабильная. Текущая фаза— это первый выпуск кода для тест-нета сети, и поэтому он является подфазой Превью. Несколько месяцев назад, наша инженерная команда сделала очень смелое и осознанное решение, решив, выбрать самый сложный путь и разработать блокчейн для IoTeX с нуля, вместо того, чтобы, взять что-то от других блокчейн проектов. Обоснованием этого решения является то, что мы предполагаем, что блокчейн для IoT должен быть принципиально другим с точки зрения дизайна, реализации, избегать любых потенциальных технических ошибок и производительности, из-за использования существующего блокчейн-кода; но ценой этого является вся та работа которую нам предстоит сделать как команде. К счастью, наша инженерная команда работает усердно и грамотно и уже смогла достичь нашей первой цели в нашей миссии по подключению физического мира блок за блоком.

Этот выпуск

StoneVan ?!

Поскольку криптография находится в ДНК команды IoTeX, мы решили назвать каждую версию релиза с перестановкой имени криптографа мирового класса. Предварительный просмотр этого тест-нета, назван в честь профессора Скотта Ванстоуна (1947–2014), известного математика и криптографа в Университете Ватерлоо и основателя компании специализирующийся в кибербезопасности, Certicom.

Профессор Скотт Ванстон является пионером в коммерциализации криптографии эллиптической кривой (ECC) на практике. Он представил ECC нескольким организациям по стандартизации, включая ISO/IEC, ANSI и IEEE, и играл активную роль в разработке первых стандартов ECC — ANSI X9.62 и IEEE P1363–2000. В начале 1990-х годов он начал благовествовать преимущества ECC многочисленным коммерческим структурам, в результате чего были приняты технологии ECC крупными корпорациями, такими как Motorola, Pitney Bowes и Research in Motion. Помимо того, что он сыграл важную роль в коммерциализации ECC, профессор Скотт Ванстон внес огромный вклад в сообщество криптографии, разработав инновационные алгоритмы, протоколы и методы криптоанализа ECC, которые создали прочную основу для применения криптографических кривых для защиты конфиденциальной информации в эпоху вездесущие вычисления, Интернет вещей и криптовалюты.

Главный специалист по криптографии в IoTeX, доктор Синьсин Фан, имел честь работать с профессором Скоттом Ванстоном в Университете Ватерлоо в области ECC. Этот предварительный просмотр тест-нета посвящен памяти профессора Скотта Ванстоуна за его достижения в криптографии.

Ключевые особенности

В этом релизе есть все основные функции, которые должен иметь блокчейн. Мы классифицируем ключевые функции по четырем группам: ТБЦ (транзакции, блок и цепь), сеть, консенсус, тестирование и интеграция, которые показаны ниже:

ТБЦ (транзакции, блок и цепочка)

  • Закодированный адрес Bech32
  • Сериализация и десериализация сообщений на проводе
  • Хеш-дерево (дерево Меркла)
  • Пул транзакций
  • Быстрое и надежное хранение в блокчейне и запросы с помощью BoltDB
  • Блокировка синхронизации от сетевых пиров
  • Базовые рамки для скриптов и виртуальных машин

Сеть

  • Эффективный протокол сплетен через TLS
  • Трансляция и одноадресная семантика
  • Сидирование через сетевую конфигурацию
  • Запросы ограничения скорости на соединение
  • Обнаружение пиров
  • Крупномасштабное моделирование и нагрузочное тестирование

Консенсус

  • Структура плавного консенсуса
  • Автономные и NOOP схемы
  • Основная реализация схемы R-DPoS

Клиенты

  • Начальная поддержка RPC
  • Инструменты для инъекций транзакций/блоков

Тестирование и интеграция

  • Степень покрытия устройства> 50%
  • Интеграционные тесты
  • Инсценировка разработки до 50 нодов (только для внутреннего использования)

Код

Мы выбрали golang для разработки блокчейна IoTeX, поскольку это один из лучших языков программирования, который очень хорошо сочетает быструю разработку, простоту обслуживания и производительность кода, а также имеет многие другие технические преимущества. Кроме того, мы используем Glide для управления зависимостями golang и используем BoltDB, быструю и надежную базу данных для хранения ключей и значений, чтобы сохранять транзакции и блок данные. Согласно конвенции golang, каждый модуль реализован как пакет, и модули взаимодействуют друг с другом, как показано ниже (обратите внимание, что следующая диаграмма может быстро устареть, так как код iotex-core быстро развивается). Модули настолько разъединены друг от друга, насколько это возможно, чтобы обеспечить сквозное тестирование.

Подробные инструкции приведены в README для запуска кода. Кроме того, мы предоставили вам короткое демо-видео, чтобы вы могли следить шаг за шагом, если вы хотите запустить iotex-core самостоятельно.

Вклад

Проект iotex-core лицензируется в соответствии с Apache License 2.0, и мы очень рады, иметь разработчиков из основной команды! Мы приветствуем любое содействие, в том числе исправления стилей/ошибок, реализации функций, предложение схем/алгоритмов для улучшения протокола IoTeX и тщательная документация. Если вы хотите поучаствовать и помочь с разработкой, пожалуйста, обратитесь к нашему гайдлайну по содействию за дополнительной информацией. Чтобы сообщить о проблемах, напишите на github.com.

Еще не все

В настоящее время iotex-core имеет альфа-качество с ограниченными возможностями и подвержен быстрым изменениям. Пожалуйста, свяжитесь с нами, если вы намерены запустить его на производстве.

Следующий релиз тест-нета альфа запланирован на конец Июня 2018 года. Пожалуйста, помогите нам придумать отличное кодовое имя для него :). В тест-нете альфа мы будем стремится предоставить следующие 3 компонента:

  • Внутренняя реализация ECC (криптография эллиптической кривой) на основе безопасной эллиптической кривой, которая является как легкой, так и универсальной;
  • Случайный маяк и полный R-DPoS с поддержкой голосования, в течение которых мы выпустим желтую бумагу в ближайшие несколько недель, чтобы раскрыть больше технических деталей и продемонстрировать ее преимущество по сравнению с другими схемами PoS.
  • Легкий адрес скрытности, инновационная схема, разработанная нами; академический документ которого в настоящее время находится под экспертной оценкой и скоро будет опубликован.

Кроме того, в составе тестовой версии альфа планируется включить следующие функции:

  • Быстрая синхронизация блоков и контрольных точек
  • Первоначальная поддержка технологии перекрестной связи (CCC)
  • Полная реализация проводника и базового кошелька
  • Посещение через IPFS и согласование версий
  • Плавная транспортная инфраструктура с поддержкой UDP + TCP
  • Метрики для пиров
  • Степень покрытия оборудования> 70%
  • Инсценировка развертывания на 200 узлов
  • Улучшение существующих функций
  • И многое другое …

Чтобы узнать больше о IoTeX или обсудить технические аспекты нашего проекта, вы можете связаться с нами через любой из наших официальных каналов ниже:

Сайт: https://iotex.io
Канал новостей в Телеграмме:
https://t.me/iotexchannel
Главный канал в Телеграмме:
https://t.me/IoTeXGroup
Русский канал в Телеграмме:
https://t.me/IoTeXGroupRU
Твиттер:
https://twitter.com/iotex_io
Медиум:
https://medium.com/@iotex
Реддит:
https://www.reddit.com/r/IoTeX/
Присоединяйтесь к нам:
https://iotex.io/careers

Оригинальная статья

О компании IoTeX

IoTeX — это следующее поколение ориентированной на IoT блокчейн-платформа с огромной масштабируемостью, конфиденциальностью, изолированностью и способностью к разработке новых приложений и экосистем IoT. Имея активное глобальное комьюнити и программы для их вознаграждения и благодаря краудсорсингу, позволит нам, использовать лучшие отраслевые таланты и таланты сообщества, чтобы продвинуть границу блокчейн 3.0.