Informe técnico de TRON

Von Justin Sun · 2017

Einführung

1.1 Vision

TRON ist ein ehrgeiziges Projekt, das sich der Einrichtung eines wirklich dezentralen Internets widmet Infrastruktur. Das TRON-Protokoll, eines der größten blockchain-basierten Betriebssysteme in der Welt Welt, bietet öffentliche blockchain Unterstützung für hohen Durchsatz, hohe Skalierbarkeit und hohe Verfügbarkeit für alle dezentralen Anwendungen (DApps) im TRON-Ökosystem. Die Übernahme von. im Juli 2018 BitTorrent festigte die Führungsrolle von TRON bei der Verfolgung eines dezentralen Ökosystems weiter.
1.2 Hintergrund

Die Einführung von Bitcoin im Jahr 2009 revolutionierte die gesellschaftliche Wahrnehmung des traditionellen Finanzwesens System im Zuge der Großen Rezession (2007-2008). Als zentralisierte Hedgefonds und Banken brach aufgrund von Spekulationen mit undurchsichtigen Finanzderivaten zusammen, blockchain Technologie lieferte a transparentes Universalbuch, aus dem jeder Transaktionsinformationen abrufen kann. Die Transaktionen wurden mithilfe eines Proof of Work (PoW)-Konsensmechanismus kryptografisch gesichert, Dadurch werden Probleme mit doppelten Ausgaben verhindert.

Ende 2013 wurde im Whitepaper Ethereum ein Netzwerk vorgeschlagen, in dem smart contracts und a Turing-vollständige Ethereum Virtual Machine (EVM) würde es Entwicklern ermöglichen, mit der zu interagieren Netzwerk über DApps. Da jedoch die Transaktionsvolumina in Bitcoin und Ethereum im Jahr 2017 ihren Höhepunkt erreichten, Dies war an den geringen Transaktionsdurchlaufzeiten und hohen Transaktionsgebühren erkennbar Kryptowährungen wie Bitcoin und Ethereum waren in ihrem derzeitigen Zustand nicht für die weite Verbreitung skalierbar Adoption. Daher wurde TRON gegründet und als innovative Lösung für diese Pressungen konzipiert Skalierbarkeitsherausforderungen.

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

1.3 Geschichte Die TRON DAO wurde im Juli 2017 in Singapur gegründet. Im Dezember 2017 hatte TRON hat sein Open-Source-Protokoll eingeführt. Das waren Testnet, Blockchain Explorer und Web Wallet gestartet im März 2018. TRON Mainnet startete kurz darauf im Mai 2018 und markierte damit den Odyssey 2.0-Veröffentlichung als technischer Meilenstein. Im Juni 2018 erklärte TRON seine Unabhängigkeit mit der Schaffung des Genesis-Blocks, zusammen mit der Übernahme von BitTorrent im Juli 2018. In Im Oktober 2018 brachte TRON die TRON Virtual Machine (TVM) auf den Markt, ein komplettes Entwickler-Toolset. und 360-Support-System. Die TRON-Roadmap beinhaltet die Zusammenführung der 100 Millionen BitTorrent-Benutzer mit dem TRON-Netzwerk über Project Atlas sowie Förderung der Entwickler-Community beim Start aufregende neue DApps im Netzwerk TRON1. 1 V1.0 ist verfügbar unter https://tron.network/static/doc/white_paper_v_1_0.pdf

TRON development roadmap phase 2 timeline from July 2018 to 2019

1.4 Terminologie

Adresse/Geldbörse Eine Adresse oder ein Wallet, bestehend aus Kontoanmeldeinformationen im Netzwerk TRON, wird von a generiert Schlüsselpaar, das aus einem privaten Schlüssel und einem öffentlichen Schlüssel besteht, wobei letzterer vom ersteren abgeleitet ist durch einen Algorithmus. Der öffentliche Schlüssel wird normalerweise für die Verschlüsselung des Sitzungsschlüssels und die Signatur verwendet Verifizierung und Verschlüsselung von Daten, die mit einem entsprechenden privaten Schlüssel entschlüsselt werden könnten.

ABI Eine Application Binary Interface (ABI) ist eine Schnittstelle zwischen zwei binären Programmmodulen; normalerweise Eines dieser Module ist eine Bibliothek oder eine Betriebssystemfunktion, das andere wird vom Benutzer ausgeführt Programm.

API Eine Anwendungsprogrammierschnittstelle (API) wird hauptsächlich für die Entwicklung von Benutzerclients verwendet. Mit API Unterstützung können token-Ausgabeplattformen auch von Entwicklern selbst entworfen werden.

Vermögenswert In den Dokumenten von TRON ist der Vermögenswert derselbe wie token, der auch als TRC-10 token bezeichnet wird.

Bandbreitenpunkte (BP) Um den reibungslosen Betrieb des Netzwerks zu gewährleisten, nutzen TRON Netzwerktransaktionen BP als Treibstoff. Jedes Konto erhält 5000 kostenlose tägliche BP und mehr können durch das Einfrieren von TRX für BP erhalten werden. Sowohl TRX als auch TRC-10 token Überweisungen sind normale Transaktionen, die BP kosten. Intelligente Vertragsbereitstellung und -ausführung Transaktionen verbrauchen sowohl BP als auch Energie.

Blockieren Blöcke enthalten die digitalen Aufzeichnungen von Transaktionen. Ein vollständiger Block besteht aus der magischen Zahl, Blockgröße, Blockheader, Transaktionszähler und Transaktionsdaten.

Belohnung blockieren Blockproduktionsprämien werden an ein Unterkonto (Adresse/Wallet) gesendet. Supervertreter können Fordern Sie ihre Prämien auf Tronscan oder direkt über die API an.

Block-Header Ein Blockheader ist Teil eines Blocks. TRON-Blockheader enthalten die hash des vorherigen Blocks Merkle-Wurzel, Zeitstempel, Version und Zeugenadresse.Kalte Geldbörse Cold Wallet, auch Offline-Wallet genannt, hält den privaten Schlüssel vollständig von anderen getrennt Netzwerk. Cold Wallets werden in der Regel auf „kalten“ Geräten (z. B. Computern oder Mobiltelefonen) installiert offline bleiben), um die Sicherheit des privaten TRX-Schlüssels zu gewährleisten.

DApp Eine dezentrale Anwendung ist eine App, die ohne eine zentral vertrauenswürdige Partei funktioniert. Eine Bewerbung Dies ermöglicht eine direkte Interaktion/Vereinbarung/Kommunikation zwischen Endbenutzern und/oder Ressourcen ohne Zwischenhändler.

gRPC gRPC (gRPC Remote Procedure Calls) ist ein Open-Source-RPC-System (Remote Procedure Call). 2 ursprünglich bei Google entwickelt. Es verwendet HTTP/2 für den Transport, Protokollpuffer als Schnittstelle Beschreibungssprache und bietet Funktionen wie Authentifizierung, bidirektionales Streaming und Fluss Kontrolle, blockierende oder nicht blockierende Bindungen sowie Abbruch und Zeitüberschreitungen. Es erzeugt plattformübergreifende Client- und Serverbindungen für viele Sprachen. Die häufigsten Nutzungsszenarien Dazu gehören die Verbindung von Diensten in einer Microservices-Architektur und die Verbindung mobiler Geräte Browser-Clients bis hin zu Backend-Diensten.

Heiße Geldbörse Hot Wallet, auch Online-Wallet genannt, ermöglicht die Online-Nutzung des privaten Schlüssels des Benutzers anfällig für potenzielle Schwachstellen oder das Abfangen durch böswillige Akteure.

JDK Java Development Kit ist das Java SDK, das für Java-Anwendungen verwendet wird. Es ist der Kern von Java Entwicklung, bestehend aus der Java-Anwendungsumgebung (JVM+Java-Klassenbibliothek) und Java Werkzeuge.

KhaosDB TRON verfügt über eine KhaosDB im Vollknotenspeicher, die alle generierten neu gegabelten Ketten speichern kann innerhalb eines bestimmten Zeitraums und unterstützt Zeugen beim schnellen Wechsel aus der eigenen aktiven Kette in eine neue Hauptkette. Weitere Einzelheiten finden Sie unter 2.2.2 Zustandsspeicherung.

LevelDB LevelDB wurde ursprünglich mit dem primären Ziel eingeführt, die Anforderungen an schnelles Lesen/Schreiben und schnelles Lesen zu erfüllen Entwicklung. Nach dem Start des Mainnets hat TRON seine Datenbank auf eine vollständig angepasste aktualisiert Man geht auf seine ganz eigenen Bedürfnisse ein. Weitere Einzelheiten finden Sie unter 2.2.1 Blockchain-Speicher.

Merkle-Wurzel Eine Merkle-Wurzel ist der hash aller hashes aller Transaktionen, die als Teil eines Blocks in einem blockchain enthalten sind. Netzwerk. Weitere Einzelheiten finden Sie unter 3.1 Delegierter Nachweis des Einsatzes (DPoS). 2 https://en.wikipedia.org/wiki/GRPC

Öffentliches Testnetz (Shasta) Eine Version des Netzwerks, die in einer Einzelknotenkonfiguration ausgeführt wird. Entwickler können sich verbinden und testen Funktionen, ohne sich Gedanken über den wirtschaftlichen Verlust machen zu müssen. Testnet tokens haben keinen Wert und jeder kann es tun Fordern Sie mehr über den öffentlichen Wasserhahn an.

RPC
3 Beim verteilten Rechnen liegt ein Remoteprozeduraufruf (RPC) vor, wenn ein Computerprogramm eine Aktion auslöst Prozedur (Unterroutine), die in einem anderen Adressraum (üblicherweise auf einem anderen Computer) ausgeführt werden soll ein gemeinsam genutztes Netzwerk), das so codiert ist, als wäre es ein normaler (lokaler) Prozeduraufruf, ohne das Der Programmierer codiert explizit die Details für die Remote-Interaktion.

Skalierbarkeit Skalierbarkeit ist eine Funktion des TRON-Protokolls. Es ist die Fähigkeit eines Systems, Netzwerks oder Prozesses, dies zu tun ein wachsendes Arbeitsvolumen zu bewältigen oder sein Potenzial zu erweitern, um diesem Wachstum gerecht zu werden.

SONNE SUN ersetzte Drop als kleinste Einheit von TRX. 1 TRX = 1.000.000 SUN.

Durchsatz Hoher Durchsatz ist eine Funktion von TRON Mainnet. Es wird in Transaktionen pro Sekunde (TPS) gemessen. nämlich die maximale Transaktionskapazität in einer Sekunde.

Zeitstempel Der ungefähre Zeitpunkt der Blockproduktion wird als Unix-Zeitstempel aufgezeichnet, der die Anzahl angibt Millisekunden, die seit dem 1. Januar 1970, 00:00:00 UTC, vergangen sind.

TKC Token-Konfiguration.

TRC-10 Ein Krypto-Standard token auf der Plattform TRON. Bestimmte Regeln und Schnittstellen müssen beachtet werden bei einem Initial Coin Offering am TRON blockchain.

TRX TRX steht für Tronix, die offizielle Kryptowährung von TRON.

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

Introducción

1.1 Visión

TRON es un ambicioso proyecto dedicado al establecimiento de una Internet verdaderamente descentralizada y su infraestructura. El protocolo TRON, uno de los sistemas operativos basados en blockchain más grandes del mundo. mundo, ofrece soporte público blockchain de alto rendimiento, alta escalabilidad y alta disponibilidad para todas las aplicaciones descentralizadas (DApps) en el ecosistema TRON. La adquisición en julio de 2018 de BitTorrent consolidó aún más el liderazgo de TRON en la búsqueda de un ecosistema descentralizado.
1.2 Antecedentes

La introducción de Bitcoin en 2009 revolucionó la percepción que tenía la sociedad sobre el sistema financiero tradicional. tras la Gran Recesión (2007-2008). Como fondos de cobertura y bancos centralizados colapsado por la especulación en derivados financieros opacos, la tecnología blockchain proporcionó una libro de contabilidad universal transparente del que cualquiera podría obtener información sobre transacciones. el las transacciones se aseguraron criptográficamente mediante un mecanismo de consenso de prueba de trabajo (PoW), evitando así problemas de doble gasto.

A finales de 2013, el documento técnico Ethereum propuso una red en la que smart contracts y un La máquina virtual Ethereum completa de Turing (EVM) permitiría a los desarrolladores interactuar con la red a través de DApps. Sin embargo, como los volúmenes de transacciones en Bitcoin y Ethereum alcanzaron su punto máximo en 2017, Era evidente por los bajos tiempos de procesamiento de las transacciones y las altas tarifas de transacción que Las criptomonedas como Bitcoin y Ethereum en su estado actual no eran escalables para uso generalizado. adopción. Por lo tanto, TRON fue fundada y concebida como una solución innovadora para estos apremiantes desafíos de escalabilidad.

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

1.3 Historia El TRON DAO se estableció en julio de 2017 en Singapur. En diciembre de 2017, TRON tuvo lanzó su protocolo de código abierto. Testnet, Blockchain Explorer y Web Wallet fueron todos lanzado en marzo de 2018. TRON Mainnet se lanzó poco después, en mayo de 2018, marcando el Lanzamiento de Odyssey 2.0 como un hito técnico. En junio de 2018, TRON declaró su independencia con la creación del bloque Génesis, junto con la adquisición de BitTorrent en julio de 2018. en En octubre de 2018, TRON lanzó la TRON Virtual Machine (TVM), un completo conjunto de herramientas para desarrolladores. y sistema de soporte 360. La hoja de ruta TRON implica combinar los 100 millones de usuarios de BitTorrent con la red TRON a través del Proyecto Atlas, además de fomentar que la comunidad de desarrolladores lance Nuevas y emocionantes DApps en la red TRON1. 1 V1.0 está disponible en https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 Terminología

Dirección/Monedero Una dirección o billetera que consta de credenciales de cuenta en la red TRON es generada por un par de claves, que consta de una clave privada y una clave pública, esta última derivada de la primera a través de un algoritmo. La clave pública se utiliza generalmente para el cifrado de la clave de sesión, la firma verificación y cifrado de datos que podrían descifrarse mediante la clave privada correspondiente.

