Whitepaper de TRON

Автор Justin Sun · 2017

Введение

1.1 Видение

TRON — амбициозный проект, посвященный созданию по-настоящему децентрализованного Интернета и его инфраструктура. Протокол TRON, одна из крупнейших операционных систем на базе blockchain в мире. мире предлагает общедоступную blockchain поддержку высокой пропускной способности, высокой масштабируемости и высокой доступности для все децентрализованные приложения (DApps) в экосистеме TRON. Приобретение в июле 2018 г. BitTorrent еще больше укрепил лидерство TRON в создании децентрализованной экосистемы.
1.2 Предыстория

Введение Bitcoin в 2009 году произвело революцию в восприятии обществом традиционных финансовых системы после Великой рецессии (2007-2008 гг.). Централизованные хедж-фонды и банки рухнула из-за спекуляций с непрозрачными производными финансовыми инструментами, технология blockchain предоставила прозрачный универсальный реестр, из которого каждый может получить информацию о транзакциях. транзакции были криптографически защищены с использованием механизма консенсуса Proof of Work (PoW), тем самым предотвращая проблемы двойного расходования.

В конце 2013 года в официальном документе Ethereum была предложена сеть, в которой smart contracts и Полная по Тьюрингу виртуальная машина Ethereum (EVM) позволит разработчикам взаимодействовать с сеть через DApps. Однако, поскольку объемы транзакций в Bitcoin и Ethereum достигли пика в 2017 году, это было очевидно по низкой скорости обработки транзакций и высоким комиссиям за транзакции, что криптовалюты, такие как Bitcoin и Ethereum, в их существующем состоянии не были масштабируемы для широкого распространения. усыновление. Таким образом, TRON был основан и задуман как инновационное решение этих насущных проблем. проблемы масштабируемости.

TRON development roadmap phase 1 timeline from July 2017 to June 2018

1.3 История TRON DAO была основана в июле 2017 года в Сингапуре. В декабре 2017 года у TRON было запустил свой протокол с открытым исходным кодом. Testnet, Blockchain Explorer и веб-кошелек были запущен к марту 2018 года. TRON Основная сеть была запущена вскоре после этого, в мае 2018 года, ознаменовав Выпуск Odyssey 2.0 как техническая веха. В июне 2018 года TRON провозгласил свою независимость. с созданием блока Genesis, а также с приобретением BitTorrent в июле 2018 года. В В октябре 2018 года TRON запустил виртуальную машину TRON (TVM), полный набор инструментов для разработчиков, и система поддержки 360. Дорожная карта TRON предполагает объединение 100 миллионов пользователей BitTorrent. с сетью TRON через Project Atlas, а также способствовать запуску сообщества разработчиков новые захватывающие DApps в сети TRON1. 1 версия 1.0 доступна по адресу https://tron.network/static/doc/white_paper_v_1_0.pdf.

1.4 Терминология

Адрес/Кошелек Адрес или кошелек, состоящий из учетных данных учетной записи в сети TRON, генерируется пара ключей, состоящая из закрытого ключа и открытого ключа, причем последний является производным от первого. через алгоритм. Открытый ключ обычно используется для шифрования сеансового ключа, подписи верификация и шифрование данных, которые могут быть расшифрованы соответствующим секретным ключом.

АБИ Бинарный интерфейс приложения (ABI) — это интерфейс между двумя двоичными программными модулями; обычно один из этих модулей представляет собой библиотеку или средство операционной системы, а другой — запускаемый пользователем программа.

API Интерфейс прикладного программирования (API) в основном используется для разработки пользовательских клиентов. С API поддержка, платформы выдачи token также могут быть разработаны самими разработчиками.

Актив В документах TRON актив аналогичен token, который также обозначается как TRC-10 token.

Очки пропускной способности (BP) Чтобы обеспечить бесперебойную работу сети, сетевые транзакции TRON используют BP в качестве топлива. Каждый аккаунт получает 5000 бесплатных ежедневных BP, и еще больше можно получить, заморозив TRX за BP. И TRX, и TRC-10. Переводы token — это обычные транзакции, стоимость которых составляет BP. Развертывание и исполнение смарт-контракта транзакции потребляют как BP, так и энергию.

Блокировать Блоки содержат цифровые записи транзакций. Полный блок состоит из магического числа, размер блока, заголовок блока, счетчик транзакций и данные транзакции.

Блокировать вознаграждение Награды за производство блоков отправляются на субсчет (адрес/кошелек). Суперпредставители могут запросите свои вознаграждения на Tronscan или напрямую через API.

Заголовок блока Заголовок блока является частью блока. Заголовки блоков TRON содержат hash предыдущего блока, Корень Меркла, временная метка, версия и адрес-свидетель.Холодный кошелек Холодный кошелек, также известный как автономный кошелек, сохраняет закрытый ключ полностью отключенным от любого сеть. Холодные кошельки обычно устанавливаются на «холодные» устройства (например, компьютеры или мобильные телефоны). оставаясь в автономном режиме), чтобы обеспечить безопасность закрытого ключа TRX.

Децентрализованное приложение Децентрализованное приложение — это приложение, которое работает без централизованно доверенной стороны. Приложение что обеспечивает прямое взаимодействие/договоры/коммуникацию между конечными пользователями и/или ресурсами без посредника.

gRPC gRPC (вызовы удаленных процедур gRPC) — это система удаленного вызова процедур (RPC) с открытым исходным кодом. 2 изначально разработанный в Google. Он использует HTTP/2 для транспорта, буферы протокола в качестве интерфейса. язык описания и предоставляет такие функции, как аутентификация, двунаправленная потоковая передача и поток контрольные, блокирующие или неблокирующие привязки, а также отмену и тайм-ауты. Он генерирует кроссплатформенные привязки клиента и сервера для многих языков. Наиболее распространенные сценарии использования включать подключение сервисов в архитектуре в стиле микросервисов и подключение мобильных устройств, а также браузерные клиенты для серверных служб.

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

ЯДК Java Development Kit — это Java SDK, используемый для приложений Java. Это ядро Java разработка, включающая среду приложений Java (библиотека классов JVM+Java) и Java инструменты.

ХаосДБ TRON имеет KhaosDB в памяти полного узла, в которой могут храниться все созданные вновь разветвленные цепочки. в течение определенного периода времени и помогает свидетелям быстро переключаться с их собственной активной цепочки в новую основную цепь. Дополнительную информацию см. в разделе 2.2.2 Хранилище состояний.

УровеньБД Изначально LevelDB был принят с основной целью удовлетворить требования быстрого чтения/записи и быстрого развитие. После запуска основной сети TRON обновил свою базу данных до полностью адаптированной каждый удовлетворял свои собственные потребности. Более подробную информацию см. в разделе 2.2.1 «Хранилище блокчейна».

Меркл Рут Корень Меркла — это hash всех hash всех транзакций, включенных как часть блока в blockchain. сеть. Дополнительную информацию см. в разделе 3.1 «Делегированное подтверждение доли» (DPoS). 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Публичная тестовая сеть (Шаста) Версия сети, работающая в одноузловой конфигурации. Разработчики могут подключиться и протестировать функции, не беспокоясь об экономических потерях. Тестовые сети token не имеют никакой ценности, и каждый может это сделать. запросите больше у общедоступного крана.

ПКП
3 В распределенных вычислениях удаленный вызов процедур (RPC) — это когда компьютерная программа вызывает процедура (подпрограмма) для выполнения в другом адресном пространстве (обычно на другом компьютере на общая сеть), который закодирован так, как если бы это был обычный (локальный) вызов процедуры, без программист явно кодирует детали удаленного взаимодействия.

Масштабируемость Масштабируемость — это особенность протокола TRON. Это способность системы, сети или процесса справляться с растущим объемом работы или ее потенциалом для увеличения, чтобы приспособиться к этому росту.

СОЛНЦЕ SUN заменил drop как наименьшую единицу TRX. 1 TRX = 1 000 000 СОЛНЦЕВ.

Пропускная способность Высокая пропускная способность — особенность основной сети TRON. Он измеряется в транзакциях в секунду (TPS), а именно максимальная пропускная способность транзакций за одну секунду.

Временная метка Примерное время создания блока записывается как временная метка Unix, которая представляет собой количество миллисекунды, прошедшие с 00:00:00 1 января 1970 года по всемирному координированному времени.

ТКС Конфигурация токена.

ТРК-10 Стандарт шифрования token на платформе TRON. Необходимо соблюдать определенные правила и интерфейсы. при проведении первичного предложения монет TRON blockchain.

ТРХ TRX означает Tronix, официальную криптовалюту TRON.

3 https://en.wikipedia.org/wiki/Remote_procedure_call

Introdução

1.1 Visão

TRON é um projeto ambicioso dedicado ao estabelecimento de uma Internet verdadeiramente descentralizada e sua infraestrutura. O protocolo TRON, um dos maiores sistemas operacionais baseados em blockchain do mundo, oferece suporte público blockchain de alto rendimento, alta escalabilidade e alta disponibilidade para todos os aplicativos descentralizados (DApps) no ecossistema TRON. A aquisição de julho de 2018 da O BitTorrent consolidou ainda mais a liderança de TRON na busca de um ecossistema descentralizado.
1.2 Antecedentes

A introdução de Bitcoin em 2009 revolucionou a percepção da sociedade sobre o mercado financeiro tradicional sistema na sequência da Grande Recessão (2007-2008). Como fundos de hedge e bancos centralizados entrou em colapso devido à especulação em derivativos financeiros opacos, a tecnologia blockchain forneceu um livro razão universal transparente do qual qualquer pessoa poderia obter informações sobre transações. O as transações foram protegidas criptograficamente usando um mecanismo de consenso de Prova de Trabalho (PoW), evitando assim problemas de gastos duplos.

No final de 2013, o white paper Ethereum propôs uma rede na qual smart contracts e um A Máquina Virtual Turing-complete Ethereum (EVM) permitiria aos desenvolvedores interagir com o rede através de DApps. No entanto, como os volumes de transações em Bitcoin e Ethereum atingiram o pico em 2017, ficou evidente pelos baixos tempos de processamento das transações e pelas altas taxas de transação que criptomoedas como Bitcoin e Ethereum em seu estado existente não eram escaláveis para uso generalizado adoção. Assim, TRON foi fundado e idealizado como uma solução inovadora para essas questões urgentes. desafios de escalabilidade.

TRON development roadmap phase 1 timeline from July 2017 to June 2018

1.3 História O TRON DAO foi estabelecido em julho de 2017 em Cingapura. Em dezembro de 2017, TRON tinha lançou seu protocolo de código aberto. O Testnet, Blockchain Explorer e Web Wallet foram todos lançada em março de 2018. TRON Mainnet foi lançada logo depois, em maio de 2018, marcando o Lançamento do Odyssey 2.0 como um marco técnico. Em junho de 2018, TRON declarou sua independência com a criação do bloco Genesis, juntamente com a aquisição do BitTorrent em julho de 2018. Em Outubro de 2018, TRON lançou a TRON Máquina Virtual (TVM), um conjunto completo de ferramentas para desenvolvedores, e sistema de suporte 360. O roteiro TRON envolve combinar os 100 milhões de usuários do BitTorrent com a rede TRON por meio do Project Atlas, além de incentivar a comunidade de desenvolvedores a lançar novos e emocionantes DApps na rede TRON1. 1 V1.0 está disponível em https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 Terminologia

Endereço/carteira Um endereço ou carteira que consiste em credenciais de conta na rede TRON é gerado por um par de chaves, que consiste em uma chave privada e uma chave pública, sendo esta última derivada da primeira através de um algoritmo. A chave pública é geralmente usada para criptografia de chave de sessão, assinatura verificação e criptografia de dados que poderiam ser descriptografados por uma chave privada correspondente.

ABI Uma interface binária de aplicativo (ABI) é uma interface entre dois módulos de programa binário; normalmente um desses módulos é uma biblioteca ou recurso do sistema operacional e o outro é uma execução do usuário programa.

API Uma interface de programação de aplicativos (API) é usada principalmente para desenvolvimento de clientes de usuários. Com API suporte, plataformas de emissão token também podem ser projetadas pelos próprios desenvolvedores.

Ativo Nos documentos de TRON, o ativo é igual a token, que também é indicado como TRC-10 token.

Pontos de largura de banda (BP) Para manter a rede operando sem problemas, as transações da rede TRON usam a BP como combustível. Cada conta recebe 5.000 BP diários gratuitos e mais podem ser obtidos congelando TRX para BP. TRX e TRC-10 token transferências são transações normais que custam BP. Implantação e execução de contratos inteligentes as transações consomem tanto BP quanto Energia.

Bloquear Os blocos contêm os registros digitais das transações. Um bloco completo consiste no número mágico, tamanho do bloco, cabeçalho do bloco, contador de transações e dados de transação.

Recompensa de bloco As recompensas de produção de blocos são enviadas para uma subconta (endereço/carteira). Superrepresentantes podem reivindicar suas recompensas no Tronscan ou diretamente através da API.

