TON и Fift: как устроены смарт-контракты в тестовой версии блокчейна Telegram

TON и Fift: как устроены смарт-контракты в тестовой версии блокчейна Telegram

В мае на test.ton.org появилась техническая документация тестовой сети Telegram Open Network (TON) от мессенджера Павла Дурова. Ее тут же принялись изучать инвесторы и эксперты. Несмотря на то, что это лишь предварительная версия легкого клиента, опубликованные материалы наглядно иллюстрируют возможные масштабы применения нового многоступенчатого типа блокчейна со специально разработанным для платформы языком смарт-контрактов Fift. Коротко о заявленных перспективах: 200 миллионов пользователей Telegram, миллион транзакций в секунду и интеграция платежей, обменников и приложений с мессенджером — все это гарантирует самое массовое и повсеместное внедрение будущей блокчейн-платформы. Однако закрытость, высокий уровень сложности языка программирования смарт-контрактов и комбинированная трехступенчатая система устройства блокчейна может вызвать скепсис даже у самых лояльных TON-энтузиастов.

TON в массы

Перманентный вызов для современных блокчейн-платформ — охват такого количества пользователей, которым уже располагает мессенджер Павла Дурова Telegram. Ни одна крипто- или блокчейн-компания не сможет тягаться с подобной ежедневно растущей базой, оцениваемой в 200 миллионов пользователей в месяц.

Однако такой масштаб порождает новую проблему: необходимость выдерживать нагрузку миллионов потенциальных юзеров. На сегодня блокчейны Ethereum и Bitcoin могут обработать 15 и 7 транзакций в секунду соответственно — гораздо меньше, чем международная платежная система Visa (45,000 транзакций в секунду). В технической документации TON для инвесторов от 2 марта 2019 года за подписью Николая Дурова утверждается, что платформа способна «при необходимости поддерживать миллионы транзакций в секунду». К слову, пока ни один блокчейн-проект не смог достичь такой пропускной способности, хотя подобных заявлений от стартапов разного масштаба было много.

PoS-алгоритм и шардинг

Есть разные подходы к масштабированию блокчейн-системы, близкой по децентрализации и безопасности к Bitcoin. Первый путь — централизованные хабы, контролируемые смарт-контрактами. Второй — использование PoS и DPoS алгоритмов консенсуса вместо PoW. Третий подход — шардинг, разделяющий информацию о транзакциях в блоках на доли (или шарды), которые содержат собственную независимую часть состояния блокчейна и истории транзакций.

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

Архитектура TON

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

Шардчейны работают по тем же правилам и с теми же форматами блоков, как и сами воркчейны. Они ответственны только за подмножество аккаунтов, зависящих от нескольких, наиболее значимых адресов.

Каждая шард-цепочка блока — это группа ячеек — определенный тип данных TON. Согласно документу с описанием TON, сам по себе шардчейн-блок описан алгебраической формулой и расположен как набор ячеек.

Fift как фильтр разработчиков

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

Fift имеет много общего с языком программирования Forth, который появился около 50 лет назад, и в синтаксисе он в некоторой степени похож на Lisp. Однако этот язык совершенно недружелюбен к программистам, которые пишут на JavaScript или Python.

Никита Колмогоров, блогер и автор Telegram-канала «Золото Бородача», посвященного IT-технологиям и ICO, подробно изучил код легкого клиента TON и в интервью Decenter.org отметил, что команда TON, выбрав именно Fift для запуска смарт-контрактов, отрезала доступ к ним «миддлам», но от ошибок это все равно не убережет. «Сениоры тоже пишут плохой код — и чем сложнее язык, тем проще написать плохой, неоптимизированный и небезопасный код даже для матерого разработчика», — считает Колмогоров.

Блогер полагает, что основная причина решения использовать собственный язык лежит в банальном стремлении оптимизировать затраты: «Fift, как и в свое время Solidity, заточен под виртуальную машину определенного блокчейна (TON), что должно минимизировать затраты компьютерных мощностей на исполнение кода смарт-контрактов. Любой другой уже существующий язык был бы менее оптимизирован под эту виртуальную машину — то есть выполнение кода смарт-контрактов было бы дороже как с точки зрения времени CPU, так и с материальной (в GRAM). Кроме того, использование любой другой виртуальной машины заставило бы разработчиков TON как-то работать с существующими проблемами и ограничениями машины», — объяснил крипто-энтузиаст.

Впрочем, по его словам, никто не заставляет в рамках сети использовать именно Fift. На нем ведется разработка только в базовом блокчейне, где циркулируют GRAM: «Отдельные воркчейны могут при создании выбрать другие виртуальные машины с альтернативными языками программирования. Самого TON пока что никто не видел (только легкого клиента), поэтому неизвестно, насколько далеко зайдет это утверждение. Вероятно, можно будет и Solidity запустить на отдельном воркчейне, или даже какой-нибудь LLVM», — предположил Колмогоров.

Прикладной TON

С заявленной пропускной способностью и архитектурой у TON есть все шансы прижиться в первую очередь благодаря моментальным платежам. Еще одним очевидным применением блокчейна TON будут простые и удобные децентрализованные приложения, интегрированные с ботами API. Для пользователей это будет идеальной альтернативой привычным приложениям, которые нужно искать и устанавливать. Куда проще вбить свой любимый бот в поиске. Между тем уже есть боты в Telegram, которые позволяют не только использовать эфир и биткоин, но и обменивать, покупать и продавать крипту.

Кстати об обмене. Децентрализованные криптобиржи (DEX) — это еще один перспективный способ применения блокчейна TON, который также может работать с ботами в Telegram. C обещанным миллионом транзакций в секунду появляется возможность создать биржу для трейдеров. Кроме того, TON позволит отправлять транзакции на другие блокчейны. Таким мостиком выступит группа доверенных валидаторов, которые получают события от одного блокчейна и передают его в другой.

Свой путь развития

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

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

Подписаться
на DeCenter в Telegram