ABI Una interfaz binaria de aplicación (ABI) es una interfaz entre dos módulos de programa binario; normalmente uno de estos módulos es una biblioteca o una instalación del sistema operativo, y el otro es una ejecución del usuario programa.

API Una interfaz de programación de aplicaciones (API) se utiliza principalmente para el desarrollo de clientes de usuarios. Con API soporte, token las plataformas de emisión también pueden ser diseñadas por los propios desarrolladores.

Activo En los documentos de TRON, el activo es el mismo que token, que también se indica como TRC-10 token.

Puntos de ancho de banda (BP) Para mantener la red funcionando sin problemas, las TRON transacciones de la red utilizan BP como combustible. cada cuenta obtiene 5000 BP diarios gratis y se puede obtener más congelando TRX para BP. Tanto TRX como TRC-10 Las transferencias token son transacciones normales que le cuestan a BP. Implementación y ejecución de contratos inteligentes Las transacciones consumen tanto BP como energía.

Bloquear Los bloques contienen los registros digitales de las transacciones. Un bloque completo consta del número mágico, tamaño de bloque, encabezado de bloque, contador de transacciones y datos de transacción.

Recompensa de bloque Las recompensas por producción de bloques se envían a una subcuenta (dirección/billetera). Los súper representantes pueden reclame sus recompensas en Tronscan o directamente a través de la API.

Encabezado de bloque Un encabezado de bloque es parte de un bloque. Los encabezados de bloque TRON contienen el hash del bloque anterior, el Raíz de Merkle, marca de tiempo, versión y dirección del testigo.Cartera fría La billetera fría, también conocida como billetera fuera de línea, mantiene la clave privada completamente desconectada de cualquier red. Las billeteras frías generalmente se instalan en dispositivos "fríos" (por ejemplo, computadoras o teléfonos móviles). permanecer fuera de línea) para garantizar la seguridad de la clave privada TRX.

DApp La aplicación descentralizada es una aplicación que funciona sin una parte de confianza central. una aplicacion que permite la interacción/acuerdos/comunicación directa entre usuarios finales y/o recursos sin intermediario.

gRPC gRPC (gRPC Remote Procedimiento Calls) es un sistema de llamada a procedimiento remoto (RPC) de código abierto 2 desarrollado inicialmente en Google. Utiliza HTTP/2 para el transporte, Protocol Buffers como interfaz lenguaje de descripción y proporciona funciones como autenticación, transmisión bidireccional y flujo control, vinculaciones bloqueantes o no bloqueantes, y cancelación y tiempos de espera. genera Enlaces de cliente y servidor multiplataforma para muchos idiomas. Escenarios de uso más comunes incluir servicios de conexión en arquitectura de estilo microservicios y conexión de dispositivos móviles, y clientes del navegador a servicios backend.

Cartera caliente La billetera activa, también conocida como billetera en línea, permite que la clave privada del usuario se use en línea, por lo que podría ser susceptible a posibles vulnerabilidades o interceptación por parte de actores maliciosos.

JDK Java Development Kit es el SDK de Java utilizado para aplicaciones Java. Es el núcleo de Java. desarrollo, que comprende el entorno de aplicaciones Java (biblioteca de clases JVM+Java) y Java herramientas.

CaosDB TRON tiene un KhaosDB en la memoria del nodo completo que puede almacenar todas las cadenas recién bifurcadas generadas dentro de un cierto período de tiempo y ayuda a los testigos a cambiar rápidamente de su propia cadena activa en una nueva cadena principal. Consulte 2.2.2 Almacenamiento estatal para obtener más detalles.

NivelDB LevelDB se adoptó inicialmente con el objetivo principal de cumplir con los requisitos de R/W rápido y rápido desarrollo. Después de lanzar Mainnet, TRON actualizó su base de datos a una totalmente personalizada uno atendía sus propias necesidades. Consulte 2.2.1 Almacenamiento Blockchain para obtener más detalles.

Raíz de Merkle Una raíz de Merkle es el hash de todos los hashes de todas las transacciones incluidas como parte de un bloque en un blockchain red. Consulte 3.1 Prueba de participación delegada (DPoS) para obtener más detalles. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Red de prueba pública (Shasta) Una versión de la red que se ejecuta en una configuración de un solo nodo. Los desarrolladores pueden conectarse y probar características sin preocuparse por la pérdida económica. Testnet tokens no tienen valor y cualquiera puede Solicite más al grifo público.

RPC
3 En la informática distribuida, una llamada a procedimiento remoto (RPC) es cuando un programa de computadora provoca una procedimiento (subrutina) para ejecutar en un espacio de direcciones diferente (comúnmente en otra computadora en una red compartida), que se codifica como si fuera una llamada a procedimiento normal (local), sin la programador que codifica explícitamente los detalles para la interacción remota.

Escalabilidad La escalabilidad es una característica del protocolo TRON. Es la capacidad de un sistema, red o proceso para manejar una cantidad creciente de trabajo o su potencial de ampliarse para dar cabida a ese crecimiento.

SOL SUN reemplazó a la gota como la unidad más pequeña de TRX. 1 TRX = 1.000.000 DOM.

Rendimiento El alto rendimiento es una característica de TRON Mainnet. Se mide en Transacciones Por Segundo (TPS), es decir, la capacidad máxima de transacción en un segundo.

Marca de tiempo El tiempo aproximado de producción del bloque se registra como marca de tiempo Unix, que es el número de milisegundos que han transcurrido desde las 00:00:00 01 de enero de 1970 UTC.

TKC Configuración de tokens.

CVR-10 Un estándar de criptografía token en la plataforma TRON. Es necesario seguir ciertas reglas e interfaces. al realizar una oferta inicial de monedas el TRON blockchain.

TRX TRX significa Tronix, que es la criptomoneda oficial de TRON.

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

Architektur

TRON verwendet eine dreischichtige Architektur, die in Speicherschicht, Kernschicht und Anwendungsschicht unterteilt ist. Das TRON-Protokoll folgt Google Protobuf, das von Natur aus Mehrsprachen unterstützt Erweiterung.

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

Abbildung 1: TRON 3-Schicht-Architektur

2.1 Kern

In der Kernschicht gibt es mehrere Module, darunter smart contracts, Kontoverwaltung und Konsens. Eine stapelbasierte virtuelle Maschine wird auf TRON und einer optimierten Anweisung implementiert Satz verwendet wird. Um DApp-Entwickler besser zu unterstützen, wurde Solidity als smart contract ausgewählt. 4 Sprache, gefolgt von der zukünftigen Unterstützung anderer fortgeschrittener Sprachen. Darüber hinaus der Konsens von TRON Der Mechanismus basiert auf dem Delegated Proof of Stake (DPoS) und viele Innovationen wurden vorgenommen um seinen individuellen Anforderungen gerecht zu werden. 2.2 Lagerung

TRON hat ein einzigartiges verteiltes Speicherprotokoll entwickelt, das aus Blockspeicher und Status besteht Lagerung. Der Begriff einer Graphdatenbank wurde in das Design der Speicherschicht eingeführt den Bedarf an diversifizierter Datenspeicherung in der realen Welt besser erfüllen. 2.2.1 Blockchain-Speicher

TRON blockchain Speicher entscheidet sich für die Verwendung von LevelDB, das von Google entwickelt und bewährt wurde erfolgreich bei vielen Unternehmen und Projekten. Es verfügt über eine hohe Leistung und unterstützt beliebige Bytes Arrays sowohl als Schlüssel als auch als Werte, singuläres Abrufen, Einfügen und Löschen, gestapeltes Einfügen und Löschen, bidirektional Iteratoren und einfache Komprimierung mit dem sehr schnellen Snappy-Algorithmus. 2.2.2 Zustandsspeicher

TRON verfügt über eine KhaosDB im Vollknotenspeicher, die alle neu generierten gegabelten Ketten speichern kann innerhalb eines bestimmten Zeitraums und unterstützt Zeugen beim schnellen Wechsel aus der eigenen aktiven Kette in eine neue Hauptkette. Es kann auch den Speicher blockchain schützen, indem es ihn stabiler macht endet abnormal in einem Zwischenzustand. 2.3 Anwendung

Entwickler können auf TRON eine Vielzahl von DApps und benutzerdefinierten Wallets erstellen. Seit TRON ermöglicht die Bereitstellung und Ausführung von smart contracts, die Möglichkeiten von Dienstprogrammanwendungen sind groß unbegrenzt. 4 Offizielle Solidity-Dokumentation: https://solidity.readthedocs.io/

2.4 Protokoll

Das TRON-Protokoll folgt Google Protocol Buffers, einem sprach- und plattformneutralen Protokoll. 5 und erweiterbare Möglichkeit zur Serialisierung strukturierter Daten zur Verwendung in Kommunikationsprotokollen, Datenspeicherung, und mehr. 2.4.1 Protokollpuffer

Protocol Buffers (Protobuf) ist ein flexibler, effizienter und automatisierter Mechanismus zur Serialisierung strukturierter Daten Daten, ähnlich wie JSON oder XML, aber viel kleiner, schneller und einfacher.

Protobuf-Definitionen (.proto) können zum Generieren von Code für C++, Java, C#, Python, Ruby, Golang- und Objective-C-Sprachen über die offiziellen Codegeneratoren. Diverse Drittanbieter Implementierungen sind auch für viele andere Sprachen verfügbar. Protobuf erleichtert die Entwicklung für Clients durch Vereinheitlichung der API-Definitionen und Optimierung der Datenübertragung. Kunden können die API nutzen .proto aus dem Protokoll-Repository von TRON herunterladen und über den automatisch generierten Code integrieren Bibliotheken.

Im Vergleich dazu ist Protocol Buffers 3 bis 10 Mal kleiner und 20 bis 100 Mal schneller als XML. mit weniger mehrdeutiger Syntax. Protobuf generiert Datenzugriffsklassen, die einfacher zu verwenden sind programmatisch. 2.4.2 HTTP

Das TRON-Protokoll bietet eine RESTful-HTTP-API-Alternative zur Protobuf-API. Sie teilen dasselbe Schnittstelle, aber die HTTP-API kann problemlos in Javascript-Clients verwendet werden. 2.5 TRON Virtuelle Maschine (TVM)

Der TVM ist eine leichte, vollständige virtuelle Turing-Maschine, die für das Ökosystem von TRON entwickelt wurde. Die TVM verbindet sich nahtlos mit dem bestehenden Entwicklungsökosystem, um Millionen von Menschen auf der ganzen Welt bereitzustellen Entwicklern ein maßgeschneidertes blockchain-System zur Verfügung, das effizient, bequem, stabil, sicher und effizient ist skalierbar.
2.6 Dezentraler Austausch (DEX)

5 Offizielle Dokumentation zu Google Protocol Buffers: https://developers.google.com/protocol-buffers/Das Netzwerk TRON unterstützt nativ dezentrale Austauschfunktionen. Eine dezentrale Börse besteht aus mehreren Handelspaaren. Ein Handelspaar (Bezeichnung „Börse“) ist ein Börsenmarkt zwischen TRC-10 tokens oder zwischen einem TRC-10 token und TRX. Jedes Konto kann einen Handel erstellen Paar zwischen beliebigen tokens, auch wenn das gleiche Paar bereits im TRON-Netzwerk vorhanden ist. Handel und Preisschwankungen der Handelspaare folgen dem Bancor-Protokoll. Das Netzwerk TRON schreibt dies vor 6 Die Gewichte der beiden tokens in allen Handelspaaren sind gleich, daher ist das Verhältnis ihrer Salden der Preis zwischen ihnen. Betrachten Sie beispielsweise ein Handelspaar mit zwei tokens, ABC und DEF. ABC hat ein Saldo von 10 Millionen und DEF hat einen Saldo von 1 Million. Da ihre Gewichte gleich sind, ist 10 ABC = 1 DEF. Das bedeutet, dass das Verhältnis von ABC zu DEF 10 ABC pro DEF beträgt. 2.7 Umsetzung

Der Code TRON blockchain ist in Java implementiert und war ursprünglich ein Fork von EthereumJ.

6 Offizielle Website des Bancor-Protokolls: https://about.bancor.network/protocol/

Arquitectura

TRON adopta una arquitectura de 3 capas dividida en capa de almacenamiento, capa central y capa de aplicación. El protocolo TRON se adhiere a Google Protobuf, que intrínsecamente admite varios idiomas. extensión.

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

Figura 1: TRON Arquitectura de 3 capas

2.1 Núcleo

Hay varios módulos en la capa central, incluidos smart contracts, administración de cuentas y consenso. Se implementa una máquina virtual basada en pila en TRON y una instrucción optimizada Se utiliza el conjunto. Para brindar un mejor soporte a los desarrolladores de DApp, se eligió Solidity como smart contract 4 idioma, seguido por el soporte futuro de otros idiomas avanzados. Además, el consenso de TRON El mecanismo se basa en la prueba de participación delegada (DPoS) y se realizaron muchas innovaciones en para cumplir con sus requisitos únicos. 2.2 Almacenamiento

TRON diseñó un protocolo de almacenamiento distribuido único que consta de almacenamiento en bloque y estado Almacenamiento. La noción de una base de datos gráfica se introdujo en el diseño de la capa de almacenamiento para satisfacer mejor la necesidad de almacenamiento de datos diversificado en el mundo real. 2.2.1 Almacenamiento de cadena de bloques

TRON blockchain el almacenamiento elige utilizar LevelDB, desarrollado por Google y probado éxito en muchas empresas y proyectos. Tiene un alto rendimiento y admite bytes arbitrarios. matrices como claves y valores, obtención, colocación y eliminación singulares, colocación y eliminación por lotes, bidireccional iteradores y compresión simple utilizando el algoritmo Snappy muy rápido. 2.2.2 Almacenamiento estatal

TRON tiene un KhaosDB en la memoria del nodo completo que puede almacenar todas las cadenas recién bifurcadas generadas dentro de un cierto período de tiempo y ayuda a los testigos a cambiar rápidamente de su propia cadena activa en una nueva cadena principal. También puede proteger el almacenamiento blockchain haciéndolo más estable frente a terminando anormalmente en un estado intermedio. 2.3 Aplicación