Cabeçalho do bloco Um cabeçalho de bloco faz parte de um bloco. Os cabeçalhos dos blocos TRON contêm o hash do bloco anterior, o Raiz Merkle, carimbo de data/hora, versão e endereço da testemunha.Carteira Fria A carteira fria, também conhecida como carteira offline, mantém a chave privada completamente desconectada de qualquer rede. As carteiras frias são geralmente instaladas em dispositivos "frios" (por exemplo, computadores ou telefones celulares). permanecer offline) para garantir a segurança da chave privada TRX.

DApp Aplicativo descentralizado é um aplicativo que opera sem uma parte centralmente confiável. Um aplicativo que permite interação/acordos/comunicação direta entre usuários finais e/ou recursos sem intermediário.

gRPC gRPC (gRPC Remote Procedure Calls) é um sistema de chamada de procedimento remoto (RPC) de código aberto 2 inicialmente desenvolvido no Google. Ele usa HTTP/2 para transporte, buffers de protocolo como interface linguagem de descrição e fornece recursos como autenticação, streaming bidirecional e fluxo controle, ligações bloqueadoras ou não bloqueadoras e cancelamento e tempos limite. Ele gera ligações de cliente e servidor de plataforma cruzada para vários idiomas. Cenários de uso mais comuns incluem a conexão de serviços em arquitetura estilo microsserviços e a conexão de dispositivos móveis, e clientes de navegador para serviços de back-end.

Carteira quente A carteira quente, também conhecida como carteira online, permite que a chave privada do usuário seja usada online, podendo assim ser suscetível a vulnerabilidades potenciais ou interceptação por atores mal-intencionados.

JDK Java Development Kit é o Java SDK usado para aplicativos Java. É o núcleo do Java desenvolvimento, compreendendo o ambiente de aplicação Java (biblioteca de classes JVM + Java) e Java ferramentas.

KhaosDB TRON possui um KhaosDB na memória do nó completo que pode armazenar todas as cadeias recém-bifurcadas geradas dentro de um determinado período de tempo e ajuda as testemunhas a mudar rapidamente de sua própria cadeia ativa em uma nova cadeia principal. Consulte 2.2.2 Armazenamento de estado para obter mais detalhes.

NívelDB O LevelDB foi inicialmente adotado com o objetivo principal de atender aos requisitos de R/W rápido e rápido desenvolvimento. Após lançar a Mainnet, TRON atualizou seu banco de dados para um totalmente customizado um atendia às suas próprias necessidades. Consulte 2.2.1 Armazenamento Blockchain para obter mais detalhes.

Raiz Merkel Uma raiz Merkle é o hash de todos os hashes de todas as transações incluídas como parte de um bloco em um blockchain rede. Consulte 3.1 Prova de participação delegada (DPoS) para obter mais detalhes. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Rede de teste pública (Shasta) Uma versão da rede executada em uma configuração de nó único. Os desenvolvedores podem se conectar e testar recursos sem se preocupar com a perda econômica. Testnet tokens não têm valor e qualquer um pode solicite mais da torneira pública.

RPC
3 Na computação distribuída, uma chamada de procedimento remoto (RPC) ocorre quando um programa de computador causa um procedimento (sub-rotina) para ser executado em um espaço de endereço diferente (geralmente em outro computador em uma rede compartilhada), que é codificada como se fosse uma chamada de procedimento normal (local), sem o programador codificando explicitamente os detalhes da interação remota.

Escalabilidade A escalabilidade é um recurso do protocolo TRON. É a capacidade de um sistema, rede ou processo de lidar com uma quantidade crescente de trabalho ou seu potencial será ampliado para acomodar esse crescimento.

SOL SUN substituiu drop como a menor unidade de TRX. 1 TRX = 1.000.000 SOL.

Taxa de transferência Alto rendimento é um recurso da TRON Mainnet. É medido em transações por segundo (TPS), ou seja, a capacidade máxima de transação em um segundo.

Carimbo de data e hora O tempo aproximado de produção do bloco é registrado como timestamp Unix, que é o número de milissegundos decorridos desde 00:00:00 de 01 de janeiro de 1970 UTC.

TKC Configuração de token.

TRC-10 Um padrão de criptografia token na plataforma TRON. Certas regras e interfaces devem ser seguidas ao realizar uma oferta inicial de moedas em TRON blockchain.

TRX TRX significa Tronix, que é a criptomoeda oficial de TRON.

3 https://en.wikipedia.org/wiki/Remote_procedure_call

Архитектура

TRON использует трехуровневую архитектуру, разделенную на уровень хранения, базовый уровень и уровень приложения. Протокол TRON соответствует Google Protobuf, который поддерживает многоязычность. расширение.

TRON three-layer architecture diagram showing Application Layer Core Layer and Storage Layer

Рисунок 1: TRON 3-уровневая архитектура

2.1 Ядро

На базовом уровне имеется несколько модулей, в том числе smart contracts, управление учетными записями и консенсус. Виртуальная машина на основе стека реализована на TRON и оптимизирована инструкция используется набор. Чтобы лучше поддерживать разработчиков DApp, Solidity был выбран в качестве smart contract. 4 язык, с последующей поддержкой других продвинутых языков. Кроме того, консенсус TRON механизм основан на делегированном доказательстве доли (DPoS), и в него было внесено множество нововведений. чтобы удовлетворить его уникальные требования. 2.2 Хранение

TRON разработал уникальный протокол распределенного хранения, состоящий из блочного хранилища и состояния. Хранение. Понятие графовой базы данных было введено в конструкцию уровня хранения для лучше удовлетворять потребности в диверсифицированном хранении данных в реальном мире. 2.2.1 Хранилище блокчейна

TRON blockchain хранилище выбирает использование LevelDB, разработанного Google и проверенного успешен во многих компаниях и проектах. Он имеет высокую производительность и поддерживает произвольные байты. массивы как ключи и значения, получение, добавление и удаление в единственном числе, пакетное добавление и удаление, двунаправленное итераторы и простое сжатие с использованием очень быстрого алгоритма Snappy. 2.2.2 Хранилище состояний

TRON имеет KhaosDB в памяти полного узла, в которой могут храниться все вновь сгенерированные раздвоенные цепочки. в течение определенного периода времени и помогает свидетелям быстро переключаться с их собственной активной цепочки в новую основную цепь. Он также может защитить хранилище blockchain, сделав его более стабильным от взлома. аномально завершается в промежуточном состоянии. 2.3 Применение

Разработчики могут создавать разнообразные DApps и индивидуальные кошельки на TRON. С TRON позволяет развертывать и выполнять smart contracts, возможности служебных приложений безлимитный. 4 Официальная документация Solidity: https://solidity.readthedocs.io/

2.4 Протокол

Протокол TRON соответствует протоколу Google Protocol Buffers , который не зависит от языка и платформы, 5 расширяемый способ сериализации структурированных данных для использования в протоколах связи, хранилищах данных, и многое другое. 2.4.1 Буферы протоколов

Протокольные буферы (Protobuf) — это гибкий, эффективный, автоматизированный механизм сериализации структурированных данных. данные, похожие на JSON или XML, но намного меньше, быстрее и проще.

Определения Protobuf (.proto) можно использовать для создания кода для C++, Java, C#, Python, Ruby, Golang и Objective-C через официальные генераторы кода. Различные сторонние реализации также доступны для многих других языков. Protobuf упрощает разработку клиентов путем унификации определений API, а также оптимизации передачи данных. Клиенты могут использовать API .proto из репозитория протоколов TRON и интегрируйте его с помощью автоматически сгенерированного кода. библиотеки.

Для сравнения, протокольные буферы в 3–10 раз меньше и в 20–100 раз быстрее, чем XML. с менее двусмысленным синтаксисом. Protobuf генерирует классы доступа к данным, которые проще использовать. программно. 2.4.2 HTTP

TRON Протокол предоставляет RESTful HTTP API, альтернативу Protobuf API. Они разделяют то же самое интерфейс, но HTTP API можно легко использовать в клиентах JavaScript. 2.5 TRON Виртуальная машина (TVM)

TVM — это легкая, полная по Тьюрингу виртуальная машина, разработанная для экосистемы TRON. TVM легко соединяется с существующей экосистемой разработки, предоставляя миллионам глобальных разработчики с помощью специально созданной системы blockchain, которая является эффективной, удобной, стабильной, безопасной и масштабируемый.
2.6 Децентрализованная биржа (DEX)

5 Официальная документация Google Protocol Buffers: https://developers.google.com/protocol-buffers/Сеть TRON изначально поддерживает функции децентрализованного обмена. Децентрализованная биржа состоит из нескольких торговых пар. Торговая пара (обозначение «Биржа») – это биржевой рынок. между TRC-10 token или между TRC-10 token и TRX. Любой счет может создать торговый создать пару между любыми token, даже если такая же пара уже существует в сети TRON. Торговля и Колебания цен торговых пар следуют протоколу Bancor. Сеть TRON предусматривает, что 6 веса двух token во всех торговых парах равны, поэтому соотношение их балансов и есть цена между ними. Например, рассмотрим торговую пару, содержащую два token, ABC и DEF. У ABC есть баланс составляет 10 миллионов, а баланс DEF составляет 1 миллион. Поскольку их веса равны, 10 ABC = 1 ЗАЩ. Это означает, что отношение ABC к DEF составляет 10 ABC на DEF. 2.7 Реализация

Код TRON blockchain реализован на Java и изначально был ответвлением EthereumJ.

6 Официальный сайт Bancor Protocol: https://about.bancor.network/protocol/

Arquitetura

TRON adota uma arquitetura de 3 camadas dividida em camada de armazenamento, camada central e camada de aplicativo. O protocolo TRON segue o Google Protobuf, que oferece suporte intrínseco a vários idiomas extensão.

TRON three-layer architecture diagram showing Application Layer Core Layer and Storage Layer

Figura 1: TRON Arquitetura de 3 camadas

2.1 Núcleo

Existem vários módulos na camada principal, incluindo smart contracts, gerenciamento de contas e consenso. Uma máquina virtual baseada em pilha é implementada em TRON e uma instrução otimizada conjunto é usado. Para melhor oferecer suporte aos desenvolvedores de DApp, Solidity foi escolhido como smart contract 4 idioma, seguido de suporte futuro para outros idiomas avançados. Além disso, o consenso de TRON mecanismo é baseado em Prova de Participação Delegada (DPoS) e muitas inovações foram feitas em para atender aos seus requisitos exclusivos. 2.2 Armazenamento

TRON projetou um protocolo exclusivo de armazenamento distribuído que consiste em Block Storage e State Armazenamento. A noção de banco de dados gráfico foi introduzida no design da camada de armazenamento para atender melhor à necessidade de armazenamento diversificado de dados no mundo real. 2.2.1 Armazenamento Blockchain

TRON blockchain armazenamento opta por usar LevelDB, que é desenvolvido pelo Google e comprovado sucesso com muitas empresas e projetos. Possui alto desempenho e suporta bytes arbitrários matrizes como chaves e valores, obtenção, colocação e exclusão singular, colocação e exclusão em lote, bidirecional iteradores e compactação simples usando o algoritmo Snappy muito rápido. 2.2.2 Armazenamento de Estado

TRON possui um KhaosDB na memória do nó completo que pode armazenar todas as cadeias recém-bifurcadas geradas dentro de um determinado período de tempo e ajuda as testemunhas a mudar rapidamente de sua própria cadeia ativa em uma nova cadeia principal. Ele também pode proteger o armazenamento blockchain, tornando-o mais estável contra terminando anormalmente em um estado intermediário. 2.3 Aplicação

Os desenvolvedores podem criar uma grande variedade de DApps e carteiras personalizadas em TRON. Desde TRON permite que smart contracts sejam implantados e executados, as oportunidades de aplicativos utilitários são ilimitado. 4 Documentação oficial do Solidity: https://solidity.readthedocs.io/

2.4 Protocolo

O protocolo TRON adere aos Google Protocol Buffers , que é um protocolo neutro em termos de linguagem, plataforma e 5 e extensível de serializar dados estruturados para uso em protocolos de comunicação, armazenamento de dados, e muito mais. 2.4.1 Buffers de Protocolo

Protocol Buffers (Protobuf) é um mecanismo flexível, eficiente e automatizado para serializar dados estruturados. dados, semelhantes a JSON ou XML, mas muito menores, mais rápidos e mais simples.

As definições de protobuf (.proto) podem ser usadas para gerar código para C++, Java, C#, Python, Ruby, Linguagens Golang e Objective-C por meio dos geradores de código oficiais. Vários terceiros implementações também estão disponíveis para muitos outros idiomas. Protobuf facilita o desenvolvimento para clientes unificando as definições da API e também otimizando as transferências de dados. Os clientes podem usar a API .proto do repositório de protocolo de TRON e integrado por meio do código gerado automaticamente bibliotecas.

Como comparação, os buffers de protocolo são de 3 a 10 vezes menores e de 20 a 100 vezes mais rápidos que o XML, com sintaxe menos ambígua. Protobuf gera classes de acesso a dados mais fáceis de usar programaticamente. 2.4.2HTTP

TRON O protocolo fornece uma API RESTful HTTP alternativa à API Protobuf. Eles compartilham o mesmo interface, mas a API HTTP pode ser facilmente usada em clientes javascript. 2.5 TRON Máquina Virtual (TVM)

