О Transformers
Transformers Chain (TFSC) представляет собой высокоэффективную распределенную систему, способную обеспечивать непрерывное масштабирование транзакций. Она базируется на уникальном консенсусном протоколе Raindrop (RDCP), который позволяет нескольким производителям блоков одновременно обрабатывать транзакции цепочки, обеспечивая высокую степень масштабируемости.
Количество производителей блоков может постоянно увеличиваться с ростом масштаба сети, благодаря сети протоколов уровня стимулов, реализующей децентрализованное состояние свободного развития. Система также внедряет цикл эпохи вознаграждения каждые 24 часа, что позволяет участникам свободно передавать и размещать свои активы, способствуя гармоничному развитию сети в течение времени. Основываясь на уникальных преимуществах, TFSC нацелена на вклад в развитие глобальной экосистемы Web 3.0.
Масштабируемость внутри цепочки (On-chain scalability).
В Transformers реализуется через применение двойного алгоритма случайных чисел VRF для выбора нескольких кандидатов на производство блоков в одну и ту же временную метку. Этот процесс обеспечивает постоянное увеличение количества кандидатов в соответствии с ростом сети.
Структура цепочки (The Chain Structure).
Организация цепочки в сети Transformers предполагает наличие нескольких блоков на каждом уровне. Каждый блок быстро подтверждается в рамках процесса консенсуса, что обеспечивает более надежный механизм восходящей цепочки. Это достигается благодаря параллельной обработке транзакций несколькими кандидатами, что способствует эффективности и стабильности системы.
Протокол консенсуса Raindrop (RDCP — The Raindrop Consensus Protocol)
RDCP — представляет собой многопутевой механизм выбора нескольких кандидатов с одной и той же временной меткой с использованием множественного алгоритма дискретных случайных чисел VRF. Этот протокол завершает внутрисетевое согласование нескольких блоков с участием кандидатов, что создает широкие возможности для устойчивой масштабируемости транзакций в секунду (TPS).
Хеш-функция и Цифровая подпись
Что-бы было понимание давайте рассмотрим два понятия (если Вы понимаете и знаете что это, просто пропустите их): Хеш-функция и Цифровая подпись.
Цифровая валюта и блокчейн взаимно дополняют друг друга. Технология блокчейн, лежащая в основе цифровых валют, оперирует на основе механизма консенсуса. В качестве децентрализованной системы учета, построенной на принципах Интернета и свободной от централизованного контроля, все узлы в сети блокчейна обязаны достигнуть консенсуса и установить взаимные доверительные отношения.
Хеш-функция
Хеш-функция
Хэш-функция, также известная как хэш-алгоритм, предназначена для операций шифрования или дешифрования данных. Ее важное применение заключается в проверке целостности данных.
Путем использования хэш-функции для данных создается «цифровой отпечаток» или хэш-значение, известное также как цифровой дайджест. Обычно это короткая строка случайных букв и цифр. Перед передачей данных отправитель и получатель соглашаются на использование конкретного алгоритма хэширования, который является общедоступным. В случае подделки сообщения, его цифровой отпечаток не будет соответствовать полученному.
Хеш-функции широко применяются для проверки целостности данных и составляют основу технологии цифровой подписи. Распространенными алгоритмами являются MD (message digest algorithm), SHA (message hash algorithm) и MAC (message authentication code algorithm). В Transformers для обеспечения скорости и безопасности используется алгоритм SHA256.
Цифровая подпись
Цифровая подпись
Основные атрибуты цифровой подписи включают в себя подлинность, неотказуемость и целостность.
Цифровая подпись, также известная как подпись с открытым ключом или электронная подпись, представляет собой метод проверки подлинности цифровой информации, аналогичный тому, как физическая подпись, выполненная на бумаге, но реализованный с использованием технологий шифрования с открытым ключом. Процесс цифровой подписи обычно включает две взаимодополняющие операции: одну для создания подписи, другую для её проверки.
Цифровая подпись представляет собой уникальную цифровую строку, которую может сгенерировать только отправитель информации, и которую невозможно подделать другим лицом. Эта цифровая строка служит надежным доказательством подлинности переданной информации. Процесс цифровой подписи основан на технологии асимметричного шифрования и цифрового дайджеста, где шифрование происходит при подписании, а проверка подписи включает дешифрование.
В Transformers применяется цифровая подпись, что обеспечивает неотказуемость сообщения, поскольку подпись отправителя с закрытым ключом не может быть подделана. Отправитель использует свой закрытый ключ для шифрования информации, которую можно расшифровать только с использованием открытого ключа отправителя, обеспечивая тем самым целостность сообщения. Процесс цифровой подписи включает определенную хэш-функцию, при этом результаты цифрового дайджеста для различных файлов также будут уникальными.
Архитектура и реализация сети TFSC
Архитектура и реализация сети TFSC (базовые понятия)
Transformers Chain представляет собой полностью децентрализованную общедоступную цепочку, которая применяет собственно разработанный протокол Raindrop Protocol для преодоления различных недостатков, присущих традиционным механизмам консенсуса.
Алгоритм Proof of Work (POW) требует значительного объема энергии для решения математических задач, что может привести к неэффективному использованию энергии и ресурсов. У майнеров с более высокой вычислительной мощностью есть больший шанс на успех, что может привести к скоплению вычислительных мощностей в нескольких крупных майнинговых пулах и, следовательно, увеличивает риск централизации.
Алгоритм Proof of Stake (POS) предполагает наличие определенного количества токенов, и у тех, кто обладает большим их количеством, также выше вероятность успешной транзакции. Это может привести к неравномерному распределению монет и увеличить риск централизации.
Сетевая архитектура, выбранная для TFSC, является полностью подключенной, децентрализованной и распределенной P2P-сетью. TFSC применяет сетевое соединение, построенное на технологии P2P, что позволяет всем узлам функционировать как клиенты и серверы в блокчейн-сети, обеспечивая тем самым децентрализацию.
Перед тем как рассмотреть вопрос синхронизации, давайте обратим внимание на византийский алгоритм, который играет решающую роль в процессе синхронизации.
Проблема византийских генералов представляет собой задачу обеспечения отказоустойчивости в распределенной пиринговой сети (P2P). Эта проблема была предложена Лесли Лампортом и коллегами в их работе «Проблема византийских генералов». Авторы доказали, что если общее число генералов равно 3f, где f — количество предателей, то лояльные генералы могут достичь консенсуса в последовательном действии, даже при наличии менее половины перебежчиков. Сложность данного алгоритма составляет O(n^(f+1)).
Отказоустойчивый византийский алгоритм предназначен для решения проблемы согласованности данных в ситуациях, когда сетевое соединение надежно, но узлы могут выходить из строя.
Византийская отказоустойчивость означает, что система может продолжать функционировать даже при наличии некоторых неспособных обмениваться данными узлов или в случае вредоносного поведения. Существует несколько подходов к созданию византийского отказоустойчивого блокчейна, включая различные алгоритмы консенсуса.
Синхронизация
Синхронизация представляет собой механизм, используемый для обеспечения согласованности состояния данных между двумя или более базами данных, файлами, модулями и потоками. Консенсус и синхронизация играют ключевую роль в контексте блокчейна. Процесс синхронизации направлен на обеспечение согласованности данных и доступности всех узлов в рамках всей сети блокчейна.
Основной механизм синхронизации данных
В TFSC разработан на основе византийского отказоустойчивого механизма. Каждый узел направляет запросы синхронизации нескольким случайно выбранным узлам, соответствующим определенным условиям. После этого происходит византийский анализ возвращаемых ответов синхронизации, в результате чего извлекается диапазон данных, являющихся безопасными и эффективными. Наконец, консенсусные данные формируются из надежных узлов, обеспечивая согласованность состояния глобальных данных.
Клиент выбирает различные модули синхронизации в сети TFSC, которые можно классифицировать по трем типам.
Проверка синхронизации:
Проверка синхронизации является основным методом синхронизации данных для узлов цепочки TFSC. В данном случае узлы используют проверку синхронизации для обеспечения согласованности статуса глобальных данных. Процесс проверочной синхронизации заключается в том, что узел синхронизации запрашивает данные от конкретного узла через Byzantium. После получения данных выполняется проверка их доступности и согласованности. После успешной проверки данные записываются в кэш и закрепляются.
Быстрая синхронизация:
Быстрая синхронизация предназначена для оперативного реагирования на ситуации быстрой синхронизации, возникающие при сбое в проверке синхронизации. Это происходит, когда узлы в сети TFSC не могут достичь соглашения по определенным блокам. Для повышения доступности данных TFSC разработал этот алгоритм синхронизации. В отличие от проверки синхронизации, быстрая синхронизация предоставляет более детальную обработку данных. В этом контексте проверка синхронизации обрабатывает периодическое состояние данных, тогда как быстрая синхронизация обеспечивает оперативную обработку изменений TFSC в случае быстрого изменения состояния данных. Это обеспечивает согласованность и доступность данных в сети.
Синхронизация дополнительных блоков:
Синхронизация дополнительных блоков дополняет два предыдущих механизма. В определенных сценариях он используется для небольшого числа узлов, которые потеряли данные. TFSC выявляет возможные проблемы в особых условиях при симуляционных тестах. В этих условиях отдельные узлы могут потерять зависимые предварительные блоки. Синхронизация дополнительных блоков инициирует запросы синхронизации к узлам с надежным статусом доступных данных, осуществляет оценку отказоустойчивости и проверку доступности на основе полученных соответствующих зависимых данных. Это позволяет точно восстановить потерянные данные и улучшить состояние данных.
Модуль синхронизации представляет собой ключевой компонент блокчейна. В связи с особенной предварительно созданной структурой DAG и алгоритмом консенсуса, обеспечивающим высокую производительность в TFSC, необходимо внедрить несколько модулей синхронизации. В сложных сетевых сценариях эти модули способны эффективно и точно обеспечивать согласованность состояния всех данных в сети, а также повышать надежность глобальных данных. Упомянутый выше алгоритм синхронизации становится неотъемлемой частью децентрализованной высокопроизводительной сети TFSC.
Протокол Raindrop & VRF
Протокол Raindrop решает проблемы нерационального использования энергии, нерационального использования ресурсов и подозрений в централизации, обеспечивая при этом безопасность.
В настоящее время основной механизм консенсуса не способен достичь сбалансированности между эффективностью и децентрализацией. По сравнению с традиционным протоколом POW, Raindrop Protocol обеспечивает более эффективную работу и избегает конкуренции за вычислительные ресурсы. Каждый узел в сети обладает уникальным идентификатором узла, а выбор и проверка каждого узла в основной сети осуществляются при помощи дискретных случайных чисел.
VRF осуществляет проверку выбора случайных чисел упаковщиками блоков, обеспечивая справедливость и прозрачность процесса выборов. Узлы по всей сети проверяют, случайны ли выбранные упаковщиками блоков узлы верификации, используя VRF.
Применение VRF (Verifiable Random Function) обладает следующими особенностями:
Справедливость и прозрачность: Случайные числа, сгенерированные с использованием VRF, обладают справедливостью и прозрачностью, и любой заинтересованный сторонник может проверить их корректность и подлинность.
Непредсказуемость и непередаваемость: Благодаря алгоритму генерации VRF, который обладает свойствами непредсказуемости и непередаваемости, сгенерированные случайные числа обеспечивают высокий уровень безопасности и доверия.
Экономия средств: Применение VRF позволяет избежать дополнительных расходов и рисков, связанных с использованием традиционных методов генерации случайных чисел, что эффективно снижает общие затраты.
Особенности протокола Raindrop
Безопасность: Протокол Raindrop предотвращает проблемы, такие как двойные платежи и атаки 51%, обеспечивая защиту сети от злонамеренного поведения при сохранении децентрализации и распределенности.
Масштабируемость: С увеличением числа пользователей и объема транзакций протокол Raindrop способен поддерживать более высокую пропускную способность и увеличивать число участников, при этом не нарушая безопасность при расширении.
Справедливость: Применяя дискретные случайные числа, протокол Raindrop обеспечивает равные возможности для всех участников в получении вознаграждения и стимулирует соблюдение правил со стороны узлов.
Верифицируемость: Любой заинтересованный может использовать верифицируемые случайные числа для проверки легитимности нового блока и корректности включенных в него транзакций.
Экономическая эффективность: Протокол Raindrop не требует значительных вычислительных мощностей для расчетов. Благодаря низкому энергопотреблению узлов, он позволяет экономить энергию и ресурсы, что может улучшить экономическую эффективность системы, способствуя участию большего числа узлов и их соответствующему вознаграждению.
Принцип работы протокола Raindrop
Протокол Raindrop представляет собой алгоритм, который использует VRF для верификации случайных чисел и выбора нескольких производителей блоков с наилучшим доступным статусом данных для генерации блоков. Этот процесс обеспечивает справедливость и прозрачность в избирательном процессе. Все узлы в сети проверяют соответствие правилам выбора производителей блоков по требованиям случайных чисел. В течение всего процесса достижения консенсуса это можно сравнить с падением нескольких капель дождя в воду, приводя к непрерывному распространению колебаний и, в конечном итоге, достижению консенсуса.
В TFSC существуют четыре типа узловых ролей, однако эти роли связаны исключительно с функциями узла в определенном транзакционном процессе, а не с его индивидуальным идентификатором. Каждый узел может исполнять четыре различные роли, а в рамках быстрых транзакций узел может выполнять следующие функции:
Роли узлов в сети TFSC распределяются следующим образом:
A. Инициирующий узел: Инициирует транзакцию.
B. Узел-производитель блоков: Отвечает за запуск потока транзакций и их упаковку в блоки.
C. Проверяющий узел (иногда называемый узлом-кандидатом на создание блока): Проверяет подлинность данных узла-производителя блока.
D. Другие узлы: Узлы, которые не участвовали в процессе консенсуса на определенной временной метке, должны подтвердить законность данных блока и сохранить их в базе данных.
На протяжении всего процесса транзакции требуется отобрать несколько узлов, которые соответствуют заданным ставкам в рамках всей сети. Все процессы отбора следуют принципам справедливости и случайности, используя VRF для выбора и проверки. Процесс выглядит следующим образом:
(a) Выбор узла создания блока: Узел, инициирующий транзакцию, использует VRF для выбора узла, который будет создавать блок, на основе информации хеш-функции и подписи в данных блока, и отправляет случайную информацию о транзакции узлу создания блока.
(b) Поток блоков: После получения тела транзакции, производитель блока проверяет VRF, чтобы удостовериться, что это законный узел, выбранный инициирующим узлом для получения тела транзакции. Затем узел производства блока выбирает несколько узлов в качестве узлов проверки блока во всей сети через VRF, проверяет транзакции и VRF в своем блоке, и уведомляет производителя блока после успешной проверки.
(C) Трансляция блока: После получения сообщения, подтверждающего легитимность узла проверки, узел, производящий блок, записывает ее. Когда пороговое значение проверочного сообщения, возвращаемого узлом проверки блока, достигнет 15/20, производитель блоков помещает транзакцию в пул блоков и транслирует транзакции из пула блоков по всей сети в хронологическом порядке каждый определенный период времени.
(d) Включение блока в цепочку: Узел, получивший широковещательное сообщение блока, проходит проверку VRF для определения легитимности узла, производящего блок. Информация о блоке полностью проверяется и сохраняется в базе данных для завершения апчейна.
Протокол Raindrop в своей структуре использует более простой алгоритм, который, сохраняя безопасность, направлен на повышение общей производительности сети TFSC, что позволяет ей оперативно реагировать на транзакции в цепочке. На данный момент среднее время блокировки составляет 0,1 секунды, а самое быстрое время подтверждения всего 1 секунду. С увеличением числа сетевых узлов протокол поддерживает стабильную производительность и способен постепенно увеличивать количество параллельных узлов блокировки в своей сети.
TFSC придерживается наиболее консервативного порядка величины, однако его производительность в полной мере соответствует экологическим требованиям TFSC, обеспечивая достаточную будущую масштабируемость.
Протокол Raindrop внедрил более справедливую модель стимулирования для TFSC, которая создает основу для поощрения узлов через ставки безопасности и показатели рабочей нагрузки.
Цель TFSC – избежать возникновения олигархического экономического эффекта и обеспечить устойчивое развитие с более низким энергопотреблением, способствуя долгосрочной стабильности и гармоничному развитию TFSC. Экономическая модель TFSC ориентируется на принципы инфляционной экономики в технологической сфере.
В процессе развития инфраструктуры web3 мы заметили тенденции, свидетельствующие о возможной централизации. Мы не считаем это категорической ошибкой, но стремимся избежать появления в будущем мира web3 неоспоримых коммерческих гигантов. С момента, когда мы начали верить в BTC, мы придерживаемся принципов, которыми мы должны руководствоваться.
Архитектура и реализация сети TFSC
Архитектура сети
В TFSC все узлы обладают равными правами и выполняют следующие функции:
Хранение
Эти узлы сохраняют историческое состояние каждого блока, включая временные данные, соответствующие каждому блоку в истории. Это гарантирует правильность хэш-значения, легитимность транзакций, доказательство работы и другую информацию, связанную с каждым блоком.
Проверка
Локальная проверка достоверности данных транзакции является возможной задачей для узла. Он анализирует блок, удостоверяясь в корректности хэш-значения, легитимности транзакции, доказательства работы и прочей информации, представленной в блоке.
Распространение
Участвовать в широковещательной передаче информации о блоках и транзакциях, осуществлять проверку достоверности и добавление данных в локальный блокчейн.
Синхронизация
Новые узлы, присоединяющиеся к сети, автоматически обнаруживаются и подключаются для передачи информации другим узлам. Это обеспечивает единое состояние данных и общую историю блокчейна для всех узлов в сети TFSC.
Состояние узла
Мониторинг состояния и надежности узлов в сети, гарантирует, что все узлы находятся в оптимальном состоянии для максимизации количества транзакций в секунду (TPS).
Интерфейс
Интерфейс запросов обеспечивает точную и основную информацию о текущем состоянии узлов и учетных записях.
Идентификация и аутентификация узла в сети TFSC
Идентификация и аутентификация узла в сети TFSC осуществляются с целью обеспечения подлинности узлов проверки. Каждый узел проверки обладает уникальным идентификатором, присвоенным через список узлов. Путем проверки этого списка узлов, узлы проверки, соответствующие определенным условиям, сосредотачиваются в пуле проверки.
Для случайного выбора узлов проверки блоков используются дискретные случайные функции. Это предотвращает несправедливость, которую могут вызывать непрерывные функции из-за различий в скорости сети и других факторов, обеспечивая тем самым плавность и справедливость при выборе узлов.
Основная цель данного процесса заключается в обеспечении случайности и безопасности узлов проверки и создания блоков. Также он устанавливает интервал допуска для вредоносных узлов. Любой узел, участвующий в проверке легальности блока, имеет право на соответствующие вознаграждения.
Полное подключение и максимальное количество
TFSC был разработан с учетом принципа полного подключения, что обеспечивает ему высокую пропускную способность, высокую надежность и минимальную задержку.
Для поддержания оптимальной производительности и обеспечения безопасности сети TFSC рекомендуется использование от «500 до 1000» узлов. Этот вывод основан на многочисленных лабораторных испытаниях и последующих улучшениях.
На основе этого специального механизма был создан уникальный узел в сети, обладающий функцией поглощения. Когда производительность узла достигает узкого места, сетевые узлы, не участвующие в транзакциях, временно становятся недоступными.
Благодаря гибкости процесса участия узлов в сети TFSC, развитие и доступность на сетевом уровне остаются стабильными в долгосрочной перспективе.
Процесс сетевой связи
TFSC использует стабильное двустороннее TCP-соединение. Характеристики надежности, управления потоком, контроля перегрузки и масштабируемости TCP-соединений обеспечивают надежную связь между узлами, гарантируя эффективную и стабильную передачу данных.
В процессе использования TCP-связи сообщения вначале сохраняются в кеше, затем передаются через распределитель транзакций и, в конечном итоге, обрабатываются различными обработчиками.
Реализация коммуникаций
Список узлов в P2P-сети TFSC содержит информацию о других узлах в системе.
При передаче запроса через узлы в сети, необходимо пройти через все узлы, пока не будет найден запрошенный узел. Однако с ростом числа узлов в сети становится невозможным хранить информацию о каждом узле на каждом узле, особенно с увеличением слоев в сети.
С увеличением числа узлов и слоев сети увеличивается объем хранимой информации, что может затруднить быстрый доступ к последующим данным и снизить актуальность сетевой информации.
Для решения этой проблемы TFSC устанавливает порядок узлов, оптимизируя производительность сетевых узлов для быстрого завершения полной сетевой связи в рамках установленного порядка обслуживания.
Когда количество узлов превышает допустимый порог, что может привести к замедлению транзакций, TFSC исключает часть незанятых узлов, чтобы улучшить производительность.
При получении запроса узел использует информацию об отправителе для обновления списка узлов. Этот процесс включает следующие шаги:
- 1) Запись IP-адреса, высоты блока и другой информации об отправителе.
- 2) Обновление информации списка узлов, если отправитель уже присутствует в списке.
- 3) Добавление отправителя в список узлов, если его там нет.
- 4) Передача информации об этом узле другим узлам.
Список узлов также содержит другую информацию о узлах, используемую для проверки и определения режима связи между узлами, такую как адрес Base58, IP, имя и идентификация. Узлы сохраняют информацию обо всех подключенных узлах.
Сетевой функциональный модуль
Шаги регистрации TCP
Узел регистрации инициирует запрос к уже зарегистрированному узлу. В случае, если два узла не имеют установленного соединения, они производят его установку, и, в случае обрыва соединения, запрос на регистрацию будет повторно отправлен.
Зарегистрированный узел обрабатывает запрос на регистрацию и возвращает конкретную информацию о своем узле.
Узел регистрации обрабатывает ответ от зарегистрированного узла и записывает соответствующую информацию о нем.
Механизм проверки состояния узла
Механизм проверки состояния узла используется для обнаружения и поддержания активных связей в сети.
При отключении узла, если он не подключится повторно в течение заданного времени, частота обновления состояния узла уменьшится до нуля, и узел будет удален из сети.
Узел находится в уязвимом состоянии сети, и если уровень потери пакетов высок или время на передачу сигнала туда и обратно превышает пороговое значение в течение определенного периода времени, узел также будет удален. Он не будет повторно подключен, пока состояние сети не вернется к норме.
Этапы проверки механизма состояния узла следующие:
- 1) Узел уменьшает количество обновлений состояния для всех известных узлов на 1 и отправляет запрос ping.
- 2) Когда принимающий узел успешно получает запрос ping, он сбрасывает номер контрольного сигнала отправляющего узла и отправляет запрос Pong.
- 3) Когда отправляющий узел успешно получает запрос Pong, он сбрасывает номер контрольного сигнала принимающего узла и обновляет информацию о своем состоянии.
В целом, механизм проверки активности состояния узла играет ключевую роль в обеспечении стабильности, обнаружении, восстановлении и мониторинге сетевой связи в TFSC. Он гарантирует состояние соединения и доступность между узлами, обеспечивая при этом надежность, работоспособность и стабильность всех сетевых узлов.
Уведомление об изменении высоты блока
При изменении высоты узла он отправляет информацию о своей высоте другим подключенным узлам. Принимающий узел обрабатывает запрос на изменение и обновляет высоту блока для соответствующего узла.
Благодаря внедрению вышеупомянутых различных механизмов TFSC обеспечивает поддержание хорошего состояния каждого узла в сети, гарантирует согласованность данных состояния каждого узла и обеспечивает надежность и успешность непрерывных и быстрых транзакций в сети TFSC.