Los desarrolladores pueden crear una amplia gama de DApps y billeteras personalizadas en TRON. Desde TRON permite implementar y ejecutar smart contracts, las oportunidades de las aplicaciones de servicios públicos son ilimitado. 4 Documentación oficial de Solidez: https://solidity.readthedocs.io/

2.4 Protocolo

El protocolo TRON se adhiere a Google Protocol Buffers , que es un protocolo neutral en cuanto al idioma y a la plataforma. 5 y extensible de serializar datos estructurados para su uso en protocolos de comunicaciones, almacenamiento de datos, y más. 2.4.1 Búfers de protocolo

Protocol Buffers (Protobuf) es un mecanismo flexible, eficiente y automatizado para serializar archivos estructurados. datos, similar a JSON o XML, pero mucho más pequeño, más rápido y más simple.

Las definiciones de Protobuf (.proto) se pueden utilizar para generar código para C++, Java, C#, Python, Ruby, Lenguajes Golang y Objective-C a través de los generadores de código oficiales. Varios terceros Las implementaciones también están disponibles para muchos otros idiomas. Protobuf facilita el desarrollo de clientes unificando las definiciones de API y también optimizando las transferencias de datos. Los clientes pueden tomar la API .proto del repositorio de protocolos de TRON e integrarlo a través del código generado automáticamente bibliotecas.

En comparación, Protocol Buffers es de 3 a 10 veces más pequeño y de 20 a 100 veces más rápido que XML. con una sintaxis menos ambigua. Protobuf genera clases de acceso a datos que son más fáciles de usar programáticamente. 2.4.2HTTP

El protocolo TRON proporciona una API HTTP RESTful alternativa a la API de Protobuf. ellos comparten lo mismo interfaz, pero la API HTTP se puede utilizar fácilmente en clientes javascript. 2.5 TRON Máquina virtual (TVM)

TVM es una máquina virtual ligera y completa de Turing desarrollada para el ecosistema de TRON. el TVM se conecta perfectamente con el ecosistema de desarrollo existente para proporcionar millones de soluciones globales. desarrolladores con un sistema blockchain personalizado que es eficiente, conveniente, estable, seguro y escalable.
2.6 Intercambio descentralizado (DEX)

5 Documentación oficial de Google Protocol Buffers: https://developers.google.com/protocol-buffers/La red TRON admite de forma nativa funciones de intercambio descentralizadas. Un intercambio descentralizado consta de múltiples pares comerciales. Un par comercial (notación "Exchange") es un mercado cambiario entre TRC-10 tokens, o entre un TRC-10 token y TRX. Cualquier cuenta puede crear una cuenta comercial. par entre cualquier tokens, incluso si el mismo par ya existe en la red TRON. Comercio y Las fluctuaciones de precios de los pares comerciales siguen el Protocolo Bancor. La red TRON estipula que 6 los pesos de los dos tokens en todos los pares comerciales son iguales, por lo que la relación de sus saldos es el precio entre ellos. Por ejemplo, considere un par comercial que contiene dos token, ABC y DEF. ABC tiene un saldo de 10 millones y DEF tiene un saldo de 1 millón. Como sus pesos son iguales, 10 ABC = 1 DEF. Esto significa que la relación entre ABC y DEF es 10 ABC por DEF. 2.7 Implementación

El código TRON blockchain está implementado en Java y originalmente era una bifurcación de EthereumJ.

6 Sitio web oficial del Protocolo de Bancor: https://about.bancor.network/protocol/

Konsens

3.1 Delegierter Nachweis des Einsatzes (DPoS)

Der früheste Konsensmechanismus ist der Proof of Work (PoW)-Konsensmechanismus. Dies Das Protokoll ist derzeit in Bitcoin und Ethereum implementiert. In PoW-Systemen Transaktionen 7 8 Über das Netzwerk gesendete Daten werden zur Bestätigung durch den Miner in neu entstehende Blöcke gruppiert. Die Der Bestätigungsprozess umfasst das hashing von Transaktionen mithilfe kryptografischer hashing-Algorithmen, bis a Die Merkle-Wurzel wurde erreicht, wodurch ein Merkle-Baum erstellt wurde:

Abbildung 2: 8 TRX-Transaktionen werden im Merkle-Root hashed. Diese Merkle-Wurzel wird dann in den Block-Header eingefügt, der wird an die zuvor bestätigten Blöcke angehängt, um einen blockchain zu bilden. Dies ermöglicht eine einfache und transparente Nachverfolgung Transaktionen, Zeitstempel und andere verwandte Informationen.

7 Bitcoin Whitepaper: https://bitcoin.org/bitcoin.pdf 8 Ethereum Whitepaper: https://github.com/ethereum/wiki/wiki/White-Paper

Kryptografische Algorithmen sind bei der Verhinderung von Netzwerkangriffen nützlich, da sie Folgendes besitzen mehrere Eigenschaften:
9

● Größe der Eingabe-/Ausgabelänge – Der Algorithmus kann eine Eingabe beliebiger Länge und Größe übergeben gibt einen Wert mit fester Länge hash aus.
● Effizienz: Der Algorithmus ist relativ einfach und schnell zu berechnen.
● Urbildwiderstand – Für einen gegebenen Ausgang z ist es unmöglich, einen solchen Eingang x zu finden h(x) =​ ​z​. Mit anderen Worten, der hashing-Algorithmus ​h(x)​ ist eine Einwegfunktion, in der nur die Ausgabe kann gefunden werden, wenn eine Eingabe gegeben ist. Das Umgekehrte ist nicht möglich.
● Kollisionswiderstand – Es ist rechnerisch nicht möglich, Paare ​x​1 ​≠ x​2​ ​zu finden, so dass ​h(x​1​) = h(x​2​)​. Mit anderen Worten, die Wahrscheinlichkeit, zwei unterschiedliche Eingaben zu finden, die auf denselben Wert verweisen Die Leistung ist extrem gering. Diese Eigenschaft impliziert auch einen Widerstand gegen das zweite Urbild.
● Zweiter Urbildwiderstand: Bei gegebenem x1 und damit h(x1) ist dies rechnerisch nicht möglich Finden Sie ein beliebiges ​x​2​ mit ​h(x​1​) = h(x​2​)​. Während diese Eigenschaft der Kollisionsbeständigkeit ähnelt, ist die Die Eigenschaft unterscheidet sich darin, dass sie besagt, dass ein Angreifer mit einem bestimmten ​x​1​ es rechnerisch finden wird Es ist unmöglich, ​x​2​ hashzu finden, die zum gleichen Ausgang führen.
● Deterministisch – ordnet jede Eingabe einer und nur einer Ausgabe zu. ● Avalanche-Effekt – eine kleine Änderung der Eingabe führt zu einer völlig anderen Ausgabe.

Diese Eigenschaften verleihen dem Kryptowährungsnetzwerk seinen inneren Wert, indem sie dafür sorgen, dass es nicht zu Angriffen kommt das Netzwerk gefährden. Wenn Miner einen Block bestätigen, erhalten sie als integrierte Belohnung tokens Anreiz zur Netzwerkbeteiligung. Allerdings als die globale Marktkapitalisierung der Kryptowährung Die Zahl der Miner nahm stetig zu, die Miner wurden zentralisiert und konzentrierten ihre Rechenressourcen darauf Horten von tokens als Vermögenswerte und nicht für Zwecke der Netzwerkbeteiligung. CPU-Miner gaben nach GPUs, die wiederum leistungsstarken ASICs Platz machten. In einer bemerkenswerten Studie wurde die Gesamtleistung ermittelt Der Verbrauch von Bitcoin Bergbau wurde auf bis zu 3 GW geschätzt, vergleichbar mit Irland 10 Stromverbrauch. Dieselbe Studie geht davon aus, dass der Gesamtstromverbrauch in naher Zukunft 8 GW erreichen wird Zukunft.

Um das Problem der Energieverschwendung zu lösen, wurde der Proof of Stake (PoS)-Konsensmechanismus vorgeschlagen viele neue Netzwerke. In PoS-Netzwerken sperren token-Inhaber ihre token-Guthaben, um sie zu blockieren validators. Die validators schlagen abwechselnd den nächsten Block vor und stimmen darüber ab. Allerdings ist das Problem Beim Standard-PoS korreliert der Einfluss von validator direkt mit der Anzahl der gesperrten tokens. Dies führt dazu, dass die Parteien große Mengen der Basiswährung des Netzwerks horten und unrechtmäßig handeln Einfluss auf das Netzwerk-Ökosystem.

Der Konsensmechanismus TRON verwendet ein innovatives Delegated Proof of Stake-System, bei dem 27 Super Representatives (SRs) produzieren Blöcke für das Netzwerk. Alle 6 Stunden, TRX-Kontoinhaber Wer sein Konto einfriert, kann für eine Auswahl von SR-Kandidaten stimmen, darunter die besten 27 Kandidaten gelten als die SRs. Wähler können SRs auf der Grundlage von Kriterien auswählen, beispielsweise von Projekten, die von SRs gesponsert werden 9 PAAR, C., PELZL, J., ​Understanding Cryptography: A Textbook for Students and Practitioners​, Ausgabe 2010. Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776Erhöhen Sie die TRX-Akzeptanz und die Verteilung der Belohnungen an die Wähler. Dies ermöglicht eine stärkere Demokratisierung und dezentrales Ökosystem. Die Konten der SRs sind normale Konten, aber ihre Ansammlung von Stimmen ermöglicht es ihnen, Blöcke zu produzieren. Aufgrund der geringen Durchsatzraten von Bitcoin und Ethereum PoW-Konsensmechanismus und Skalierbarkeitsprobleme: Das DPoS-System von TRON bietet eine Innovation Mechanismus führt zu 2000 TPS im Vergleich zu 3 TPS von Bitcoin und 15 TPS von Ethereum.

Das Protokollnetzwerk TRON generiert alle drei Sekunden einen Block, wobei jeder Block 32 vergibt TRX an Supervertreter. Insgesamt werden jährlich 336.384.000 TRX an die 27 SRs vergeben. Jedes Mal, wenn ein SR die Blockproduktion abschließt, werden Belohnungen an ein Unterkonto im Super-Ledger gesendet. SRs können diese TRX tokens prüfen, aber nicht direkt nutzen. Ein Widerruf kann von jedem vorgenommen werden SR einmal alle 24 Stunden, wobei die Prämien vom Unterkonto auf den angegebenen SR übertragen werden Konto.

Die drei Knotentypen im Netzwerk TRON sind Witness Node, Full Node und Solidity Node. Zeugenknoten werden von SRs eingerichtet und sind hauptsächlich für die Blockproduktion und -vorschläge verantwortlich Erstellung/Abstimmung. Vollständige Knoten stellen APIs bereit und übertragen Transaktionen und Blöcke. Solidity-Knoten werden synchronisiert Blöcke von anderen Full Nodes und stellen auch indizierbare APIs bereit.

Consenso

3.1 Prueba de participación delegada (DPoS)

El primer mecanismo de consenso es el mecanismo de consenso de prueba de trabajo (PoW). esto El protocolo está implementado actualmente en Bitcoin y Ethereum. En los sistemas PoW, las transacciones 7 8 transmitidos a través de la red se agrupan en bloques incipientes para la confirmación del minero. el El proceso de confirmación implica hashing transacciones utilizando algoritmos criptográficos hashing hasta que Se ha alcanzado la raíz de Merkle, creando un árbol de Merkle:

Figura 2: 8 transacciones TRX se hash__ en la raíz de merkle. Esta raíz merkle se incluye luego en el encabezado del bloque, que se adjunta a los bloques previamente confirmados para formar un blockchain. Esto permite un seguimiento fácil y transparente de transacciones, marcas de tiempo y otra información relacionada.

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

Los algoritmos criptográficos hashing son útiles en la prevención de ataques de red porque poseen varias propiedades:
9

● Tamaño de longitud de entrada/salida: el algoritmo puede pasar una entrada de cualquier longitud y tamaño, y genera un valor de longitud fija hash.
● Eficiencia: el algoritmo es relativamente fácil y rápido de calcular.
● Resistencia de preimagen: para una salida dada z, es imposible encontrar una entrada x tal que h(x) =​ ​z​. En otras palabras, el algoritmo hashing ​h(x)​ es una función unidireccional en la que solo La salida se puede encontrar, dada una entrada. Lo contrario no es posible.
● Resistencia a la colisión: es computacionalmente inviable encontrar pares ​x​1 ​≠ x​2​ ​tal que ​h(x​1​) = h(x​2​)​. En otras palabras, la probabilidad de encontrar dos entradas diferentes hashing al mismo la producción es extremadamente baja. Esta propiedad también implica una segunda resistencia a la preimagen.
● Segunda resistencia de preimagen: dada ​x​1​, y por lo tanto ​h(x​1​)​, es computacionalmente inviable encuentre cualquier ​x​2​ tal que ​h(x​1​) = h(x​2​)​. Si bien esta propiedad es similar a la ​resistencia a la colisión​, la La propiedad difiere en que dice que un atacante con un ​x​1​ dado lo encontrará computacionalmente No es factible encontrar ​x​2​ hashing a la misma salida.
● Determinista: asigna cada entrada a una y solo una salida. ● Efecto Avalanche: un pequeño cambio en la entrada da como resultado una salida completamente diferente.

Estas propiedades le dan a la red de criptomonedas su valor intrínseco al garantizar que los ataques no comprometer la red. Cuando los mineros confirman un bloque, reciben tokens como recompensa incorporada incentivo para la participación en la red. Sin embargo, a medida que la capitalización del mercado global de criptomonedas aumentó constantemente, los mineros se centralizaron y centraron sus recursos informáticos en acaparar tokens como activos, en lugar de con fines de participación en la red. Los mineros de CPU dieron paso a GPU, que a su vez dieron paso a potentes ASIC. En un estudio notable, la potencia total Se ha estimado que el consumo de la minería Bitcoin alcanza los 3 GW, comparable al de Irlanda. 10 consumo de energía. Este mismo estudio proyectó que el consumo total de energía alcanzaría los 8 GW en los próximos años. futuro.

