Informe técnico de TRON
Giới thiệu
1.1 Tầm nhìn
TRON là một dự án đầy tham vọng dành riêng cho việc thiết lập một mạng Internet phi tập trung thực sự và
cơ sở hạ tầng. Giao thức TRON, một trong những hệ điều hành dựa trên blockchain lớn nhất trong
thế giới, cung cấp hỗ trợ công khai blockchain về thông lượng cao, khả năng mở rộng cao và tính sẵn sàng cao cho
tất cả Ứng dụng phi tập trung (DApp) trong hệ sinh thái TRON. Việc mua lại vào tháng 7 năm 2018
BitTorrent củng cố thêm vai trò lãnh đạo của TRON trong việc theo đuổi hệ sinh thái phi tập trung.
1.2 Bối cảnh
Sự ra đời của Bitcoin vào năm 2009 đã cách mạng hóa nhận thức của xã hội về hệ thống tài chính truyền thống sau cuộc Đại suy thoái (2007-2008). Khi các quỹ phòng hộ và ngân hàng tập trung sụp đổ do đầu cơ vào các công cụ tài chính phái sinh không rõ ràng, công nghệ blockchain đã cung cấp một sổ cái chung minh bạch mà từ đó bất kỳ ai cũng có thể thu thập được thông tin giao dịch. các các giao dịch được bảo mật bằng mật mã bằng cơ chế đồng thuận Proof of Work (PoW), do đó ngăn chặn các vấn đề chi tiêu gấp đôi.
Vào cuối năm 2013, sách trắng Ethereum đã đề xuất một mạng trong đó smart contracts và một Turing-Complete Ethereum Máy ảo (EVM) sẽ cho phép các nhà phát triển tương tác với mạng thông qua DApps. Tuy nhiên, khi khối lượng giao dịch trong Bitcoin và Ethereum đạt đỉnh điểm vào năm 2017, rõ ràng là do thời gian thông lượng giao dịch thấp và phí giao dịch cao các loại tiền điện tử như Bitcoin và Ethereum ở trạng thái hiện tại không thể mở rộng để phổ biến nhận con nuôi. Do đó, TRON được thành lập và hình dung như một giải pháp sáng tạo cho những vấn đề cấp bách này những thách thức về khả năng mở rộng.

1.3 Lịch sử TRON DAO được thành lập vào tháng 7 năm 2017 tại Singapore. Vào tháng 12 năm 2017, TRON đã có đã đưa ra giao thức nguồn mở của nó. Testnet, Blockchain Explorer và Ví Web đều ra mắt vào tháng 3 năm 2018. TRON Mainnet ra mắt ngay sau đó vào tháng 5 năm 2018, đánh dấu Việc phát hành Odyssey 2.0 là một cột mốc kỹ thuật. Vào tháng 6 năm 2018, TRON tuyên bố độc lập với việc tạo ra khối Genesis, cùng với việc mua lại BitTorrent vào tháng 7 năm 2018. trong Tháng 10 năm 2018, TRON ra mắt TRON Máy ảo (TVM), một bộ công cụ hoàn chỉnh dành cho nhà phát triển, và hệ thống hỗ trợ 360. Lộ trình TRON liên quan đến việc kết hợp 100 triệu người dùng của BitTorrent với mạng TRON thông qua Project Atlas, cũng như thúc đẩy cộng đồng nhà phát triển triển khai các DApp mới thú vị trên mạng TRON1. 1 V1.0 có sẵn tại https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 Thuật ngữ
Địa chỉ/Ví Địa chỉ hoặc ví bao gồm thông tin xác thực tài khoản trên mạng TRON được tạo bởi cặp khóa, bao gồm khóa riêng và khóa chung, khóa sau được lấy từ khóa trước thông qua một thuật toán. Khóa chung thường được sử dụng để mã hóa khóa phiên, chữ ký xác minh và mã hóa dữ liệu có thể được giải mã bằng khóa riêng tương ứng.
ABI Giao diện nhị phân ứng dụng (ABI) là giao diện giữa hai mô-đun chương trình nhị phân; thường một trong những mô-đun này là thư viện hoặc cơ sở hệ điều hành và mô-đun còn lại là nơi người dùng chạy chương trình.
API Giao diện lập trình ứng dụng (API) chủ yếu được sử dụng để phát triển khách hàng người dùng. Với API hỗ trợ, token nền tảng phát hành cũng có thể do chính các nhà phát triển thiết kế.
Tài sản Trong tài liệu của TRON, nội dung giống với token, cũng được ký hiệu là TRC-10 token.
Điểm băng thông (BP) Để giữ cho mạng hoạt động trơn tru, TRON giao dịch mạng sử dụng BP làm nhiên liệu. Mỗi tài khoản nhận được 5000 BP miễn phí hàng ngày và có thể kiếm được nhiều hơn nữa bằng cách đóng băng TRX cho BP. Cả TRX và TRC-10 token chuyển khoản là các giao dịch bình thường khiến BP phải trả phí. Triển khai và thực hiện hợp đồng thông minh giao dịch tiêu thụ cả BP và Năng lượng.
Chặn Các khối chứa các bản ghi kỹ thuật số của các giao dịch. Một khối hoàn chỉnh bao gồm số ma thuật, kích thước khối, tiêu đề khối, bộ đếm giao dịch và dữ liệu giao dịch.
Khối phần thưởng Phần thưởng sản xuất khối được gửi đến một tài khoản phụ (địa chỉ/ví). Siêu đại diện có thể nhận phần thưởng của họ trên Tronscan hoặc trực tiếp thông qua API.
Tiêu đề khối Tiêu đề khối là một phần của khối. TRON tiêu đề khối chứa hash của khối trước đó, Merkle root, dấu thời gian, phiên bản và địa chỉ nhân chứng.Ví lạnh Ví lạnh hay còn gọi là ví ngoại tuyến, giữ cho khóa riêng bị ngắt kết nối hoàn toàn với bất kỳ mạng. Ví lạnh thường được cài đặt trên các thiết bị "lạnh" (ví dụ: máy tính hoặc điện thoại di động). ở chế độ ngoại tuyến) để đảm bảo tính bảo mật của khóa riêng TRX.
DApp Ứng dụng phi tập trung là Ứng dụng hoạt động mà không có bên đáng tin cậy tập trung. Một ứng dụng cho phép tương tác/thỏa thuận/giao tiếp trực tiếp giữa người dùng cuối và/hoặc tài nguyên không qua trung gian.
gRPC gRPC (GRPC Remote Protocol Calls) là một hệ thống gọi thủ tục từ xa (RPC) mã nguồn mở 2 ban đầu được phát triển tại Google. Nó sử dụng HTTP/2 để truyền tải, Bộ đệm giao thức làm giao diện ngôn ngữ mô tả và cung cấp các tính năng như xác thực, truyền phát và luồng hai chiều kiểm soát, chặn hoặc không chặn các ràng buộc cũng như hủy bỏ và hết thời gian chờ. Nó tạo ra liên kết máy khách và máy chủ đa nền tảng cho nhiều ngôn ngữ. Các tình huống sử dụng phổ biến nhất bao gồm các dịch vụ kết nối theo kiến trúc kiểu microservices và kết nối các thiết bị di động, đồng thời trình duyệt của khách hàng đến các dịch vụ phụ trợ.
Ví nóng Ví nóng hay còn gọi là ví trực tuyến cho phép sử dụng khóa riêng của người dùng trực tuyến, do đó nó có thể dễ bị tổn thương tiềm ẩn hoặc bị chặn bởi các tác nhân độc hại.
JDK Bộ công cụ phát triển Java là SDK Java được sử dụng cho các ứng dụng Java. Nó là cốt lõi của Java phát triển, bao gồm môi trường ứng dụng Java (thư viện lớp Java+JVM) và Java công cụ.
KhaosDB TRON có KhaosDB trong bộ nhớ nút đầy đủ có thể lưu trữ tất cả các chuỗi mới được phân nhánh được tạo trong một khoảng thời gian nhất định và hỗ trợ các nhân chứng chuyển từ chuỗi hoạt động của chính họ một cách nhanh chóng thành một chuỗi chính mới. Xem 2.2.2 Lưu trữ trạng thái để biết thêm chi tiết.
CấpDB LevelDB ban đầu được thông qua với mục tiêu chính là đáp ứng các yêu cầu về R/W nhanh và tốc độ nhanh. sự phát triển. Sau khi khởi chạy Mainnet, TRON đã nâng cấp cơ sở dữ liệu của nó lên một cơ sở dữ liệu được tùy chỉnh hoàn toàn một phục vụ cho nhu cầu riêng của mình. Xem 2.2.1 Lưu trữ chuỗi khối để biết thêm chi tiết.
Rễ cây Merkle Gốc Merkle là hash của tất cả hashes của tất cả các giao dịch được đưa vào như một phần của khối trong blockchain mạng. Xem 3.1 Bằng chứng về cổ phần được ủy quyền (DPoS) để biết thêm chi tiết. 2 https://en.wikipedia.org/wiki/GRPC