O TVM é uma máquina virtual Turing completa e leve desenvolvida para o ecossistema de TRON. O A TVM se conecta perfeitamente com o ecossistema de desenvolvimento existente para fornecer milhões de recursos globais desenvolvedores com um sistema blockchain personalizado que é eficiente, conveniente, estável, seguro e escalável.
2.6 Exchange Descentralizada (DEX)

5 Documentação oficial dos buffers de protocolo do Google: https://developers.google.com/protocol-buffers/A rede TRON oferece suporte nativo a funções de exchange descentralizadas. Uma exchange descentralizada consiste em vários pares de negociação. Um par de negociação (notação “Exchange”) é um mercado de câmbio entre TRC-10 tokens, ou entre um TRC-10 token e TRX. Qualquer conta pode criar uma negociação par entre quaisquer tokens, mesmo que o mesmo par já exista na rede TRON. Negociação e as flutuações de preços dos pares de negociação seguem o Protocolo Bancor. A rede TRON estipula que 6 os pesos dos dois tokens em todos os pares de negociação são iguais, então a proporção de seus saldos é o preço entre eles. Por exemplo, considere um par comercial contendo dois tokens, ABC e DEF. ABC tem um saldo de 10 milhões e o DEF tem um saldo de 1 milhão. Como seus pesos são iguais, 10 ABC = 1 DEF. Isso significa que a proporção de ABC para DEF é de 10 ABC por DEF. 2.7 Implementação

O código TRON blockchain é implementado em Java e era originalmente uma bifurcação de EthereumJ.

6 Site oficial do Protocolo Bancor: https://about.bancor.network/protocol/

Консенсус

3.1 Делегированное подтверждение доли (DPoS)

Самым ранним механизмом консенсуса является механизм консенсуса Proof of Work (PoW). Это протокол в настоящее время реализован в Bitcoin и Ethereum. В системах PoW транзакции 7 8 трансляции по сети группируются в формирующиеся блоки для подтверждения майнера. процесс подтверждения включает в себя hashтранзакцию с использованием криптографических hashалгоритмов до тех пор, пока достигнут корень Меркла, создаётся дерево Меркла:

Рисунок 2: 8 транзакций TRX hash в корне Merkle. Этот корень Меркла затем включается в заголовок блока, который прикрепляется к ранее подтвержденным блокам, образуя blockchain. Это позволяет легко и прозрачно отслеживать транзакции, временные метки и другая соответствующая информация.

7 Bitcoin технический документ: https://bitcoin.org/bitcoin.pdf 8 Ethereum технический документ: https://github.com/ethereum/wiki/wiki/White-Paper

Криптографические алгоритмы hash полезны для предотвращения сетевых атак, поскольку они обладают несколько свойств:
9

● Размер входной/выходной длины. Алгоритм может передавать входные данные любой длины и выводит значение hash фиксированной длины.
● Эффективность. Алгоритм относительно прост и быстр в вычислении.
● Сопротивление прообраза. Для данного выхода z невозможно найти какой-либо вход x такой, что h(x) =​ ​z​. Другими словами, алгоритм hashing ​h(x)​ представляет собой одностороннюю функцию, в которой только выход можно найти по входным данным. Обратное невозможно.
● Устойчивость к столкновениям. Вычислительно невозможно найти какие-либо пары ​x​1 ​≠ x​2​ ​такие, что ​h(x​1​) = h(x​2​)​. Другими словами, вероятность найти два разных входа hash, имеющих одно и то же значение. производительность крайне низкая. Это свойство также подразумевает сопротивление второму прообразу.
● Сопротивление второго прообраза. Учитывая x1 и, следовательно, h(x1), вычислительно невозможно найдите любой ​x​2​ такой, что ​h(x​1​) = h(x​2​)​. Хотя это свойство похоже на сопротивление столкновению, Свойство отличается тем, что оно говорит, что злоумышленник с заданным x1 найдет его вычислительно. невозможно найти какой-либо ​x​2​ hash__ с одним и тем же выходом.
● Детерминированный — сопоставляет каждый вход одному и только одному выходу. ● Avalanche эффект — небольшое изменение входных данных приводит к совершенно другому результату.

Эти свойства придают криптовалютной сети ее внутреннюю ценность, гарантируя, что атаки не будут скомпрометировать сеть. Когда майнеры подтверждают блок, они получают вознаграждение в виде tokens в качестве встроенного стимул для участия в сети. Однако, поскольку капитализация мирового рынка криптовалют неуклонно рос, майнеры стали централизованными и сосредоточили свои вычислительные ресурсы на накопление token в качестве активов, а не для целей участия в сети. CPU-майнеры уступили место Графические процессоры, которые, в свою очередь, уступили место мощным ASIC. В одном примечательном исследовании общая мощность потребление горнодобывающей промышленности Bitcoin оценивается в 3 ГВт, что сопоставимо с потреблением электроэнергии в Ирландии. 10 энергопотребление. В этом же исследовании прогнозируется, что общее энергопотребление в ближайшем будущем достигнет 8 ГВт. будущее.

Для решения проблемы энергетических отходов компания предложила механизм консенсуса Proof of Stake (PoS). много новых сетей. В сетях PoS держатели token блокируют свои балансы token, чтобы стать блокированными. validatorс. validator по очереди предлагают и голосуют за следующий блок. Однако проблема при использовании стандартного PoS влияние validator напрямую коррелирует с количеством заблокированных token. Это приводит к тому, что стороны накапливают большие суммы базовой валюты сети, используя неправомерные средства. влияние на сетевую экосистему.

Механизм консенсуса TRON использует инновационную систему делегированного доказательства доли, в которой 27 Суперпредставители (SR) производят блоки для сети. Каждые 6 часов владельцы счетов TRX те, кто заморозит свои счета, могут проголосовать за избранных кандидатов от СР, среди которых будут 27 лучших кандидатов. считали эсеров. Избиратели могут выбирать СР на основе таких критериев, как проекты, спонсируемые СР, 9 ПААР, К., ПЕЛЗЛ, Дж., «Понимание криптографии: учебник для студентов и практиков», изд. 2010 г. Springer-Verlag Берлин Гейдельберг, 2010 г.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776увеличить внедрение TRX и распределить вознаграждения среди избирателей. Это позволяет создать более демократизированную и децентрализованная экосистема. Аккаунты эсеров - обычные аккаунты, но их накопление голосов позволяет им производить блоки. При низкой пропускной способности Bitcoin и Ethereum из-за их Механизм консенсуса PoW и проблемы масштабируемости, система DPoS TRON предлагает инновационную механизм, приводящий к 2000 TPS по сравнению с 3 TPS Bitcoin и 15 TPS Ethereum.

Сеть протокола TRON генерирует один блок каждые три секунды, при этом каждый блок получает 32 TRX для суперпредставителей. В общей сложности 336 384 000 TRX будут ежегодно присуждаться 27 СР. Каждый раз, когда SR завершает производство блоков, вознаграждения отправляются на субсчет в суперрегистре. SR могут проверять, но не использовать эти TRX token напрямую. Вывод средств может быть осуществлен каждым СР раз в 24 часа, перевод вознаграждения с субаккаунта на указанный СР счет.

В сети TRON есть три типа узлов: узел-свидетель, полный узел и узел Solidity. Узлы-свидетели создаются SR и в основном отвечают за производство и предложение блоков. создание/голосование. Полные узлы предоставляют API, а также широковещательные транзакции и блоки. Синхронизация узлов Solidity блоки из других полных узлов, а также предоставляют индексируемые API.

Consenso

3.1 Prova de Participação Delegada (DPoS)

O mecanismo de consenso mais antigo é o mecanismo de consenso Prova de Trabalho (PoW). Isto o protocolo está atualmente implementado em Bitcoin e Ethereum . Em sistemas PoW, as transações 7 8 transmitidos pela rede são agrupados em blocos nascentes para confirmação do minerador. O O processo de confirmação envolve hashing transações usando algoritmos criptográficos hashing até que um A raiz merkle foi alcançada, criando uma árvore merkle:

Figura 2: 8 transações TRX são hash inseridas na raiz merkle. Essa raiz merkle é então incluída no cabeçalho do bloco, que é anexado aos blocos previamente confirmados para formar um blockchain. Isso permite um rastreamento fácil e transparente de transações, carimbos de data/hora e outras informações relacionadas.

7 Bitcoin documento técnico: https://bitcoin.org/bitcoin.pdf 8 Ethereum documento técnico: https://github.com/ethereum/wiki/wiki/White-Paper

Algoritmos criptográficos hashing são úteis na prevenção de ataques à rede porque possuem várias propriedades:
9

● Tamanho do comprimento de entrada/saída - O algoritmo pode passar uma entrada de qualquer tamanho e gera um valor hash de comprimento fixo.
● Eficiência​ - O algoritmo é relativamente fácil e rápido de calcular.
● Resistência de pré-imagem​ - Para uma determinada saída z, é impossível encontrar qualquer entrada x tal que h(x) =​ z​. Em outras palavras, o algoritmo hashing h(x)​ é uma função unidirecional em que apenas o a saída pode ser encontrada, dada uma entrada. O inverso não é possível.
● Resistência à colisão​ - É computacionalmente inviável encontrar quaisquer pares ​x​1 ​≠ x​2​ ​tais que ​h(x​1​) =h(x​2​)​. Em outras palavras, a probabilidade de encontrar duas entradas diferentes hash na mesma a saída é extremamente baixa. Esta propriedade também implica segunda resistência de pré-imagem.
● Segunda resistência de pré-imagem​ - Dado ​x​1​, e portanto h(x​1​)​, é computacionalmente inviável encontre qualquer x2 tal que h(x​1​) = h(x​2​)​. Embora esta propriedade seja semelhante à resistência à colisão, o propriedade difere porque diz que um invasor com um determinado x1 irá encontrá-lo computacionalmente inviável encontrar qualquer ​x​2​ hashing para a mesma saída.
● Determinístico - mapeia cada entrada para uma e apenas uma saída. ● Efeito Avalanche​ - uma pequena alteração na entrada resulta em uma saída totalmente diferente.

Estas propriedades conferem à rede de criptomoedas o seu valor intrínseco, garantindo que os ataques não comprometer a rede. Quando os mineradores confirmam um bloqueio, eles são recompensados com tokens como um recurso integrado incentivo à participação na rede. No entanto, à medida que a capitalização do mercado global de criptomoedas aumentou constantemente, os mineiros tornaram-se centralizados e concentraram seus recursos de computação em acumular tokens como ativos, e não para fins de participação na rede. Os mineradores de CPU deram lugar a GPUs, que por sua vez deram lugar a poderosos ASICs. Em um estudo notável, o poder total o consumo de mineração Bitcoin foi estimado em até 3 GW, comparável ao da Irlanda 10 consumo de energia. Este mesmo estudo projetou que o consumo total de energia atingirá 8 GW no próximo futuro.

Para resolver a questão do desperdício de energia, o mecanismo de consenso Proof of Stake (PoS) foi proposto por muitas novas redes. Em redes PoS, os titulares de token bloqueiam seus saldos token para se tornarem bloqueados validators. Os validators se revezam propondo e votando no próximo bloco. No entanto, o problema com PoS padrão é que a influência de validator se correlaciona diretamente com a quantidade de tokens bloqueados. Isto resulta em partes que acumulam grandes quantidades da moeda base da rede e exercem indevidamente influência no ecossistema da rede.

O mecanismo de consenso TRON usa um sistema inovador de Prova de Participação Delegada no qual 27 Super Representantes (SRs) produzem blocos para a rede. A cada 6 horas, titulares de contas TRX que congelam suas contas podem votar em uma seleção de candidatos SR, com os 27 principais candidatos considerados os SRs. Os eleitores podem escolher RS com base em critérios como projetos patrocinados por RS para 9 PAAR, C., PELZL, J., Compreendendo a criptografia: um livro didático para estudantes e profissionais, 2010 ed. Springer-Verlag Berlim Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776aumentar a adoção do TRX e recompensas distribuídas aos eleitores. Isto permite um ambiente mais democratizado e ecossistema descentralizado. As contas dos SRs são contas normais, mas a sua acumulação de votos lhes permite produzir blocos. Com as baixas taxas de transferência de Bitcoin e Ethereum devido à sua Mecanismo de consenso PoW e problemas de escalabilidade, o sistema TRON de DPoS oferece um inovador mecanismo resultando em 2000 TPS em comparação com Bitcoin 3 TPS e Ethereum 15 TPS.

A rede do protocolo TRON gera um bloco a cada três segundos, com cada bloco concedendo 32 TRX para Super Representantes. Um total de 336.384.000 TRX serão concedidos anualmente aos 27 SRs. Cada vez que um SR termina a produção do bloco, as recompensas são enviadas para uma subconta no super-razão. Os SRs podem verificar, mas não fazer uso direto desses TRX tokens. Um saque pode ser feito por cada SR uma vez a cada 24 horas, transferindo as recompensas da subconta para o SR especificado conta.