Para resolver el problema del desperdicio de energía, el mecanismo de consenso de Prueba de Participación (PoS) fue propuesto por muchas redes nuevas. En las redes PoS, los titulares de token bloquean sus saldos token para bloquearlos. validators. Los validator se turnan para proponer y votar el siguiente bloque. Sin embargo, el problema con PoS estándar es que la influencia validator se correlaciona directamente con la cantidad de tokens bloqueados. Esto da como resultado que las partes acaparen grandes cantidades de la moneda base de la red y ejerzan influencia en el ecosistema de la red.

El mecanismo de consenso TRON utiliza un innovador sistema de prueba de participación delegada en el que 27 Los SuperRepresentantes (SR) producen bloques para la red. Cada 6 horas, los titulares de cuentas TRX quienes congelan sus cuentas pueden votar por una selección de candidatos SR, siendo los 27 mejores candidatos consideraron los SR. Los votantes pueden elegir a los SR basándose en criterios tales como proyectos patrocinados por los SR para 9 PAAR, C., PELZL, J., ​Comprensión de la criptografía: un libro de texto para estudiantes y profesionales​, 2010 ed. Springer-Verlag Berlín Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776aumentar la adopción de TRX y las recompensas distribuidas a los votantes. Esto permite una sociedad más democratizada y ecosistema descentralizado. Las cuentas de los SR son cuentas normales, pero su acumulación de votos les permite producir bloques. Con las bajas tasas de rendimiento de Bitcoin y Ethereum debido a su Mecanismo de consenso de PoW y problemas de escalabilidad, el sistema DPoS de TRON ofrece una solución innovadora. mecanismo que resultó en 2000 TPS en comparación con los 3 TPS de Bitcoin y los 15 TPS de Ethereum.

La red de protocolo TRON genera un bloque cada tres segundos, y cada bloque otorga 32 TRX a Súper Representantes. Se otorgará un total de 336.384.000 TRX anualmente a los 27 SR. Cada vez que un SR termina la producción de bloques, las recompensas se envían a una subcuenta en el superlibro mayor. Los SR pueden verificar, pero no utilizar directamente, estos TRX tokens. Cada uno puede realizar un retiro. SR una vez cada 24 horas, transfiriendo las recompensas de la subcuenta al SR especificado cuenta.

Los tres tipos de nodos en la red TRON son el nodo testigo, el nodo completo y el nodo de solidez. Los nodos testigo son creados por SR y son los principales responsables de la producción y propuesta de bloques. creación/votación. Los nodos completos proporcionan API y transmiten transacciones y bloques. Sincronización de nodos de solidez bloques de otros nodos completos y también proporcionan API indexables.

Konto

4.1 Typen

Die drei Arten von Konten im TRON-Netzwerk sind reguläre Konten, token-Konten und Vertragskonten.

1. Für Standardtransaktionen werden reguläre Konten verwendet.
2. Token-Konten werden zum Speichern von TRC-10 tokens verwendet.
3. Vertragskonten sind smart contract Konten, die von regulären Konten erstellt wurden und können wird auch durch reguläre Konten ausgelöst. 4.2 Schöpfung

Es gibt drei Möglichkeiten, ein TRON-Konto zu erstellen:

1. Erstellen Sie über die API ein neues Konto 2. Übertragen Sie TRX auf eine neue Kontoadresse 3. Übertragen Sie alle TRC-10 token in eine neue Kontoadresse

Ein Offline-Schlüsselpaar, das aus einer Adresse (öffentlicher Schlüssel) und einem privaten Schlüssel besteht und nicht von der Adresse aufgezeichnet wird TRON Netzwerk, kann ebenfalls generiert werden. Der Algorithmus zur Generierung der Benutzeradresse besteht aus Erzeugen eines Schlüsselpaars und anschließendes Extrahieren des öffentlichen Schlüssels (64-Byte-Byte-Array, das x, y darstellt). Koordinaten). Hashen Sie den öffentlichen Schlüssel mithilfe der SHA3-256-Funktion (das verwendete SHA3-Protokoll ist). KECCAK-256) und extrahieren Sie die letzten 20 Bytes des Ergebnisses. Fügen Sie 41 am Anfang des Byte-Arrays hinzu und stellen Sie sicher, dass die anfängliche Adresslänge 21 Byte beträgt. Hashen Sie die Adresse zweimal mit der SHA3-256-Funktion und nehmen Sie die ersten 4 Bytes als Bestätigungscode. Fügen Sie den Bestätigungscode am Ende der Initiale hinzu Adresse und erhalten Sie die Adresse im Base58-Check-Format durch Base58-Codierung. Eine verschlüsselte Die Mainnet-Adresse beginnt mit T und ist 34 Byte lang. 4.3 Struktur

Die drei verschiedenen Kontotypen sind Normal, AssetIssue und Contract. Ein Konto enthält 7 Parameter:

1. Kontoname​: der Name für dieses Konto – z.B. RechnungenKonto.
2. Typ​: Um welchen Typ handelt es sich bei diesem Konto – z.B. 0 (steht für Typ „Normal“).
3. Saldo​: Saldo dieses Kontos – z.B. 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​; }

Cuenta

4.1 Tipos

Los tres tipos de cuentas en la red TRON son cuentas regulares, cuentas token y cuentas de contrato.

1. Las cuentas regulares se utilizan para transacciones estándar.
2. Las cuentas de token se utilizan para almacenar TRC-10 tokens.
3. Las cuentas de contrato son smart contract cuentas creadas por cuentas regulares y pueden activado también por cuentas regulares. 4.2 Creación

Hay tres formas de crear una cuenta TRON:

1. Crear una nueva cuenta a través de API 2. Transfiera TRX a una nueva dirección de cuenta 3. Transfiera cualquier TRC-10 token a una nueva dirección de cuenta

Un par de claves fuera de línea que consta de una dirección (clave pública) y una clave privada, y no registrada por el También se puede generar la red TRON. El algoritmo de generación de direcciones de usuario consta de generar un par de claves y luego extraer la clave pública (matriz de bytes de 64 bytes que representa x, y coordenadas). Hash la clave pública usando la función SHA3-256 (el protocolo SHA3 adoptado es KECCAK-256) y extrae los últimos 20 bytes del resultado. Agregue 41 al comienzo de la matriz de bytes y asegúrese de que la longitud de la dirección inicial sea de 21 bytes. Hash la dirección dos veces usando la función SHA3-256 y tome los primeros 4 bytes como código de verificación. Añade el código de verificación al final de la inicial. dirección y obtenga la dirección en formato base58check a través de la codificación base58. un codificado La dirección de Mainnet comienza con T y tiene 34 bytes de longitud. 4.3 Estructura

Los tres tipos de cuentas diferentes son Normal, AssetIssue y Contrato. Una cuenta contiene 7 parámetros:

1. nombre_cuenta​: el nombre de esta cuenta – p.e. Cuenta de facturas.
2. tipo​: qué tipo de cuenta es, p.e. 0 (significa tipo "Normal").
3. saldo​: saldo de esta cuenta – p.e. 4213312.

4. voto​: votos recibidos en esta cuenta – p.e. {(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5. activo​: otros activos esperados TRX en esta cuenta – p.e. {<“WishToken”, 66666>, <”Perrito”, 233>}. 6. last_operation_time​: la última hora de operación de esta cuenta.

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​; }

Block

Ein Block enthält typischerweise einen Blockheader und mehrere Transaktionen.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Blockkopf

Ein Blockheader enthält ​raw_data​, ​witness_signature​ und ​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 Rohdaten

Rohdaten werden in Protobuf als ​raw_data​ bezeichnet. Es enthält die Rohdaten einer Nachricht, bestehend aus 6 Parameter:

1. Zeitstempel​: Zeitstempel dieser Nachricht – z.B. 1543884429000. 2. txTrieRoot​: die Wurzel des Merkle-Baums – z.B. 7dacsa…3ed. 3. parentHash​: der hash des letzten Blocks – z.B. 7dacsa…3ed. 4. Zahl​: die Blockhöhe – z.B. 4638708. 5. Version​: reserviert – z.B. 5.

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

6. Zeugenadresse​: die Adresse des in diesem Block enthaltenen Zeugen – z.B. 41928c...4d21. 5.1.2 Unterschrift des Zeugen

Die Zeugensignatur wird in Protobuf als ​witness_signature​ bezeichnet, was die Signatur dafür ist Blockheader vom Zeugenknoten. 5.1.3 Block-ID

Die Block-ID wird in Protobuf als ​blockID​ bezeichnet. Es enthält die atomare Identifikation eines Blocks. Ein Block ID enthält 2 Parameter: 1. hash​: der hash des Blocks. 2. Nummer: hash und Höhe des Blocks. 5.2 Transaktion 5.2.1 Unterzeichnung

Der Transaktionssignierungsprozess von TRON folgt einem standardmäßigen kryptografischen ECDSA-Algorithmus mit a SECP256K1-Auswahlkurve. Ein privater Schlüssel ist eine Zufallszahl und der öffentliche Schlüssel ist ein Punkt auf dem elliptische Kurve. Der Prozess der Generierung eines öffentlichen Schlüssels besteht darin, zunächst eine Zufallszahl als eine zu generieren privaten Schlüssel und dann Multiplikation des Basispunkts der elliptischen Kurve mit dem privaten Schlüssel, um den zu erhalten öffentlicher Schlüssel. Wenn eine Transaktion stattfindet, werden die Rohdaten der Transaktion zunächst in das Byte-Format konvertiert. Anschließend werden die Rohdaten SHA-256 hashing unterzogen. Der dem Vertrag entsprechende private Schlüssel Die Adresse signiert dann das Ergebnis des SHA256 hash. Das Signaturergebnis wird dann dem hinzugefügt Transaktion.
5.2.2 Bandbreitenmodell

Gewöhnliche Transaktionen verbrauchen nur Bandbreitenpunkte, smart contract-Vorgänge verbrauchen jedoch beide Energie- und Bandbreitenpunkte. Es stehen zwei Arten von Bandbreitenpunkten zur Verfügung. Benutzer können gewinnen Bandbreitenpunkte durch das Einfrieren von TRX, während täglich auch 5000 kostenlose Bandbreitenpunkte verfügbar sind.

Wenn eine TRX-Transaktion gesendet wird, wird sie in Form eines Byte-Arrays übertragen und gespeichert das Netzwerk. Von einer Transaktion verbrauchte Bandbreitenpunkte = Anzahl der Transaktionsbytes multipliziert mit der Bandbreitenpunktrate. Wenn beispielsweise die Byte-Array-Länge einer Transaktion 200 beträgt, dann verbraucht die Transaktion 200 Bandbreitenpunkte. Wenn jedoch eine TRX- oder token-Übertragung erfolgt das Zielkonto, das erstellt wird, dann nur die Bandbreitenpunkte, die zum Erstellen des Kontos verbraucht wurden abgezogen, zusätzliche Bandbreitenpunkte werden nicht abgezogen. Bei einer Kontoerstellung In diesem Szenario verbraucht das Netzwerk zunächst die Bandbreitenpunkte, die der Transaktionsinitiator gewonnen hatvom Einfrieren von TRX. Reicht dieser Betrag nicht aus, verbraucht das Netzwerk die Transaktion TRX des Initiators.

In Standard-TRX-Übertragungsszenarien von einem TRX-Konto zu einem anderen verbraucht das Netzwerk zuerst die Bandbreitenpunkte, die der Transaktionsinitiator für das Einfrieren von TRX gewonnen hat. Wenn das nicht ausreicht, dann verbraucht von den kostenlosen 5000 täglichen Bandbreitenpunkten. Wenn das immer noch nicht reicht, dann das Netzwerk verbraucht den TRX des Transaktionsinitiators. Die Menge wird anhand der Anzahl der Bytes berechnet die Transaktion multipliziert mit 10 SUN. Daher ist für die meisten TRX-Inhaber dies nicht unbedingt der Fall Wenn ihr TRX an der SR-Abstimmung teilnehmen möchte, wird der erste Schritt automatisch übersprungen (da TRX-Guthaben eingefroren = 0) und die tägliche freie Bandbreite von 5000 treibt die Transaktion an.

Bei TRC-10 token-Übertragungen überprüft das Netzwerk zunächst, ob die gesamten freien Bandbreitenpunkte des ausgestelltes token-Vermögenswert sind ausreichend. Wenn nicht, sind es die Bandbreitenpunkte, die durch das Einfrieren von TRX erhalten werden verbraucht. Wenn immer noch nicht genügend Bandbreitenpunkte vorhanden sind, wird der TRX der Transaktion verbraucht Initiator.

5.2.3 Gebühr

Das Netzwerk TRON erhebt jedoch systembedingt grundsätzlich keine Gebühren für die meisten Transaktionen Einschränkungen und Fairness, Bandbreitennutzung und Transaktionen erfordern bestimmte Gebühren.

Die Gebühren werden in die folgenden Kategorien unterteilt: 1. Normale Transaktionen kosten Bandbreitenpunkte. Benutzer können die kostenlosen täglichen Bandbreitenpunkte nutzen (5000) oder TRX einfrieren, um mehr zu erhalten. Wenn Bandbreitenpunkte nicht ausreichen, wird TRX ausreichen direkt vom sendenden Konto verwendet werden. Der benötigte TRX ist die Anzahl der Bytes * 10 SUN. 2. Intelligente Verträge kosten Energie (Abschnitt 6), benötigen dafür aber auch Bandbreitenpunkte Die Transaktion muss übertragen und bestätigt werden. Die Bandbreitenkosten sind die gleichen wie oben. 3. Alle Abfragetransaktionen sind kostenlos. Es kostet weder Energie noch Bandbreite.

Das Netzwerk TRON definiert außerdem eine Reihe fester Gebühren für die folgenden Transaktionen: 1. Erstellen eines Zeugenknotens: 9999 TRX 2. Ausgabe eines TRC-10 token: 1024 TRX 3. Erstellen eines neuen Kontos: 0,1 TRX 4. Erstellen eines Austauschpaares: 1024 TRX 5.2.4 Transaktion als Proof of Stake (TaPoS)

TRON verwendet TaPoS, um sicherzustellen, dass alle Transaktionen den Haupt-blockchain bestätigen, während sie ausgeführt werden Es ist schwierig, gefälschte Ketten zu fälschen. In TaPoS verlangen die Netzwerke, dass jede Transaktion einen Teil davon umfasst der hash eines aktuellen Blockheaders. Diese Anforderung verhindert, dass Transaktionen wiederholt werden Forks enthalten nicht den referenzierten Block und signalisieren dem Netzwerk auch, dass ein bestimmter Benutzer und seinDer Einsatz liegt auf einer bestimmten Gabel. Dieser Konsensmechanismus schützt das Netzwerk vor Denial of Service, 51 %, egoistisches Mining und Double-Spend-Angriffe.
5.2.5 Transaktionsbestätigung

Eine Transaktion wird in einen zukünftigen Block aufgenommen, nachdem sie an das Netzwerk gesendet wurde. Nach 19 Blöcken sind abgebaut auf TRON (einschließlich seines eigenen Blocks), die Transaktion wird bestätigt. Jeder Block wird von erzeugt einer der 27 besten Super-Repräsentanten im Round-Robin-Verfahren. Jeder Block dauert ca. 3 Sekunden auf dem blockchain abgebaut werden. Aufgrund des Netzwerks kann die Zeit für jeden Super-Repräsentanten leicht variieren Bedingungen und Maschinenkonfigurationen. Im Allgemeinen gilt eine Transaktion danach als vollständig bestätigt ~1 Minute. 5.2.6 Struktur

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 } } }

