Gear — простота, безопасность и надежность.

Balamosha
8 min readNov 17, 2022

Предисловие.

В наше время Polkadot является одним из самых быстрорастущих блокчейнов. В то время как Polkadot предоставляет богатые возможности для создания платформ смарт-контрактов и быстрой разработки технологий для децентрализованных приложений, сам по себе он такой платформой не является. Gear разрабатывает протокол, который впоследствии может стать парачейном Polkadot и послужить инструментом для размещения смарт-контрактов. Это позволит создать любой Dapp на Polkadot и Kusama.

О проекте.

Gear разрабатывает протокол для размещения смарт контрактов и позволяет разработчикам dApp сосредоточиться на своих проектах, не создавая блокчейн с нуля. Еще одним преимуществом Gear является совместимость с Polkadot и Kusama, такого результата удалось достичь благодаря единому механизму “асинхронных сообщений”, который понимает как Gear, так и Polkadot вместе с Kusama. Любой смарт контракт в Gear является программой WebAssembly.

Gear, как и Polkadot использует Substrate. Substrate — это основной SDK блокчейна, используемый разработчиками для создания парачейнов Polkadot. Substrate считается одним из самых простых и продвинутых фреймворков для создания блокчейнов. Данная технология помогает Gear предоставлять ту самую простоту создание Dapp.

По каким причинам Gear выбрал Polkadot?

  1. Интеграция с экосистемой Polkadot/Kusama с использованием сети Gear значительно снижает затраты разработчиков.
  2. Команда Gear имеет обширные знания экосистемы Polkadot/Kusama, что позволяет им разрабатывать лучший проект.
  3. В модели безопасности нет необходимости искать новых валидаторов для защиты новых парачейнов.
  4. Любой сможет реализовать логику своего децентрализованного приложения и развернуть его в будущем парачейне на базе Gear протокола без необходимости создавать свой собственный блокчейн.

О технологии Gear и ее преимуществах.

Технологическая инновация Gear базируется на новом подходе к взаимодействию между смарт-контрактами, ведь Gear использует Акторную модель и виртуальную машину WebAssembly, что обеспечивает параллельную обработку, высокую скорость и низкие комиссии.

Как и любой блокчейн, Gear поддерживает распределенное состояние. Код, скомпилированный в WebAssembly, становится частью состояния хранения блокчейна. Состояние хранения включает в себя следующие компоненты:

  1. Программы и память — включает код программы и собственную память.
  2. Очередь сообщений — глобальная очередь сообщений сети.
  3. Аккаунты — сетевые счета и их балансы.

Давайте разберемся подробнее с каждым из этих компонентов.

Программы и память. Программный код хранится в виде неизменного BLOB–объекта WASM. Каждая программа имеет фиксированный объем индивидуальной памяти, которая сохраняется во время ее инициализации и между обработкой сообщений. Программа может читать и писать только в пределах своего собственного пространства памяти и не имеет доступа к пространству памяти других программ.

Очередь сообщений. Gear содержит глобальную очередь сообщений. Используя ноду Gear, пользователи могут отправлять транзакции с одним или несколькими сообщениями в определенную программу/программы. Таким образом заполняется очередь сообщений. Во время создания блока, сообщения извлекаются из очереди и перенаправляются в конкретную программу.

Аккаунты. Для защиты от DOS-атак всегда требуется оплата газа за обработку транзакции. Gear предоставляет модуль Balances, который позволяет хранить балансы пользователей и программ.

После разбора вышеупомянутых компонентов, перейдем к другим преимуществам, которые предоставляет Gear.

Переход состояния (State transition). Ноды Gear поддерживают и синхронизируют пул транзакций. Когда какая-либо нода обрабатывает транзакцию, происходит распространение транзакции на все подключенные узлы. Если же нода создает новый блок, он объединяет транзакции из пула в блок, и сеть подвергается переходу состояния. Транзакции, которые не попали в этот блок, будут ждать следующего создания блока и так по кругу. В свою очередь, Gear поддерживает следующие типы транзакций — создание программы, отправление сообщения, удаление сообщения из очереди, перевод баланса.

Акторная модель. Нельзя не упомянуть такую важную вещь как Actor model , смысл которой заключается в том, что программы никогда не делят какое-либо состояние, а просто обмениваются сообщениями друг с другом.

В параллельных вычислительных системах программы взаимодействуют посредством передачи сообщений. Это имеет ряд преимуществ, в сравнении с обменом с общей памятью, например, большая надежность и лучшая производительность. В Акторной модели системы состоят из одновременно функционирующих объектов, которые общаются друг с другом при помощи обмена сообщениями. Если обычная Акторная модель не гарантирует четкий порядок сообщений, Gear привносит дополнительные гарантии сохранения порядка между двумя конкретными программами. В свою очередь, такая модель предоставляет высокую масштабируемость и отказоустойчивость.

Обратите внимание, что актор является смарт-контрактом или пользователем, который отправляет сообщение программе. У каждого актора есть собственное внутреннее состояние и (в случае пользователя) почтовый ящик. Связь является асинхронной. Акторы независимы, они никогда не делятся каким-либо состоянием, только обмениваются сообщением друг с другом.