Os três tipos de nós na rede TRON são Witness Node, Full Node e Solidity Node. Os nós testemunhas são configurados pelos SRs e são os principais responsáveis pela produção e proposta de blocos criação/votação. Nós completos fornecem APIs e transações e blocos de transmissão. Sincronização de nós de solidez blocos de outros Full Nodes e também fornecem APIs indexáveis.

Счет

4.1 Типы

В сети TRON есть три типа учетных записей: обычные учетные записи, учетные записи token и Контрактные счета.

1. Обычные счета используются для стандартных транзакций.
2. Учетные записи токенов используются для хранения token TRC-10.
3. Контрактные учетные записи — это smart contract учетные записи, созданные обычными учетными записями, и их можно также вызывается обычными учетными записями. 4.2 Создание

Создать учетную запись TRON можно тремя способами:

1. Создать новую учетную запись через API 2. Переведите TRX на новый адрес учетной записи 3. Перенесите любой TRC-10 token на новый адрес учетной записи.

Пара автономных ключей, состоящая из адреса (открытого ключа) и закрытого ключа и не записанная Сеть TRON также может быть сгенерирована. Алгоритм генерации адреса пользователя состоит из генерация пары ключей и последующее извлечение открытого ключа (64-байтовый массив байтов, представляющий x, y координаты). Хешируйте открытый ключ с помощью функции SHA3-256 (принятый протокол SHA3: KECCAK-256) и извлеките последние 20 байт результата. Добавьте 41 в начало массива байтов. и убедитесь, что начальная длина адреса составляет 21 байт. Дважды хешируйте адрес, используя функцию SHA3-256. и возьмите первые 4 байта в качестве проверочного кода. Добавьте код подтверждения в конец первоначального адрес и получить адрес в формате base58check посредством кодировки base58. Закодированный Адрес основной сети начинается с буквы T и имеет длину 34 байта. 4.3 Структура

Три различных типа учетных записей: Normal, AssetIssue и Contract. Аккаунт содержит 7 параметры:

1. account_name​: имя этой учетной записи – например. Счета счетов.
2. тип: какой тип этой учетной записи – например. 0 (означает тип «Нормальный»).
3. баланс: баланс этого счета – например. 4213312.

Protobuf data structure: message​ ​Account​ {
​message​ ​Vote​ {

​bytes​ vote_address = ​1​;

​int64​ vote_count = ​2​;

} ​bytes​ accout_name = ​1​;
AccountType type = ​2​;
​bytes​ address = ​3​;
​int64​ balance = ​4​;
​repeated​ Vote votes = ​5​;
map<​string​, ​int64​> asset = ​6​; ​int64​ latest_operation_time = ​10​; }

enum​ ​AccountType​ {
Normal = ​0​;
AssetIssue = ​1​;
Contract = ​2​; }

Conta

4.1 Tipos

Os três tipos de contas na rede TRON são contas normais, contas token e contas contratuais.

1. Contas regulares são usadas para transações padrão.
2. Contas de token são usadas para armazenar TRC-10 tokens.
3. As contas de contrato são contas smart contract criadas por contas normais e podem ser acionado por contas regulares também. 4.2 Criação

Existem três maneiras de criar uma conta TRON:

1. Crie uma nova conta através da API 2. Transfira TRX para um novo endereço de conta 3. Transfira qualquer TRC-10 token para um novo endereço de conta

Um par de chaves off-line composto por um endereço (chave pública) e uma chave privada, e não registrado pelo TRON rede, também pode ser gerada. O algoritmo de geração de endereço de usuário consiste em gerando um par de chaves e depois extraindo a chave pública (matriz de bytes de 64 bytes representando x, y coordenadas). Faça hash da chave pública usando a função SHA3-256 (o protocolo SHA3 adotado é KECCAK-256) e extraia os últimos 20 bytes do resultado. Adicione 41 ao início da matriz de bytes e certifique-se de que o comprimento do endereço inicial seja de 21 bytes. Hash o endereço duas vezes usando a função SHA3-256 e pegue os primeiros 4 bytes como código de verificação. Adicione o código de verificação ao final do inicial endereço e obtenha o endereço no formato base58check por meio da codificação base58. Um codificado O endereço da rede principal começa com T e tem 34 bytes de comprimento. 4.3 Estrutura

Os três tipos de conta diferentes são Normal, AssetIssue e Contrato. Uma conta contém 7 parâmetros:

1. nome_da_conta​: o nome desta conta – por exemplo. Conta de contas.
2. tipo​: que tipo é esta conta – por ex. 0 (significa tipo ‘Normal’).
3. saldo​: saldo desta conta – por ex. 4213312.

Protobuf data structure: message​ ​Account​ {
​message​ ​Vote​ {

​bytes​ vote_address = ​1​;

​int64​ vote_count = ​2​;

} ​bytes​ accout_name = ​1​;
AccountType type = ​2​;
​bytes​ address = ​3​;
​int64​ balance = ​4​;
​repeated​ Vote votes = ​5​;
map<​string​, ​int64​> asset = ​6​; ​int64​ latest_operation_time = ​10​; }

enum​ ​AccountType​ {
Normal = ​0​;
AssetIssue = ​1​;
Contract = ​2​; }

Блок

Блок обычно содержит заголовок блока и несколько транзакций.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Заголовок блока

Заголовок блока содержит ​raw_data​, ​witness_signature​ и ​blockID​.

Protobuf data structure: message​ ​BlockHeader​ {
​message​ ​raw​ {

​int64​ timestamp = ​1​;

​bytes​ txTrieRoot = ​2​; 
​bytes​ parentHash = ​3​;

​uint64​ number = ​4​;  
​uint64​ version = ​5​;

​bytes​ witness_address = ​6​;

} ​bytes​ witness_signature = ​2​; ​bytes​ blockID = ​3​;
} 5.1.1 Необработанные данные

Необработанные данные обозначаются как ​raw_data​ в Protobuf. Он содержит необработанные данные сообщения, содержащие 6 параметры:

1. временная метка: временная метка этого сообщения – например. 1543884429000. 2. txTrieRoot​: корень дерева Меркла – например. 7дакса…3изд. 3. родительскийHash: hash последнего блока – например. 7дакса…3изд. 4. число: высота блока – например. 4638708. 5. версия​: зарезервировано – например. 5.

6. свидетеля_адрес: адрес свидетеля, упакованный в этот блок – например. 41928c...4d21. 5.1.2 Подпись свидетеля

Подпись свидетеля обозначается как Witness_signature в Protobuf, которая является подписью для этого заголовок блока из узла-свидетеля. 5.1.3 Идентификатор блока

Идентификатор блока обозначается как ​blockID​ в Protobuf. Он содержит атомарную идентификацию блока. Блок ID содержит 2 параметра: 1. hash: hash блока. 2. номер​: hash и высота блока. 5.2 Транзакция 5.2.1 Подписание

Процесс подписания транзакции TRON соответствует стандартному криптографическому алгоритму ECDSA с Кривая выбора SECP256K1. Закрытый ключ — это случайное число, а открытый ключ — это точка на эллиптическая кривая. Процесс генерации открытого ключа состоит из первой генерации случайного числа в виде секретный ключ, а затем умножив базовую точку эллиптической кривой на секретный ключ, чтобы получить открытый ключ. При возникновении транзакции необработанные данные транзакции сначала преобразуются в байтовый формат. Затем необработанные данные подвергаются SHA-256 hashing. Закрытый ключ, соответствующий контракту адрес затем подписывает результат SHA256 hash. Результат подписи затем добавляется в транзакция.
5.2.2 Модель полосы пропускания

Обычные транзакции потребляют только точки пропускной способности, но операции smart contract потребляют и то, и другое. точки энергии и пропускной способности. Доступны два типа точек пропускной способности. Пользователи могут получить баллы пропускной способности от замораживания TRX, а также ежедневно доступны 5000 бесплатных баллов пропускной способности.

Когда транзакция TRX транслируется, она передается и сохраняется в виде массива байтов по сеть. Очки пропускной способности, использованные одной транзакцией = количеству байтов транзакции. умноженное на количество баллов за пропускную способность. Например, если длина массива байтов транзакции равна 200, тогда транзакция потребляет 200 точек пропускной способности. Однако, если перевод TRX или token приводит к создается целевая учетная запись, затем для создания учетной записи используются только точки пропускной способности будут вычтены, а дополнительные баллы за пропускную способность не будут вычтены. При создании аккаунта сценарии сеть сначала будет использовать точки пропускной способности, полученные инициатором транзакции.от замерзания TRX. Если этой суммы недостаточно, то сеть потребляет транзакцию. TRX инициатора.

В стандартных сценариях передачи TRX с одной учетной записи TRX на другую сеть сначала потребляет баллы пропускной способности, полученные инициатором транзакции за заморозку TRX. Если этого недостаточно, тогда потребляет из бесплатных 5000 ежедневных баллов пропускной способности. Если этого все еще недостаточно, то сеть потребляет TRX инициатора транзакции. Сумма рассчитывается по количеству байтов в транзакция умножается на 10 SUN. Таким образом, для большинства держателей TRX, которые не обязательно заморозят свой TRX для участия в голосовании SR, первый шаг автоматически пропускается (поскольку баланс TRX заморожен = 0), и 5000 ежедневных бесплатных пропускных способностей обеспечивают транзакцию.

Для передачи TRC-10 token сеть сначала проверяет, есть ли общее количество точек свободной полосы пропускания выпущенного актива token достаточно. В противном случае баллы пропускной способности, полученные в результате заморозки TRX, потребляется. Если точек пропускной способности все еще недостаточно, то он потребляет TRX транзакции. инициатор.

5.2.3 Плата

Сеть TRON обычно не взимает комиссию за большинство транзакций, однако из-за особенностей системы ограничения и справедливость, использование полосы пропускания и транзакции требуют определенных комиссий.

Сборы делятся на следующие категории: 1. Обычные транзакции стоят очков пропускной способности. Пользователи могут использовать бесплатные ежедневные баллы пропускной способности. (5000) или заморозьте TRX, чтобы получить больше. Если точек пропускной способности недостаточно, TRX будет используется непосредственно со счета-отправителя. Необходимый TRX равен количеству байт * 10 SUN. 2. Смарт-контракты требуют затрат энергии (раздел 6), но им также потребуются точки пропускной способности для транзакция будет транслироваться и подтверждаться. Стоимость полосы пропускания такая же, как указано выше. 3. Все транзакции запросов бесплатны. Это не требует затрат энергии или пропускной способности.

Сеть TRON также определяет набор фиксированных комиссий за следующие транзакции: 1. Создание узла-свидетеля: 9999 TRX 2. Выдача TRC-10 token: 1024 TRX 3. Создание новой учетной записи: 0,1 TRX. 4. Создание обменной пары: 1024 TRX 5.2.4 Транзакция как доказательство доли (TaPoS)

TRON использует TaPoS, чтобы гарантировать, что все транзакции подтверждают основной blockchain, при этом делая его трудно подделать поддельные цепочки. В TaPoS сети требуют, чтобы каждая транзакция включала часть hash заголовка последнего блока. Это требование предотвращает повторное воспроизведение транзакций на разветвляется, не включая указанный блок, а также сигнализирует сети, что конкретный пользователь и егоставки находятся на конкретной вилке. Этот механизм консенсуса защищает сеть от отказа в Сервис, 51%, эгоистичный майнинг и атаки двойной траты.
5.2.5 Подтверждение транзакции

Транзакция включается в будущий блок после трансляции в сеть. После 19 блоков добыт на TRON (включая собственный блок), транзакция подтверждается. Каждый блок производится один из 27 лучших суперпредставителей по круговой системе. На каждый блок уходит ~3 секунды. быть добыт на blockchain. Время может незначительно отличаться для каждого суперпредставителя в зависимости от сети. Условия и конфигурация машины. Как правило, сделка считается полностью подтвержденной после ~1 минута. 5.2.6 Структура