Bloque

Un bloque normalmente contiene un encabezado de bloque y varias transacciones.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Encabezado del bloque

Un encabezado de bloque contiene ​raw_data​, ​witness_signature​ y ​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 Datos sin procesar

Los datos sin procesar se indican como ​raw_data​ en Protobuf. Contiene los datos sin procesar de un mensaje, que contiene 6 parámetros:

1. marca de tiempo​: marca de tiempo de este mensaje – p.e. 1543884429000. 2. txTrieRoot​: la raíz del árbol Merkle – p.e. 7dacsa…3ed. 3. parentHash​: el hash del último bloque – p.e. 7dacsa…3ed. 4. número​: la altura del bloque – p.e. 4638708. 5. versión​: reservada – p.ej. 5.

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

6. dirección_testigo​: la dirección del testigo incluida en este bloque – p.e. 41928c...4d21. 5.1.2 Firma del testigo

La firma del testigo se indica como ​witness_signature​ en Protobuf, que es la firma de este bloquear el encabezado del nodo testigo. 5.1.3 ID de bloque

El ID de bloque se indica como ​blockID​ en Protobuf. Contiene la identificación atómica de un bloque. un bloque La identificación contiene 2 parámetros: 1. hash​: el hash del bloque. 2. número​: el hash y altura del bloque. 5.2 Transacción 5.2.1 Firma

El proceso de firma de transacciones de TRON sigue un algoritmo criptográfico estándar ECDSA, con un Curva de selección SECP256K1. Una clave privada es un número aleatorio y la clave pública es un punto en la curva elíptica. El proceso de generación de clave pública consiste en generar primero un número aleatorio como clave privada y luego multiplicar el punto base de la curva elíptica por la clave privada para obtener la clave pública. Cuando se produce una transacción, los datos sin procesar de la transacción se convierten primero al formato de bytes. Los datos sin procesar luego se someten a SHA-256 hashing. La clave privada correspondiente al contrato. La dirección luego firma el resultado del SHA256 hash. El resultado de la firma luego se agrega al transacción.
5.2.2 Modelo de ancho de banda

Las transacciones ordinarias solo consumen puntos de ancho de banda, pero las operaciones smart contract consumen ambos puntos de energía y ancho de banda. Hay dos tipos de puntos de ancho de banda disponibles. Los usuarios pueden ganar puntos de ancho de banda de congelar TRX, mientras que 5000 puntos de ancho de banda gratuitos también están disponibles diariamente.

Cuando se transmite una transacción TRX, se transmite y almacena en forma de una matriz de bytes sobre la red. Puntos de ancho de banda consumidos por una transacción = número de bytes de transacción multiplicado por la tasa de puntos de ancho de banda. Por ejemplo, si la longitud de la matriz de bytes de una transacción es 200, entonces la transacción consume 200 puntos de ancho de banda. Sin embargo, si una transferencia TRX o token resulta en la cuenta de destino que se está creando, entonces solo los puntos de ancho de banda consumidos para crear la cuenta se deducirán y no se deducirán puntos de ancho de banda adicionales. En la creación de una cuenta En este escenario, la red consumirá primero los puntos de ancho de banda que obtuvo el iniciador de la transacción.por congelar TRX. Si esta cantidad es insuficiente, entonces la red consume la transacción. TRX del iniciador.

En escenarios de transferencia TRX estándar de una cuenta TRX a otra, la red primero consume los puntos de ancho de banda obtenidos por el iniciador de la transacción para congelar TRX. Si eso es insuficiente, entonces consume de los 5000 puntos de ancho de banda diarios gratuitos. Si esto todavía no es suficiente, entonces la red Consume el TRX del iniciador de la transacción. La cantidad se calcula por el número de bytes en la transacción multiplicada por 10 DOM. Por lo tanto, para la mayoría de los poseedores de TRX, que no necesariamente pueden congelar su TRX para participar en la votación SR, el primer paso se omite automáticamente (ya que el saldo TRX frozen = 0) y los 5000 anchos de banda gratuitos diarios impulsan la transacción.

Para transferencias TRC-10 token, la red primero verifica si el total de puntos de ancho de banda libres del activo emitido token son suficientes. De lo contrario, los puntos de ancho de banda obtenidos al congelar TRX son consumido. Si todavía no hay suficientes puntos de ancho de banda, entonces consume el TRX de la transacción. iniciador.

5.2.3 Tarifa

La red TRON generalmente no cobra tarifas por la mayoría de las transacciones; sin embargo, debido al sistema Las restricciones y la equidad, el uso del ancho de banda y las transacciones conllevan ciertas tarifas.

Los cargos por tarifas se dividen en las siguientes categorías: 1. Las transacciones normales cuestan puntos de ancho de banda. Los usuarios pueden utilizar los puntos de ancho de banda diarios gratuitos. (5000) o congelar TRX para obtener más. Cuando los puntos de ancho de banda no sean suficientes, TRX será utilizado directamente desde la cuenta emisora. El TRX necesario es la cantidad de bytes * 10 SUN. 2. Los contratos inteligentes cuestan energía (Sección 6), pero también necesitarán puntos de ancho de banda para el transacción que será transmitida y confirmada. El costo del ancho de banda es el mismo que el anterior. 3. Todas las transacciones de consulta son gratuitas. No cuesta energía ni ancho de banda.

La red TRON también define un conjunto de tarifas fijas para las siguientes transacciones: 1. Creando un nodo testigo: 9999 TRX 2. Emitiendo un TRC-10 token: 1024 TRX 3. Creando una nueva cuenta: 0.1 TRX 4. Creando un par de intercambio: 1024 TRX 5.2.4 Transacción como prueba de participación (TaPoS)

TRON usa TaPoS para garantizar que todas las transacciones confirmen el blockchain principal, mientras lo hace Es difícil falsificar cadenas. En TaPoS, las redes requieren que cada transacción incluya parte de el hash de un encabezado de bloque reciente. Este requisito evita que las transacciones se repitan en se bifurca sin incluir el bloque al que se hace referencia, y también indica a la red que un usuario en particular y sulo que está en juego está en una bifurcación específica. Este mecanismo de consenso protege la red contra la Denegación de Servicio, 51%, minería egoísta y ataques de doble gasto.
5.2.5 Confirmación de transacción

Una transacción se incluye en un bloque futuro después de ser transmitida a la red. Después de 19 cuadras son minado el TRON (incluido su propio bloque), se confirma la transacción. Cada bloque es producido por uno de los 27 mejores Súper Representantes en un sistema de todos contra todos. Cada bloque tarda ~3 segundos en ser extraído en el blockchain. El tiempo puede variar ligeramente para cada Súper Representante debido a la red. condiciones y configuraciones de la máquina. En general, una transacción se considera totalmente confirmada después ~1 minuto. 5.2.6 Estructura

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 Virtuelle Maschine

6.1 Einführung

TRON Virtual Machine (TVM) ist eine leichte, vollständige Turing-virtuelle Maschine, die für entwickelt wurde Das Ökosystem von TRON. Sein Ziel ist es, ein maßgeschneidertes blockchain-System bereitzustellen, das effizient ist, bequem, stabil, sicher und skalierbar.

TVM wurde ursprünglich von EVM abgezweigt und kann nahtlos mit der bestehenden Solidität smart contract verbunden werden. 11 Entwicklungsökosystem. Auf dieser Grundlage unterstützt TVM zusätzlich den Konsens DPoS.

TVM verwendet das Konzept der Energie. Anders als beim Gasmechanismus auf EVM, Operationen von Transaktionen und smart contracts auf TVM sind kostenlos, es wird kein TRX verbraucht. Technisch ausführbar Die Rechenkapazität auf TVM ist nicht durch den Gesamtbestand von tokens eingeschränkt. 6.2 Arbeitsablauf

Der Compiler übersetzt zunächst den Solidity smart contract in lesbaren und ausführbaren Bytecode der TVM. Das TVM verarbeitet die Daten dann über den Opcode, was dem Betrieb der Logik entspricht eines stapelbasierten Finite-State-Automaten. Schließlich greift der TVM auf blockchain-Daten zu und ruft sie auf Externe Datenschnittstelle über die Interoperation-Schicht. 11 EVM: Ethereum Virtuelle Maschine (https://github.com/ethereum/ethereumj)

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

Abbildung 3: TVM-Workflow

6.3 Leistung 6.3.1 Leichtbauarchitektur

TVM übernimmt eine leichtgewichtige Architektur mit dem Ziel, einen reduzierten Ressourcenverbrauch zu gewährleisten Systemleistung. 6.3.2 Robust

TRX-Übertragungen und smart contract-Ausführung kosten nur Bandbreitenpunkte, anstelle von TRX, was befreit TRON von Angriffen. Der Bandbreitenverbrauch ist vorhersehbar und statisch Die Kosten für den Rechenschritt sind festgelegt. 6.3.3 Hohe Kompatibilität

TVM ist mit EVM kompatibel und wird in Zukunft mit weiteren Mainstream-VMs kompatibel sein. Dadurch sind alle smart contracts auf EVM auf TVM ausführbar. 6.3.4 Niedrige Kosten

Aufgrund der Bandbreiteneinrichtung von TVM werden die Entwicklungskosten reduziert und Entwickler können sich auf das konzentrieren logische Entwicklung ihres Vertragscodes. TVM bietet auch All-in-One-Schnittstellen für Verträge an Bereitstellung, Auslösung und Anzeige, um Entwicklern Komfort zu bieten.

TRON Máquina virtual

6.1 Introducción

TRON Virtual Machine (TVM) es una máquina virtual ligera y completa de Turing desarrollada para El ecosistema de TRON. Su objetivo es proporcionar un sistema blockchain personalizado que sea eficiente, conveniente, estable, seguro y escalable.

TVM inicialmente se bifurcó de EVM y puede conectarse sin problemas con la solidez existente smart contract 11 ecosistema de desarrollo. En base a eso, TVM también admite el consenso DPoS.

TVM emplea el concepto de Energía. A diferencia del mecanismo de gas en EVM, las operaciones de las transacciones y smart contracts en TVM son gratuitas y no se consume TRX. Técnicamente, ejecutable La capacidad de cálculo en TVM no está restringida por la cantidad total de tenencias de tokens. 6.2 Flujo de trabajo

El compilador primero traduce Solidity smart contract a código de bytes legible y ejecutable en la TVM. Luego, TVM procesa datos a través de código de operación, lo que equivale a operar la lógica. de una máquina de estados finitos basada en pila. Finalmente, TVM accede a blockchain datos e invoca Interfaz de Datos Externos a través de la capa de Interoperación. 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: Flujo de trabajo TVM

6.3 Rendimiento 6.3.1 Arquitectura ligera

TVM adopta una arquitectura ligera con el objetivo de reducir el consumo de recursos para garantizar rendimiento del sistema. 6.3.2 Robusto

Las transferencias TRX y la ejecución smart contract cuestan solo puntos de ancho de banda, en lugar de TRX, que exime a TRON de ser atacado. El consumo de ancho de banda es predecible y estático ya que cada El costo del paso computacional es fijo. 6.3.3 Alta compatibilidad

TVM es compatible con EVM y será compatible con más máquinas virtuales convencionales en el futuro. Por lo tanto, todos los smart contracts en EVM son ejecutables en TVM. 6.3.4 Bajo Costo

Gracias a la configuración del ancho de banda de TVM, los costos de desarrollo se reducen y los desarrolladores pueden concentrarse en desarrollo lógico de su código de contrato. TVM también ofrece interfaces todo en uno para contrato implementación, activación y visualización para ofrecer comodidad a los desarrolladores.

Intelligenter Vertrag

7.1 Einführung

Ein smart contract ist ein Protokoll, das Vertragsverhandlungen digital überprüft. Sie definieren die Regeln und Strafen im Zusammenhang mit einer Vereinbarung zu verhängen und diese Verpflichtungen auch automatisch durchzusetzen. Der Schlaue Der Vertragskodex erleichtert, überprüft und erzwingt die Aushandlung oder Erfüllung einer Vereinbarung oder Transaktion. Aus Sicht der tokenisierung ermöglichen smart contracts auch automatische Mittel Übertragungen zwischen teilnehmenden Parteien, sofern bestimmte Kriterien erfüllt sind.

TRON smart contracts sind in der Solidity-Sprache geschrieben. Sobald sie geschrieben und getestet sind, können sie es sein In Bytecode kompiliert und dann im Netzwerk TRON für die virtuelle Maschine TRON bereitgestellt. Einmal Im Einsatz können smart contracts über ihre Vertragsadressen abgefragt werden. Der Vertragsantrag Binary Interface (ABI) zeigt die Aufruffunktionen des Vertrags an und wird für die Interaktion mit dem verwendet Netzwerk. 7.2 Energiemodell

Die maximale Energiegrenze für die Auslösung und Auslösung eines smart contract hängt von mehreren Faktoren ab Variablen:

● Die dynamische Energie aus dem Einfrieren von 1 TRX beträgt 50.000.000.000 (Gesamtenergielimit) / (Gesamtenergie). Gewicht) ● Das Energielimit ist das tägliche Energielimit des Kontos durch das Einfrieren von TRX ● Die verbleibende tägliche Kontoenergie aus dem Einfrieren von TRX wird als Energielimit – Energie berechnet Gebraucht ● Das Gebührenlimit in TRX wird in smart contract Deploy/Trigger Call festgelegt ● Verbleibender nutzbarer TRX im Konto ● Energie pro TRX bei direktem Kauf (10 SUN = 1 Energie) = 100.000, SRs können darüber abstimmen Anpassung