Mạng thử nghiệm công cộng (Shasta) Một phiên bản của mạng chạy trong cấu hình một nút. Nhà phát triển có thể kết nối và thử nghiệm các tính năng mà không phải lo lắng về thiệt hại kinh tế. Testnet token không có giá trị và bất kỳ ai cũng có thể yêu cầu nhiều hơn từ vòi công cộng.
RPC
3
Trong điện toán phân tán, lệnh gọi thủ tục từ xa (RPC) là khi một chương trình máy tính gây ra
thủ tục (chương trình con) để thực thi trong một không gian địa chỉ khác (thường là trên một máy tính khác trên
một mạng chia sẻ), được mã hóa như thể đó là một lệnh gọi thủ tục (cục bộ) thông thường, không có
lập trình viên mã hóa rõ ràng các chi tiết cho tương tác từ xa.
Khả năng mở rộng Khả năng mở rộng là một tính năng của Giao thức TRON. Đó là khả năng của một hệ thống, mạng hoặc quy trình để xử lý khối lượng công việc ngày càng tăng hoặc khả năng mở rộng công việc để đáp ứng sự tăng trưởng đó.
CN SUN đã thay thế drop thành đơn vị nhỏ nhất của TRX. 1 TRX = 1.000.000 SUN.
Thông lượng Thông lượng cao là một tính năng của TRON Mainnet. Nó được đo bằng Số giao dịch mỗi giây (TPS), cụ thể là khả năng giao dịch tối đa trong một giây.
Dấu thời gian Thời gian gần đúng của quá trình sản xuất khối được ghi lại dưới dạng dấu thời gian Unix, là số lượng mili giây đã trôi qua kể từ 00:00:00 ngày 01 tháng 1 năm 1970 UTC.
TKC Cấu hình mã thông báo.
TRC-10 Tiêu chuẩn tiền điện tử token trên nền tảng TRON. Một số quy tắc và giao diện nhất định phải tuân theo khi nắm giữ đợt chào bán tiền xu ban đầu vào TRON blockchain.
TRX TRX là viết tắt của Tronix, là tiền điện tử chính thức của 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.

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

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
Kiến trúc
TRON áp dụng kiến trúc 3 lớp được chia thành Lớp lưu trữ, Lớp lõi và Lớp ứng dụng. Giao thức TRON tuân theo Google Protobuf, về cơ bản hỗ trợ đa ngôn ngữ phần mở rộng.

Hình 1: TRON Kiến trúc 3 lớp
2.1 Cốt lõi
Có một số mô-đun trong lớp lõi, bao gồm smart contracts, quản lý tài khoản và sự đồng thuận. Máy ảo dựa trên ngăn xếp được triển khai trên TRON và hướng dẫn được tối ưu hóa bộ được sử dụng. Để hỗ trợ tốt hơn cho các nhà phát triển DApp, Solidity đã được chọn làm smart contract 4 ngôn ngữ, tiếp theo là sự hỗ trợ trong tương lai của các ngôn ngữ nâng cao khác. Ngoài ra, sự đồng thuận của TRON cơ chế dựa trên Bằng chứng cổ phần được ủy quyền (DPoS) và nhiều cải tiến đã được thực hiện trong nhằm đáp ứng những yêu cầu riêng biệt của nó. 2.2 Lưu trữ
TRON đã thiết kế một giao thức lưu trữ phân tán độc đáo bao gồm Lưu trữ khối và Trạng thái Lưu trữ. Khái niệm cơ sở dữ liệu đồ thị đã được đưa vào thiết kế lớp lưu trữ để đáp ứng tốt hơn nhu cầu lưu trữ dữ liệu đa dạng trong thế giới thực. 2.2.1 Lưu trữ chuỗi khối
TRON blockchain bộ lưu trữ chọn sử dụng LevelDB, được Google phát triển và đã được chứng minh thành công với nhiều công ty và dự án. Nó có hiệu suất cao và hỗ trợ byte tùy ý mảng dưới dạng cả khóa và giá trị, nhận, đặt và xóa số ít, đặt và xóa theo đợt, hai chiều các vòng lặp và nén đơn giản bằng thuật toán Snappy rất nhanh. 2.2.2 Lưu trữ trạng thái
TRON có KhaosDB trong bộ nhớ nút đầy đủ có thể lưu trữ tất cả các chuỗi mới phân nhánh được tạo trong một khoảng thời gian nhất định và hỗ trợ các nhân chứng chuyển từ chuỗi hoạt động của chính họ một cách nhanh chóng thành một chuỗi chính mới. Nó cũng có thể bảo vệ bộ nhớ blockchain bằng cách làm cho nó ổn định hơn khỏi bị chấm dứt một cách bất thường ở trạng thái trung gian. 2.3 Ứng dụng
Các nhà phát triển có thể tạo nhiều loại DApp và ví tùy chỉnh đa dạng trên TRON. Kể từ TRON cho phép smart contract được triển khai và thực thi, cơ hội của các ứng dụng tiện ích là không giới hạn. 4 Tài liệu chính thức của Solidity: https://solidity.readthedocs.io/
2.4 Giao thức
TRON giao thức tuân thủ Bộ đệm giao thức của Google , là giao thức trung lập về ngôn ngữ, nền tảng, 5 và cách mở rộng tuần tự hóa dữ liệu có cấu trúc để sử dụng trong các giao thức truyền thông, lưu trữ dữ liệu, và hơn thế nữa. 2.4.1 Bộ đệm giao thức
Bộ đệm giao thức (Protobuf) là một cơ chế tự động, linh hoạt, hiệu quả để tuần tự hóa các dữ liệu có cấu trúc. dữ liệu, tương tự như JSON hoặc XML, nhưng nhỏ hơn, nhanh hơn và đơn giản hơn nhiều.
Các định nghĩa Protobuf (.proto) có thể được sử dụng để tạo mã cho C++, Java, C#, Python, Ruby, Ngôn ngữ Golang và Objective-C thông qua các trình tạo mã chính thức. Bên thứ ba khác nhau việc triển khai cũng có sẵn cho nhiều ngôn ngữ khác. Protobuf giúp dễ dàng phát triển cho khách hàng bằng cách thống nhất các định nghĩa API và tối ưu hóa việc truyền dữ liệu. Khách hàng có thể lấy API .proto từ kho lưu trữ giao thức của TRON và tích hợp thông qua mã được tạo tự động thư viện.
Để so sánh, Bộ đệm giao thức nhỏ hơn từ 3 đến 10 lần và nhanh hơn 20 đến 100 lần so với XML, với cú pháp ít mơ hồ hơn. Protobuf tạo các lớp truy cập dữ liệu dễ sử dụng hơn theo lập trình. 2.4.2 HTTP
TRON Giao thức cung cấp API HTTP RESTful thay thế cho API Protobuf. Họ chia sẻ giống nhau giao diện nhưng API HTTP có thể dễ dàng được sử dụng trong ứng dụng khách javascript. 2.5 TRON Máy ảo (TVM)
TVM là một máy ảo Turing hoàn chỉnh, gọn nhẹ được phát triển cho hệ sinh thái của TRON. các
TVM kết nối liền mạch với hệ sinh thái phát triển hiện có để cung cấp hàng triệu giải pháp toàn cầu
nhà phát triển có hệ thống blockchain được xây dựng tùy chỉnh hiệu quả, thuận tiện, ổn định, an toàn và
có khả năng mở rộng.
2.6 Sàn giao dịch phi tập trung (DEX)
5 Tài liệu chính thức về Bộ đệm giao thức của Google: https://developers.google.com/protocol-buffers/Mạng TRON vốn hỗ trợ các chức năng trao đổi phi tập trung. Một sàn giao dịch phi tập trung bao gồm nhiều cặp giao dịch. Một cặp giao dịch (ký hiệu “Trao đổi”) là một Thị trường trao đổi giữa TRC-10 tokens hoặc giữa TRC-10 token và TRX. Bất kỳ tài khoản nào cũng có thể tạo giao dịch ghép nối giữa bất kỳ token nào, ngay cả khi cặp tương tự đó đã tồn tại trên mạng TRON. Giao dịch và biến động giá của các cặp giao dịch tuân theo Giao thức Bancor. Mạng TRON quy định rằng 6 trọng số của hai token trong tất cả các cặp giao dịch đều bằng nhau, do đó tỷ lệ số dư của chúng là giá giữa họ. Ví dụ: hãy xem xét một cặp giao dịch chứa hai token, ABC và DEF. ABC có số dư 10 triệu và DEF có số dư 1 triệu. Vì trọng lượng của chúng bằng nhau nên 10 ABC = 1 DEF. Điều này có nghĩa là tỷ lệ ABC và DEF là 10 ABC trên DEF. 2.7 Thực hiện
Mã TRON blockchain được triển khai bằng Java và ban đầu là một nhánh từ EthereumJ.
6 Trang web chính thức của Giao thức Bancor: 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.

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/
Sự đồng thuận
3.1 Bằng chứng về cổ phần được ủy quyền (DPoS)
Cơ chế đồng thuận sớm nhất là cơ chế đồng thuận Proof of Work (PoW). Cái này giao thức hiện được triển khai trong Bitcoin và Ethereum . Trong hệ thống PoW, các giao dịch 7 8 phát qua mạng được nhóm lại với nhau thành các khối mới để xác nhận thợ mỏ. các quá trình xác nhận bao gồm hash thực hiện các giao dịch bằng cách sử dụng thuật toán mã hóa hash cho đến khi đã đạt được gốc merkle, tạo ra cây merkle:
Hình 2: 8 giao dịch TRX được hashed vào thư mục gốc merkle. Gốc merkle này sau đó được đưa vào tiêu đề khối, được gắn vào các khối đã được xác nhận trước đó để tạo thành blockchain. Điều này cho phép theo dõi dễ dàng và minh bạch giao dịch, dấu thời gian và các thông tin liên quan khác.
7 Bitcoin báo cáo chính thức: https://bitcoin.org/bitcoin.pdf 8 Ethereum sách trắng: https://github.com/ethereum/wiki/wiki/White-Paper
Thuật toán mật mã hashing rất hữu ích trong việc ngăn chặn tấn công mạng vì chúng sở hữu
một số thuộc tính:
9
●
Kích thước độ dài đầu vào/đầu ra - Thuật toán có thể chuyển vào đầu vào có kích thước bất kỳ và
xuất ra giá trị hash có độ dài cố định.
●
Hiệu quả - Thuật toán tính toán tương đối dễ dàng và nhanh chóng.
●
Điện trở tiền ảnh - Đối với một đầu ra z cho trước, không thể tìm thấy bất kỳ đầu vào x nào sao cho
h(x) = z. Nói cách khác, thuật toán hashing h(x) là hàm một chiều trong đó chỉ có
đầu ra có thể được tìm thấy, cho trước một đầu vào. Điều ngược lại là không thể.
●
Khả năng chống va chạm - Về mặt tính toán không thể tìm được bất kỳ cặp x1 ≠ x2 sao cho h(x1)
= h(x2). Nói cách khác, xác suất tìm thấy hai đầu vào khác nhau hash đến cùng một
đầu ra cực kỳ thấp. Đặc tính này cũng ngụ ý khả năng chống tiền ảnh thứ hai.
●
Điện trở tiền ảnh thứ hai - Cho x1, và do đó h(x1),, về mặt tính toán là không thể thực hiện được
tìm x2 bất kỳ sao cho h(x1) = h(x2). Mặc dù đặc tính này tương tự như khả năng chống va chạm, nhưng
thuộc tính khác ở chỗ nó nói rằng kẻ tấn công với x1 nhất định sẽ tìm thấy nó bằng máy tính
không thể tìm thấy bất kỳ x2 hash nào cho cùng một đầu ra.
●
Xác định - ánh xạ mỗi đầu vào thành một và chỉ một đầu ra.
●
Hiệu ứng Avalanche - một thay đổi nhỏ ở đầu vào sẽ dẫn đến đầu ra hoàn toàn khác.
Các thuộc tính này mang lại cho mạng tiền điện tử giá trị nội tại bằng cách đảm bảo các cuộc tấn công không xảy ra. làm tổn hại mạng. Khi người khai thác xác nhận một khối, họ sẽ được thưởng token như một phần thưởng tích hợp động lực tham gia mạng lưới. Tuy nhiên, khi vốn hóa thị trường tiền điện tử toàn cầu tăng đều đặn, các thợ mỏ trở nên tập trung và tập trung tài nguyên máy tính của họ vào tích trữ token làm tài sản chứ không phải cho mục đích tham gia mạng lưới. Công cụ khai thác CPU đã nhường chỗ cho GPU, từ đó nhường chỗ cho các ASIC mạnh mẽ. Trong một nghiên cứu đáng chú ý, tổng công suất mức tiêu thụ khai thác Bitcoin được ước tính lên tới 3 GW , tương đương với mức tiêu thụ của Ireland 10 tiêu thụ điện năng. Nghiên cứu tương tự này dự kiến tổng mức tiêu thụ điện năng sẽ đạt 8 GW trong thời gian tới tương lai.
Để giải quyết vấn đề lãng phí năng lượng, cơ chế đồng thuận Proof of Stake (PoS) đã được đề xuất bởi nhiều mạng mới. Trong mạng PoS, chủ sở hữu token khóa số dư token của họ để trở thành khối validators. Các validator lần lượt đề xuất và bỏ phiếu ở khối tiếp theo. Tuy nhiên, vấn đề với PoS tiêu chuẩn là ảnh hưởng của validator tương quan trực tiếp với số lượng token bị khóa. Điều này dẫn đến việc các bên tích trữ một lượng lớn tiền tệ cơ sở của mạng bằng cách sử dụng quá mức ảnh hưởng đến hệ sinh thái mạng.
Cơ chế đồng thuận TRON sử dụng hệ thống Bằng chứng cổ phần được ủy quyền cải tiến trong đó 27
Siêu đại diện (SR) tạo ra các khối cho mạng. Cứ sau 6 giờ, chủ tài khoản TRX
những người đóng băng tài khoản của họ có thể bỏ phiếu cho một số ứng cử viên SR, với 27 ứng cử viên hàng đầu
được coi là SR. Cử tri có thể chọn SR dựa trên các tiêu chí như các dự án do SR tài trợ để
9 PAAR, C., PELZL, J., Tìm hiểu về mật mã: Sách giáo khoa dành cho sinh viên và người thực hành, 2010 ed.
Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776tăng cường áp dụng TRX và phân phối phần thưởng cho cử tri. Điều này cho phép một nền dân chủ hơn và
hệ sinh thái phi tập trung. Tài khoản của SR là tài khoản bình thường nhưng số phiếu tích lũy của họ
cho phép họ sản xuất khối. Với tốc độ thông lượng thấp Bitcoin và Ethereum do
Cơ chế đồng thuận PoW và các vấn đề về khả năng mở rộng, hệ thống DPoS của TRON cung cấp một giải pháp cải tiến
cơ chế dẫn đến 2000 TPS so với 3 TPS của Ethereum và 15 TPS của Bitcoin.
Mạng giao thức TRON tạo ra một khối cứ sau ba giây, với mỗi khối trao 32 TRX đến Siêu đại diện. Tổng cộng 336.384.000 TRX sẽ được trao hàng năm cho 27 SR. Mỗi khi SR hoàn thành việc sản xuất khối, phần thưởng sẽ được gửi đến tài khoản phụ trong siêu sổ cái. SR có thể kiểm tra nhưng không trực tiếp sử dụng các TRX token này. Mỗi người có thể thực hiện việc rút tiền SR cứ sau 24 giờ một lần, chuyển phần thưởng từ tài khoản phụ sang SR được chỉ định tài khoản.
Ba loại nút trên mạng TRON là Nút Nhân chứng, Nút Đầy đủ và Nút Solidity. Các nút chứng kiến được thiết lập bởi các SR và chịu trách nhiệm chính về việc sản xuất và đề xuất khối tạo/bỏ phiếu. Các nút đầy đủ cung cấp API cũng như các giao dịch và khối phát sóng. Đồng bộ hóa các nút vững chắc khối từ các Nút đầy đủ khác và cũng cung cấp các API có thể lập chỉ mục.
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 x1 ≠ x2 tal que h(x1)
= h(x2). 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 x1, y por lo tanto h(x1), es computacionalmente inviable
encuentre cualquier x2 tal que h(x1) = h(x2). 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 x1 dado lo encontrará computacionalmente
No es factible encontrar x2 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.
Tài khoản
4.1 Các loại
Ba loại tài khoản trong mạng TRON là tài khoản thông thường, tài khoản token và tài khoản hợp đồng.
1.
Tài khoản thông thường được sử dụng cho các giao dịch tiêu chuẩn.
2.
Tài khoản mã thông báo được sử dụng để lưu trữ TRC-10 tokens.
3.
Tài khoản hợp đồng là smart contract tài khoản được tạo bởi tài khoản thông thường và có thể
cũng được kích hoạt bởi các tài khoản thông thường.
4.2 Sáng tạo
Có ba cách để tạo tài khoản TRON:
1. Tạo tài khoản mới thông qua API 2. Chuyển TRX sang địa chỉ tài khoản mới 3. Chuyển bất kỳ TRC-10 token nào sang địa chỉ tài khoản mới
Một cặp khóa ngoại tuyến bao gồm một địa chỉ (khóa chung) và khóa riêng và không được ghi lại bởi TRON mạng, cũng có thể được tạo. Thuật toán tạo địa chỉ người dùng bao gồm tạo cặp khóa và sau đó trích xuất khóa chung (mảng byte 64 byte biểu thị x, y tọa độ). Băm khóa chung bằng hàm SHA3-256 (giao thức SHA3 được áp dụng là KECCAK-256) và trích xuất 20 byte cuối cùng của kết quả. Thêm 41 vào đầu mảng byte và đảm bảo độ dài địa chỉ ban đầu là 21 byte. Băm địa chỉ hai lần bằng hàm SHA3-256 và lấy 4 byte đầu tiên làm mã xác minh. Thêm mã xác minh vào cuối mã ban đầu địa chỉ và lấy địa chỉ ở định dạng base58check thông qua mã hóa base58. Một mã hóa Địa chỉ Mainnet bắt đầu bằng T và có độ dài 34 byte. 4.3 Cấu trúc
Ba loại tài khoản khác nhau là Thông thường, Phát hành tài sản và Hợp đồng. Một tài khoản chứa 7 thông số:
1.
account_name: tên của tài khoản này – ví dụ: Tài khoản Hóa đơn.
2.
type: loại tài khoản này là gì – ví dụ: 0 (viết tắt của loại ‘Bình thường’).
3.
số dư : số dư của tài khoản này – ví dụ: 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;
}
Khối
Một khối thường chứa tiêu đề khối và một số giao dịch.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Tiêu đề khối
Tiêu đề khối chứa raw_data, witness_signature và 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 Dữ liệu thô
Dữ liệu thô được ký hiệu là raw_data trong Protobuf. Nó chứa dữ liệu thô của một tin nhắn, chứa 6 thông số:
1. timestamp : dấu thời gian của tin nhắn này – ví dụ: 1543884429000. 2. txTrieRoot: Gốc của Cây Merkle – ví dụ: 7 dacsa…3ed. 3. parentHash: hash của khối cuối cùng – ví dụ: 7 dacsa…3ed. 4. number: chiều cao khối – ví dụ: 4638708. 5. phiên bản: dành riêng – ví dụ: 5.

6. nhân chứng_address: địa chỉ của nhân chứng được đóng gói trong khối này – ví dụ: 41928c...4d21. 5.1.2 Chữ ký của nhân chứng
Chữ ký của nhân chứng được ký hiệu là witness_signature trong Protobuf, đây là chữ ký cho việc này tiêu đề khối từ nút nhân chứng. 5.1.3 ID khối
Block ID được ký hiệu là blockID trong Protobuf. Nó chứa nhận dạng nguyên tử của một khối. một khối ID chứa 2 tham số: 1. hash: hash của khối. 2. số: hash và chiều cao của khối. 5.2 Giao dịch 5.2.1 Ký kết
Quá trình ký giao dịch của TRON tuân theo thuật toán mã hóa ECDSA tiêu chuẩn, với
Đường cong lựa chọn SECP256K1. Khóa riêng là một số ngẫu nhiên và khóa chung là một điểm trên
đường cong elip. Quá trình tạo khóa công khai bao gồm việc tạo ra một số ngẫu nhiên đầu tiên dưới dạng
khóa riêng, sau đó nhân điểm cơ sở của đường cong elip với khóa riêng để thu được
khóa công khai. Khi một giao dịch xảy ra, dữ liệu thô của giao dịch trước tiên được chuyển đổi thành định dạng byte.
Sau đó, dữ liệu thô sẽ trải qua SHA-256 hashing. Khóa riêng tương ứng với hợp đồng
sau đó ký vào kết quả của SHA256 hash. Kết quả chữ ký sau đó được thêm vào
giao dịch.
5.2.2 Mô hình băng thông
Các giao dịch thông thường chỉ tiêu tốn điểm băng thông, nhưng các hoạt động smart contract tiêu tốn cả hai điểm năng lượng và băng thông. Có hai loại điểm băng thông có sẵn. Người dùng có thể đạt được điểm băng thông từ việc đóng băng TRX, trong khi 5000 điểm băng thông miễn phí cũng có sẵn hàng ngày.
Khi một giao dịch TRX được phát sóng, nó sẽ được truyền và lưu trữ dưới dạng một mảng byte trên mạng lưới. Điểm băng thông được tiêu thụ bởi một giao dịch = số byte giao dịch nhân với tốc độ điểm băng thông. Ví dụ: nếu độ dài mảng byte của giao dịch là 200, sau đó giao dịch tiêu tốn 200 điểm băng thông. Tuy nhiên, nếu việc chuyển TRX hoặc token dẫn đến tài khoản mục tiêu đang được tạo, sau đó chỉ sử dụng điểm băng thông để tạo tài khoản sẽ bị trừ, điểm băng thông bổ sung sẽ không bị trừ. Trong quá trình tạo tài khoản kịch bản, trước tiên mạng sẽ sử dụng điểm băng thông mà người khởi tạo giao dịch đạt đượckhỏi việc đóng băng TRX. Nếu số tiền này không đủ thì mạng sẽ tiêu thụ giao dịch TRX của người khởi xướng.
Trong các kịch bản chuyển TRX tiêu chuẩn từ tài khoản TRX này sang tài khoản TRX khác, trước tiên mạng sẽ tiêu thụ điểm băng thông mà người khởi tạo giao dịch đạt được để đóng băng TRX. Nếu điều đó vẫn chưa đủ thì tiêu thụ từ 5000 điểm băng thông hàng ngày miễn phí. Nếu vẫn chưa đủ thì mạng tiêu thụ TRX của người khởi tạo giao dịch. Số lượng được tính bằng số byte trong giao dịch nhân với 10 SUN. Do đó, đối với hầu hết những người nắm giữ TRX, những người có thể không nhất thiết phải đóng băng TRX của họ tham gia bỏ phiếu SR, bước đầu tiên sẽ tự động bị bỏ qua (vì số dư TRX Frozen = 0) và 5000 băng thông miễn phí hàng ngày hỗ trợ giao dịch.
Đối với các lần truyền TRC-10 token, trước tiên mạng sẽ xác minh xem tổng số điểm băng thông miễn phí của nội dung token đã phát hành là đủ. Nếu không, điểm băng thông thu được từ việc đóng băng TRX sẽ là tiêu thụ. Nếu vẫn không đủ điểm băng thông thì sẽ tiêu tốn TRX của giao dịch người khởi xướng.
5.2.3 Phí
Tuy nhiên, mạng TRON thường không tính phí đối với hầu hết các giao dịch do hệ thống các hạn chế và sự công bằng, việc sử dụng băng thông và các giao dịch đều phải trả một số khoản phí nhất định.
Lệ phí được chia thành các loại sau: 1. Giao dịch thông thường tốn điểm băng thông. Người dùng có thể sử dụng điểm băng thông miễn phí hàng ngày (5000) hoặc đóng băng TRX để kiếm thêm. Khi điểm băng thông không đủ, TRX sẽ được sử dụng trực tiếp từ tài khoản gửi. TRX cần có là số byte * 10 SUN. 2. Hợp đồng thông minh tiêu tốn năng lượng (Phần 6) nhưng cũng sẽ cần điểm băng thông cho giao dịch sẽ được phát sóng và xác nhận. Chi phí băng thông cũng giống như trên. 3. Tất cả các giao dịch truy vấn đều miễn phí. Nó không tốn năng lượng hoặc băng thông.
Mạng TRON cũng xác định một tập hợp phí cố định cho các giao dịch sau: 1. Tạo nút chứng kiến: 9999 TRX 2. Phát hành TRC-10 token: 1024 TRX 3. Tạo tài khoản mới: 0,1 TRX 4. Tạo cặp trao đổi: 1024 TRX 5.2.4 Giao dịch dưới dạng Bằng chứng cổ phần (TaPoS)
TRON sử dụng TaPoS để đảm bảo tất cả các giao dịch đều xác nhận blockchain chính trong khi thực hiện
khó làm giả dây chuyền giả. Trong TaPoS, mạng yêu cầu mỗi giao dịch bao gồm một phần
hash của tiêu đề khối gần đây. Yêu cầu này ngăn chặn các giao dịch được thực hiện lại trên
các nhánh không bao gồm khối được tham chiếu và cũng báo hiệu cho mạng rằng một người dùng cụ thể và của họcổ phần nằm trên một ngã ba cụ thể. Cơ chế đồng thuận này bảo vệ mạng khỏi việc từ chối
Dịch vụ, 51%, khai thác ích kỷ và tấn công chi tiêu gấp đôi.
5.2.5 Xác nhận giao dịch
Một giao dịch được đưa vào khối tương lai sau khi được phát lên mạng. Sau 19 khối là được khai thác trên TRON (bao gồm khối riêng của nó), giao dịch được xác nhận. Mỗi khối được sản xuất bởi một trong 27 Siêu đại diện hàng đầu theo thể thức vòng tròn một lượt. Mỗi khối mất ~3 giây để được khai thác trên blockchain. Thời gian có thể thay đổi một chút đối với mỗi Siêu đại diện do mạng lưới tình trạng và cấu hình máy. Nói chung, một giao dịch được coi là đã được xác nhận đầy đủ sau khi ~1 phút. 5.2.6 Cấu trúc
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.

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 Máy ảo
6.1 Giới thiệu
TRON Máy ảo (TVM) là một máy ảo hoàn chỉnh, nhẹ, được phát triển cho Hệ sinh thái của TRON. Mục tiêu của nó là cung cấp một hệ thống blockchain được xây dựng tùy chỉnh hiệu quả, thuận tiện, ổn định, an toàn và có thể mở rộng.
TVM ban đầu được phân nhánh từ EVM và có thể kết nối liền mạch với độ bền vững hiện có smart contract 11 hệ sinh thái phát triển. Dựa vào đó, TVM còn hỗ trợ thêm sự đồng thuận DPoS.
TVM sử dụng khái niệm Năng lượng. Khác với cơ chế Gas trên EVM, hoạt động của các giao dịch và smart contract trên TVM đều miễn phí và không tiêu thụ TRX. Về mặt kỹ thuật, có thể thực hiện được khả năng tính toán trên TVM không bị hạn chế bởi tổng lượng nắm giữ tokens. 6.2 Quy trình làm việc
Trước tiên, trình biên dịch sẽ dịch Solidity smart contract thành mã byte có thể đọc và thực thi được trên TVM. TVM sau đó xử lý dữ liệu thông qua opcode, tương đương với việc vận hành logic của một máy trạng thái hữu hạn dựa trên ngăn xếp. Cuối cùng, TVM truy cập dữ liệu blockchain và gọi Giao diện dữ liệu ngoài thông qua lớp tương tác. 11 EVM: Ethereum Máy ảo (https://github.com/ethereum/ethereumj)

Hình 3: Quy trình làm việc TVM
6.3 Hiệu suất 6.3.1 Kiến trúc nhẹ
TVM áp dụng kiến trúc gọn nhẹ với mục đích giảm mức tiêu thụ tài nguyên để đảm bảo hiệu suất hệ thống. 6.3.2 Mạnh mẽ
Việc truyền TRX và smart contract chỉ tốn điểm băng thông, thay vì TRX. miễn cho TRON khỏi bị tấn công. Mức tiêu thụ băng thông có thể dự đoán được và tĩnh vì mỗi chi phí bước tính toán là cố định. 6.3.3 Khả năng tương thích cao
TVM tương thích với EVM và sẽ tương thích với nhiều máy ảo phổ thông hơn trong tương lai. Do đó, tất cả smart contract trên EVM đều có thể thực thi được trên TVM. 6.3.4 Chi phí thấp
Nhờ thiết lập băng thông của TVM, chi phí phát triển sẽ giảm và các nhà phát triển có thể tập trung vào phát triển logic của mã hợp đồng của họ. TVM cũng cung cấp giao diện tất cả trong một cho hợp đồng triển khai, kích hoạt và xem để mang lại sự thuận tiện cho các nhà phát triển.
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)

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.
Hợp đồng thông minh
7.1 Giới thiệu
smart contract là giao thức xác minh kỹ thuật số việc đàm phán hợp đồng. Họ xác định các quy tắc và các hình phạt liên quan đến một thỏa thuận và cũng tự động thực thi các nghĩa vụ đó. thông minh mã hợp đồng tạo điều kiện thuận lợi, xác minh và thực thi việc đàm phán hoặc thực hiện một thỏa thuận hoặc giao dịch. Từ góc độ tokenization, smart contract cũng tạo điều kiện cho việc nạp tiền tự động chuyển giao giữa các bên tham gia nếu đáp ứng được các tiêu chí nhất định.
TRON smart contract được viết bằng ngôn ngữ Solidity. Sau khi được viết và kiểm tra, chúng có thể được được biên dịch thành mã byte, sau đó được triển khai trên mạng TRON cho Máy ảo TRON. Một lần đã triển khai, smart contract có thể được truy vấn thông qua địa chỉ hợp đồng của chúng. Ứng dụng hợp đồng Giao diện nhị phân (ABI) hiển thị các chức năng gọi của hợp đồng và được sử dụng để tương tác với mạng. 7.2 Mô hình năng lượng
Giới hạn năng lượng tối đa để triển khai và kích hoạt smart contract là hàm của một số biến:
● Năng lượng động từ việc đóng băng 1 TRX là 50.000.000.000 (Tổng giới hạn năng lượng) / (Tổng năng lượng Trọng lượng) ● Giới hạn năng lượng là giới hạn năng lượng hàng ngày của tài khoản từ việc đóng băng TRX ● Năng lượng còn lại trong tài khoản hàng ngày từ việc đóng băng TRX được tính là Giới hạn năng lượng - Năng lượng đã qua sử dụng ● Giới hạn phí trong TRX được đặt trong smart contract lệnh gọi triển khai/kích hoạt ● TRX còn lại có thể sử dụng trong tài khoản ● Năng lượng trên mỗi TRX nếu mua trực tiếp (10 SUN = 1 Năng lượng) = 100.000, SR có thể bỏ phiếu điều chỉnh
Có hai kịch bản tiêu thụ để tính toán giới hạn năng lượng tối đa cho việc triển khai và
kích hoạt. Logic có thể được biểu diễn như sau:
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 Triển khai
Khi một TRON độ rắn smart contract được biên dịch, Máy ảo TRON sẽ đọc nội dung đã biên dịch mã byte. Mã byte bao gồm một phần để triển khai mã, mã hợp đồng và Auxdata. Auxdata là dấu vân tay mật mã của mã nguồn, được sử dụng để xác minh. Việc triển khai mã byte chạy hàm xây dựng và thiết lập các biến lưu trữ ban đầu. Việc triển khai code cũng tính toán mã hợp đồng và trả về TVM. ABI là một tệp JSON mô tả chức năng của TRON smart contract. Tệp này xác định tên chức năng, khả năng thanh toán của chúng, hàm trả về các giá trị và khả năng thay đổi trạng thái của chúng. 7.4 Chức năng kích hoạt
Khi TRON smart contract được triển khai, các chức năng của chúng có thể được kích hoạt riêng lẻ thông qua TronStudio hoặc thông qua lệnh gọi API. Các hàm thay đổi trạng thái yêu cầu Năng lượng trong khi các hàm chỉ đọc thực hiện mà không cần năng lượng. 7.5 TRON Độ rắn chắc
TRON Solidity là một nhánh từ ngôn ngữ Solidity của Ethereum. TRON sửa đổi dự án ban đầu thành hỗ trợ các đơn vị TRX và SUN (1 TRX = 1.000.000 SUN). Phần còn lại của cú pháp ngôn ngữ là tương thích với Solidity ^0.4.24. Do đó, Máy ảo Tron (TVM) gần như tương thích 100% với hướng dẫn EVM.
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 Mã thông báo TRC-10
Trong mạng TRON, mỗi tài khoản có thể phát hành token với chi phí là 1024 TRX. Để phát hành tokens, nhà phát hành cần chỉ định tên token, tổng vốn hóa, tỷ giá hối đoái đối với TRX, thời lượng lưu hành, mô tả, trang web, mức tiêu thụ băng thông tối đa trên mỗi tài khoản, tổng cộng mức tiêu thụ băng thông và lượng token bị đóng băng. Mỗi bản phát hành token cũng có thể định cấu hình Số băng thông tối đa hàng ngày của mỗi tài khoản token chuyển Điểm băng thông, số điểm băng thông tối đa hàng ngày của toàn bộ mạng token chuyển Điểm băng thông, tổng nguồn cung cấp token, thời gian khóa theo ngày và tổng số tiền trong số token giây đã bị khóa. 8.2 Mã thông báo TRC-20
TRC-20 là tiêu chuẩn kỹ thuật được sử dụng để smart contract triển khai token được hỗ trợ bởi TRON Máy ảo. Nó hoàn toàn tương thích với ERC-20.
Giao diện như sau:
hợp đồng TRC20Interface {
hàm totalSupply() công khai hằng trả về (uint);
function balanceOf(địa chỉ tokenOwner) công khai hằng trả về (uint
cân bằng);
hàm phụ cấp(địa chỉ tokenChủ sở hữu, địa chỉ người chi tiêu) công khai hằng số
trả về (uint còn lại);
chức năng chuyển(địa chỉ tới, uint tokens) trả về công khai (bool thành công);
hàm phê duyệt(người chi tiêu địa chỉ, uint tokens) trả về công khai (bool
thành công);
function transferFrom(địa chỉ từ, địa chỉ tới, uint tokens) công khai
trả về (bool thành công);
sự kiện Transfer(địa chỉ được lập chỉ mục từ, địa chỉ được lập chỉ mục tới, uint tokens);
sự kiện Phê duyệt(địa chỉ được lập chỉ mục tokenChủ sở hữu, địa chỉ người chi tiêu được lập chỉ mục, uint
tokens); }
Từ quan điểm của nhà phát triển, có một số điểm khác biệt giữa TRC-10 và TRC-20. Một số điểm khác biệt chính là TRC-10 token có thể truy cập được bằng API và smart contract trong khi TRC-20 token cho phép tùy chỉnh giao diện nhưng chỉ có thể truy cập được trong smart contract giây.
Từ góc độ chi phí, TRC-10 token có phí giao dịch thấp hơn 1000 lần so với
TRC-20, nhưng tốn chi phí băng thông cho việc truyền và gửi API. Chuyển khoản và gửi tiền thông minh
hợp đồng cho TRC-10 token tốn cả băng thông và năng lượng.
8.3 Ngoài ra
Vì TRON sử dụng cùng một phiên bản Solidity như Ethereum nên có thể dễ dàng có thêm nhiều tiêu chuẩn token được chuyển tới 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.
Quản trị
9.1 Siêu đại diện 9.1.1 Khái quát
Mọi tài khoản trong mạng TRON đều có thể đăng ký và có cơ hội trở thành Siêu nhân Người đại diện (ký hiệu là SR). Mọi người đều có thể bỏ phiếu cho ứng cử viên SR. 27 ứng cử viên hàng đầu với nhiều phiếu bầu nhất sẽ trở thành SR với quyền và nghĩa vụ tạo khối. Số phiếu bầu là được tính 6 giờ một lần và SR sẽ thay đổi tương ứng.
Để ngăn chặn các cuộc tấn công độc hại, bạn phải trả giá khi trở thành ứng cử viên SR. Khi nộp đơn, 9999 TRX sẽ bị đốt khỏi tài khoản của người nộp đơn. Sau khi thành công, tài khoản đó có thể tham gia SR cuộc bầu cử. 9.1.2 Bầu cử
TRON Cần có quyền lực (ký hiệu là TP) để bỏ phiếu và số lượng TP tùy thuộc vào cử tri tài sản bị đóng băng (TRX).
TP được tính như sau:
TP
1 TRX bị đóng băng để lấy băng thông
1
=
Mọi tài khoản trong mạng TRON đều có quyền bỏ phiếu cho SR của riêng mình.
Sau khi phát hành (giải phóng, khả dụng sau 3 ngày), người dùng sẽ không còn tài sản bị đóng băng nào và mất tất cả TP tương ứng. Kết quả là tất cả các phiếu bầu sẽ không hợp lệ cho vòng bỏ phiếu đang diễn ra và trong tương lai trừ khi TRX lại bị đóng băng để bỏ phiếu.
Lưu ý rằng mạng TRON chỉ ghi lại phiếu bầu gần đây nhất, nghĩa là mỗi phiếu bầu mới sẽ phủ nhận tất cả các phiếu bầu trước đó. 9.1.3 Phần thưởng một. Phần thưởng bầu chọn
Còn được gọi là Phần thưởng Ứng viên, được 127 ứng viên hàng đầu cập nhật mỗi vòng một lần (6
giờ) sẽ chia sẻ 115.200 TRX được khai thác. Phần thưởng sẽ được chia theo trọng lượng phiếu bầu
mỗi ứng viên nhận được. Mỗi năm, tổng phần thưởng cho ứng viên sẽ là 168.192.000 TRX.
Tổng phần thưởng bình chọn mỗi vòng
Tại sao 115.200 TRX mỗi vòng?
15, 00 TRX
tổng phần thưởng phiếu bầu mỗi vòng (V R/vòng)
1
2
=
V R/vòng = 16 T RX/khối × 20 khối/phút × 60 phút/giờ × 6 giờ/vòng
Lưu ý: số tiền này được đặt theo WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Xem thông số mạng động.
Tổng phần thưởng bình chọn mỗi năm
Tại sao 168.192.000 TRX mỗi năm?
168, 192.000 T RX = tổng phần thưởng phiếu bầu mỗi năm (V R/năm)
V R/năm = 115, 200 T RX/vòng × 4 vòng/ngày × 365 ngày/năm
b. Khối phần thưởng
Còn được gọi là Phần thưởng Siêu đại diện, dành cho 27 ứng cử viên (SR) hàng đầu được bầu
mỗi vòng (6 giờ) sẽ chia sẻ khoảng 230.400 TRX được khai thác. Phần thưởng sẽ được chia đều
giữa 27 SR (trừ đi tổng số khối phần thưởng bị bỏ lỡ do lỗi mạng). Tổng cộng
336.384.000 TRX sẽ được trao hàng năm cho 27 SR.
Tổng phần thưởng khối mỗi vòng
Tại sao 230.400 TRX mỗi vòng?
230, 400 T RX = tổng phần thưởng khối mỗi vòng (BR/vòng)
BR/vòng = 32 T RX/khối × 20 khối/phút × 60 phút/giờ × 6 giờ/vòng
Lưu ý: phần thưởng khối đơn vị được đặt theo WITNESS_PAY_PER_BLOCK = 32 TRX. Xem mạng động
các thông số.
Tổng phần thưởng khối mỗi năm
Tại sao 336.384.000 TRX mỗi năm?
336, 384, 000 T RX = tổng phần thưởng khối mỗi năm (BR/năm)
BR/năm = 230, 400 T RX/vòng × 4 vòng/ngày × 365 ngày/năm
Ngày 1 tháng 1 năm 2021
Sẽ không có lạm phát trên mạng TRON trước ngày 1 tháng 1 năm 2021 và TRON DAO sẽ
trao tất cả phần thưởng khối và phần thưởng ứng viên trước ngày đó.
c. Tính toán phần thưởng
Tính toán phần thưởng SR
tổng phần thưởng
phần thưởng phiếu bầu (V R)
phần thưởng khối (BR)
t
=
+
R
tổng V R
V.
=
×
tổng số phiếu bầu
số phiếu ứng cử viên SR nhận được
R
khối bị bỏ lỡ
2
B
=
27
tổng BR −
× 3
Lưu ý: phần thưởng được tính trên mỗi SR mỗi vòng (6 giờ)
Xếp hạng 28 để tính phần thưởng ứng viên xếp hạng 127 SR tổng phần thưởng phần thưởng phiếu bầu (V R) t =
R
tổng V R
V.
=
×
tổng số phiếu bầu
số phiếu ứng cử viên SR nhận được
Lưu ý: phần thưởng được tính cho mỗi ứng viên SR mỗi vòng (6 giờ)
9.2 Ủy ban
9.2.1 Khái quát
Ủy ban được sử dụng để sửa đổi các tham số mạng động TRON, chẳng hạn như tạo khối
phần thưởng, phí giao dịch, v.v. Ủy ban bao gồm 27 SR trong vòng hiện tại. Mỗi SR
có quyền đề xuất và biểu quyết các đề xuất. Khi một đề xuất nhận được 19 phiếu bầu trở lên thì đó là
đã được phê duyệt và các thông số mạng mới sẽ được áp dụng trong kỳ bảo trì tiếp theo (3 ngày).
9.2.2 Tham số mạng động
0.
MAINTENANCE_TIME_INTERVAL
một.
Mô tả
Sửa đổi khoảng thời gian bảo trì tính bằng ms. Được biết đến là khoảng thời gian bỏ phiếu SR cho mỗi
tròn.
b.
Ví dụ
[6 * 3600 * 1000] ms - tức là 6 giờ.
c.
Phạm vi
[3 * 27* 1000, 24 * 3600 * 1000] mili giây
1.
ACCOUNT_UPGRADE_COST
một.
Mô tả
Sửa đổi chi phí đăng ký tài khoản SR.
b.
Ví dụ
[9.999.000.000] SUN - tức là 9.999 TRX.
c.
Phạm vi
[0,100 000 000 000 000 000] MẶT TRỜI
2.
TẠO_ACCOUNT_FEE
một.
Mô tả
Sửa đổi phí tạo tài khoản.b.
Ví dụ
[100.000] SUN - tức là 1 TRX.
c.
Phạm vi
[0,100 000 000 000 000 000] MẶT TRỜI
3.
TRANSACTION_FEE
một.
Mô tả
Sửa đổi mức phí được sử dụng để có thêm băng thông.
b.
Ví dụ
[10] CN/byte.
c.
Phạm vi
[0,100 000 000 000 000 000] SUN/byte
4.
TÀI SẢN_ISSUE_FEE
một.
Mô tả
Sửa đổi phí phát hành tài sản.
b.
Ví dụ
[1024.000.000] SUN - tức là 1024 TRX.
c.
Phạm vi
[0,100 000 000 000 000 000] MẶT TRỜI
5.
WITNESS_PAY_PER_BLOCK
một.
Mô tả
Sửa đổi phần thưởng tạo khối SR. Được biết đến như phần thưởng khối đơn vị.
b.
Ví dụ
[32.000.000] SUN - tức là 32 TRX.
c.
Phạm vi
[0,100 000 000 000 000 000] MẶT TRỜI
6.
WITNESS_STANDBY_ALLOWANCE
một.
Mô tả
Sửa đổi phần thưởng được trao cho 127 ứng cử viên SR hàng đầu. Được biết đến như là phần thưởng tổng số phiếu bầu
mỗi vòng.
b.
Ví dụ
[115.200.000.000] SUN - tức là 115.200 TRX.
c.
Phạm vi
[0,100 000 000 000 000 000] MẶT TRỜI
7.
TẠO_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
một.
Mô tả
Sửa đổi chi phí tạo tài khoản. Kết hợp các tham số mạng động #8 để có được
tổng chi phí tạo tài khoản:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Ví dụ [0] CN. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
một.
Mô tả
Sửa đổi chi phí tạo tài khoản. Kết hợp các tham số mạng động #7 để có được
tổng chi phí tạo tài khoản:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Ví dụ [1]. c. Phạm vi [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS một. Mô tả Để bật Máy ảo Tron (TVM). b. Ví dụ Đúng - được thiết lập để kích hoạt và có hiệu lực kể từ ngày 10/10/2018 23:47 UTC. c. Phạm vi Đúng/Sai 10. REMOVE_THE_POWER_OF_THE_GR một. Mô tả Xóa phiếu bầu GR ban đầu b. Ví dụ Đúng - có hiệu lực vào ngày 4/11/2018 08:46 UTC. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng. 11. NĂNG LƯỢNG_FEE một. Mô tả Sửa đổi mức phí của 1 năng lượng. b. Ví dụ 20 CN. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 12. TRAO ĐỔI_CREATE_FEE một. Mô tả Sửa đổi chi phí tạo cặp giao dịch. Được biết đến như là chi phí tạo ra một lệnh giao dịch. b. Ví dụ [1.024.000.000] SUN - tức là 1024 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 13. MAX_CPU_TIME_OF_ONE_TX một. Mô tả Sửa đổi thời gian thực hiện tối đa của một giao dịch. Được biết đến như là giới hạn thời gian chờ của một giao dịch. b. Ví dụ 50 mili giây. c. Phạm vi
[0, 1000] mili giây
14. ALLOW_UPDATE_ACCOUNT_NAME
một.
Mô tả
Sửa đổi tùy chọn để cho phép tài khoản cập nhật tên tài khoản của họ.
b.
Ví dụ
Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2.
c.
Phạm vi
Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng.
15. ALLOW_SAME_TOKEN_NAME
một.
Mô tả
Sửa đổi xác thực cho phép token khác có tên trùng lặp.
b.
Ví dụ
Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2.
c.
Phạm vi
Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng.
16. ALLOW_DELEGATE_RESOURCE
một.
Mô tả
Sửa đổi xác thực cho phép phát hành token với tên trùng lặp, do đó
tokenID của token, ở kiểu dữ liệu số nguyên dài, sẽ là nguyên tử duy nhất
nhận dạng token.
b.
Ví dụ
Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2.
c.
Phạm vi
Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng.
17. TOTAL_ENERGY_LIMIT
một.
Mô tả
Sửa đổi tổng giới hạn năng lượng của toàn mạng.
b.
Ví dụ
[50.000.000.000.000.000] SUN - tức là 50.000.000.000 TRX.
c.
Phạm vi
[0,100,000,000,000,000,000] MẶT TRỜI
18. ALLOW_TVM_TRANSFER_TRC10
một.
Mô tả
Cho phép truyền TRC-10 token trong vòng smart contract giây.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
Tất cả các đề xuất ALLOW_DELEGATE_RESOURCE đều phải được phê duyệt trước khi đề xuất
sự thay đổi thông số này.
b.
Ví dụ
Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2.
c.
Phạm vi
Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng.9.2.3 Tạo đề xuất
Chỉ tài khoản SR mới có quyền đề xuất thay đổi các tham số mạng động. 9.2.4 Bỏ phiếu đề xuất
Chỉ các thành viên ủy ban (SR) mới có thể bỏ phiếu cho một đề xuất và thành viên không bỏ phiếu kịp thời sẽ được coi là không đồng ý. Đề xuất có hiệu lực trong 3 ngày sau khi được tạo. Việc bỏ phiếu có thể được thay đổi hoặc truy xuất trong thời gian bỏ phiếu 3 ngày. Khi thời hạn kết thúc, đề xuất sẽ hoặc thành công (hơn 19 phiếu bầu) hoặc thất bại (và kết thúc). 9.2.5 Hủy bỏ đề xuất
Người đề xuất có thể hủy đề xuất trước khi nó có hiệu lực. 9.3 Cấu trúc
SR là nhân chứng của các khối mới được tạo. Một nhân chứng chứa 8 tham số:
1.
address : địa chỉ của nhân chứng này – ví dụ: 0xu82h…7237.
2.
voteCount: số phiếu bầu nhận được cho nhân chứng này – ví dụ: 234234.
3.
pubKey: khóa chung cho nhân chứng này – ví dụ: 0xu82h…7237.
4.
url: url cho nhân chứng này – ví dụ: https://www.noonetrust.com.
5.
TotalProduced: số khối mà nhân chứng này đã tạo ra – ví dụ: 2434.
6.
TotalMissed: số khối mà nhân chứng này đã bỏ lỡ – ví dụ: 7.
7.
mới nhấtBlockNum: chiều cao mới nhất của khối – ví dụ: 4522.
8.
isjobs : một cờ boolean.
Cấu trúc dữ liệu Protobuf:
tin nhắn Nhân chứng{
địa chỉ byte = 1;
int64 voteCount = 2;
byte pubKey = 3;
chuỗi url = 4;
int64 TotalProduced = 5;
int64 TotalMissed = 6;
int64 mới nhấtBlockNum = 7;
bool isJobs = 8;
}
- Phát triển DApp API 10.1
Mạng TRON cung cấp nhiều lựa chọn gồm hơn 60 cổng API HTTP để tương tác với mạng thông qua các nút đầy đủ và vững chắc. Ngoài ra, TronWeb là một thư viện JavaScript toàn diện chứa các hàm API cho phép nhà phát triển triển khai smart contracts, hãy thay đổi blockchain trạng thái, truy vấn blockchain và thông tin hợp đồng, giao dịch trên DEX, v.v. Các API này các cổng có thể được hướng tới mạng riêng cục bộ, mạng thử nghiệm Shasta hoặc TRON Mainnet.
10.2 Mạng
TRON có cả mạng thử nghiệm Shasta cũng như Mainnet. Các nhà phát triển có thể kết nối với mạng bằng cách
triển khai các nút, tương tác qua TronStudio hoặc sử dụng API thông qua dịch vụ TronGrid. TronGrid
dịch vụ bao gồm các cụm nút cân bằng tải được lưu trữ trên các máy chủ AWS trên toàn thế giới. Là DApp
quy mô phát triển tăng lên và số lượng cuộc gọi API tăng lên, TronGrid đã thành công trong việc tăng
Lưu lượng truy cập API.
10.3 Công cụ
TRON cung cấp một bộ công cụ phát triển để cho phép các nhà phát triển tạo DApps sáng tạo.
TronBox là một framework cho phép các nhà phát triển thử nghiệm và triển khai smart contract thông qua TronWeb
API. TronGrid là dịch vụ API được lưu trữ và cân bằng tải cho phép các nhà phát triển truy cập vào
TRON mạng mà không cần phải chạy nút riêng. TronGrid cung cấp quyền truy cập vào cả Shasta
testnet cũng như TRON Mainnet. TronStudio là một công cụ phát triển tích hợp toàn diện
Môi trường (IDE) cho phép các nhà phát triển biên dịch, triển khai và gỡ lỗi thông minh Solidity của họ
hợp đồng. TronStudio chứa một nút đầy đủ bên trong tạo ra môi trường cục bộ riêng tư cho
smart contract thử nghiệm trước khi triển khai. Thư viện API TronWeb kết nối các nhà phát triển với
mạng thông qua nhiều lựa chọn lệnh gọi API HTTP được gói trong JavaScript.
10.4 Tài nguyên
Trung tâm nhà phát triển TRON là trang tài liệu API toàn diện được thiết kế theo hướng 12 các nhà phát triển mong muốn xây dựng trên mạng TRON. Trung tâm nhà phát triển cung cấp giải pháp cấp cao hiểu biết khái niệm về TRON và hướng dẫn người dùng chi tiết về cách tương tác với 12 Trung tâm nhà phát triển: https://developers.tron.network/
mạng. Hướng dẫn hướng dẫn các nhà phát triển cách thiết lập, triển khai và tương tác với nút thông minh
hợp đồng, tương tác và triển khai API, xây dựng DApp mẫu và sử dụng từng
công cụ phát triển. Ngoài ra, các kênh cộng đồng nhà phát triển có sẵn thông qua Discord.
13
13 Bất hòa: https://discordapp.com/invite/GsRgsTD
- Kết luận
TRON là giải pháp blockchain có thể mở rộng sử dụng các phương pháp cải tiến để giải quyết những thách thức mà mạng blockchain cũ phải đối mặt. Đã đạt hơn 2 triệu giao dịch mỗi ngày, với hơn 700 nghìn tài khoản TRX và vượt qua 2000 TPS, TRON đã hỗ trợ cộng đồng trong tạo ra một mạng lưới phi tập trung và dân chủ hóa.
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;
}
- 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
- 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.