Суверенный веб Дурова: как устроена тестовая версия блокчейн-платформы Telegram

0 View

В конце мая разработчики Telegram прислали инвесторам письмо, в котором рассказали о ходе тестирования блокчейн-платформы TON (Telegram Open Network). Доступ к ней в апреле получило ограниченное число компаний. Одновременно Telegram выложил в открытый доступ набор для разработчиков TON. В «боевом» режиме платформу готовятся запустить в третьем квартале 2019 года. Это опасно близко к дедлайну — если платформа не запустится до 31 октября, Дурову придется вернуть инвесторам $1,7 млрд.

Telegram Open Network, TON — защищенная встроенным прокси и анонимайзером даркнет-платформа, построенная на принципе оверлейной P2P-сети, имеющая сервисы обмена сообщениями, платежных операций в криптовалюте Gram, хранения данных, и операционная система для распределенных приложений.

Какие же выводы о будущем блокчейн-платформы братьев Дуровых можно сделать на основе изучения технической документации TON?

Главные выводы

  • Экосистема. TON стремится стать экосистемой, которая подменит собой обычный веб. В ней предусмотрены не только собственные сервисы и приложения, но и нечто похожее на сайты, а вместе с ними и что-то похожее на веб с браузерами. Внешние сервисы могут быть доступны в TON через специальные шлюзы. Одновременно TON будет легко интегрировать в существующие приложения.
  • Сервисы. Сервисов у TON будет много, но ключевым для конечных пользователей сервисом, как и предполагалось, будет платежная система TON Payments и связанный с нею криптокошелек. Вместе с TON DNS (система, помогающая преобразовать адреса блокчейн-платформы в удобочитаемый вид) это самые продуманные сервисы в обзорном файле. Почти наверняка будет запущено хранилище файлов TON Storage. Появятся боты, работающие в TON без вмешательства человека. Сервисы TON будут интегрированы в Telegram, но мессенджер станет не единственным массовым приложением. В документации приводится «гипотетический» пример аналога Facebook на платформе TON.
  • Скорость. Архитектура TON позволяет обеспечить беспрецедентную скорость операций — миллионы транзакций в секунду. Такие объемы и скорости имеют смысл только в случае одновременного использования криптоплатформы сотнями миллионов человек.
  • Безопасность. Все данные будут шифроваться по современным схемам эллиптической криптографии. Шифрование обеспечивает и специально созданный для TON язык программирования Fift.
  • Готовность. Низкоуровневые процедуры (создание смарт-контракта, просмотр существующих, перевод средств) готовы. Но непохоже, чтобы в TON уже написали много сервисов и продуктов высокого или даже среднего уровня — например, типовые смарт-контракты разной сложности, маркетплейс или системы платежей и облачного хранения. Не готовы и интерфейсные решения. О том, как это все будет выглядеть в конце года в мессенджере Telegram, не сказано ни слова.

Как платформа будет выглядеть для конечного пользователя?

Техническое описание пока уделяет сервисной части TON всего шесть страниц. По ним складывается впечатление о глубокой продуманности инфраструктуры:

  • предполагается, что через TON смогут работать и внешние приложения, для этого будут созданы специальные шлюзы между экосистемой TON и внешним миром;
  • смогут появиться и гибридные приложения, работающие как в TON, так и за ее пределами (так называемые «туманные сервисы» или fog services).
  • Telegram технически станет TON-сервисом, система платежей TON Payments и прокси TON Proxy — «туманными сервисами»;
  • в TON Payments будет предусмотрена возможность не активировать кошелек, но не терять при этом переводимые средства. Перевод просто найдет пользователя после активации, а до тех пор будет висеть в блокчейне. Эта техническая деталь в теории позволяет запускать TON частями на разных рынках, включая возможность активации выборочно.

Как устроена тестовая сеть TON?

  • Для передачи средств задействуется блокчейн и смарт-контракт в нем.
  • Обычно блокчейн — это список связанных друг с другом блоков, но в TON это нечто большее. Николай Дуров зовет TON «блокчейном блокчейнов» — кроме главной цепочки возможны до 2^32 рабочих блокчейнов (workchains), каждый из которых может делиться на 2^60«осколков» (shardchains). Такая сложность нужна, чтобы обеспечить миллионы транзакций в секунду. Для сравнения, в феврале 2019 года блокчейн Bitcoin приблизился к рекордным 4,7 транзакциям в секунду.
  • Смарт-контракт — это самоисполняющийся договор. Технически в TON смарт-контрактом является программа с исполняемым кодом на специально созданном для TON языке Fift и данными. Смарт-контракт обязательно обеспечивается криптовалютой Gram.
  • Смарт-контракт не действует без криптовалюты. Пока в TON нет реальных людей с деньгами, поэтому в тестовой сети действует специальная сущность test giver, выдающая до 20 Gram всем желающим написать и протестировать свой смарт-контракт.
  • Файл со смарт-контрактом отсылается в виртуальную машину Telegram Open Network Virtual Machine (TON VM или TVM), которая затем следит за его исполнением.
  • Все происходит максимально быстро. Смарт-контракт пишется на стековом языке Fift, но сама программа внутри виртуальной машины TVM также компилируется, превращаясь в еще более быстрый машинный код (TVM — стековая машина, особенно хорошо работающая с небольшими схожими задачами).
  • Все это очень хорошо шифруется с помощью эллиптической криптографии. Точнее, по двум схемам. Первая — EdDSA25519, которая позволяет выдавать десятки и сотни тысяч подписей в секунду, что немаловажно для скорости работы сети (известный сервис безопасной почты ProtonMail недавно писал об эллиптической криптографии как синониме самых последних достижений в этой области). Вторая схема — Curve25519 для асимметричной криптографии (более-менее принципы работы изложены здесь).
  • В Fift встроена поддержка сильной криптографии и умение работать с блокчейн-платформой TON. А благодаря использованию виртуальной машины получается масштабируемая система, которую можно бесконечно расширять и варьировать.

В каком состоянии находится разработка?

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

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

Почему язык программирования называется Fift?

Насколько можно судить, название языка управления виртуальной машиной TON — шутка. Он похож на язык программирования FORTH, который так называется из-за необходимости сократить слово fourth, «четвертый», из-за ограничений операционной системы. Fift, очевидно, означает «пятый» (fifth), но в сокращенном по тому же принципу виде.

На чем основывались эти выводы?

На 495 страницах технической документации и более чем 20-страничной инструкции по созданию контрактов. Все четыре больших документа подписаны именем Николая Дурова — брата Павла Дурова. В конце апреля на сайте test.ton.org были выложены:

  • исходные коды предварительной версии «легкого» клиента TON с необходимыми частями библиотеки (исходники занимают 27 мегабайт, львиная доля приходится на базу данных RocksDB и библиотеку Abseil; язык программирования — C++);
  • конфигурационный файл для клиента;
  • пошаговая инструкция по созданию смарт-контрактов в TON;
  • датированные 23 мая описания виртуальной машины TON и языка программирования Fift (используется для управления смарт-контрактами);
  • датированное мартом краткое описание возможностей TON и полное описание блокчейна.

Александр Амзин, Петр Мироненко

Источник: thebell.io