Es gibt zwei Verbrauchsszenarien zur Berechnung der maximalen Energiegrenze für den Einsatz und Auslöser. Die Logik kann wie folgt ausgedrückt werden:
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 Bereitstellung

Wenn eine Solidität TRON smart contract kompiliert wird, liest die virtuelle Maschine TRON die kompilierte Datei Bytecode. Der Bytecode besteht aus einem Abschnitt für die Codebereitstellung, dem Vertragscode und den Auxdata. Bei den Auxdata handelt es sich um den kryptografischen Fingerabdruck des Quellcodes, der zur Verifizierung verwendet wird. Der Einsatz Bytecode führt die Konstruktorfunktion aus und richtet die anfänglichen Speichervariablen ein. Der Einsatz code berechnet auch den Vertragscode und gibt ihn an den TVM zurück. Die ABI ist eine JSON-Datei beschreibt die Funktionen eines TRON smart contract. Diese Datei definiert die Funktionsnamen, ihre Bezahlbarkeit, die Funktionsrückgabewerte und ihre Zustandsveränderlichkeit. 7.4 Triggerfunktion

Sobald die TRON smart contracts bereitgestellt sind, können ihre Funktionen einzeln entweder über ausgelöst werden TronStudio oder über API-Aufrufe. Zustandsverändernde Funktionen erfordern Energie, während schreibgeschützte Funktionen vorhanden sind ohne Energie ausführen. 7,5 TRON Solidität

TRON Solidity ist eine Abzweigung aus der Solidity-Sprache von Ethereum. TRON ändert das ursprüngliche Projekt in unterstützen TRX- und SUN-Einheiten (1 TRX = 1.000.000 SUN). Der Rest der Sprachsyntax ist kompatibel mit Solidity ^0.4.24. Somit ist die Tron Virtual Machine (TVM) nahezu 100 % kompatibel mit EVM Anweisungen.

Contrato inteligente

7.1 Introducción

Un smart contract es un protocolo que verifica digitalmente la negociación del contrato. Definen las reglas y sanciones relacionadas con un acuerdo y también hacer cumplir automáticamente esas obligaciones. el inteligente El código de contrato facilita, verifica y hace cumplir la negociación o ejecución de un acuerdo o transacción. Desde una perspectiva de tokenización, los smart contracts también facilitan los fondos automáticos transferencias entre partes participantes si se cumplen ciertos criterios.

TRON smart contracts están escritos en el lenguaje Solidity. Una vez escritos y probados, pueden ser compilado en código de bytes y luego implementado en la red TRON para la máquina virtual TRON. una vez implementado, smart contracts se pueden consultar a través de sus direcciones de contrato. La solicitud del contrato La interfaz binaria (ABI) muestra las funciones de llamada del contrato y se utiliza para interactuar con el red. 7.2 Modelo Energético

El límite máximo de energía para desplegar y activar un smart contract es función de varios variables:

● La energía dinámica procedente de la congelación de 1 TRX es 50 000 000 000 (límite de energía total) / (energía total Peso) ● El límite de energía es el límite de energía diario de la cuenta por congelar TRX ● La energía restante diaria de la cuenta por congelar TRX se calcula como Límite de energía - Energía Usado ● El límite de tarifa en TRX se establece en smart contract llamada de implementación/activación ● TRX utilizable restante en la cuenta ● Energía por TRX si se compra directamente (10 SUN = 1 Energía) = 100,000, los SR pueden votar ajuste

Hay dos escenarios de consumo para calcular el límite máximo de energía para la implementación y disparador. La lógica se puede expresar de la siguiente manera:
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 Implementación

Cuando se compila una TRON solidez smart contract, la Máquina Virtual TRON lee el compilado código de bytes. El código de bytes consta de una sección para la implementación del código, el código de contrato y los datos auxiliares. Los datos auxiliares son la huella digital criptográfica del código fuente, que se utiliza para la verificación. El despliegue bytecode ejecuta la función constructora y configura las variables de almacenamiento iniciales. El despliegue El código también calcula el código del contrato y lo devuelve al TVM. El ABI es un archivo JSON que describe las funciones de TRON smart contract. Este archivo define los nombres de las funciones, su pagabilidad, los valores de retorno de la función y su mutabilidad de estado. 7.4 Función de disparo

Una vez que se implementan los TRON smart contracts, sus funciones se pueden activar individualmente a través de TronStudio o mediante llamadas API. Las funciones de cambio de estado requieren energía, mientras que las funciones de solo lectura ejecutar sin energía. 7.5 TRON Solidez

TRON Solidity es una bifurcación del lenguaje Solidity de Ethereum. TRON modifica el proyecto original para Admite unidades TRX y SUN (1 TRX = 1.000.000 SUN). El resto de la sintaxis del lenguaje es compatible con Solidez ^0.4.24. Así la Máquina Virtual Tron (TVM) es casi 100% compatible con EVM instrucciones.

Token

8.1 TRC-10-Token

Im TRON-Netzwerk kann jedes Konto tokens auf Kosten von 1024 TRX ausgeben. ​Um tokens auszugeben, Der Emittent muss einen token-Namen, die Gesamtkapitalisierung, den Wechselkurs zu TRX angeben. Verbreitungsdauer, Beschreibung, Website, maximaler Bandbreitenverbrauch pro Account, Gesamt Bandbreitenverbrauch und die Menge der eingefrorenen token. Jede token-Ausgabe kann auch konfiguriert werden die maximale tägliche token Übertragungsbandbreitenpunkte jedes Kontos, die maximale tägliche Bandbreite des gesamten Netzwerks token Übertragungsbandbreitenpunkte, Gesamtangebot token, Sperrdauer in Tagen und Gesamtbetrag von tokens gesperrt. 8.2 TRC-20-Token

TRC-20 ist ein technischer Standard, der für smart contracts verwendet wird, die von der unterstützte tokens implementieren TRON Virtuelle Maschine. Es ist vollständig kompatibel mit ERC-20.

Die Schnittstelle ist wie folgt:
Vertrag TRC20Interface { ​Funktion​ ​totalSupply​() ​public​ ​constant​ ​returns​ (uint); ​Funktion​ ​balanceOf​(Adresse tokenOwner) ​öffentliche​ ​Konstante​ ​gibt​ zurück (uint Gleichgewicht); ​Funktion​ ​Zulage​(Adresse tokenEigentümer, Adressgeber) ​Öffentliche​ ​Konstante gibt zurück (uint übrig); ​Funktion​ ​Übertragung​(Adresse an, uint tokens) ​öffentliche​ ​Rückgaben​ (Bool-Erfolg); ​Funktion​ ​approve​(address spender, uint tokens) ​public​ ​returns​ (bool Erfolg); ​Funktion​ ​transferFrom​(Adresse von, Adresse an, uint tokens) ​public return​ (bool success);

​Ereignis​ ​Übertragung​(Adresse indiziert von, Adresse indiziert nach, uint tokens); 
​Ereignis​ ​Genehmigung​(Adresse indiziert tokenEigentümer, Adresse indizierter Spender, uint

tokens); }

Aus Entwicklersicht gibt es mehrere Unterschiede zwischen TRC-10 und TRC-20. Einige Einer der Hauptunterschiede besteht darin, dass TRC-10-tokens über APIs und smart contracts zugänglich sind TRC-20 tokens ermöglichen die Anpassung der Benutzeroberfläche, sind jedoch nur innerhalb von smart contracts zugänglich.

Aus Kostengründen haben TRC-10 tokens Transaktionsgebühren, die 1000-mal niedriger sind als TRC-20, verursachen jedoch Bandbreitenkosten für API-Übertragungen und -Einzahlungen. Überweisungen und Einzahlungen in smart Verträge für TRC-10 tokens kosten sowohl Bandbreite als auch Energie.
8.3 Darüber hinaus

Da TRON dieselbe Solidity-Version wie Ethereum verwendet, könnten problemlos weitere token-Standards implementiert werden portiert auf TRON.

Token

8.1 Ficha TRC-10

En la red TRON, cada cuenta puede emitir tokens a expensas de 1024 TRX. ​Para emitir tokens, el emisor debe especificar un nombre token, la capitalización total, el tipo de cambio a TRX, duración de la circulación, descripción, sitio web, consumo máximo de ancho de banda por cuenta, total consumo de ancho de banda y la cantidad de token congelada. Cada emisión token también puede configurar el máximo diario de transferencia de token puntos de ancho de banda de cada cuenta, el máximo diario de toda la red token transfiere puntos de ancho de banda, suministro total de token, duración del bloqueo en días y monto total de tokens bloqueados. 8.2 Ficha TRC-20

TRC-20 es un estándar técnico utilizado para smart contracts que implementan tokens respaldados por TRON Máquina virtual. Es totalmente compatible con ERC-20.

La interfaz es la siguiente:
contrato​ TRC20Interfaz { ​función​ ​suministrototal​() ​pública​ ​constante​ ​retorna​ (uint); ​función​ ​balanceOf​(dirección tokenPropietario) ​retornos​ ​públicos​ ​constantes​ (uint saldo); ​función​ ​asignación​(dirección tokenPropietario, dirección del gastador) ​pública​ ​constante devoluciones (uint restante); transferencia de función (dirección a, uint tokens) devoluciones públicas (éxito bool); ​función​ ​aprobar​(gastador de direcciones, uint tokens) ​devoluciones​ ​públicas​ (bool éxito); ​función​ ​transferFrom​(dirección de, dirección a, uint tokens) ​público devoluciones​ (éxito bool);

​evento​ ​Transferencia​(dirección indexada desde, dirección indexada hacia, uint tokens); 
​evento​ ​Aprobación​(dirección indexada tokenPropietario, dirección gastadora indexada, uint

tokens); }

Desde la perspectiva del desarrollador, existen varias diferencias entre TRC-10 y TRC-20. Algunos Una de las diferencias clave es que los tokens TRC-10 son accesibles mediante API y smart contracts, mientras que TRC-20 tokens permiten la personalización de la interfaz, pero solo se puede acceder a ellos dentro de smart contracts.

Desde una perspectiva de costos, los TRC-10 tokens tienen tarifas de transacción que son 1000 veces más bajas que TRC-20, pero conlleva costos de ancho de banda para transferencias y depósitos de API. Transferencias y depósitos en smart Los contratos para TRC-10 tokens cuestan ancho de banda y energía.
8.3 Más allá

Dado que TRON usa la misma versión de Solidity que Ethereum, se podrían implementar más estándares token. transferido a TRON.

Regierungsführung

9.1 Supervertreter 9.1.1 Allgemeines

Jeder Account im TRON-Netzwerk kann sich bewerben und hat die Möglichkeit, ein Super zu werden Vertreter (bezeichnet als SR). Jeder kann für SR-Kandidaten stimmen. Die 27 besten Kandidaten mit Die meisten Stimmen erhalten SRs mit dem Recht und der Pflicht, Blöcke zu generieren. Die Stimmen sind alle 6 Stunden gezählt und die SRs ändern sich entsprechend.

Um böswillige Angriffe zu verhindern, ist es mit Kosten verbunden, ein SR-Kandidat zu werden. Bei der Bewerbung 9999 TRX wird vom Konto des Antragstellers gelöscht. Bei Erfolg kann ein solches Konto dem SR beitreten Wahl. 9.1.2 Wahl

TRON Macht (bezeichnet als TP) ist zum Wählen erforderlich und die Höhe der TP hängt von der des Wählers ab eingefrorene Vermögenswerte (TRX).

TP wird auf folgende Weise berechnet:
TP 1 TRX eingefroren, um Bandbreite zu erhalten 1 =

Jedes Konto im Netzwerk TRON hat das Recht, für seine eigenen SRs zu stimmen.

Nach der Veröffentlichung (Entsperrung, verfügbar nach 3 Tagen) haben Benutzer keine eingefrorenen Assets mehr und verlieren alle TP entsprechend. Dadurch werden alle Stimmen für die laufende und zukünftige Abstimmungsrunde ungültig, es sei denn TRX ist erneut für die Abstimmung eingefroren.

Beachten Sie, dass das Netzwerk TRON nur die letzte Abstimmung aufzeichnet, also jede neue Abstimmung wird alle vorherigen Abstimmungen negieren. 9.1.3 Belohnung a. Abstimmungsbelohnung

Auch als Kandidatenbelohnung bekannt, die die 127 besten Kandidaten einmal pro Runde aktualisieren (6 Stunden) werden 115.200 TRX wie abgebauten teilen. Die Belohnung wird entsprechend der Stimmengewichtung aufgeteilt Jeder Kandidat erhält. Jedes Jahr beträgt die Gesamtprämie für Kandidaten 168.192.000 TRX. Gesamtstimmenbelohnung pro Runde Warum 115.200 TRX jede Runde? 15.00 TRX Gesamtstimmenbelohnung pro Runde (V R/Runde) 1 2 =
V R/Runde = 16 T RX/Block × 20 Blöcke/Minute × 60 Minuten/Std. × 6 Stunden/Runde Hinweis: Dies wird durch WITNESS_STANDBY_ALLOWANCE = 115.200 TRX festgelegt. Siehe dynamische Netzwerkparameter. Gesamtstimmenbelohnung pro Jahr Warum 168.192.000 TRX jedes Jahr? 168.192.000 T RX = Gesamtstimmenbelohnung pro Jahr (V R/Jahr) V R/Jahr = 115, 200 T RX/Runde × 4 Runden/Tag × 365 Tage/Jahr b. Belohnung blockieren Auch bekannt als Super Representative Reward, der den 27 besten Kandidaten (SRs) verliehen wird, die gewählt werden In jeder Runde (6 Stunden) werden etwa 230.400 TRX abgebaut. Die Belohnung wird gleichmäßig aufgeteilt zwischen den 27 SRs (abzüglich der gesamten aufgrund eines Netzwerkfehlers verpassten Belohnungsblöcke). Insgesamt 336.384.000 TRX werden jährlich an die 27 SRs vergeben. Gesamtblockbelohnung pro Runde Warum 230.400 TRX jede Runde? 230, 400 T RX = Gesamtblockbelohnung pro Runde (BR/Runde) BR/Runde = 32 T RX/Block × 20 Blöcke/Minute × 60 Minuten/Std. × 6 Stunden/Runde Hinweis: Die Einheitsblockbelohnung wird durch WITNESS_PAY_PER_BLOCK = 32 TRX festgelegt. Siehe dynamisches Netzwerk Parameter. Gesamtblockbelohnung pro Jahr Warum jedes Jahr 336.384.000 TRX? 336.384.000 T RX = Gesamtblockbelohnung pro Jahr (BR/Jahr) BR/Jahr = 230, 400 T RX/Runde × 4 Runden/Tag × 365 Tage/Jahr 1. Januar 2021 Vor dem 1. Januar 2021 wird es im Netzwerk TRON keine Inflation geben, im Netzwerk TRON DAO jedoch Vergeben Sie alle Blockprämien und Kandidatenprämien vor diesem Datum. C. Belohnungsberechnung

