Заметки о Telegram Open Network (TON). Часть 2
Предыдущая заметка была целиком посвящена изучению вопроса достоверности TON Whitepaper, что имеет ценность для инвесторов, предпочитающих не углубляться в технические подробности документа. Настоящая заметка может быть полезна как краткая аннотация 132-страничного документа, снабжённая комментариями и замечаниями, и я постараюсь по-возможности избегать сложных технических концепций. Перед рассмотрением технических аспектов платформы, я замечу, что TON подразделяется на несколько функциональных частей: Blockchain, Network, Storage, Services, Payment, DNS (Domain Name System), Proxy, DHT (Distributed Hash Table). Последние три рассматриваться в заметке не будут совсем в целях экономии места и узкой специализации предмета.
Архитектура блокчейна TON
Блокчейн TON по замыслу автора должен представлять собой совокупность блокчейнов. Определяя тип блокчейна как смешанный гетерогенный\гомогенный (Cosmos vs Bitcoin, например), с парачейнами (параллельными цепями) автор часто ссылается на проект PolkaDot. К собственному сожалению, я не сильно знаком с данным проектом, главным образом потому что его сайт оформлен в стиле PinUp, а whitepaper розовый и в горошек.
Главная цепочка блоков, называемая Masterchain в общем случае может содержать в своём блоке подписи валидаторов блоков, информацию об их паях (stakes), хэши последних блоков workchain'ов и shardchain'ов. Строго говоря, основное предназначение Masterchain хранить в себе специальные транзакции создания Workchains. В свою очередь в рамках Workchain создаются множественные Shardchain. Shardchain на своём уровне обретают дополнительную способность разделяться и соединяться, в зависимости от нагрузки сети. Помимо них, определены Accountchain которые должны сохранять состояние только одного аккаунта смарт-контракта или простого аккаунта в Workchain.
Специальным образом описывается особый Workchain Zero, который должен обеспечивать функционирование TON смарт-контрактов и токенов GRAM. Данная цепочка имеет свои basic shardchains. В отличие от остальных возможных workchains которых может насчитываться до 2^32, правила Workchain Zero будут определяться исключительно TON, все остальные Workchain могут работать по своим правилам.
Авторы ожидают, что время генерации блока будет на уровне 5 секунд, что в общем-то представляет технологический вызов. Ниже представлен график среднего интервала генерации блоков. Видно, что он сильно возрос в период запуска CryptoKitties.
![](/file/e471229f4fe5b93b448f3.png)
Основываясь на опыте Jameson Lopp, который описал процесс создания инфраструктуры Ethereum для клиентов BitGo, можно с уверенностью утверждать, что для сети, сущесвующей на пределе возможностей (как выразился Emin Gun Sirer), TON ждут ещё большие проблемы на стадии индустриального внедрения. Несмотря на это, в TON Whitepaper видится наиболее проработанная концепция так называемого "шардинга" (масштабирования блокчейна путём его разбиения и большей специализации отдельных частей), лишённая надуманной мишуры терминов, что часто сопровождает проекты Ethereum. Авторы TON считают, что в предельном случае Shardchain может поддерживаться подмножеством валидаторов протокола TON, которые в целом будут обеспечивать бесперебойную работу протокола на основании глобального Masterchain, фиксирующего глобальное состояние сети.
Консенсус
После формирования общего понимания об устройстве TON Blockchain, перейдём к выбранному способу формирования этого блокчейна и модели консенсуса. Следует отметить, что по-моему мнению выбранная модель очень похожа на Tendermint консенсус, однако это может быть следствием одинаковых исходных работ по Byzantine Fault Tolerant консенсусу.
TON Blockchain должен основываться на Proof-of-Stake подходе, который по предположению многих авторов, и автора TON whitepaper, допускает большую децентрализацию и энергетическую эффективность (это не утверждается прямо, но опосредовано через "бесполезные хэши"). Я не буду рассматривать модель Proof-of-Stake в целом, тем более, аспекты безопасности PoS рассматривали до меня более умные люди, но приведу здесь ряд выдержек TON Whitepaper, в которых автор по-моему мнению заблуждается. Следует заметить, что данные замечания в частности могут употребляться по отношению к любому PoS блокчейну, но в данном месте мы рассмотрим исключтельно один документ.
«Чтобы стать валидатором, пользователю нужно будет приобрести высокопроизводительный сервер и подвести к нему стабильное интернет-соединение. Это не так затратно, как приобретение оборудования с микросхемами ASIC, которое нужно для майнинга биткоина»
У данного утверждения есть несколько степеней заблуждения, и оно может быть раскритиковано по-разному, начиная с того, что протокол не может вдруг получить ASIC майнеры, также как и не существует алгоритма, который не мог бы быть реализован в рамках электронной схемы (ASIC-resistance). Но рассмотрим мысленный эксперимент. Положим с течением времени GRAM начинает конкурировать с Ethereum и EOS, доля Bitcoin падает, и GRAM уже подступает к Bitcoin. Стать валидатором TON становится очень выгодно, а сеть (опустим проблемы масштабирования) становится ещё более децентрализованной от притока валидаторов (и это качество которое увеличивает привлекательность GRAM). Люди начинают скупать серверное оборудование и ищут локальных поставщиков интернета с хорошим и надёжным каналом. Повышенный спрос на то и другое вызывает рост цен того и другого. Кроме того, из-за успеха TON, люди начинают проектировать сервисы и выпускают ICO на базе TON, блокчейн разбухает, хотя шардинг работает прекрасно, но требуется всё более современное и мощное оборудование. В конечном итоге, начинается обратный процесс, потому что нести персональные издержки по содержанию дата-центра на балконе с кондиционером и оптоволоконным кабелем становится неприемлемо. В игру включились очень крупные дата-центры, имеющие свой персонал для поддержания соответствующего оборудования, и децентрализация сети сократилась. В чём основная мораль истории? В том, что сравнивать с ASIC "обычное серверное оборудование с интернетом" не корректно. ASIC это чёрный ящик для повышения уровня защищённости сети, а не критический элемент поддержания консенсуса сети.
Это был достаточно большой абзац, посвящённый одной цитате. Далее, необходимо отметить что автор TON Whitepaper в целом не придумывает никаких новых вариантов функционирования PoS кроме известных, но добавляет в систему номинаторов (nominators) и рыбаков (fishermen), подобно проекту PolkaDot.
![](/file/03d3e752f3e93615a0389.png)
Номинаторы таким образом требуются для того, чтобы предоставлять токены GRAM валидаторам, для формирования залогового пая (stake), которого валидаторы лишаются, если будут генерировать неверные блоки. Сложно представить себе модель поведения номинатора, потому что он должен выбрать его "с умом, иначе номинатор разделяет риск". Скорее всего, данное разделение работать не будет, либо оно будет использоваться крупными держателями токенов (например, администрации TON) для подбора валидаторов по своему усмотрению. Наиболее спорные игроки в системе PoS -- это рыбаки. Они должны отслеживать не валидные блоки и получать за это вознаграждение, возможно из паёв номинаторов или валидаторов. Они хорошо демонстрируют принцип "бритвы Оккама". Так, если рыбаков будет в системе много (то есть быть ими будет выгодно), то значит протокол генерирует много не валидных блоков и является бессмысленным, либо, если протокол генерирует валидные блоки, то наличие рыбаков бессмысленно. Возможность коррекции не валидных блоков сама по себе добавляет не детерминированности в протокол, как это в итоге должно выглядеть, я не понимаю, хотя я знаю, почему она была добавлена: оставляя шардинг на волю подмножества валидаторов сети, и ликвидируя необходимость синхронизации копий этих цепей, при этом подразумевая возможность из одного shardchain обращаться в другой shardchain, необходимо предусмотреть конфликтные ситуации и пути их разрешения.
Сеть, сервисы, платёжная система
Принципы организации сети Протокола TON в документе освящены достаточно подробно: она разделяется на несколько уровней и допускает существование как-бы параллельного интернета. Это один из пунктов, который позволяет судить о том, что Николай Дуров является действительно автором документа TON Whitepaper, так как он наверняка использовал имеющийся опыт построения социальной сети для описания принципов функционирования Сети TON. Самый верхний уровень Сети TON, ADNL (Abstract Datagram Network Layer), служит как раз для того, чтобы разработчики сервисов (и приложений) могли удобно взаимодействовать со всей сетью TON, не прибегая к каким-либо дополнительным техническим ухищрениями, которые скрыты на нижнем уровне, предположительно функионирующим на базе UDP протокола, или TCP, если использование UDP невозможно.
Нет сомнения в том, существование целой главы TON Networking было оправдано в документе, потому что сама по себе задача формирования мультиблокчейна с шардингом и масштабированием до 100 000 транзакций в секунду нетривиальна, но авторы пошли довольно далеко и стали разрабатывать изолированную экосистему, в которой могут существовать отдельно приложения, сервисы, люди. Одним из очень разумных аргументов к проектированию такой системы, является то, что Телеграм в настоящий момент насчитывает 200 миллионов пользователей, которые могут войти TON Network просто используя разработанный мессенжер, что открывает возможности к созданию Facebook на блокчейне. Многие функциональные особенности TON Network предполагаются управляемыми посредством смарт-контрактов, как например регистрация доменного имени в TON DNS, или использование TON Storage, который может быть пригоден для хранения данных пользователей такого воображаемого Facebook на блокчейне.
Конечно, основным условием функционирования смарт-конрактов как таковых является криптовалюта GRAM. Данная криптовалюта интересна тем, что не вводит ничего нового по сравнению с тем, что мы наблюдаем в национальных банках, разве что предпринимает попытку более строго следования начальным принципам. Основной "банк" TON, называемый TON Reserve, призван поддерживать курс токена GRAM на некоем заданном формулой уровне, при ежегодной 2% инфляции всего объёма токенов, выпущенного в TON. При падении курса (не понятно на какой бирже), TON Reserve выкупает токены (привязаны к USD, так что наверное за USD и на биржах, связанных с фиатом), при росте -- продаёт. Сложно представить к каким последствиям приведёт выбор данной схемы, но сразу можно отметить, что формирование TON Reserve и поддержание "постоянной" цены закрепляет изначальное неравенство инвесторов (как это бывает с Центральными банками в реальной жизни), посколько практически верно, что ранние инвесторы на pre-ICO, либо в какой либо частной сделке, получат для своих крупных инвестиций дисконт на огромное количество токенов. С точки зрения рисков платформы -- TON Reserve может легко стать объектом расследования ФБР по делу об отмывании капиталов.
Итак, в добавление к тому, что валидаторы BFT консенсуса абсолютно не добавляют децентрализации в сеть, мы получаем централизованную структуру TON Reserve, которая будет обладать таким количеством токенов, что будет ставить под вопрос безопасность протокола вообще, и стоимость токена как менового средства на ликвидных рынках.
Выводы
TON Whitepaper -- это документ обладающий своей внутренней логикой, имеющий строгую форму изложения, и содержащий некоторое количество неплохо продуманных концепций. Очевидно, автор очень хорошо знаком с сетевыми технологиями и распределёнными системами, ориентируется на использование проверенных решений (стандартизованная хэш-функция SHA, и криптография на эллиптических кривых ECC). При общем формате "технической прозы" прослеживается склонность использования математической символики даже в простых утверждениях (что иногда меня сбивало с толку).
Вместе с тем, автором крайне узко понимается децентрализация протокола как таковая. Можно отметить, что она понимается также знаменитым профессором Конуэлла Emin Gun Sirer, ссылка на которого была приведена выше. Здесь я лишь отмечу, что часто опускается потенциальная необходимость децентрализованного протокола работать через Tor (надеюсь, эта эпоха не наступит) и минимизация возможностей централизации хэшрейта, т.е., если мы говорим о Proof-of-Work равная возможность добыть блок, пропорционально хэшрейту. Данный предмет, как и надёжность и безопасность Proof-of-Stake является достаточно дискуссионным и сообщество накапливает знание об этом в не формализованном виде. Если автор TON Whitepaper предпочитал опираться только на рецензированные статьи или монографии, то скорее всего ему следовало провести каким-либо образом собственное исследование вопроса.
Далее, применительно к Proof-of-Stake, видна недостаточно продуманная модель стимулов участников системы, хотя автор хотел придать им как можно большую свободу, не очевидна польза от кооперации, которой в общем-то лишен любой PoS консенсус, и не экстернализированы затраты на атаку PoS, если только участники не осуществляют прямой взнос в TON Reserve. Строго говоря, наиболее вероятный сценарий заключается в том, что TON будет централизованным протоколом с низкой инвестиционной привлекательностью из-за изначального неравенства привилегированных (ранняя стадия) и обычных инвесторов (которы будут затем покупать токен на бирже), что однако может быть компенсировано тем, что токен будут покупать исключительно для утилитарных целей, допустим для оплаты услуг мессенджера Телеграм.