Основные принципы разработки блокчейна IOST

Terrence Wang 27 июня 2018 г.

В IOST в течение прошлого года мы усердно работали, закладывая фундамент для инфраструктуры блокчейна со сверхвысоким TPS, способной удовлетворить потребности в безопасности и масштабируемости децентрализованной экономики. Наша миссия — быть основной архитектурой для будущих поставщиков онлайн-услуг. Накануне запуска тестовой сети IOST мы создали статью, объясняющую 4 ключевых принципа разработки блокчейна, которыми руководствовались инженеры IOST на протяжении всего процесса наших исследований и разработок.

  1. Инструменты разработчика являются неотъемлемой частью растущего сообщества разработчиков.
  2. Чистый, читаемый код и упорядоченная документация упрощают процесс разработки и самостоятельно создают эффективную экосистему.
  3. И блокчейн, и инфраструктура разработки блокчейнов имеют решающее значение для жизнеспособности полнофункциональной системы блокчейн.
  4. Интегральные ценности технологии блокчейна должны быть прозрачными, беспристрастными, неизменными и децентрализованными

1. Инструменты разработчика

Наша миссия — повысить эффективность разработки и упростить процесс доставки инфраструктуры и продуктов. Чаще всего процесс развертывания может быть кошмаром, и мы понимаем это разочарование. Поэтому мы сосредоточились на создании набора быстрых и надежных инструментов для тестирования и автоматизации блокчейна. что позволяет разработчикам оптимизировать свое время. Мы рады представить результат этого процесса — Райнер .

Rainer: интеллектуальное автоматическое тестирование блокчейна в масштабе

Для отправки обновлений кода в блокчейн IOST, который будет использоваться нашим сообществом разработчиков и конечными пользователями, требуется тщательное тестирование для обеспечения стабильности и производительности. В масштабе, этот процесс требует проверки сотен взаимодействий между многочисленными типами интеллектуальных контрактов и систем на целостность и скорость кода. Ранее при разработке блокчейна это был в основном процесс разработки тестов вручную, в ходе которого инженеры посвятили много времени и ресурсов разработке тестовых примеров.

Мы нашли лучшее решение и разработали интеллектуальный инструмент тестирования программного обеспечения под названием Rainer для эффективной автоматизации тестовых случаев. По мере того как Rainer обрабатывает и проверяет код, он создает всеобъемлющую модель системы, которую он тестирует, и использует стратегии тестирования для последующего повторного использования и непрерывной интеграции с помощью Ansible и Docker. Наша работа с Rainer демонстрирует, что можно автоматизировать большую часть необходимых трудоемких процессов при разработке блокчейна, что ускоряет развертывание новых функций блокчейна. Теперь инженеры могут тестировать и развертывать на всех узлах одним щелчком мыши.

Rainer автоматически тестирует, развертывает, обрабатывает ошибки и сообщает о тысячах тестовых случаев, проводимых ежедневно в тестовой сети IOST. В дополнение к ускорению процесса тестирования, Rainer обеспечивает чрезвычайно низкий уровень ложноположительных результатов. Наши инженеры обнаружили, что более половины отчетов Rainer являются действующими и приводят к исправлениям. В течение первых нескольких месяцев после развертывания технология позволила инженерам устранять проблемы в течение нескольких часов, а иногда и в течение нескольких минут после написания кода. Rainer уже оказал положительное влияние на наше сообщество разработчиков, помогая разработке новых улучшений без ущерба для стабильности или производительности.

IOST выпустит Rainer как проект с открытым исходным кодом в будущем. Мы рассчитываем внедрить новые функции и поделиться с Rainer в течение следующих нескольких месяцев.

2. Конструкция конструкции с техническим совершенством

Во время разработки важно учитывать, как наилучшим образом использовать различные функциональные возможности для создания чистого и эффективного кода. На практике наша команда инженеров подчеркивает четкость логики, зависимостей и структур папок при их разработке.

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

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

3. Структура разработки блокчейна