Berechnung der SR-Belohnung totale Belohnung Abstimmungsbelohnung (V R) Blockbelohnung (BR) t =
+

R Gesamt-V R V =
×
Gesamtstimmen Stimmen, die der SR-Kandidat erhalten hat
R

Block verpasst 2 B =
27 Gesamt-BR − × 3
Hinweis: Die Belohnung wird pro SR pro Runde (6 Stunden) berechnet.

Berechnung der Belohnung für SR-Kandidaten von Rang 28 bis Rang 127 totale Belohnung Abstimmungsbelohnung (V R) t =

R Gesamt-V R V =
×
Gesamtstimmen Stimmen, die der SR-Kandidat erhalten hat
Hinweis: Die Belohnung wird pro SR-Kandidat und Runde (6 Stunden) berechnet. 9.2 Ausschuss 9.2.1 Allgemeines

Das Komitee wird zum Ändern dynamischer Netzwerkparameter TRON verwendet, beispielsweise zur Blockgenerierung Belohnungen, Transaktionsgebühren usw. Das Komitee besteht aus den 27 SRs der aktuellen Runde. Jeder SR hat das Recht, Vorschläge vorzulegen und darüber abzustimmen. Wenn ein Vorschlag 19 oder mehr Stimmen erhält, ist dies der Fall genehmigt und die neuen Netzwerkparameter werden in der nächsten Wartungsperiode (3 Tage) angewendet. 9.2.2 Dynamische Netzwerkparameter 0. MAINTENANCE_TIME_INTERVAL a. Beschreibung
Ändern Sie die Wartungsintervallzeit in ms. Bekannt als SR-Abstimmungsintervallzeit pro rund.
B. Beispiel [6 * 3600 * 1000] ms – das sind 6 Stunden. C. Reichweite [3 * 27* 1000, 24 * 3600 * 1000] ms 1. ACCOUNT_UPGRADE_COST a. Beschreibung Ändern Sie die Kosten für die Beantragung eines SR-Kontos. B. Beispiel [9.999.000.000] SUN – das sind 9.999 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 2. CREATE_ACCOUNT_FEE a. Beschreibung Ändern Sie die Gebühr für die Kontoerstellung.B. Beispiel [100.000] SUN – das ist 1 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 3. TRANSACTION_FEE a. Beschreibung Ändern Sie die Höhe der Gebühr, um zusätzliche Bandbreite zu gewinnen. B. Beispiel [10] SUN/Byte. C. Reichweite [0,100 000 000 000 000 000] SUN/Byte 4. ASSET_ISSUE_FEE a. Beschreibung Ändern Sie die Gebühr für die Ausgabe von Vermögenswerten. B. Beispiel [1024.000.000] SUN – das sind 1024 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 5. WITNESS_PAY_PER_BLOCK a. Beschreibung Ändern Sie die Belohnung für die SR-Blockgenerierung. Wird als Unit-Block-Belohnung bezeichnet. B. Beispiel [32.000.000] SUN – das sind 32 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 6. WITNESS_STANDBY_ALLOWANCE a. Beschreibung Ändern Sie die Belohnungen für die 127 besten SR-Kandidaten. Wird als Gesamtstimmenbelohnung bezeichnet pro Runde. B. Beispiel [115.200.000.000] SUN – das sind 115.200 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT a. Beschreibung Ändern Sie die Kosten für die Kontoerstellung. Kombinieren Sie die dynamischen Netzwerkparameter Nr. 8, um zu erhalten Gesamtkosten für die Kontoerstellung:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Beispiel [0] SONNE. C. Reichweite [0,100 000 000 000 000 000] SONNE 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

a. Beschreibung Ändern Sie die Kosten für die Kontoerstellung. Kombinieren Sie die dynamischen Netzwerkparameter Nr. 7, um zu erhalten Gesamtkosten für die Kontoerstellung:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Beispiel [1]. C. Reichweite [0.100.000.000.000.000.000] 9. ALLOW_CREATION_OF_CONTRACTS a. Beschreibung So aktivieren Sie Tron Virtual Machine (TVM). B. Beispiel True – aktiviert und wirksam seit dem 10.10.2018 23:47 UTC. C. Reichweite Richtig/Falsch 10. REMOVE_THE_POWER_OF_THE_GR a. Beschreibung Entfernen Sie die anfänglichen GR-Genesis-Stimmen b. Beispiel Stimmt – gültig am 04.11.2018 08:46 UTC. C. Reichweite Wahr/Falsch – Hinweis: Von „Wahr“ kann nicht auf „Falsch“ zurückgesetzt werden. 11. ENERGIEGEBÜHR a. Beschreibung Ändern Sie die Gebühr von 1 Energie. B. Beispiel 20 SO. C. Reichweite [0,100 000 000 000 000 000] SONNE 12. EXCHANGE_CREATE_FEE a. Beschreibung Ändern Sie die Kosten für die Erstellung von Handelspaaren. Bekannt als die Kosten für die Erstellung eines Handelsauftrags. B. Beispiel [1.024.000.000] SUN – das sind 1024 TRX. C. Reichweite [0,100 000 000 000 000 000] SONNE 13. MAX_CPU_TIME_OF_ONE_TX a. Beschreibung Ändern Sie die maximale Ausführungszeit einer Transaktion. Bekannt als das Timeout-Limit von eine Transaktion. B. Beispiel 50 ms. C. Reichweite

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME a. Beschreibung Ändern Sie die Option, damit ein Konto seinen Kontonamen aktualisieren kann.
B. Beispiel Falsch – was ab Java-Tron Odyssey v3.2 vorgeschlagen werden kann. C. Reichweite Wahr/Falsch – Hinweis: Von „Wahr“ kann nicht auf „Falsch“ zurückgesetzt werden. 15. ALLOW_SAME_TOKEN_NAME a. Beschreibung Ändern Sie die Validierung, um zuzulassen, dass verschiedene token einen doppelten Namen haben.
B. Beispiel Falsch – was ab Java-Tron Odyssey v3.2 vorgeschlagen werden kann. C. Reichweite Wahr/Falsch – Hinweis: Von „Wahr“ kann nicht auf „Falsch“ zurückgesetzt werden. 16. ALLOW_DELEGATE_RESOURCE a. Beschreibung Ändern Sie die Validierung, sodass token mit einem doppelten Namen ausgegeben werden darf tokenID​ des token im Datentyp „Long Integer“ wäre die einzige atomare Variable Identifizierung eines token.
B. Beispiel Falsch – was ab Java-Tron Odyssey v3.2 vorgeschlagen werden kann. C. Reichweite Wahr/Falsch – Hinweis: Von „Wahr“ kann nicht auf „Falsch“ zurückgesetzt werden. 17. TOTAL_ENERGY_LIMIT a. Beschreibung Ändern Sie den Gesamtenergiegrenzwert des gesamten Netzwerks. B. Beispiel [50.000.000.000.000.000] SUN – das sind 50.000.000.000 TRX. C. Reichweite [0.100.000.000.000.000.000] SONNE 18. ALLOW_TVM_TRANSFER_TRC10 a. Beschreibung TRC-10 token-Übertragung innerhalb von smart contracts zulassen. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, ALLOW_DELEGATE_RESOURCE-Vorschläge müssen alle genehmigt werden, bevor sie vorgeschlagen werden diese Parameteränderung.
B. Beispiel Falsch – was ab Java-Tron Odyssey v3.2 vorgeschlagen werden kann. C. Reichweite Wahr/Falsch – Hinweis: Von „Wahr“ kann nicht auf „Falsch“ zurückgesetzt werden.9.2.3 Angebot erstellen

Nur die SR-Konten haben das Recht, eine Änderung der dynamischen Netzwerkparameter vorzuschlagen. 9.2.4 Abstimmungsvorschlag

Nur Ausschussmitglieder (SRs) können für einen Vorschlag stimmen und das Mitglied, das nicht rechtzeitig abstimmt wird als Nichtübereinstimmung gewertet. Das Angebot ist nach seiner Erstellung drei Tage lang aktiv. Die Abstimmung kann können während des dreitägigen Abstimmungsfensters geändert oder abgerufen werden. Sobald die Frist abgelaufen ist, wird der Vorschlag eingereicht entweder erfolgreich (19+ Stimmen) oder scheitern (und enden). 9.2.5 Angebot stornieren

Der Antragsteller kann den Vorschlag vor Inkrafttreten stornieren. 9.3 Struktur

SRs sind die Zeugen neu generierter Blöcke. Ein Zeuge enthält 8 Parameter:
1. Adresse​: die Adresse dieses Zeugen – z.B. 0xu82h…7237.
2. voteCount​: Anzahl der erhaltenen Stimmen zu diesem Zeugen – z.B. 234234.
3. pubKey​: der öffentliche Schlüssel für diesen Zeugen – z.B. 0xu82h…7237.
4. URL​: die URL für diesen Zeugen – z.B. https://www.noonetrust.com.
5. totalProduced: Die Anzahl der Blöcke, die dieser Zeuge erzeugt hat – z. B. 2434.
6. totalMissed​: Die Anzahl der Blöcke, die dieser Zeuge verpasst hat – z.B. 7.
7. LatestBlockNum​: die neueste Blockhöhe – z.B. 4522. 8. isjobs​: eine boolesche Flagge.

Protobuf-Datenstruktur: Nachricht​ ​Zeuge​{
​Bytes​ Adresse = ​1​;
​int64​ voteCount = ​2​;
​Bytes​ pubKey = ​3​;
​string​ url = ​4​;
​int64​ totalProduced = ​5​;
​int64​ totalMissed = ​6​;
​int64​ LatestBlockNum = ​7​; ​bool​ isJobs = ​8​; }

  1. DApp-Entwicklung 10.1 APIs

Das TRON-Netzwerk bietet eine große Auswahl von über 60 HTTP-API-Gateways für die Interaktion mit dem Netzwerk über Full und Solidity Nodes. Darüber hinaus ist TronWeb eine umfassende JavaScript-Bibliothek Enthält API-Funktionen, die es Entwicklern ermöglichen, smart contracts bereitzustellen. Ändern Sie die blockchain Status, Abfrage von blockchain- und Vertragsinformationen, Handel am DEX und vieles mehr. Diese API Gateways können auf ein lokales Privatenet, das Shasta-Testnet oder das TRON Mainnet gerichtet sein.

10.2 Netzwerke

TRON verfügt sowohl über ein Shasta-Testnetz als auch über ein Mainnet. Entwickler können eine Verbindung zu den Netzwerken herstellen Bereitstellung von Knoten, Interaktion über TronStudio oder Verwendung von APIs über den TronGrid-Dienst. Das TronGrid Der Dienst besteht aus Knotenclustern mit Lastausgleich, die auf AWS-Servern weltweit gehostet werden. Als DApp Die Entwicklung nimmt zu und das API-Aufrufvolumen nimmt zu. TronGrid bewältigt den Anstieg erfolgreich API-Verkehr.
10.3 Werkzeuge

TRON bietet eine Reihe von Entwicklungstools, mit denen Entwickler innovative DApps erstellen können.
TronBox ist ein Framework, das es Entwicklern ermöglicht, smart contracts über TronWeb zu testen und bereitzustellen API. TronGrid ist ein lastenausgleichender und gehosteter API-Dienst, der Entwicklern den Zugriff ermöglicht TRON Netzwerk, ohne einen eigenen Knoten betreiben zu müssen. TronGrid bietet Zugriff auf beide Shasta testnet sowie das TRON Mainnet. TronStudio ist eine umfassende integrierte Entwicklung Umgebung (IDE), die es Entwicklern ermöglicht, ihre Solidity Smart zu kompilieren, bereitzustellen und zu debuggen Verträge. TronStudio enthält einen internen Vollknoten, der eine private lokale Umgebung für erstellt smart contract Tests vor der Bereitstellung. Die TronWeb API-Bibliothek verbindet Entwickler mit dem Netzwerk über eine große Auswahl an in JavaScript verpackten HTTP-API-Aufrufen.
10.4 Ressourcen

Der TRON Developer Hub ist eine umfassende API-Dokumentationsseite, die darauf zugeschnitten ist 12 Entwickler, die auf dem Netzwerk TRON aufbauen möchten. Der Developer Hub bietet ein High-Level konzeptionelles Verständnis von TRON und führt Benutzer durch die Details der Interaktion mit dem 12 Entwickler-Hub: https://developers.tron.network/

Netzwerk. Die Leitfäden führen Entwickler durch die Knoteneinrichtung, Bereitstellung und Interaktion mit smart Verträge, API-Interaktion und -Implementierung, Erstellen von Beispiel-DApps und Verwenden jeder dieser Entwicklertools. Darüber hinaus sind Entwickler-Community-Kanäle über Discord verfügbar.
13

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

  1. Fazit