Transaction APIs consist of the following functions: message​ ​Transaction​ { ​message​ ​Contract​ { ​enum​ ​ContractType​ { AccountCreateContract = ​0​; // Create account/wallet TransferContract = ​1​; // Transfer TRX TransferAssetContract = ​2​; // Transfer TRC10 token VoteWitnessContract = ​4​; // Vote for Super Representative (SR) WitnessCreateContract = ​5​; // Create a new SR account AssetIssueContract = ​6​; // Create a new TRC10 token WitnessUpdateContract = ​8​; // Update SR information ParticipateAssetIssueContract = ​9​; // Purchase TRC10 token AccountUpdateContract = ​10​; // Update account/wallet information FreezeBalanceContract = ​11​; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = ​12​; // Unfreeze TRX WithdrawBalanceContract = ​13​; // Withdraw SR rewards, once per day UnfreezeAssetContract = ​14​; // Unfreeze TRC10 token UpdateAssetContract = ​15​; // Update a TRC10 token’s information ProposalCreateContract = ​16​; // Create a new network proposal by any SR ProposalApproveContract = ​17​; // SR votes yes for a network proposal ProposalDeleteContract = ​18​; // Delete a network proposal by owner CreateSmartContract = ​30​; // Deploy a new smart contract TriggerSmartContract = ​31​; // Call a function on a smart contract GetContract = ​32​; // Get an existing smart contract UpdateSettingContract = ​33​; // Update a smart contract’s parameters ExchangeCreateContract = ​41​; // Create a token trading pair on DEX ExchangeInjectContract = ​42​; // Inject funding into a trading pair

Block header and Merkle tree structure showing how TRX transactions are hashed into the Merkle root

ExchangeWithdrawContract = ​43​; // Withdraw funding from a trading pair ExchangeTransactionContract = ​44​; // Perform token trading UpdateEnergyLimitContract = ​45​; // Update origin_energy_limit on a smart contract } } }

Bloco

Um bloco normalmente contém um cabeçalho de bloco e diversas transações.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Cabeçalho do bloco

Um cabeçalho de bloco contém ​raw_data​, ​witness_signature​ e ​blockID​.

Protobuf data structure: message​ ​BlockHeader​ {
​message​ ​raw​ {

​int64​ timestamp = ​1​;

​bytes​ txTrieRoot = ​2​; 
​bytes​ parentHash = ​3​;

​uint64​ number = ​4​;  
​uint64​ version = ​5​;

​bytes​ witness_address = ​6​;

} ​bytes​ witness_signature = ​2​; ​bytes​ blockID = ​3​;
} 5.1.1 Dados Brutos

Os dados brutos são denotados como raw_data no Protobuf. Ele contém os dados brutos de uma mensagem, contendo 6 parâmetros:

1. timestamp​: timestamp desta mensagem – por ex. 1543884429000. 2. txTrieRoot​: a raiz da árvore Merkle – por exemplo. 7dacsa…3ed. 3. parentHash​: o hash do último bloco – por exemplo. 7dacsa…3ed. 4. número​: a altura do bloco – por ex. 4638708. 5. versão​: reservada – por exemplo. 5.

Block header and Merkle tree structure showing how TRX transactions are hashed into the Merkle root

6. testemunha_address​: o endereço da testemunha compactada neste bloco – por exemplo. 41928c...4d21. 5.1.2 Assinatura da Testemunha

A assinatura da testemunha é denotada como ​witness_signature​ no Protobuf, que é a assinatura para este cabeçalho do bloco do nó testemunha. 5.1.3 ID do bloco

Block ID é denotado como ​blockID​ no Protobuf. Ele contém a identificação atômica de um bloco. Um bloco O ID contém 2 parâmetros: 1. hash​: o hash do bloco. 2. número​: o hash e a altura do bloco. 5.2 Transação 5.2.1 Assinatura

O processo de assinatura da transação de TRON segue um algoritmo criptográfico ECDSA padrão, com um Curva de seleção SECP256K1. Uma chave privada é um número aleatório e a chave pública é um ponto na curva elíptica. O processo de geração de chave pública consiste em primeiro gerar um número aleatório como um chave privada e, em seguida, multiplicando o ponto base da curva elíptica pela chave privada para obter o chave pública. Quando ocorre uma transação, os dados brutos da transação são primeiro convertidos em formato de byte. Os dados brutos são então submetidos a SHA-256 hashing. A chave privada correspondente ao contrato address então assina o resultado do SHA256 hash. O resultado da assinatura é então adicionado ao transação.
5.2.2 Modelo de largura de banda

As transações comuns consomem apenas pontos de largura de banda, mas as operações smart contract consomem ambos pontos de energia e largura de banda. Existem dois tipos de pontos de largura de banda disponíveis. Os usuários podem ganhar pontos de largura de banda do congelamento do TRX, enquanto 5.000 pontos de largura de banda gratuitos também estão disponíveis diariamente.

Quando uma transação TRX é transmitida, ela é transmitida e armazenada na forma de uma matriz de bytes sobre a rede. Pontos de largura de banda consumidos por uma transação = número de bytes da transação multiplicado pela taxa de pontos de largura de banda. Por exemplo, se o comprimento da matriz de bytes de uma transação for 200, então a transação consome 200 pontos de largura de banda. No entanto, se uma transferência TRX ou token resultar em a conta de destino sendo criada, apenas os pontos de largura de banda consumidos para criar a conta serão deduzidos e pontos de largura de banda adicionais não serão deduzidos. Na criação de uma conta cenário, a rede consumirá primeiro os pontos de largura de banda que o iniciador da transação ganhoudo congelamento do TRX. Se esse valor for insuficiente, a rede consome a transação TRX do iniciador.

Em cenários padrão de transferência TRX de uma conta TRX para outra, a rede primeiro consome os pontos de largura de banda obtidos pelo iniciador da transação para congelar o TRX. Se isso for insuficiente, então consome dos 5.000 pontos de largura de banda diários gratuitos. Se isso ainda não for suficiente, então a rede consome o TRX do iniciador da transação. O valor é calculado pelo número de bytes em a transação multiplicada por 10 SUN. Assim, para a maioria dos detentores de TRX que podem não necessariamente congelar seu TRX para participar da votação SR, a primeira etapa é automaticamente ignorada (já que o saldo TRX frozen = 0) e a largura de banda gratuita diária de 5.000 alimenta a transação.

Para transferências TRC-10 token, a rede primeiro verifica se o total de pontos de largura de banda livre do ativo token emitido são suficientes. Caso contrário, os pontos de largura de banda obtidos com o congelamento do TRX são consumido. Se ainda não houver pontos de largura de banda suficientes, então consome o TRX da transação iniciador.

5.2.3 Taxa

A rede TRON geralmente não cobra taxas para a maioria das transações, entretanto, devido ao sistema restrições e justiça, uso de largura de banda e transações cobram certas taxas.

As taxas cobradas são divididas nas seguintes categorias: 1. As transações normais custam pontos de largura de banda. Os usuários podem usar os pontos de largura de banda diários gratuitos (5000) ou congele TRX para obter mais. Quando os pontos de largura de banda não forem suficientes, o TRX será usado diretamente da conta remetente. O TRX necessário é o número de bytes * 10 SUN. 2. Os contratos inteligentes custam energia (Seção 6), mas também precisarão de pontos de largura de banda para o transação a ser transmitida e confirmada. O custo da largura de banda é o mesmo acima. 3. Todas as transações de consulta são gratuitas. Não custa energia ou largura de banda.

A rede TRON também define um conjunto de taxas fixas para as seguintes transações: 1. Criando um nó testemunha: 9999 TRX 2. Emitindo um TRC-10 token: 1024 TRX 3. Criando uma nova conta: 0,1 TRX 4. Criando um par de troca: 1024 TRX 5.2.4 Transação como Prova de Participação (TaPoS)

TRON usa TaPoS para garantir que todas as transações confirmem o blockchain principal, ao mesmo tempo que o faz difícil forjar correntes falsificadas. No TaPoS, as redes exigem que cada transação inclua parte de o hash de um cabeçalho de bloco recente. Este requisito impede que as transações sejam reproduzidas em bifurcações não incluindo o bloco referenciado, e também sinaliza à rede que um determinado usuário e seusa aposta está em um fork específico. Este mecanismo de consenso protege a rede contra negação de Serviço, 51%, mineração egoísta e ataques de gasto duplo.
5.2.5 Confirmação de Transação

Uma transação é incluída em um bloco futuro após ser transmitida para a rede. Após 19 blocos serem minerado em TRON (incluindo seu próprio bloco), a transação é confirmada. Cada bloco é produzido por um dos 27 principais superrepresentantes em um estilo round robin. Cada bloco leva cerca de 3 segundos para ser extraído em blockchain. O tempo pode variar ligeiramente para cada Super Representante devido à rede condições e configurações da máquina. Em geral, uma transação é considerada totalmente confirmada após ~1 minuto. 5.2.6 Estrutura

Transaction APIs consist of the following functions: message​ ​Transaction​ { ​message​ ​Contract​ { ​enum​ ​ContractType​ { AccountCreateContract = ​0​; // Create account/wallet TransferContract = ​1​; // Transfer TRX TransferAssetContract = ​2​; // Transfer TRC10 token VoteWitnessContract = ​4​; // Vote for Super Representative (SR) WitnessCreateContract = ​5​; // Create a new SR account AssetIssueContract = ​6​; // Create a new TRC10 token WitnessUpdateContract = ​8​; // Update SR information ParticipateAssetIssueContract = ​9​; // Purchase TRC10 token AccountUpdateContract = ​10​; // Update account/wallet information FreezeBalanceContract = ​11​; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = ​12​; // Unfreeze TRX WithdrawBalanceContract = ​13​; // Withdraw SR rewards, once per day UnfreezeAssetContract = ​14​; // Unfreeze TRC10 token UpdateAssetContract = ​15​; // Update a TRC10 token’s information ProposalCreateContract = ​16​; // Create a new network proposal by any SR ProposalApproveContract = ​17​; // SR votes yes for a network proposal ProposalDeleteContract = ​18​; // Delete a network proposal by owner CreateSmartContract = ​30​; // Deploy a new smart contract TriggerSmartContract = ​31​; // Call a function on a smart contract GetContract = ​32​; // Get an existing smart contract UpdateSettingContract = ​33​; // Update a smart contract’s parameters ExchangeCreateContract = ​41​; // Create a token trading pair on DEX ExchangeInjectContract = ​42​; // Inject funding into a trading pair

ExchangeWithdrawContract = ​43​; // Withdraw funding from a trading pair ExchangeTransactionContract = ​44​; // Perform token trading UpdateEnergyLimitContract = ​45​; // Update origin_energy_limit on a smart contract } } }

TRON Виртуальная машина

6.1 Введение

TRON Virtual Machine (TVM) — это легкая, полная по Тьюрингу виртуальная машина, разработанная для Экосистема TRON. Его цель — предоставить специально разработанную систему blockchain, которая будет эффективной, удобный, стабильный, безопасный и масштабируемый.

TVM изначально отделился от EVM и может легко соединиться с существующей Solidity smart contract. 11 экосистема развития. На основании этого TVM дополнительно поддерживает консенсус DPoS.

TVM использует концепцию энергии. В отличие от газового механизма на EVM, операции транзакции и smart contract на TVM бесплатны, TRX не расходуется. Технически, исполняемый вычислительная мощность TVM не ограничена общей суммой хранения tokens. 6.2 Рабочий процесс

Компилятор сначала преобразует Solidity smart contract в байт-код, читаемый и исполняемый на ТВМ. Затем TVM обрабатывает данные посредством кода операции, что эквивалентно работе логики. конечного автомата на основе стека. Наконец, TVM обращается к данным blockchain и вызывает Интерфейс внешних данных через уровень взаимодействия. 11 EVM: Ethereum виртуальная машина (https://github.com/ethereum/ethereumj)

TVM workflow showing compiler translating Solidity smart contracts into bytecode for execution on the TRON Virtual Machine

Рисунок 3: Рабочий процесс TVM

6.3 Производительность 6.3.1 Облегченная архитектура

TVM использует облегченную архитектуру с целью снижения потребления ресурсов и гарантии производительность системы. 6.3.2 Надежность

Передача TRX и выполнение smart contract стоят только точек пропускной способности вместо TRX, который освобождает TRON от атаки. Потребление полосы пропускания предсказуемо и статично, поскольку каждый Стоимость вычислительного шага фиксирована. 6.3.3 Высокая совместимость

TVM совместим с EVM и в будущем будет совместим с другими распространенными виртуальными машинами. Таким образом, все smart contract на EVM являются исполняемыми на TVM. 6.3.4 Низкая стоимость

Благодаря настройке полосы пропускания TVM затраты на разработку сокращаются, и разработчики могут сосредоточиться на логическое развитие своего контрактного кода. TVM также предлагает универсальные интерфейсы по контракту. развертывание, запуск и просмотр для удобства разработчиков.

TRON Máquina Virtual

6.1 Introdução

TRON Máquina Virtual (TVM) é uma máquina virtual Turing completa e leve desenvolvida para o Ecossistema de TRON. Seu objetivo é fornecer um sistema blockchain personalizado que seja eficiente, conveniente, estável, seguro e escalável.

TVM inicialmente bifurcado de EVM e pode se conectar perfeitamente com a solidez existente smart contract 11 ecossistema de desenvolvimento. Com base nisso, o TVM também oferece suporte ao consenso DPoS.

A TVM emprega o conceito de Energia. Diferente do mecanismo de gás em EVM, as operações de transações e smart contracts no TVM são gratuitas, sem consumo de TRX. Tecnicamente, executável a capacidade de computação no TVM não é restrita pela quantidade total de tokens. 6.2 Fluxo de trabalho

O compilador primeiro traduz o Solidity smart contract em bytecode legível e executável em a TVM. O TVM então processa os dados através do opcode, o que equivale a operar a lógica de uma máquina de estados finitos baseada em pilha. Finalmente, o TVM acessa dados blockchain e invoca Interface de dados externos através da camada de interoperação. 11 EVM: Ethereum Máquina Virtual (https://github.com/ethereum/ethereumj)

TVM workflow showing compiler translating Solidity smart contracts into bytecode for execution on the TRON Virtual Machine

Figura 3: Fluxo de trabalho TVM

6.3 Desempenho 6.3.1 Arquitetura Leve

A TVM adota uma arquitetura leve com o objetivo de reduzir o consumo de recursos para garantir desempenho do sistema. 6.3.2 Robusto

As transferências de TRX e a execução de smart contract custam apenas pontos de largura de banda, em vez de TRX, que isenta TRON de ser atacado. O consumo de largura de banda é previsível e estático, pois cada o custo da etapa computacional é fixo. 6.3.3 Alta Compatibilidade

TVM é compatível com EVM e será compatível com VMs mais convencionais no futuro. Assim, todos os smart contracts em EVM são executáveis ​​no TVM. 6.3.4 Baixo Custo

Devido à configuração da largura de banda do TVM, os custos de desenvolvimento são reduzidos e os desenvolvedores podem se concentrar no desenvolvimento lógico de seu código de contrato. A TVM também oferece interfaces completas para contratos implantação, acionamento e visualização para oferecer conveniência aos desenvolvedores.

Смарт-контракт

7.1 Введение

smart contract — это протокол, который осуществляет цифровую проверку переговоров по контракту. Они определяют правила и штрафы, связанные с соглашением, а также автоматически обеспечивают соблюдение этих обязательств. Умный Код контракта облегчает, проверяет и обеспечивает соблюдение условий соглашения или исполнения соглашения или транзакция. С точки зрения __PH_0001__изации, smart contracts также способствуют автоматическому пополнению средств. переводы между участвующими сторонами при соблюдении определенных критериев.

TRON smart contract написаны на языке Solidity. После того как они написаны и протестированы, их можно скомпилирован в байт-код, а затем развернут в сети TRON для виртуальной машины TRON. Однажды развернуты, smart contract можно запрашивать по адресам их контрактов. Заявление о контракте Двоичный интерфейс (ABI) отображает функции вызова контракта и используется для взаимодействия с сеть. 7.2 Энергетическая модель

Максимальный предел энергии для развертывания и срабатывания smart contract зависит от нескольких переменные:

● Динамическая энергия от заморозки 1 TRX равна 50 000 000 000 (Общий лимит энергии) / (Общая энергия Вес) ● Лимит энергии — это дневной лимит энергии аккаунта от заморозки TRX. ● Оставшаяся ежедневная энергия на счете после заморозки TRX рассчитывается как Лимит энергии - Энергия. Б/у ● Лимит комиссии в TRX устанавливается в smart contract вызове развертывания/триггера. ● Оставшийся доступный TRX на счету ● Энергия за TRX при покупке напрямую (10 СОЛНЦЕВ = 1 Энергия) = 100 000, СР могут голосовать. корректировка

Существует два сценария потребления для расчета максимального предела энергии для развертывания и триггер. Логику можно выразить следующим образом:
const​ R = Dynamic Energy Limit const​ F = Daily account energy ​from​ freezing TRX const​ E = Remaining daily account energy ​from​ freezing TRX const​ L = Fee limit ​in​ TRX set ​in​ deploy/trigger call const​ T = Remaining usable TRX ​in​ account

const​ C = Energy per TRX ​if​ purchased directly

// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if​ F > LR let​ M = min(E+TC, LR) else let​ M = E+TC 7.3 Развертывание

Когда TRON Solidity smart contract компилируется, виртуальная машина TRON считывает скомпилированный файл. байт-код. Байт-код состоит из раздела для развертывания кода, кода контракта и Auxdata. Auxdata — это криптографический отпечаток исходного кода, используемый для проверки. Развертывание байт-код запускает функцию конструктора и устанавливает начальные переменные хранения. Развертывание code также вычисляет код контракта и возвращает его в TVM. ABI — это файл JSON, который описывает функции TRON smart contract. Этот файл определяет названия функций, их платежеспособность, возвращаемые функции значения и изменчивость их состояния. 7.4 Функция триггера

После развертывания TRON smart contract их функции можно запускать индивидуально либо через TronStudio или через вызовы API. Функции изменения состояния требуют энергии, а функции только для чтения. выполнить без энергии. 7.5 TRON Прочность

TRON Solidity — это ответвление языка Solidity Ethereum. TRON изменяет исходный проект на поддержка блоков TRX и SUN (1 TRX = 1 000 000 SUN). Остальная часть синтаксиса языка совместим с Solidity ^0.4.24. Таким образом, виртуальная машина Tron (TVM) практически на 100% совместима. с инструкциями EVM.

Contrato Inteligente

7.1 Introdução

Um smart contract é um protocolo que verifica digitalmente a negociação de contratos. Eles definem as regras e penalidades relacionadas a um acordo e também aplicar automaticamente essas obrigações. O inteligente O código do contrato facilita, verifica e reforça a negociação ou execução de um acordo ou transação. De uma perspectiva de tokenização, smart contracts também facilitam fundos automáticos transferências entre as partes participantes caso determinados critérios sejam atendidos.

TRON smart contracts são escritos na linguagem Solidity. Uma vez escritos e testados, eles podem ser compilado em bytecode e então implantado na rede TRON para a máquina virtual TRON. Uma vez implantados, smart contracts podem ser consultados por meio de seus endereços de contrato. A aplicação do contrato Interface Binária (ABI) mostra as funções de chamada do contrato e é usada para interagir com o rede. 7.2 Modelo Energético

O limite máximo de energia para implantar e acionar um smart contract é uma função de vários variáveis:

● A energia dinâmica do congelamento de 1 TRX é 50.000.000.000 (Limite de Energia Total) / (Energia Total Peso) ● O limite de energia é o limite diário de energia da conta após o congelamento do TRX ● A energia restante da conta diária do congelamento do TRX é calculada como Limite de Energia - Energia Usado ● O limite de taxa no TRX é definido em smart contract implantar/acionar chamada ● TRX utilizável restante na conta ● Energia por TRX se comprada diretamente (10 SUN = 1 Energia) = 100.000, os SRs podem votar ajuste

Existem dois cenários de consumo para calcular o limite máximo de energia para implantação e gatilho. A lógica pode ser expressa da seguinte forma:
const​ R = Dynamic Energy Limit const​ F = Daily account energy ​from​ freezing TRX const​ E = Remaining daily account energy ​from​ freezing TRX const​ L = Fee limit ​in​ TRX set ​in​ deploy/trigger call const​ T = Remaining usable TRX ​in​ account

const​ C = Energy per TRX ​if​ purchased directly

// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if​ F > LR let​ M = min(E+TC, LR) else let​ M = E+TC 7.3 Implantação

Quando uma solidez TRON smart contract é compilada, a máquina virtual TRON lê o compilado bytecódigo. O bytecode consiste em uma seção para implantação de código, código de contrato e Auxdata. O Auxdata é a impressão digital criptográfica do código-fonte, usada para verificação. A implantação bytecode executa a função construtora e configura as variáveis de armazenamento iniciais. A implantação code também calcula o código do contrato e o retorna ao TVM. A ABI é um arquivo JSON que descreve as funções de TRON smart contract. Este arquivo define os nomes das funções, sua remuneração, os valores de retorno da função e sua mutabilidade de estado. 7.4 Função de disparo

Depois que os TRON smart contracts forem implantados, suas funções poderão ser acionadas individualmente por meio de TronStudio ou através de chamadas de API. Funções de mudança de estado requerem energia enquanto funções somente leitura executar sem energia. 7.5 TRON Solidez

TRON Solidity é um fork da linguagem Solidity de Ethereum. TRON modifica o projeto original para suporta unidades TRX e SUN (1 TRX = 1.000.000 SUN). O resto da sintaxe da linguagem é compatível com Solidity ^0.4.24. Assim, a Máquina Virtual Tron (TVM) é quase 100% compatível com instruções EVM.

Токен

8.1 Токен TRC-10

В сети TRON каждый аккаунт может выпустить token за 1024 TRX. ​Чтобы выдать tokens, эмитенту необходимо указать имя token, общую капитализацию, курс обмена к TRX, продолжительность тиража, описание, сайт, максимальное потребление трафика на аккаунт, всего потребление полосы пропускания и количество token заморожено. Для каждого выпуска token также можно настроить максимальный ежедневный лимит пропускной способности для каждой учетной записи token, максимальный дневной лимит всей сети token пропускная способность перевода, общее количество token, продолжительность блокировки в днях и общая сумма из tokens заблокировано. 8.2 Токен TRC-20

TRC-20 — это технический стандарт, используемый для __PH_0000__s, реализующий tokens, поддерживаемый TRON Виртуальная машина. Он полностью совместим с ERC-20.

Интерфейс выглядит следующим образом:
контракт​ TRC20Interface { ​функция​ ​totalSupply​() ​публичная​ константа​ ​возвращает​ (uint); ​функция​ ​balanceOf​(адрес tokenOwner) ​публичная​ ​константа​ ​возвращает​ (uint баланс); ​функция​ ​надбавка​(адрес tokenВладелец, адрес отправителя) ​публичная​ ​константа возвращает​ (осталось uint); ​функция​ ​передача​(адрес, uint tokens) ​public​ ​возвращает​ (bool успех); ​функция​ ​approve​(адрес отправителя, uint tokens) ​public​ ​возвращает​ (bool успех); ​функция​ ​transferFrom​(адрес от, адрес, uint tokens) ​public возвращает (bool успех);

​событие​ ​Передача​(адрес индексирован от, адрес индексирован до, uint tokens); 
​Событие​ ​Утверждение​(индексированный адрес tokenВладелец, индексированный адрес отправителя, uint

tokens); }

С точки зрения разработчика, между TRC-10 и TRC-20 есть несколько различий. Некоторые Ключевое отличие состоит в том, что PH_0002 TRC-10 доступны через API и smart contract, в то время как TRC-20 tokens позволяют настраивать интерфейс, но доступны только в пределах smart contracts.

С точки зрения затрат комиссия за транзакцию TRC-10 token в 1000 раз ниже, чем у TRC-20, но несет расходы на пропускную способность для переводов и депозитов API. Переводы и депозиты в смарте Контракты на TRC-10 token требуют как пропускной способности, так и энергии.
8.3 Дальше

Поскольку TRON использует ту же версию Solidity, что и Ethereum, можно легко использовать больше стандартов token. портирован на TRON.

Token

8.1 Token TRC-10

Na rede TRON, cada conta pode emitir tokens às custas de 1024 TRX. ​Para emitir tokens, o emissor precisa especificar um nome token, a capitalização total, a taxa de câmbio para TRX, duração da circulação, descrição, site, consumo máximo de largura de banda por conta, total consumo de largura de banda e a quantidade de token congelados. Cada emissão token também pode configurar o máximo diário de token pontos de largura de banda de transferência de cada conta, o máximo diário de toda a rede token pontos de largura de banda de transferência, fornecimento total de token, duração do bloqueio em dias e valor total de tokens bloqueados. 8.2 Token TRC-20

TRC-20 é um padrão técnico usado para smart contracts implementando tokens suportado pelo TRON Máquina Virtual. É totalmente compatível com ERC-20.

A interface é a seguinte:
contrato​ TRC20Interface { ​função​ ​totalSupply​() ​retornos constantes​ públicos​ (uint); ​função​ ​balanceOf​(endereço tokenOwner) ​public​ ​constantes​ ​retornos​ (uint equilíbrio); ​função​ ​subsídio​(endereço tokenProprietário, endereço gastador) ​public​ ​constante retorna​ (uint restante); transferência de função (endereço para, uint tokens) retornos públicos (bool sucesso); função aprovar (endereço gastador, uint tokens) retornos públicos (bool sucesso); ​função​ ​transferFrom​(endereço de, endereço para, uint tokens) ​public retorna​ (bool sucesso);

​event​ ​Transfer​(endereço indexado de, endereço indexado para, uint tokens); 
Aprovação do evento (endereço indexado tokenProprietário, endereço gastador indexado, uint

tokens); }

Do ponto de vista do desenvolvedor, existem várias diferenças entre o TRC-10 e o TRC-20. Alguns das principais diferenças é que TRC-10 tokens são acessíveis por APIs e smart contracts enquanto TRC-20 tokens permitem a personalização da interface, mas só são acessíveis dentro de smart contracts.

Do ponto de vista de custo, os TRC-10 tokens têm taxas de transação 1.000 vezes mais baixas do que TRC-20, mas acarreta custos de largura de banda para transferências e depósitos de API. Transferências e depósitos em smart os contratos para TRC-10 tokens custam largura de banda e energia.
8.3 Além

Como TRON usa a mesma versão do Solidity que Ethereum, mais padrões token poderiam ser prontamente portado para TRON.

Управление

9.1 Суперпредставитель 9.1.1 Общие сведения

Каждый аккаунт в сети TRON может подать заявку и получить возможность стать Супер Представитель (обозначается как SR). Каждый может голосовать за кандидатов от эсеров. 27 лучших кандидатов с наибольшее количество голосов получат SR с правом и обязанностью генерировать блоки. Голоса подсчитываются каждые 6 часов, и SR будут меняться соответственно.

Чтобы предотвратить злонамеренные атаки, нужно заплатить определенную цену за то, чтобы стать кандидатом в СР. При подаче заявки 9999 TRX будет удален со счета заявителя. В случае успеха такая учетная запись может присоединиться к SR. выборы. 9.1.2 Выборы

TRON Власть (обозначается как TP) необходима для голосования, а количество TP зависит от силы избирателя. замороженные активы (TRX).

ТП рассчитывается следующим образом:
ТП 1 TRX заморожен для увеличения пропускной способности 1 =

Каждый аккаунт в сети TRON имеет право голосовать за своих СР.

После релиза (разморозка, доступная через 3 дня) у пользователей не будет замороженных активов, и они потеряют все ТП соответственно. В результате все голоса становятся недействительными для текущего и будущего раундов голосования, если только TRX снова заморожен для голосования.

Обратите внимание, что сеть TRON записывает только самое последнее голосование, а это означает, что каждое новое голосование отменит все предыдущие голоса. 9.1.3 Награда а. Награда за голосование

Также известна как «Награда кандидата», которую 127 лучших кандидатов обновляют один раз в каждом раунде (6 часов) разделит добытые 115 200 TRX. Награда будет разделена в соответствии с весом голоса. получает каждый кандидат. Ежегодно общая сумма вознаграждения кандидатов составит 168 192 000 TRX. Общая награда за голосование за раунд Почему 115 200 TRX за каждый раунд? 15, 00 ТРХ общее вознаграждение за голоса за раунд (V R/раунд) 1 2 =
V R/раунд = 16 T RX/блок × 20 блоков/мин × 60 минут/час × 6 часов/раунд Обратите внимание: это установлено WITNESS_STANDBY_ALLOWANCE = 115 200 TRX. См. динамические параметры сети. Общая сумма вознаграждения за голоса в год Почему 168 192 000 TRX каждый год? 168 192 000 T RX = общее вознаграждение за голоса в год (VR/год) V R/год = 115, 200 T RX/раунд × 4 раунда/день × 365 дней/год б. Блокировать вознаграждение Также известна как награда суперпредставителя, которую получают 27 лучших кандидатов (СР), избранных. каждый раунд (6 часов) будет добыт примерно 230 400 TRX. Вознаграждение будет разделено поровну между 27 SR (за вычетом общего количества блоков вознаграждения, пропущенных из-за сетевой ошибки). Всего 336 384 000 TRX будут ежегодно присуждаться 27 СР. Общая награда за блок за раунд Почему 230 400 TRX за каждый раунд? 230, 400 T RX = общая награда за блок за раунд (BR/раунд) BR/раунд = 32 T RX/блок × 20 блоков/мин × 60 минут/час × 6 часов/раунд Обратите внимание: награда за блок единиц устанавливается WITNESS_PAY_PER_BLOCK = 32 TRX. См. динамическую сеть параметры. Общая награда за блок в год Почему 336 384 000 TRX каждый год? 336 384 000 T RX = общее вознаграждение за блок в год (BR/год) БР/год = 230, 400 T RX/раунд × 4 раунда/день × 365 дней/год 1 января 2021 г. До 1 января 2021 года в сети TRON инфляции не будет, а в сети TRON DAO будет выдать все награды за блоки и награды кандидатам до этой даты. в. Расчет вознаграждения

Расчет вознаграждения SR общая награда награда за голосование (VR) награда за блок (BR) т =
+

Р всего В Р В =
×
общее количество голосов голосов получил кандидат от СР
Р

блок пропущен 2 Б =
27 всего БР — × 3
Примечание: награда рассчитывается за SR за раунд (6 часов).

Расчет вознаграждения кандидатам СР с 28 по 127 ранг общая награда награда за голосование (VR) т =

Р всего В Р В =
×
общее количество голосов голосов получил кандидат от СР
Примечание: награда рассчитывается для каждого кандидата в СР за раунд (6 часов). 9.2 Комитет 9.2.1 Общие сведения

Комитет используется для изменения TRON динамических параметров сети, таких как генерация блоков. вознаграждения, комиссии за транзакции и т. д. В состав комитета входят 27 SR текущего раунда. Каждый СР имеет право вносить предложения и голосовать по ним. Если предложение получает 19 голосов или более, оно считается утверждены, и новые параметры сети будут применены в следующий период обслуживания (3 дня). 9.2.2 Параметры динамической сети 0. MAINTENANCE_TIME_INTERVAL а. Описание
Измените интервал технического обслуживания в мс. Известный как интервал голосования SR за круглый.
б. Пример [636001000] мс — это 6 часов. в. Диапазон [3271000, 2436001000] мс 1. ACCOUNT_UPGRADE_COST а. Описание Изменить стоимость подачи заявки на учетную запись SR. б. Пример [9 999 000 000] SUN — это 9 999 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 2. CREATE_ACCOUNT_FEE а. Описание Измените плату за создание учетной записи.б. Пример [100,000] SUN – это 1 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 3. TRANSACTION_FEE а. Описание Измените размер платы, используемой для получения дополнительной пропускной способности. б. Пример [10] СОЛНЦЕ/байт. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ/байт 4. ASSET_ISSUE_FEE а. Описание Изменить комиссию за выпуск активов. б. Пример [1024000000]SUN – это 1024 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 5. WITNESS_PAY_PER_BLOCK а. Описание Изменить вознаграждение за генерацию блока SR. Известен как награда за блок единиц. б. Пример [32 000 000] SUN – это 32 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 6. WITNESS_STANDBY_ALLOWANCE а. Описание Изменить награды, вручаемые 127 лучшим кандидатам на СР. Известен как общая награда за голосование за раунд. б. Пример [115 200 000 000] SUN — это 115 200 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT а. Описание Изменить стоимость создания учетной записи. Объедините динамические параметры сети №8, чтобы получить Общая стоимость создания аккаунта:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
С × С

б. Пример [0] СОЛНЦЕ. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

а. Описание Изменить стоимость создания учетной записи. Объедините динамические параметры сети №7, чтобы получить Общая стоимость создания аккаунта:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
С × С

б. Пример [1]. в. Диапазон [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS а. Описание Чтобы включить виртуальную машину Tron (TVM). б. Пример Верно – вступит в силу с 10.10.2018, 23:47 UTC. в. Диапазон Верно/Неверно 10. УДАЛИТЬ_THE_POWER_OF_THE_GR а. Описание Удалить первоначальные голоса за генезис GR. б. Пример Верно – вступило в силу 04.11.2018, 08:46 UTC. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 11. ЭНЕРГИЯ_FEE а. Описание Измените плату в 1 энергию. б. Пример 20 ВС. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 12. EXCHANGE_CREATE_FEE а. Описание Измените стоимость создания торговой пары. Известна как стоимость создания торгового заказа. б. Пример [1 024 000 000] SUN — это 1024 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 13. MAX_CPU_TIME_OF_ONE_TX а. Описание Измените максимальное время выполнения одной транзакции. Известный как предел тайм-аута одна транзакция. б. Пример 50 мс. в. Диапазон

[0, 1000] мс 14. ALLOW_UPDATE_ACCOUNT_NAME а. Описание Измените параметр, чтобы разрешить учетной записи обновлять свое имя учетной записи.
б. Пример Ложь - которую можно предложить из java-tron Odyssey v3.2. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 15. ALLOW_SAME_TOKEN_NAME а. Описание Измените проверку, позволяющую разным token иметь повторяющееся имя.
б. Пример Ложь - которую можно предложить из java-tron Odyssey v3.2. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 16. ALLOW_DELEGATE_RESOURCE а. Описание Измените проверку, позволяющую выдавать token с повторяющимся именем, чтобы tokenID​ token в длинном целочисленном типе данных будет единственным атомарным идентификация token.
б. Пример Ложь - которую можно предложить из java-tron Odyssey v3.2. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 17. TOTAL_ENERGY_LIMIT а. Описание Измените общий лимит энергии всей сети. б. Пример [50 000 000 000 000 000] SUN – это 50 000 000 000 TRX. в. Диапазон [0,100,000,000,000,000,000] СОЛНЦЕ 18. ALLOW_TVM_TRANSFER_TRC10 а. Описание Разрешить передачу TRC-10 token в течение smart contract с. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, Все предложения ALLOW_DELEGATE_RESOURCE должны быть одобрены, прежде чем предлагать их. этот параметр изменится.
б. Пример Ложь - которую можно предложить из java-tron Odyssey v3.2. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True.9.2.3 Создать предложение

Только учетные записи SR имеют право предлагать изменение динамических параметров сети. 9.2.4 Голосование за предложение

За предложение могут голосовать только члены комитета (СР), а также тот член, который не проголосует вовремя. будет рассматриваться как несогласие. Предложение активно в течение 3 дней после создания. Голосование может быть изменены или восстановлены в течение трехдневного периода голосования. По истечении этого периода предложение будет либо успех (19+ голосов), либо провал (и конец). 9.2.5 Отмена предложения

Предлагающий может отменить предложение до того, как оно вступит в силу. 9.3 Структура

SR являются свидетелями вновь созданных блоков. Свидетель содержит 8 параметров:
1. адрес: адрес этого свидетеля – например. 0xu82h…7237.
2. voiceCount​: количество полученных голосов на этом свидетеле – например. 234234.
3. pubKey​: открытый ключ для этого свидетеля – например. 0xu82h…7237.
4. url​: URL-адрес этого свидетеля, например. https://www.noonetrust.com.
5. totalProduced​: количество блоков, созданных этим свидетелем, например 2434.
6. totalMissed​: количество блоков, которые этот свидетель пропустил – например. 7.
7. LatestBlockNum​: последняя высота блока – например. 4522. 8. isjobs​: логический флаг.

Структура данных Protobuf: сообщение​ ​Свидетель​{
байтовый адрес = 1;
int64 voiceCount = 2;
​байты​ pubKey = ​3​;
строка URL = 4;
int64 totalProduced = 5;
int64 totalMissed = 6;
int64 последнийBlockNum = 7; bool isJobs = 8; }

  1. Разработка децентрализованных приложений 10.1 API

Сеть TRON предлагает широкий выбор из более чем 60+ HTTP API-шлюзов для взаимодействия с сеть через полные узлы и узлы Solidity. Кроме того, TronWeb — это обширная библиотека JavaScript. содержащий функции API, которые позволяют разработчикам развертывать smart contract, измените blockchain состояние, запрос blockchain и информацию о контракте, торговля на DEX и многое другое. Эти API шлюзы могут быть направлены на локальную частную сеть, тестовую сеть Shasta или основную сеть TRON.

10.2 Сети

TRON имеет как тестовую сеть Shasta, так и основную сеть. Разработчики могут подключаться к сетям путем развертывание узлов, взаимодействие через TronStudio или использование API через сервис TronGrid. ТронГрид Сервис состоит из кластеров узлов с балансировкой нагрузки, размещенных на серверах AWS по всему миру. Как децентрализованное приложение масштабы разработки и объемы вызовов API увеличиваются, TronGrid успешно справляется с увеличением API-трафик.
10.3 Инструменты

TRON предлагает набор инструментов разработки, позволяющий разработчикам создавать инновационные DApps.
TronBox — это платформа, которая позволяет разработчикам тестировать и развертывать smart contract через TronWeb. API. TronGrid — это размещенная служба API с балансировкой нагрузки, которая позволяет разработчикам получать доступ к TRON сети без необходимости запуска собственного узла. TronGrid предлагает доступ как к Shasta testnet, а также основная сеть TRON. TronStudio — это комплексная комплексная разработка. Среда (IDE), позволяющая разработчикам компилировать, развертывать и отлаживать интеллектуальные приложения Solidity. контракты. TronStudio содержит внутренний полный узел, который создает частную локальную среду для smart contract тестирование перед развертыванием. Библиотека TronWeb API соединяет разработчиков с сети с помощью широкого выбора вызовов HTTP API, завернутых в JavaScript.
10.4 Ресурсы

TRON Developer Hub — это комплексный сайт документации по API, предназначенный для 12 разработчики, желающие использовать сеть TRON. Центр разработчиков предоставляет высокий уровень концептуальное понимание TRON и знакомит пользователей с деталями взаимодействия с 12 Центр разработчиков: https://developers.tron.network/

сеть. Руководства знакомят разработчиков с настройками узлов, их развертыванием и взаимодействием с интеллектуальными контракты, взаимодействие и реализация API, создание образцов DApp и использование каждого из инструменты разработчика. Кроме того, каналы сообщества разработчиков доступны через Discord.
13

13 Дискорд: https://discordapp.com/invite/GsRgsTD

  1. Заключение

TRON — это масштабируемое решение blockchain, в котором использованы инновационные методы решения проблемы проблемы, с которыми сталкиваются устаревшие сети blockchain. Достигнув более 2 миллионов транзакций в день, с более чем 700 тысячами учетных записей TRX и превысив 2000 TPS, TRON позволил сообществу создание децентрализованной и демократизированной сети.

Governança

9.1 Superrepresentante 9.1.1 Geral

Todas as contas da rede TRON podem se inscrever e ter a oportunidade de se tornar um Super Representante (denotado como SR). Todos podem votar em candidatos SR. Os 27 principais candidatos com os mais votados se tornarão SRs com direito e obrigação de gerar blocos. Os votos são contado a cada 6 horas e os SRs mudarão de acordo.

Para evitar ataques maliciosos, há um custo para se tornar um candidato à RS. Ao se inscrever, 9999 O TRX será eliminado da conta do requerente. Uma vez bem-sucedida, essa conta pode ingressar no SR eleição. 9.1.2 Eleição

TRON O poder (denotado como TP) é necessário para votar e a quantidade de TP depende do eleitor ativos congelados (TRX).

O TP é calculado da seguinte forma:
PT 1 TRX congelado para obter largura de banda 1 =

Cada conta na rede TRON tem o direito de votar em seus próprios SRs.

Após o lançamento (descongelamento, disponível após 3 dias), os usuários não terão nenhum ativo congelado e perderão todos TP em conformidade. Como resultado, todos os votos tornam-se inválidos para a ronda de votação em curso e futura, a menos que TRX está congelado novamente para votar.

Observe que a rede TRON registra apenas o voto mais recente, o que significa que cada novo voto anulará todos os votos anteriores. 9.1.3 Recompensa uma. Recompensa de voto

Também conhecido como Recompensa do Candidato, que os 127 melhores candidatos atualizam uma vez a cada rodada (6 horas) compartilhará 115.200 TRX extraídos. A recompensa será dividida de acordo com o peso dos votos cada candidato recebe. A cada ano, a recompensa total para os candidatos será de 168.192.000 TRX. Recompensa total de votos por rodada Por que 115.200 TRX a cada rodada? 15,00 TRX recompensa total de votos por rodada (V R/rodada) 1 2 =
V R/rodada = 16 T RX/bloco × 20 blocos/min × 60 minutos/h × 6 horas/rodada Aviso: isso é definido por WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Consulte parâmetros de rede dinâmica. Recompensa total de votos por ano Por que 168.192.000 TRX todos os anos? 168.192.000 T RX = recompensa total de votos por ano (V R/ano) V R/ano = 115.200 T RX/rodada × 4 rodadas/dia × 365 dias/ano b. Recompensa de bloco Também conhecida como Recompensa do Super Representante, que os 27 principais candidatos (SRs) eleitos cada rodada (6 horas) compartilhará cerca de 230.400 TRX extraídos. A recompensa será dividida igualmente entre os 27 SRs (menos o total de blocos de recompensa perdidos devido a erro de rede). Um total de 336.384.000 TRX serão concedidos anualmente aos 27 SRs. Recompensa total do bloco por rodada Por que 230.400 TRX a cada rodada? 230, 400 T RX = recompensa total do bloco por rodada (BR/rodada) BR/rodada = 32 T RX/bloco × 20 blocos/min × 60 minutos/h × 6 horas/rodada Aviso: a recompensa do bloco unitário é definida por WITNESS_PAY_PER_BLOCK = 32 TRX. Veja rede dinâmica parâmetros. Recompensa total do bloco por ano Por que 336.384.000 TRX todos os anos? 336.384.000 T RX = recompensa total do bloco por ano (BR/ano) BR/ano = 230.400 T RX/rodada × 4 rodadas/dia × 365 dias/ano 1º de janeiro de 2021 Não haverá inflação na rede TRON antes de 1º de janeiro de 2021, e TRON DAO conceder todas as recompensas em bloco e recompensas de candidatos antes dessa data. c. Cálculo de recompensa

Cálculo de recompensa SR recompensa total recompensa de voto (V R) recompensa de bloco (BR) t =
+

R VR total V =
×
total de votos votos que o candidato SR recebeu
R

bloco perdido 2 B =
27 BR total - × 3
Nota: a recompensa é calculada por SR por rodada (6 horas)

Cálculo de recompensa de candidato de classificação 28 a 127 SR recompensa total recompensa de voto (V R) t =

R VR total V =
×
total de votos votos que o candidato SR recebeu
Nota: a recompensa é calculada por candidato SR por rodada (6 horas) 9.2 Comitê 9.2.1 Geral

O comitê é usado para modificar parâmetros de rede dinâmicos TRON, como geração de blocos recompensas, taxas de transação, etc. O comitê é composto pelos 27 SRs da rodada atual. Cada RS tem o direito de propor e votar propostas. Quando uma proposta recebe 19 votos ou mais, é aprovado e os novos parâmetros de rede serão aplicados no próximo período de manutenção (3 dias). 9.2.2 Parâmetros de Rede Dinâmicos 0. MAINTENANCE_TIME_INTERVAL uma. Descrição
Modifique o tempo do intervalo de manutenção em ms. Conhecido como tempo de intervalo de votação SR por redondo.
b. Exemplo [6 * 3600 * 1000] ms - que é 6 horas. c. Alcance [3271000, 2436001000]ms 1. ACCOUNT_UPGRADE_COST uma. Descrição Modifique o custo de inscrição para uma conta SR. b. Exemplo [9.999.000.000] SUN – que é 9.999 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 2. CREATE_ACCOUNT_FEE uma. Descrição Modifique a taxa de criação de conta.b. Exemplo [100.000] SOL - que é 1 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 3. TRANSACTION_FEE uma. Descrição Modifique o valor da taxa usada para obter largura de banda extra. b. Exemplo [10] SOL/byte. c. Alcance [0,100 000 000 000 000 000] SOL/byte 4. ASSET_ISSUE_FEE uma. Descrição Modifique a taxa de emissão de ativos. b. Exemplo [1024.000.000] SOL - que é 1024 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 5. WITNESS_PAY_PER_BLOCK uma. Descrição Modifique a recompensa de geração de bloco SR. Conhecida como recompensa de bloco unitário. b. Exemplo [32.000.000] SUN - que é 32 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 6. WITNESS_STANDBY_ALLOWANCE uma. Descrição Modifique as recompensas dadas aos 127 principais candidatos SR. Conhecida como recompensa total de votos por rodada. b. Exemplo [115.200.000.000] SUN – que é 115.200 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT uma. Descrição Modifique o custo de criação de conta. Combine os parâmetros de rede dinâmica nº 8 para obter custo total de criação de conta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C ×C

b. Exemplo [0] SOL. c. Alcance [0,100 000 000 000 000 000] SOL 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

uma. Descrição Modifique o custo de criação de conta. Combine os parâmetros de rede dinâmica nº 7 para obter custo total de criação de conta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C ×C

b. Exemplo [1]. c. Alcance [0.100.000.000.000.000.000] 9. ALLOW_CREATION_OF_CONTRACTS uma. Descrição Para ativar a Máquina Virtual Tron (TVM). b. Exemplo Verdadeiro - definido para ativação e efeito desde 10/10/2018 23:47 UTC. c. Alcance Verdadeiro/Falso 10. REMOVE_THE_POWER_OF_THE_GR uma. Descrição Remova os votos iniciais do GR genesis b. Exemplo Verdadeiro - efetuado em 04/11/2018 08:46 UTC. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso. 11. ENERGY_FEE uma. Descrição Modifique a taxa de 1 energia. b. Exemplo 20 SOL. c. Alcance [0,100 000 000 000 000 000] SOL 12. EXCHANGE_CREATE_FEE uma. Descrição Modifique o custo de criação de pares de negociação. Conhecido como o custo de criação de uma ordem comercial. b. Exemplo [1.024.000.000] SOL - que é 1024 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 13. MAX_CPU_TIME_OF_ONE_TX uma. Descrição Modifique o tempo máximo de execução de uma transação. Conhecido como limite de tempo limite de uma transação. b. Exemplo 50 ms. c. Alcance

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME uma. Descrição Modifique a opção para permitir que uma conta atualize seu nome de conta.
b. Exemplo Falso - que está disponível para proposta no java-tron Odyssey v3.2. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso. 15.ALLOW_SAME_TOKEN_NAME uma. Descrição Modifique a validação para permitir que diferentes token tenham um nome duplicado.
b. Exemplo Falso - que está disponível para proposta no java-tron Odyssey v3.2. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso. 16. ALLOW_DELEGATE_RESOURCE uma. Descrição Modifique a validação para permitir a emissão de token com nome duplicado, para que o tokenID​ do token, no tipo de dados inteiro longo, seria o único atômico identificação de um token.
b. Exemplo Falso - que está disponível para proposta no java-tron Odyssey v3.2. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso. 17. TOTAL_ENERGY_LIMIT uma. Descrição Modifique todo o limite de energia total da rede. b. Exemplo [50.000.000.000.000.000] SOL - que é 50.000.000.000 TRX. c. Alcance [0.100.000.000.000.000.000] SOL 18. ALLOW_TVM_TRANSFER_TRC10 uma. Descrição Permitir transferência TRC-10 token dentro de smart contracts. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, Todas as propostas ALLOW_DELEGATE_RESOURCE devem ser aprovadas antes de serem propostas esta mudança de parâmetro.
b. Exemplo Falso - que está disponível para proposta no java-tron Odyssey v3.2. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso.9.2.3 Criar Proposta

Somente as contas SR têm o direito de propor uma alteração nos parâmetros dinâmicos da rede. 9.2.4 Proposta de Votação

Somente os membros do comitê (SRs) podem votar em uma proposta e o membro que não votar a tempo será considerado como discordo. A proposta fica ativa por 3 dias após ser criada. A votação pode ser alterado ou recuperado durante o período de votação de 3 dias. Terminado o período, a proposta será sucesso (mais de 19 votos) ou fracasso (e fim). 9.2.5 Cancelar Proposta

O proponente pode cancelar a proposta antes que ela entre em vigor. 9.3 Estrutura

SRs são as testemunhas dos blocos recém-gerados. Uma testemunha contém 8 parâmetros:
1. endereço​: o endereço desta testemunha – por ex. 0xu82h…7237.
2. voteCount​: número de votos recebidos nesta testemunha – por ex. 234234.
3. pubKey​: a chave pública desta testemunha – por exemplo. 0xu82h…7237.
4. url​: o URL desta testemunha – por ex. https://www.noonetrust.com.
5. totalProduzido​: o número de blocos que esta testemunha produziu – por exemplo. 2434.
6. totalMissed​: o número de blocos que esta testemunha perdeu – por exemplo. 7.
7. lastBlockNum​: a última altura do bloco – por exemplo. 4522. 8. isjobs​: um sinalizador booleano.

Estrutura de dados do protobuf: mensagem​ ​Testemunha​{
endereço de bytes = 1;
​int64​ contagem de votos = ​2​;
​bytes​ pubKey = ​3​;
string url=4;
​int64​ totalProduzido = ​5​;
​int64​ totalPerdidos = ​6​;
​int64​ últimoBlockNum = ​7​; bool isJobs = 8; }

  1. Desenvolvimento de DApps 10.1 APIs

A rede TRON oferece uma ampla seleção de mais de 60 gateways de API HTTP para interagir com o rede via Full e Solidity Nodes. Além disso, TronWeb é uma biblioteca JavaScript abrangente contendo funções de API que permitem aos desenvolvedores implantar smart contracts, altere o blockchain estado, consulta blockchain e informações de contrato, negociação no DEX e muito mais. Estas APIs os gateways podem ser direcionados para uma rede privada local, a rede de teste Shasta ou a rede principal TRON.

10.2 Redes

TRON possui uma rede de teste Shasta e também uma rede principal. Os desenvolvedores podem se conectar às redes por implantando nós, interagindo via TronStudio ou usando APIs por meio do serviço TronGrid. O TronGrid O serviço consiste em clusters de nós com balanceamento de carga hospedados em servidores AWS em todo o mundo. Como DApp o desenvolvimento aumenta e os volumes de chamadas de API aumentam, o TronGrid responde com sucesso ao aumento em Tráfego de API.
10.3 Ferramentas

TRON oferece um conjunto de ferramentas de desenvolvimento para permitir que os desenvolvedores criem DApps inovadores.
TronBox é uma estrutura que permite aos desenvolvedores testar e implantar smart contracts através do TronWeb API. TronGrid é um serviço de API hospedado e com balanceamento de carga que permite aos desenvolvedores acessar o TRON rede sem precisar executar seu próprio nó. TronGrid oferece acesso tanto ao Shasta testnet, bem como a rede principal TRON. TronStudio é um desenvolvimento integrado abrangente Ambiente (IDE) que permite aos desenvolvedores compilar, implantar e depurar seu Solidity smart contratos. TronStudio contém um nó completo interno que cria um ambiente local privado para smart contract testes antes da implantação. A biblioteca API TronWeb conecta desenvolvedores ao rede por meio de uma ampla seleção de chamadas de API HTTP agrupadas em JavaScript.
10.4 Recursos

O TRON Developer Hub é um site abrangente de documentação de API adaptado para 12 desenvolvedores que desejam desenvolver na rede TRON. O Developer Hub fornece um alto nível compreensão conceitual de TRON e orienta os usuários nos detalhes da interação com o 12 Centro do desenvolvedor: https://developers.tron.network/

rede. Os guias orientam os desenvolvedores na configuração, implantação e interação do nó com aplicativos inteligentes contratos, interação e implementação de API, construção de DApps de amostra e uso de cada um dos ferramentas para desenvolvedores. Além disso, os canais da comunidade de desenvolvedores estão disponíveis através do Discord.
13

13Discordância: https://discordapp.com/invite/GsRgsTD

  1. Conclusão

TRON é uma solução blockchain escalável que empregou métodos inovadores para lidar com desafios enfrentados pelas redes blockchain legadas. Tendo alcançado mais de 2 milhões de transações por dia, com mais de 700 mil contas TRX e ultrapassando 2.000 TPS, TRON permitiu à comunidade em criando uma rede descentralizada e democratizada.