loading

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

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

The Bell изучил техническую документацию TON и сделал из нее выводы о будущем блокчейн-платформы братьев Дуровых:

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

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

Эта статья изначально была написана для технорассылки The Bell (вы можете подписаться на нее здесь). Ниже — технические подробности.

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

Техническое описание пока уделяет сервисной части 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 и полное описание блокчейна.
Скопировать ссылку

Украина готова отказаться от стремления в НАТО в обмен на западные гарантии безопасности

Украина откажется от вступления в военный альянс в качестве компромисса, чтобы прекратить войну с Россией. Об этом заявил президент Владимир Зеленский перед переговорами с американскими представителями в Берлине, передает Reuters.  

NYT: Известные россияне безуспешно просили Путина реабилитировать Ивана Урганта

Владимир Путин отказался «реабилитировать» телеведущего Ивана Урганта по просьбе известных россиян, пишет The New York Times. Издание выпустило об Урганте большой материал. По словам источников, Путин резко реагировал на подобные просьбы.

«Роснано» подала новый иск против Чубайса

Группа «Роснано» предъявила иск о взыскании 11,9 млрд рублей к своим бывшим руководителям, включая Анатолия Чубайса. Иск связан с попыткой создать в России производство магниторезистивной оперативной памяти MRA, пишет РБК. Менеджеры госкорпорации якобы впустую потратили деньги. 

Лукашенко отпустил 123 политзаключенных в обмен на снятие санкций США против калия

Белорусские власти объявили об амнистии 123 политических заключенных в обмен на снятие части американских санкций.