TRON ist eine skalierbare blockchain Lösung, die innovative Methoden zur Bewältigung eingesetzt hat Herausforderungen, mit denen alte blockchain-Netzwerke konfrontiert sind. Mit über 2 Millionen Transaktionen pro Tag, Mit über 700.000 TRX-Konten und mehr als 2.000 TPS hat TRON der Community geholfen Schaffung eines dezentralen und demokratisierten Netzwerks.

Gobernancia

9.1 Súper Representante 9.1.1 Generalidades

Todas las cuentas de la red TRON pueden postularse y tener la oportunidad de convertirse en Super Representante (denotado como SR). Todos pueden votar por los candidatos SR. Los 27 mejores candidatos con los más votos pasarán a ser SR con derecho y obligación de generar bloques. los votos son se cuenta cada 6 horas y los SR cambiarán en consecuencia.

Para evitar ataques maliciosos, convertirse en candidato a SR tiene un coste. Al aplicar, 9999 TRX se eliminará de la cuenta del solicitante. Una vez exitosa, dicha cuenta puede unirse al SR elección. 9.1.2 Elección

TRON Se necesita poder (denotado como TP) para votar y la cantidad de TP depende del voto del votante. activos congelados (TRX).

El TP se calcula de la siguiente manera:
TP 1 TRX congelado para obtener ancho de banda 1 =

Cada cuenta en la red TRON tiene derecho a votar por sus propios SR.

Después del lanzamiento (descongelado, disponible después de 3 días), los usuarios no tendrán ningún activo congelado y perderán todo. TP en consecuencia. Como resultado, todos los votos dejan de ser válidos para la ronda de votación actual y futura a menos que TRX vuelve a estar congelado para votar.

Tenga en cuenta que la red TRON solo registra el voto más reciente, lo que significa que cada nuevo voto anulará todos los votos anteriores. 9.1.3 Recompensa un. Recompensa por voto

También conocida como Candidate Reward, que los 127 mejores candidatos actualizaron una vez por ronda (6 horas) compartirá 115,200 TRX extraídos. La recompensa se dividirá de acuerdo con el peso de los votos. cada candidato recibe. Cada año, la recompensa total para los candidatos será de 168.192.000 TRX. Recompensa total de votos por ronda ¿Por qué 115.200 TRX en cada ronda? 15, 00 TRX recompensa total de votos por ronda (V R/ronda) 1 2 =
V R/ronda = 16 T RX/bloque × 20 bloques/min × 60 min/h × 6 h/ronda Aviso: esto lo establece WITNESS_STANDBY_ALLOWANCE = 115,200 TRX. Ver parámetros de red dinámica. Recompensa total de votos por año ¿Por qué 168.192.000 TRX cada año? 168, 192, 000 T RX = recompensa total de votos por año (V R/año) V R/año = 115, 200 T RX/ronda × 4 rondas/día × 365 días/año B. Recompensa de bloque También conocida como Recompensa Súper Representante, que se entrega a los 27 mejores candidatos (SR) elegidos. cada ronda (6 horas) compartirá aproximadamente 230,400 TRX extraídos. La recompensa se dividirá en partes iguales. entre los 27 SR (menos el total de bloques de recompensa perdidos debido a un error de red). un total de Se otorgarán 336.384.000 TRX anualmente a los 27 SR. Recompensa total en bloque por ronda ¿Por qué 230.400 TRX en cada ronda? 230, 400 T RX = recompensa total en bloque por ronda (BR/ronda) BR/ronda = 32 T RX/bloque × 20 bloques/min × 60 min/h × 6 h/ronda Aviso: la recompensa del bloque de unidades se establece en WITNESS_PAY_PER_BLOCK = 32 TRX. Ver red dinámica parámetros. Recompensa total en bloque por año ¿Por qué 336.384.000 TRX cada año? 336, 384, 000 T RX = recompensa total en bloque por año (BR/año) BR/año = 230, 400 T RX/ronda × 4 rondas/día × 365 días/año 1 de enero de 2021 No habrá inflación en la red TRON antes del 1 de enero de 2021, y la TRON DAO otorgar todas las recompensas en bloque y recompensas de candidatos antes de esa fecha. do. Cálculo de recompensa

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

R V R total V =
×
votos totales votos recibidos por el candidato SR
R

bloque perdido 2 b =
27 BR total − × 3
Nota: la recompensa se calcula por SR por ronda (6 horas)

Cálculo de recompensa del candidato SR del rango 28 al rango 127 recompensa total recompensa de voto (V R) t =

R V R total V =
×
votos totales votos recibidos por el candidato SR
Nota: la recompensa se calcula por candidato SR por ronda (6 horas) 9.2 Comité 9.2.1 Generalidades

El comité se utiliza para modificar TRON parámetros dinámicos de la red, como la generación de bloques. recompensas, tarifas de transacción, etc. El comité está formado por los 27 SR de la ronda actual. Cada SR tiene derecho a proponer y votar propuestas. Cuando una propuesta recibe 19 votos o más, se aprobado y los nuevos parámetros de la red se aplicarán en el próximo período de mantenimiento (3 días). 9.2.2 Parámetros de red dinámica 0. MAINTENANCE_TIME_INTERVAL un. Descripción
Modifique el tiempo del intervalo de mantenimiento en ms. Conocido como el intervalo de tiempo de votación SR por redondo.
b. Ejemplo [6 * 3600 * 1000] ms, que son 6 horas. do. Rango [3 * 27 * 1000, 24 * 3600 * 1000] ms 1. ACCOUNT_UPGRADE_COST un. Descripción Modificar el costo de solicitar la cuenta SR. b. Ejemplo [9,999,000,000] SUN, que es 9,999 TRX. do. Rango [0,100 000 000 000 000 000] DOM 2. CREATE_ACCOUNT_FEE un. Descripción Modificar la tarifa de creación de cuenta.b. Ejemplo [100,000] SUN, que es 1 TRX. do. Rango [0,100 000 000 000 000 000] DOM 3. TRANSACTION_FEE un. Descripción Modifique el monto de la tarifa utilizada para obtener ancho de banda adicional. b. Ejemplo [10] DOM/byte. do. Rango [0,100 000 000 000 000 000] DOM/byte 4. ASSET_ISSUE_FEE un. Descripción Modificar tarifa de emisión de activos. b. Ejemplo [1024,000,000] SUN, que es 1024 TRX. do. Rango [0,100 000 000 000 000 000] DOM 5. TESTIGO_PAY_PER_BLOCK un. Descripción Modificar la recompensa de generación de bloques SR. Conocido como recompensa por bloque unitario. b. Ejemplo [32,000,000] SUN, que es 32 TRX. do. Rango [0,100 000 000 000 000 000] DOM 6. WITNESS_STANDBY_ALLOWANCE un. Descripción Modifique las recompensas otorgadas a los 127 mejores candidatos SR. Conocido como recompensa de voto total por ronda. b. Ejemplo [115,200,000,000] SUN, que son 115,200 TRX. do. Rango [0,100 000 000 000 000 000] DOM 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT un. Descripción Modificar el costo de creación de cuenta. Combine los parámetros de red dinámica n.° 8 para obtener Costo total de creación de cuenta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
c ×C

B. Ejemplo [0] DOM. do. Rango [0,100 000 000 000 000 000] DOM 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

un. Descripción Modificar el costo de creación de cuenta. Combine los parámetros de red dinámica n.° 7 para obtener Costo total de creación de cuenta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
c ×C

B. Ejemplo [1]. do. Rango [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS un. Descripción Para encender la máquina virtual Tron (TVM). b. Ejemplo Verdadero: configurado para activarse y entrar en vigor desde el 10/10/2018 a las 23:47 UTC. do. Rango Verdadero/Falso 10. QUITAR_EL_PODER_DE_EL_GR un. Descripción Eliminar los votos iniciales de GR génesis B. Ejemplo Verdadero: realizado el 4/11/2018 a las 08:46 UTC. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 11. TARIFA_ENERGÍA un. Descripción Modifica la tarifa de 1 energía. b. Ejemplo 20 DOM. do. Rango [0,100 000 000 000 000 000] DOM 12. EXCHANGE_CREATE_FEE un. Descripción Modifique el costo de creación de pares comerciales. Conocido como el costo de crear una orden comercial. b. Ejemplo [1,024,000,000] SUN, que es 1024 TRX. do. Rango [0,100 000 000 000 000 000] DOM 13. MAX_CPU_TIME_OF_ONE_TX un. Descripción Modificar el tiempo máximo de ejecución de una transacción. Conocido como el límite de tiempo de espera de una transacción. b. Ejemplo 50 ms. do. Rango

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME un. Descripción Modifique la opción para permitir que una cuenta actualice su nombre de cuenta.
b. Ejemplo Falso: que está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 15. ALLOW_SAME_TOKEN_NAME un. Descripción Modifique la validación para permitir que diferentes token tengan un nombre duplicado.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 16. ALLOW_DELEGATE_RESOURCE un. Descripción Modificar la validación de permitir emitir token con un nombre duplicado, para que el tokenID​ del token, en tipo de datos entero largo, sería el único atómico identificación de un token.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 17. LÍMITE_ENERGÍA_TOTAL un. Descripción Modificar el límite de energía total de toda la red. b. Ejemplo [50 000 000 000 000 000] SUN, que son 50 000 000 000 TRX. do. Rango [0,100,000,000,000,000,000] SOL 18. ALLOW_TVM_TRANSFER_TRC10 un. Descripción Permitir la transferencia TRC-10 token dentro de smart contracts. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, Todas las propuestas ALLOW_DELEGATE_RESOURCE deben aprobarse antes de proponer este parámetro cambia.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero.9.2.3 Crear propuesta

Sólo las cuentas SR tienen derecho a proponer un cambio en los parámetros dinámicos de la red. 9.2.4 Propuesta de votación

Sólo los miembros del comité (SR) pueden votar por una propuesta y el miembro que no vota a tiempo se considerará en desacuerdo. La propuesta está activa durante 3 días después de su creación. el voto puede modificarse o recuperarse durante el período de votación de 3 días. Una vez finalizado el plazo, la propuesta será O tiene éxito (más de 19 votos) o fracasa (y finaliza). 9.2.5 Cancelar propuesta

El proponente puede cancelar la propuesta antes de que entre en vigor. 9.3 Estructura

Los SR son testigos de los bloques recién generados. Un testigo contiene 8 parámetros:
1. dirección​: la dirección de este testigo – p.ej. 0xu82h…7237.
2. voteCount​: número de votos recibidos sobre este testigo – p.e. 234234.
3. pubKey​: la clave pública para este testigo – p.e. 0xu82h…7237.
4. url​: la URL de este testigo – p.e. https://www.noonetrust.com.
5. totalProduced​: la cantidad de bloques que produjo este testigo, p. 2434.
6. totalMissed​: el número de bloques que este testigo omitió, p.e. 7.
7. lastBlockNum​: la última altura del bloque – p.e. 4522. 8. isjobs​: una bandera booleana.

Estructura de datos de Protobuf: mensaje​ ​Testigo​{
Dirección de bytes = ​1​;
​int64​ voteCount = ​2​;
​bytes​ pubKey = ​3​;
​cadena​ URL = ​4​;
​int64​ totalProducido = ​5​;
​int64​ totalPerdidos = ​6​;
​int64​ últimoBlockNum = ​7​; ​bool​ esTrabajos = ​8​; }

  1. Desarrollo de aplicaciones digitales 10.1 API

La red TRON ofrece una amplia selección de más de 60 puertas de enlace API HTTP para interactuar con el red a través de Nodos Full y Solidity. Además, TronWeb es una biblioteca JavaScript completa. que contiene funciones API que permiten a los desarrolladores implementar smart contracts, cambie el blockchain estado, consulta blockchain e información del contrato, comercio en DEX y mucho más. Estas API Las puertas de enlace se pueden dirigir hacia una red privada local, la red de prueba Shasta o la red principal TRON.

10.2 Redes

TRON tiene tanto una red de prueba Shasta como una red principal. Los desarrolladores pueden conectarse a las redes mediante implementar nodos, interactuar a través de TronStudio o usar API a través del servicio TronGrid. El TronGrid El servicio consta de clústeres de nodos con carga equilibrada alojados en servidores AWS en todo el mundo. Como aplicación digital El desarrollo se amplía y los volúmenes de llamadas API aumentan, TronGrid aborda con éxito el aumento en Tráfico API.
10.3 Herramientas

TRON ofrece un conjunto de herramientas de desarrollo para permitir a los desarrolladores crear DApps innovadoras.
TronBox es un marco que permite a los desarrolladores probar e implementar smart contracts a través de TronWeb API. TronGrid es un servicio API alojado y con carga equilibrada que permite a los desarrolladores acceder a TRON red sin tener que ejecutar su propio nodo. TronGrid ofrece acceso tanto a Shasta testnet así como la TRON Mainnet. TronStudio es un desarrollo integrado integral Entorno (IDE) que permite a los desarrolladores compilar, implementar y depurar Solidity de forma inteligente. contratos. TronStudio contiene un nodo completo interno que crea un entorno local privado para smart contract pruebas antes de la implementación. La biblioteca API de TronWeb conecta a los desarrolladores con la red a través de una amplia selección de llamadas API HTTP envueltas en JavaScript.
10.4 Recursos

El TRON Developer Hub es un sitio de documentación API integral diseñado para 12 desarrolladores que deseen construir en la red TRON. El Developer Hub proporciona un alto nivel comprensión conceptual de TRON y guía a los usuarios a través de los detalles de la interacción con el 12 Centro de desarrolladores: https://developers.tron.network/

red. Las guías guían a los desarrolladores a través de la configuración, implementación e interacción de nodos con dispositivos inteligentes. contratos, interacción e implementación de API, creación de DApps de muestra y uso de cada uno de los herramientas de desarrollo. Además, los canales de la comunidad de desarrolladores están disponibles a través de Discord.
13

13 Discordia: https://discordapp.com/invite/GsRgsTD

  1. Conclusión

TRON es una solución blockchain escalable que ha empleado métodos innovadores para abordar desafíos que enfrentan las redes heredadas blockchain. Habiendo alcanzado más de 2 millones de transacciones por día, con más de 700.000 cuentas TRX y superando las 2000 TPS, TRON ha permitido a la comunidad en creando una red descentralizada y democratizada.