Подробности тестовой версии блокчейн-платформы Telegram Open Network (TON) GRAM
@Tgram![](/file/a08906e57764b404f5197.png)
На прошлой неделе разработчики Telegram прислали инвесторам письмо, в котором рассказали о ходе тестирования блокчейн-платформы TON. Доступ к ней в апреле получило ограниченное число компаний. Одновременно Telegram выложил в открытый доступ набор для разработки смарт-контрактов. В «боевом» режиме платформу готовятся запустить в третьем квартале 2019 года. Это опасно близко к дедлайну — если платформа не запустится до 31 октября, Дурову придется вернуть инвесторам $1,7 млрд.
The Bell изучил техническую документацию TON и сделал из нее выводы о будущем блокчейн-платформы братьев Дуровых:
Главные выводы:
- TON стремится подменить собой обычный веб, сделав его по умолчанию зашифрованным, расширяемым и основанным на криптоэкономике.
- Объемы и скорости, на которые закладываются создатели, так велики, что имеют смысл только в случае одновременного использования криптоплатформы сотнями миллионов человек.
- Низкоуровневые процедуры (создание смарт-контракта, просмотр существующих, перевод средств) уже готовы. Но не похоже, чтобы в TON уже написали много сервисов и продуктов высокого или даже среднего уровня — например, типовые смарт-контракты разной сложности, маркетплейс или обещанные системы платежей и платного облачного хранения.
- Для решения поставленной задачи пришлось создать свой язык программирования со встроенной сильной криптографией, а также собственную — довольно необычную — виртуальную машину.
В каком состоянии продукт и как он будет выглядеть для конечного пользователя?
Техническое описание уделяет сервисной части TON всего шесть страниц. По ним складывается впечатление о глубокой продуманности инфраструктуры:
- возможны приложения и сервисы в блокчейне, а также вне его, но доступные через TON;
- бывают гибридные приложения, использующие оба подхода («туманные сервисы», fog services). Пример такого сервиса — любой шлюз между экосистемой TON и внешним миром;
- почти наверняка будет запущено хранилище TON Storage для хранения файлов пользователей;
- появятся боты, работающие в TON без вмешательства человека;
- появится нечто похожее на сайты в TON, а вместе с ними и что-то похожее на веб с браузерами;
- Telegram технически станет TON-сервисом, система платежей TON Payments и прокси TON Proxy — «туманными сервисами»;
- TON Payments и TON DNS (система, помогающая преобразовать адреса TON в удобочитаемый вид) — самые продуманные сервисы в обзорном файле;
- существует возможность не активировать кошелек, но не терять при этом переводимые средства. Перевод просто найдет пользователя после активации, а до тех пор будет висеть в блокчейне. Эта техническая деталь в теории позволяет запускать 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, которая позволяет выдавать десятки и сотни тысяч подписей в секунду, что немаловажно для скорости работы сети; Curve25519 для асимметричной криптографии (более-менее принципы работы изложены здесь).
- Fift обеспечивает сильную криптографию «из коробки» (известный сервис безопасной почты ProtonMail недавно писал об эллиптической криптографии как синониме самых последних достижений в этой области). А благодаря использованию виртуальной машины получается масштабируемая система, которую можно бесконечно расширять и варьировать.
В каком состоянии находится разработка?
Насколько можно судить, почти готова виртуальная машина — программная имитация компьютера, реализующего нужную платформу. Готовы или почти готовы все процедуры низкого уровня. Основа для блокчейн-клиента также готова, хотя его только предстоит интегрировать в мессенджер.
В технической документации нет перечисления типов стандартных смарт-контрактов. Похоже, что это главная забота разработчиков TON на текущий момент — без этого невозможна криптоэкономика продукта.
Узнайте больше: почему язык программирования называется Fift?
Насколько можно судить, название языка управления виртуальной машиной TON — шутка. Он похож на язык программирования FORTH, который так называется из-за необходимости сократить слово fourth, «четвертый», из-за ограничений операционной системы. Fift в этом смысле — «пятый», но не избавленный от того же недостатка.
На чем мы основывались:
На 495 страницах технической документации и более чем 20-страничной инструкции по созданию контрактов. Все четыре больших документа подписаны именем Николая Дурова — братом Павла Дурова. В конце апреля на сайте test.ton.org были выложены:
- исходные коды предварительной версии «легкого» клиента TON с необходимыми частями библиотеки (исходники занимают 27 мегабайт, львиная доля приходится на базу данных RocksDB и библиотеку Abseil; язык программирования — C++);
- конфигурационный файл для клиента;
- пошаговая инструкция по созданию смарт-контрактов в TON;
- датированные 23 мая описания виртуальной машины TON и языка программирования Fift (используется для управления смарт-контрактами);
- датированное мартом краткое описание возможностей TON и полное описание блокчейна.
Автор: Александр Амзин
Источник: The Bell