Использование Акторной модели обеспечивает способ реализации параллелизма на основе актора внутри логики смарт-контракта. Такая модель может использовать различные языковые конструкции для асинхронного программирования.

Архитектура смарт-контрактов Gear как раз использует Акторную модель и обеспечивает:

  1. Постоянную память для неизменяемых программ.
  2. Асинхронную обработку сообщений.
  3. Интуитивно понятный API в контексте блокчейна.

Каждая программа имеет свой определенный объем памяти, которую позволяет контролировать Gear. Эти программы могут использовать только свое выделенное место и не получают доступ к памяти других программ. Такой подход дает возможность параллельной обработки сообщений на ноде Gear.

Параллелизм памяти. Чтобы сделать параллельную обработку сообщений на ноде Gear, необходимо использовать изолированное пространство памяти для каждой программы. Количество параллельных потоков равняется количеству ядер ЦП, при этом каждый поток обрабатывает исключительно сообщения, предназначенные для конкретной программы. Также стоит отметить , что общее количество целевых программ делится на количество потоков, создавая тем самым пул сообщений для каждого потока.

Виртуальная машина WebAssembly. Gear использует WASM, при этом получая значительные преимущества, а именно большую скорость , портативность и безопасность.

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

Gear — это сеть смарт-контрактов, которая позволяет любому разработчику запустить dApp дешево, легко и эффективно.

Polkadot и роль Gear в этой экосистеме.

Polkadot — это многоцепочечный протокол сегментирования (sharding multichain protocol) с открытым исходным кодом, который облегчает кроссчейн передачу любых данных или типов активов, а не только токенов, и таким образом обеспечивает совместимость широкому спектру блокчейнов друг с другом.

Суть Polkadot — интероперабельность или функциональная совместимость. Поэтому каждый парачейн должен приносить пользу экосистеме.

Для достижения этой идеи, в Polkadot есть 3 компонента:

  1. Парачейны (Parachains) — это блокчейны, из которых состоит Polkadot. Каждый из них заточен под отдельную функцию, например работу DeFi-приложений или исполнение смарт-контрактов. Они работают параллельно и синхронизируют данные при помощи ретранслирующей цепи.
  2. Ретранслирующая цепь (Relay Chain) — технология, которая объединяет парачейны Polkadot в единую сеть. При помощи нее блокчейн подтверждает транзакции, которые происходят в парачейнах.
  3. Мосты (Bridges) — технология, которая связывает отдельные парачейны Polkadot с другими блокчейнами. Например, при помощи них у разработчиков есть возможность настроить совместимость приложений на Ethereum с приложениями на Polkadot. А пользователи смогут переводить свои средства между блокчейнами.

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

Почему Gear использует именно Rust?

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

  1. Rust предлагает абстракции без накладных расходов (с нулевой стоимостью).
  2. Работа этого языка программирования очень быстрая и надежная
  3. Он идеально подходит для написания кода для компиляции в WASM, а также позволяет сократить время выполнения до минимального.
  4. Наличие инструментов для компиляции в WASM.

Вывод.

Gear создает прорывную сеть, предлагающую легкое развертывание смарт-контрактов, что определенно повысит ценность Polkadot. Желаем команде разработчиков больших успехов и до новых встреч!

Вопросы команде.

  1. Почему ваш проект называется именно Gear?

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

2. Что было самым сложным/легким при разработке?

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

3. Планируется ли какие-либо community активности в будущем?

— Конечно, у нас постоянно проходят ивенты для комьюнити в разных странах, из последних были митапы в Мексике, Китае и Испании, воркшоп в Нигерии. Мы регулярно участвуем в АМА, чтобы у комьюнити была возможность поближе познакомится с нами, проводим викторины у нас в телеграмме, вы тоже попробуйте поучаствовать! А если вдруг кто-то хочет предложить нам совместно провести какое-либо мероприятие — мы всегда рады сотрудничеству

4. Какие у вас планы на этот и следующий год?

— Недавно успешно закончили аудит, на днях анонсируем нашу стендалон сеть — Вару, хотим запустить амбассадорскую программу, Gear Академию для обучения разработке на нашей платформе — это всего лишь несколько наших глобальных планов, а так их много, следите за нашими новостями в Твиттере =))

5. Какова основная мотивация у вашей команды?

— Нас мало и мы все объединены общей идеей и целями, всегда поддерживаем, помогаем и учимся друг у друга, отсюда и мотивация: желание привнести что-то новое в мир блокчейна и личное развитие каждого как профессионала.

6. Что будет, если вы в теории не попадете в парачейн Polkadot?

— Такой вариант событий очень маловероятен, но помимо Полкадот, есть еще и Кусама, но в первую очередь, как было упомянуто ранее, мы в ближайшем будущем запускаем свой блокчейн под названием Vara и сможет прекрасно работать не будучи парачейном =)

Полезные ссылки:

📍 — Website | Twitter | GitHub | Discord | Medium | Telegram

Над статьей работали:

networker.crypto — link

Balamosha — link

Огромное спасибо за помощь команде Gear!

--

--