Мы считаем, что разработчики в своих лучших проявлениях, когда разработка является приятным и творческим опытом. Каркас блокчейна IOST облегчает разработку, упрощая сложные общие задачи, используемые в большинстве проектов блокчейнов. Наша структура очень мощная и разработана, чтобы быть доступной. Он предоставляет модули и инструменты, необходимые для больших децентрализованных сценариев приложений. Благодаря сочетанию простоты и инноваций мы предоставляем разработчикам все, что им нужно для построения полнофункциональных систем блокчейна.

Некоторые примеры преимуществ, которые может предложить структура IOST:

  • Каркас с небольшой пропускной способностью
  • Простой и эффективный уровень сетевой маршрутизации
  • Интеллектуальная контрактная площадка для разработчиков, позволяющая выполнять смарт-контракты на месте
  • Cross API призывает к умным контрактам
  • Надежный модуль мониторинга цепочки блоков
  • Интеллектуальное и масштабируемое автоматическое тестирование блокчейна

4. Уважение ценностей, необходимых для блокчейна

Рассматривая конкурентную среду, наша команда была разочарована, обнаружив длинный список проектов, слишком сильно компрометирующих качества, которые делают блокчейн особенным. С первого дня блокчейн был представлен как децентрализованная платформа, лишенная мошенничества, цензуры и вмешательства третьих лиц. К сожалению, многие проекты блокчейнов отошли от первоначального видения и не поддерживают истинную децентрализацию и неизменность. Некоторые примеры включают в себя Ethereum, внедряющий «мягкую вилку», состоящую из незначительных изменений в коде блокчейна Ethereum с единственной целью — цензурирование транзакций, и EOS, формирующий централизованный судейский комитет, который имеет возможность решать, что правильно и что неправильно, что полностью перекрывает обещанная неизменность блокчейна.

IOST придерживается наиболее важных эгалитарных ценностей технологии блокчейн. Мы верим в первоначальное намерение создать и поддерживать платформу развития, устойчивую к цензуре, ненадежным и неизменным. Мы стремимся к универсальному внедрению и используем технологию децентрализации и блокчейна, чтобы исключить посредников и максимизировать ценность сети для всех сторон. Наша команда стремится сохранить блокчейн IOST открытым, нейтральным и неизменным.

откровенность

Любой человек может участвовать в каждом слое нашей системы. От использования нашей цепочки блоков, до создания клиента, реализующего наш открытый протокол, до участия в нашей сети. Наши правила и наш кодекс открыты для всеобщего ознакомления и понимания, и никакие предварительные условия не должны или не будут ограничивать участие.

нейтральность

Любой, кто участвует в кооперации с поддержкой блокчейнов, делает это наравне со всеми остальными участниками. IOST направлена ​​на то, чтобы фундаментально нарушить прежние методы ведения бизнеса, создав автономную доверительную сеть, которая максимизирует ценность сети для всех сторон. Мы являемся прямым вызовом системам, которые были до нас, и стремимся создать модель, которая не может быть искажена в пользу немногих за счет многих.

неизменность

В коде IOST не должно быть изменений, нарушающих свойства неизменяемости, взаимозаменяемости или неприкосновенности книги. История транзакций или бухгалтерской книги не может быть по какой-либо причине отменена или изменена. Мы строим машину правды, сохраняющую одну общепринятую версию истории. Невозможно изменить историю, и никакие ресурсы не будут потрачены впустую на эти усилия.

Жду с нетерпением

Прошло больше года с тех пор, как мы начали разработку блокчейна IOST. В этом путешествии мы многому научились и рады представить первоначальный результат нашей тяжелой работы широкой публике. Мы с нетерпением ждем возможности поделиться нашим мнением о будущих постах и, как всегда, останемся верными нашим четырем ключевым принципам.

Testnet

Тестовая сеть IOST будет выпущена 29.06.2008. В следующем посте я подробно расскажу о тестовой сети IOST, и мы также запустим игру под названием «Lucky Bet», которая позволит членам сообщества играть в функционирующую тестовую сеть. Мы с нетерпением ждем ваших отзывов и надеемся, что это поможет нам улучшить блокчейн IOST.

Терранс Ван

Главный технический директор

IOST

We in social media: