Informe técnico de TRON
مقدمة
1.1 الرؤية
TRON هو مشروع طموح مخصص لإنشاء شبكة إنترنت لامركزية حقًا وملحقاتها
البنية التحتية. بروتوكول TRON، أحد أكبر أنظمة التشغيل المعتمدة على blockchain في العالم
العالم، يقدم دعمًا عامًا blockchain للإنتاجية العالية وقابلية التوسع العالية والتوافر العالي لـ
جميع التطبيقات اللامركزية (DApps) في النظام البيئي TRON. الاستحواذ في يوليو 2018 على
عزز BitTorrent أيضًا قيادة TRON في متابعة النظام البيئي اللامركزي.
1.2 الخلفية
أحدث إدخال Bitcoin في عام 2009 ثورة في تصور المجتمع للأنظمة المالية التقليدية النظام في أعقاب الركود الكبير (2007-2008). مثل صناديق التحوط والبنوك المركزية انهارت من المضاربة في المشتقات المالية الغامضة، قدمت التكنولوجيا blockchain أ دفتر أستاذ عالمي شفاف يمكن لأي شخص أن يحصل منه على معلومات المعاملات. ال تم تأمين المعاملات بشكل مشفر باستخدام آلية إجماع إثبات العمل (PoW)، وبالتالي منع مشاكل الإنفاق المزدوج.
في أواخر عام 2013، اقترحت الورقة البيضاء Ethereum شبكة فيها smart contracts وa Turing-Complete Ethereum Virtual Machine (EVM) سيسمح للمطورين بالتفاعل مع الشبكة من خلال DApps. ومع ذلك، نظرًا لأن أحجام المعاملات في Bitcoin وEthereum بلغت ذروتها في عام 2017، كان واضحًا من خلال أوقات إنتاجية المعاملات المنخفضة وارتفاع رسوم المعاملات العملات المشفرة مثل Bitcoin وEthereum في حالتها الحالية لم تكن قابلة للتوسع على نطاق واسع التبني. وهكذا، تم تأسيس TRON وتصورها كحل مبتكر لهذه المشاكل الملحة تحديات قابلية التوسع.

1.3 التاريخ تم إنشاء TRON DAO في يوليو 2017 في سنغافورة. في ديسمبر 2017، TRON كان أطلقت بروتوكولها مفتوح المصدر. كانت كل من Testnet وBlockchain Explorer وWeb Wallet كلها تم إطلاقها بحلول مارس 2018. TRON تم إطلاق الشبكة الرئيسية بعد فترة وجيزة في مايو 2018، بمناسبة إصدار Odyssey 2.0 يمثل إنجازًا تقنيًا. في يونيو 2018، أعلنت TRON استقلالها مع إنشاء كتلة Genesis، إلى جانب الاستحواذ على BitTorrent في يوليو 2018. في في أكتوبر 2018، أطلقت TRON TRON Virtual Machine (TVM)، وهي مجموعة أدوات كاملة للمطورين، ونظام دعم 360. تتضمن خارطة الطريق TRON الجمع بين 100 مليون مستخدم لـ BitTorrent مع شبكة TRON عبر Project Atlas، بالإضافة إلى تعزيز مجتمع المطورين لإطلاقه تطبيقات DApps جديدة ومثيرة على شبكة TRON1. 1 V1.0 متاح في https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 المصطلحات
العنوان/المحفظة يتم إنشاء عنوان أو محفظة تتكون من بيانات اعتماد الحساب على شبكة TRON بواسطة زوج المفاتيح، والذي يتكون من مفتاح خاص ومفتاح عام، والأخير مشتق من الأول من خلال خوارزمية. يُستخدم المفتاح العام عادةً لتشفير مفتاح الجلسة والتوقيع التحقق وتشفير البيانات التي يمكن فك تشفيرها بواسطة مفتاح خاص مطابق.
أبي الواجهة الثنائية للتطبيق (ABI) هي واجهة بين وحدتين للبرنامج الثنائي؛ عادة إحدى هذه الوحدات عبارة عن مكتبة أو مرفق نظام تشغيل، والأخرى عبارة عن مستخدم برنامج.
واجهة برمجة التطبيقات تُستخدم واجهة برمجة التطبيقات (API) بشكل أساسي لتطوير عملاء المستخدمين. مع واجهة برمجة التطبيقات الدعم، token يمكن أيضًا تصميم منصات الإصدار بواسطة المطورين أنفسهم.
الأصول في مستندات TRON، الأصل هو نفسه token، والذي يُشار إليه أيضًا باسم TRC-10 token.
نقاط عرض النطاق الترددي (BP) للحفاظ على عمل الشبكة بسلاسة، تستخدم معاملات الشبكة TRON BP كوقود. كل حساب تحصل على 5000 نقطة قوة يومية مجانية ويمكن الحصول على المزيد عن طريق تجميد TRX مقابل BP. كل من TRX وTRC-10 token التحويلات عبارة عن معاملات عادية تكلف BP. نشر العقود الذكية وتنفيذها تستهلك المعاملات كلا من BP والطاقة.
كتلة تحتوي الكتل على السجلات الرقمية للمعاملات. كتلة كاملة تتكون من الرقم السحري، حجم الكتلة ورأس الكتلة وعداد المعاملات وبيانات المعاملة.
مكافأة الكتلة يتم إرسال مكافآت إنتاج الكتلة إلى حساب فرعي (العنوان/المحفظة). يمكن للممثلين السوبر احصل على مكافآتهم على Tronscan أو من خلال API مباشرة.
رأس الكتلة رأس الكتلة هو جزء من الكتلة. تحتوي رؤوس الكتلة TRON على hash للكتلة السابقة، جذر Merkle والطابع الزمني والإصدار وعنوان الشاهد.المحفظة الباردة المحفظة الباردة، المعروفة أيضًا باسم المحفظة غير المتصلة بالإنترنت، تحافظ على فصل المفتاح الخاص تمامًا عن أي شيء شبكة. عادةً ما يتم تثبيت المحافظ الباردة على الأجهزة "الباردة" (مثل أجهزة الكمبيوتر أو الهواتف المحمولة البقاء دون اتصال بالإنترنت) لضمان أمان مفتاح TRX الخاص.
التطبيق اللامركزي التطبيق اللامركزي هو تطبيق يعمل بدون طرف موثوق به مركزيًا. تطبيق التي تمكن التفاعل/الاتفاقيات/الاتصال المباشر بين المستخدمين النهائيين و/أو الموارد بدون وسيط.
جي آر بي سي gRPC (استدعاءات الإجراءات عن بعد gRPC) هو نظام مفتوح المصدر لاستدعاء الإجراءات عن بعد (RPC). 2 تم تطويره في البداية في Google. ويستخدم HTTP/2 للنقل، ومخازن البروتوكول المؤقتة كواجهة لغة الوصف، وتوفر ميزات مثل المصادقة والتدفق ثنائي الاتجاه والتدفق التحكم، أو الحظر أو عدم الحظر، والإلغاء والمهلات. إنه يولد روابط العميل والخادم عبر الأنظمة الأساسية للعديد من اللغات. سيناريوهات الاستخدام الأكثر شيوعًا تضمين خدمات الاتصال في بنية نمط الخدمات الصغيرة وتوصيل الأجهزة المحمولة، و عملاء المتصفح إلى الخدمات الخلفية.
المحفظة الساخنة تتيح المحفظة الساخنة، والمعروفة أيضًا باسم المحفظة عبر الإنترنت، استخدام المفتاح الخاص للمستخدم عبر الإنترنت، وهذا هو الحال عرضة لنقاط الضعف المحتملة أو الاعتراض من قبل الجهات الخبيثة.
JDK Java Development Kit هي Java SDK المستخدمة لتطبيقات Java. إنه جوهر جافا التطوير، الذي يشتمل على بيئة تطبيقات Java (JVM+مكتبة فئة Java) وJava أدوات.
خاوس دي بي يحتوي TRON على KhaosDB في ذاكرة العقدة الكاملة التي يمكنها تخزين جميع السلاسل المتشعبة حديثًا التي تم إنشاؤها خلال فترة زمنية معينة ويساعد الشهود على التحول من السلسلة النشطة الخاصة بهم بسرعة إلى سلسلة رئيسية جديدة. راجع 2.2.2 تخزين الحالة لمزيد من التفاصيل.
مستوىDB تم اعتماد LevelDB في البداية بهدف أساسي هو تلبية متطلبات R/W السريعة والسريعة تطوير. بعد إطلاق الشبكة الرئيسية، قام TRON بترقية قاعدة بياناته إلى قاعدة بيانات مخصصة بالكامل واحد يلبي احتياجاته الخاصة. راجع 2.2.1 تخزين Blockchain لمزيد من التفاصيل.
جذر ميركل جذر Merkle هو hash لجميع hashes لجميع المعاملات المضمنة كجزء من كتلة في blockchain شبكة. راجع 3.1 إثبات الحصة المفوضة (DPoS) لمزيد من التفاصيل. 2 https://en.wikipedia.org/wiki/GRPC

شبكة الاختبار العامة (شاستا) نسخة من الشبكة تعمل بتكوين عقدة واحدة. يمكن للمطورين الاتصال والاختبار الميزات دون القلق بشأن الخسارة الاقتصادية. ليس لـ Testnet tokens أي قيمة ويمكن لأي شخص أن يفعل ذلك اطلب المزيد من الصنبور العام.
RPC
3
في الحوسبة الموزعة، يتم استدعاء الإجراء عن بعد (RPC) عندما يتسبب برنامج كمبيوتر في حدوث خطأ
إجراء (إجراء فرعي) يتم تنفيذه في مساحة عنوان مختلفة (عادةً على كمبيوتر آخر
شبكة مشتركة)، والتي يتم ترميزها كما لو كانت استدعاء إجراء عادي (محلي)، بدون
يقوم المبرمج بترميز تفاصيل التفاعل عن بعد بشكل صريح.
قابلية التوسع تعد قابلية التوسع إحدى ميزات بروتوكول TRON. إنها قدرة النظام أو الشبكة أو العملية على القيام بذلك التعامل مع كمية متزايدة من العمل أو إمكانية توسيعها لاستيعاب هذا النمو.
شمس حلت SUN محل القطرة كأصغر وحدة من TRX. 1 TRX = 1,000,000 شمس.
الإنتاجية تعد الإنتاجية العالية إحدى ميزات TRON Mainnet. يتم قياسه بالمعاملات في الثانية (TPS)، وهي الحد الأقصى لسعة المعاملة في ثانية واحدة.
الطابع الزمني يتم تسجيل الوقت التقريبي لإنتاج الكتلة كطابع زمني لنظام Unix، وهو عدد مللي ثانية انقضت منذ 00:00:00 01 يناير 1970 بالتوقيت العالمي المنسق.
TKC تكوين الرمز المميز.
لجنة الحقيقة والمصالحة-10 معيار التشفير token على منصة TRON. يجب اتباع قواعد وواجهات معينة عند الاحتفاظ بعرض أولي للعملة على TRON blockchain.
تي آر إكس TRX تعني Tronix، وهي العملة المشفرة الرسمية لـ 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
بنيان
TRON يعتمد بنية ثلاثية الطبقات مقسمة إلى طبقة التخزين، والطبقة الأساسية، وطبقة التطبيق. يلتزم بروتوكول TRON بـ Google Protobuf، الذي يدعم بشكل جوهري تعدد اللغات التمديد.

الشكل 1: TRON بنية ثلاثية الطبقات
2.1 الأساسية
هناك عدة وحدات في الطبقة الأساسية، بما في ذلك smart contracts، وإدارة الحساب، و الإجماع. يتم تنفيذ الجهاز الظاهري القائم على المكدس على TRON وتعليمات محسنة يتم استخدام مجموعة. من أجل تقديم دعم أفضل لمطوري التطبيقات اللامركزية، تم اختيار Solidity لتكون smart contract 4 اللغة، يليها الدعم المستقبلي للغات المتقدمة الأخرى. بالإضافة إلى ذلك، إجماع TRON تعتمد الآلية على إثبات الحصة المفوضة (DPoS) وتم إجراء العديد من الابتكارات في من أجل تلبية متطلباتها الفريدة. 2.2 التخزين
TRON صمم بروتوكول تخزين موزعًا فريدًا يتكون من كتلة التخزين والحالة التخزين. تم تقديم فكرة قاعدة بيانات الرسم البياني في تصميم طبقة التخزين تلبي بشكل أفضل الحاجة إلى تخزين البيانات المتنوعة في العالم الحقيقي. 2.2.1 تخزين سلسلة الكتل
TRON blockchain يختار التخزين استخدام LevelDB، الذي طورته Google وأثبت فعاليته ناجحة مع العديد من الشركات والمشاريع. يتميز بأداء عالٍ ويدعم البايت التعسفي المصفوفات كمفاتيح وقيم، الحصول على المفرد، ووضعها وحذفها، ووضعها وحذفها على دفعات، وثنائية الاتجاه التكرارات والضغط البسيط باستخدام خوارزمية Snappy السريعة جدًا. 2.2.2 تخزين الحالة
يحتوي TRON على KhaosDB في ذاكرة العقدة الكاملة التي يمكنها تخزين جميع السلاسل المتشعبة الجديدة التي تم إنشاؤها خلال فترة زمنية معينة ويساعد الشهود على التحول من السلسلة النشطة الخاصة بهم بسرعة إلى سلسلة رئيسية جديدة. يمكنه أيضًا حماية مساحة تخزين blockchain بجعلها أكثر استقرارًا إنهاء بشكل غير طبيعي في حالة متوسطة. 2.3 التطبيق
يمكن للمطورين إنشاء مجموعة متنوعة من التطبيقات اللامركزية والمحافظ المخصصة على TRON. منذ TRON تمكن من نشر وتنفيذ smart contracts، وفرص تطبيقات المرافق هي غير محدود. 4 وثائق الصلابة الرسمية: https://solidity.readthedocs.io/
2.4 البروتوكول
يلتزم بروتوكول TRON بمخازن بروتوكول Google المؤقتة، وهي محايدة للغة، ومحايدة للنظام الأساسي، 5 وطريقة موسعة لتسلسل البيانات المنظمة لاستخدامها في بروتوكولات الاتصالات، وتخزين البيانات، وأكثر. 2.4.1 مخازن البروتوكول المؤقتة
تعد مخازن البروتوكول المؤقتة (Protobuf) آلية مرنة وفعالة ومؤتمتة لإجراء تسلسل منظم البيانات، تشبه JSON أو XML، ولكنها أصغر بكثير وأسرع وأبسط.
يمكن استخدام تعريفات Protobuf (.proto) لإنشاء تعليمات برمجية لـ C++، وJava، وC#، وPython، وRuby، لغات Golang وObjective-C من خلال مولدات الأكواد الرسمية. مختلف طرف ثالث التطبيقات متاحة أيضًا للعديد من اللغات الأخرى. Protobuf يسهل تطوير العملاء من خلال توحيد تعريفات API وتحسين عمليات نقل البيانات أيضًا. يمكن للعملاء الحصول على API .proto من مستودع بروتوكول TRON ودمجه من خلال الكود الذي تم إنشاؤه تلقائيًا المكتبات.
وعلى سبيل المقارنة، فإن المخازن المؤقتة للبروتوكول أصغر من 3 إلى 10 مرات وأسرع من 20 إلى 100 مرة من XML، مع بناء جملة أقل غموضا. يقوم Protobuf بإنشاء فئات الوصول إلى البيانات التي تكون أسهل في الاستخدام برمجيا. 2.4.2 HTTP
يوفر البروتوكول TRON بديل RESTful HTTP API لواجهة Protobuf API. إنهم يتشاركون نفس الشيء واجهة ولكن يمكن استخدام HTTP API بسهولة في عملاء جافا سكريبت. 2.5 TRON الجهاز الظاهري (TVM)
جهاز TVM عبارة عن آلة افتراضية خفيفة الوزن ومتكاملة من طراز Turing تم تطويرها من أجل النظام البيئي لـ TRON. ال
يتصل TVM بسلاسة مع النظام البيئي التطويري الحالي لتوفير الملايين من الخدمات العالمية
المطورين باستخدام نظام blockchain مصمم خصيصًا يتسم بالكفاءة والراحة والثبات والأمان
قابلة للتطوير.
2.6 التبادل اللامركزي (DEX)
5 الوثائق الرسمية لمخازن بروتوكول Google المؤقتة: https://developers.google.com/protocol-buffers/تدعم شبكة TRON أصلاً وظائف التبادل اللامركزي. التبادل اللامركزي يتكون من أزواج تداول متعددة. زوج التداول (يُشار إليه بـ "البورصة") هو سوق تبادل بين TRC-10 tokens، أو بين TRC-10 token وTRX. يمكن لأي حساب إنشاء تداول اقتران بين أي tokens، حتى لو كان نفس الزوج موجودًا بالفعل على شبكة TRON. التداول و تتبع تقلبات أسعار أزواج التداول بروتوكول Bancor. تنص شبكة TRON على ذلك 6 أوزان الثنائي token في جميع أزواج التداول متساوية، وبالتالي فإن نسبة أرصدتهما هي السعر بينهما. على سبيل المثال، فكر في زوج تداول يحتوي على اثنين من tokens، ABC وDEF. ABC لديها رصيد 10 ملايين وDEF لديه رصيد 1 مليون. وبما أن الأوزان متساوية، 10 ABC = 1 دفاع. وهذا يعني أن نسبة ABC إلى DEF هي 10 ABC لكل DEF. 2.7 التنفيذ
تم تنفيذ الكود TRON blockchain في Java وكان في الأصل شوكة من EthereumJ.
6 الموقع الرسمي لبروتوكول بانكور: 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/
إجماع
3.1 إثبات الحصة المفوضة (DPoS)
أقرب آلية إجماع هي آلية إجماع إثبات العمل (PoW). هذا يتم تنفيذ البروتوكول حاليًا في Bitcoin وEthereum. في أنظمة إثبات العمل، المعاملات 7 8 يتم تجميع البث عبر الشبكة معًا في كتل ناشئة لتأكيد عامل التعدين. ال تتضمن عملية التأكيد hashing المعاملات باستخدام خوارزميات التشفير hashing حتى تم الوصول إلى جذر Merkle، مما يؤدي إلى إنشاء شجرة Merkle:
الشكل 2: تم تحويل 8 معاملات TRX إلى hash في جذر Merkle. يتم بعد ذلك تضمين جذر Merkle هذا في رأس الكتلة، والذي يتم إرفاقه بالكتل المؤكدة مسبقًا لتكوين blockchain. وهذا يسمح بتتبع سهل وشفاف المعاملات والطوابع الزمنية والمعلومات الأخرى ذات الصلة.
7 Bitcoin المستند التقني: https://bitcoin.org/bitcoin.pdf 8 Ethereum المستند التقني: https://github.com/ethereum/wiki/wiki/White-Paper
تعد خوارزميات التشفير hashing مفيدة في منع هجمات الشبكة لأنها تمتلكها
عدة خصائص :
9
●
حجم طول الإدخال/الإخراج - يمكن للخوارزمية تمرير إدخال بأي طول في الحجم، و
يُخرج قيمة ذات طول ثابت hash.
●
الكفاءة - الخوارزمية سهلة نسبيًا وسريعة الحساب.
●
مقاومة الصورة المسبقة - بالنسبة لمخرج معين z، من المستحيل العثور على أي مدخل x من هذا القبيل
ح(س) = ض. بمعنى آخر، خوارزمية hashing h(x) هي دالة أحادية الاتجاه حيث يكون فقط
يمكن العثور على الإخراج، نظرا للمدخلات. والعكس غير ممكن.
●
مقاومة الاصطدام - من غير الممكن حسابيًا العثور على أي أزواج x1 ≠ x2 مثل h(x1)
= ح(س2). بمعنى آخر، احتمال العثور على مدخلين مختلفين hash لنفس الشيء
الإخراج منخفض للغاية. تتضمن هذه الخاصية أيضًا مقاومة الصورة الأولية الثانية.
●
المقاومة الأولية للصورة الثانية - بالنظر إلى x1، وبالتالي h(x1)، فمن غير الممكن حسابيًا
ابحث عن أي x2 بحيث h(x1) = h(x2). في حين أن هذه الخاصية تشبه مقاومة الاصطدام، فإن
تختلف الخاصية من حيث أنها تقول أن المهاجم الذي لديه x1 سيجدها حسابيًا
من غير الممكن العثور على أي x2 hashing لنفس الإخراج.
●
الحتمية - تقوم بتعيين كل إدخال إلى مخرج واحد فقط.
●
Avalanche التأثير - تغيير بسيط في المدخلات يؤدي إلى مخرجات مختلفة تمامًا.
تمنح هذه الخصائص شبكة العملات المشفرة قيمتها الجوهرية من خلال ضمان عدم حدوث هجمات تعريض الشبكة للخطر. عندما يؤكد القائمون بالتعدين على الكتلة، تتم مكافأتهم tokens كقطعة مدمجة حافز للمشاركة في الشبكة. ومع ذلك، فإن القيمة السوقية للعملات المشفرة العالمية ومع زيادة مطردة، أصبح عمال المناجم مركزيين وركزوا مواردهم الحاسوبية عليها اكتناز tokens كأصول، وليس لأغراض المشاركة في الشبكة. أعطى عمال المناجم وحدة المعالجة المركزية الطريق ل وحدات معالجة الرسومات، والتي بدورها أفسحت المجال لشرائح ASIC القوية. في إحدى الدراسات البارزة، القوة الإجمالية تم تقدير استهلاك Bitcoin للتعدين بما يصل إلى 3 جيجاوات ، مقارنة باستهلاك أيرلندا 10 استهلاك الطاقة. وتوقعت هذه الدراسة نفسها أن يصل إجمالي استهلاك الطاقة إلى 8 جيجاوات في القريب العاجل المستقبل.
لحل مشكلة هدر الطاقة، تم اقتراح آلية توافق الآراء لإثبات الحصة (PoS). العديد من الشبكات الجديدة. في شبكات إثبات الحصة (PoS)، يقوم أصحاب token بقفل أرصدة token الخاصة بهم لتصبح محظورة validators. يتناوب validators في الاقتراح والتصويت على الكتلة التالية. ومع ذلك، المشكلة مع PoS القياسي هو أن تأثير validator يرتبط مباشرة بكمية tokens المقفلة. ويؤدي هذا إلى قيام الأطراف بتخزين كميات كبيرة من العملة الأساسية للشبكة دون مبرر التأثير في النظام البيئي للشبكة.
تستخدم آلية الإجماع TRON نظامًا مبتكرًا لإثبات الحصة المفوضة حيث 27
يقوم الممثلون المتميزون (SRs) بإنتاج كتل للشبكة. كل 6 ساعات، لأصحاب حسابات TRX
ويمكن لمن يجمد حساباته التصويت لمجموعة مختارة من مرشحي SR، على أن يكون المرشحون الـ 27 الأوائل
يعتبر SRs. يمكن للناخبين اختيار ممثلين SR بناءً على معايير مثل المشاريع التي يرعاها ممثلو SR
9 PAAR, C., PELZL, J.، فهم التشفير: كتاب مدرسي للطلاب والممارسين، طبعة 2010.
سبرينغر-فيرلاغ برلين هايدلبرغ، 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776زيادة اعتماد TRX وتوزيع المكافآت على الناخبين. وهذا يسمح لمزيد من الديمقراطية و
النظام البيئي اللامركزي. حسابات SR هي حسابات عادية، ولكن تراكم الأصوات
يسمح لهم بإنتاج الكتل. مع معدلات الإنتاجية المنخفضة Bitcoin وEthereum نظرًا لهما
آلية إجماع إثبات العمل (PoW) ومشكلات قابلية التوسع، يقدم نظام DPoS الخاص بـ DPoS حلاً مبتكرًا
الآلية الناتجة عن 2000 TPS مقارنة بـ Bitcoin 3 TPS و Ethereum 15 TPS.
تقوم شبكة البروتوكول TRON بإنشاء كتلة واحدة كل ثلاث ثوانٍ، مع منح كل كتلة 32 TRX إلى الممثلين المتميزين. سيتم منح إجمالي 336,384,000 TRX سنويًا إلى 27 ريالًا سعوديًا. في كل مرة ينتهي فيها SR من إنتاج الكتلة، يتم إرسال المكافآت إلى حساب فرعي في دفتر الأستاذ الفائق. يمكن لممثلي SR التحقق من TRX tokens هذه، ولكن لا يمكنهم الاستفادة منها بشكل مباشر. ويمكن إجراء الانسحاب من قبل كل منهما ريال مرة واحدة كل 24 ساعة، مع تحويل المكافآت من الحساب الفرعي إلى الريال المحدد حساب.
الأنواع الثلاثة للعقد على شبكة TRON هي عقدة الشاهد، والعقدة الكاملة، وعقدة الصلابة. يتم إعداد العقد الشاهدة بواسطة SRs وتكون مسؤولة بشكل أساسي عن إنتاج الكتل واقتراحها الخلق / التصويت. توفر العقد الكاملة واجهات برمجة التطبيقات ومعاملات البث والكتل. مزامنة العقد الصلبة كتل من العقد الكاملة الأخرى وتوفر أيضًا واجهات برمجة التطبيقات القابلة للفهرسة.
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.
حساب
4.1 الأنواع
الأنواع الثلاثة للحسابات في شبكة TRON هي الحسابات العادية، وحسابات token، و حسابات العقود.
1.
يتم استخدام الحسابات العادية للمعاملات القياسية.
2.
تُستخدم حسابات الرمز المميز لتخزين TRC-10 tokens.
3.
حسابات العقود هي smart contract حسابات تم إنشاؤها بواسطة حسابات عادية ويمكن أن تكون
الناجمة عن الحسابات العادية كذلك.
4.2 الخلق
هناك ثلاث طرق لإنشاء حساب TRON:
1. إنشاء حساب جديد من خلال API 2. قم بنقل TRX إلى عنوان حساب جديد 3. قم بنقل أي TRC-10 token إلى عنوان حساب جديد
زوج مفاتيح غير متصل بالإنترنت يتكون من عنوان (مفتاح عام) ومفتاح خاص، ولا يتم تسجيله بواسطة يمكن أيضًا إنشاء شبكة TRON. تتكون خوارزمية إنشاء عنوان المستخدم من إنشاء زوج مفاتيح ثم استخراج المفتاح العام (صفيف بايت 64 بايت يمثل x، y الإحداثيات). قم بتجزئة المفتاح العام باستخدام وظيفة SHA3-256 (بروتوكول SHA3 المعتمد هو KECCAK-256) واستخرج آخر 20 بايت من النتيجة. أضف 41 إلى بداية صفيف البايت وتأكد من أن طول العنوان الأولي هو 21 بايت. قم بتجزئة العنوان مرتين باستخدام وظيفة SHA3-256 وأخذ أول 4 بايت كرمز التحقق. أضف رمز التحقق إلى نهاية الأولي العنوان واحصل على العنوان بتنسيق base58check من خلال تشفير base58. مشفرة يبدأ عنوان الشبكة الرئيسية بحرف T ويبلغ طوله 34 بايت. 4.3 الهيكل
أنواع الحسابات الثلاثة المختلفة هي عادي، وإصدار الأصول، والعقد. حساب يحتوي على 7 المعلمات:
1.
account_name: اسم هذا الحساب – على سبيل المثال. حساب الفواتير.
2.
النوع: ما هو نوع هذا الحساب – على سبيل المثال. 0 (يرمز إلى النوع "عادي").
3.
الرصيد: رصيد هذا الحساب – مثلاً. 4213312.
4.
التصويت: الأصوات المستلمة على هذا الحساب - على سبيل المثال. {("0x1b7w...9xj3"،323)،
("0x8djq…j12m"،88)،...،("0x82nd...mx6i"،10001)".
5.
الأصول: الأصول الأخرى المتوقعة TRX في هذا الحساب - على سبيل المثال. {<"WishToken"، 66666>، <"Dogie"،
233>}.
6.
last_operation_time: آخر وقت تشغيل لهذا الحساب.
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;
}
كتلة
تحتوي الكتلة عادةً على رأس كتلة والعديد من المعاملات.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 رأس الكتلة
يحتوي رأس الكتلة على البيانات الخام، وتوقيع_الشاهد، ومعرف الكتلة.
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 البيانات الأولية
يُشار إلى البيانات الأولية على أنها raw_data في Protobuf. أنه يحتوي على البيانات الأولية للرسالة، التي تحتوي على 6 المعلمات:
1. الطابع الزمني: الطابع الزمني لهذه الرسالة - على سبيل المثال. 1543884429000. 2. txTrieRoot: جذر شجرة Merkle - على سبيل المثال. 7داكسا…3ed. 3. parentHash: hash للكتلة الأخيرة - على سبيل المثال. 7داكسا…3ed. 4. الرقم: ارتفاع الكتلة - على سبيل المثال. 4638708. 5. النسخة: محجوزة - على سبيل المثال. 5.

6. عنوان الشاهد: عنوان الشاهد الموجود في هذه الكتلة – على سبيل المثال: 41928ج...4د21. 5.1.2 توقيع الشاهد
يُشار إلى توقيع الشاهد على أنه witness_signature في Protobuf، وهو التوقيع لهذا كتلة الرأس من عقدة الشاهد. 5.1.3 معرف الكتلة
يُشار إلى معرف الكتلة على أنه blockID في Protobuf. أنه يحتوي على التحديد الذري للكتلة. كتلة يحتوي المعرف على معلمتين: 1. hash: hash للكتلة. 2. الرقم: hash وارتفاع الكتلة. 5.2 المعاملة 5.2.1 التوقيع
تتبع عملية توقيع معاملة TRON خوارزمية تشفير ECDSA القياسية، مع
منحنى الاختيار SECP256K1. المفتاح الخاص هو رقم عشوائي، والمفتاح العام هو نقطة على الرقم
منحنى إهليلجي. تتكون عملية إنشاء المفتاح العام أولاً من إنشاء رقم عشوائي كـ
المفتاح الخاص، ثم ضرب النقطة الأساسية للمنحنى الإهليلجي بالمفتاح الخاص للحصول على المفتاح الخاص
المفتاح العام. عند حدوث معاملة، يتم أولاً تحويل البيانات الأولية للمعاملة إلى تنسيق بايت.
تخضع البيانات الأولية بعد ذلك إلى SHA-256 hashing. المفتاح الخاص المطابق للعقد
العنوان ثم يوقع نتيجة SHA256 hash. ثم تتم إضافة نتيجة التوقيع إلى
معاملة.
5.2.2 نموذج النطاق الترددي
تستهلك المعاملات العادية نقاط النطاق الترددي فقط، لكن عمليات smart contract تستهلك كليهما نقاط الطاقة وعرض النطاق الترددي. هناك نوعان من نقاط النطاق الترددي المتاحة. يمكن للمستخدمين الحصول على نقاط النطاق الترددي من تجميد TRX، في حين تتوفر أيضًا 5000 نقطة نطاق ترددي مجانية يوميًا.
عندما يتم بث معاملة TRX، يتم إرسالها وتخزينها في شكل مصفوفة بايت الشبكة. نقاط النطاق الترددي التي تستهلكها معاملة واحدة = عدد بايتات المعاملة مضروبًا في معدل نقاط النطاق الترددي. على سبيل المثال، إذا كان طول صفيف البايت للمعاملة هو 200، ثم تستهلك المعاملة 200 نقطة عرض النطاق الترددي. ومع ذلك، إذا نتج عن نقل TRX أو token الحساب المستهدف الذي يتم إنشاؤه، ثم يتم استهلاك نقاط النطاق الترددي فقط لإنشاء الحساب سيتم خصمها، ولن يتم خصم نقاط النطاق الترددي الإضافية. في إنشاء حساب السيناريو، ستستهلك الشبكة أولاً نقاط النطاق الترددي التي اكتسبها بادئ المعاملةمن تجميد TRX. إذا كان هذا المبلغ غير كاف، فستستهلك الشبكة المعاملة البادئ TRX.
في سيناريوهات نقل TRX القياسية من حساب TRX إلى آخر، تستهلك الشبكة أولاً نقاط النطاق الترددي التي اكتسبها بادئ المعاملة لتجميد TRX. إذا كان ذلك غير كاف، ثم يستهلك من 5000 نقطة عرض النطاق الترددي اليومية المجانية. إذا كان هذا لا يزال غير كاف، ثم الشبكة يستهلك TRX الخاص ببادئ المعاملة. يتم حساب المبلغ حسب عدد البايتات الموجودة فيه المعاملة مضروبة في 10 SUN. وبالتالي، بالنسبة لمعظم حاملي TRX الذين قد لا يتجمدون بالضرورة TRX الخاص بهم للمشاركة في تصويت SR، يتم تخطي الخطوة الأولى تلقائيًا (نظرًا لأن رصيد TRX مجمد = 0) ويعمل النطاق الترددي المجاني البالغ 5000 يوميًا على تشغيل المعاملة.
بالنسبة لعمليات نقل TRC-10 token، تتحقق الشبكة أولاً مما إذا كان إجمالي نقاط النطاق الترددي المجانية للشبكة أم لا. الأصل الصادر token كافٍ. إذا لم يكن الأمر كذلك، فإن نقاط النطاق الترددي التي تم الحصول عليها من تجميد TRX هي المستهلكة. إذا لم يكن هناك ما يكفي من نقاط النطاق الترددي، فإنه يستهلك TRX للمعاملة البادئ.
5.2.3 الرسوم
TRON لا تفرض شبكة TRON عمومًا رسومًا على معظم المعاملات، وذلك بسبب النظام تتطلب القيود والعدالة واستخدام النطاق الترددي والمعاملات رسومًا معينة.
تنقسم رسوم الرسوم إلى الفئات التالية: 1. المعاملات العادية تكلف نقاط النطاق الترددي. يمكن للمستخدمين استخدام نقاط النطاق الترددي اليومية المجانية (5000) أو قم بتجميد TRX للحصول على المزيد. عندما لا تكون نقاط النطاق الترددي كافية، سيكون TRX كذلك تستخدم مباشرة من حساب الإرسال. TRX المطلوب هو عدد البايتات * 10 SUN. 2. العقود الذكية تكلف الطاقة (القسم 6)، ولكنها ستحتاج أيضًا إلى نقاط النطاق الترددي لـ سيتم بث الصفقة وتأكيدها. تكلفة عرض النطاق الترددي هي نفسها المذكورة أعلاه. 3. جميع معاملات الاستعلام مجانية. لا يكلف طاقة أو عرض النطاق الترددي.
كما تحدد شبكة TRON مجموعة من الرسوم الثابتة للمعاملات التالية: 1. إنشاء عقدة شاهد: 9999 TRX 2. إصدار TRC-10 token: 1024 TRX 3. إنشاء حساب جديد: 0.1 TRX 4. إنشاء زوج تبادل: 1024 TRX 5.2.4 المعاملة كدليل على الحصة (TaPoS)
TRON يستخدم TaPoS للتأكد من أن جميع المعاملات تؤكد blockchain الرئيسي أثناء إجرائها
من الصعب تزوير سلاسل مزيفة. في TaPoS، تتطلب الشبكات أن تتضمن كل معاملة جزءًا منها
hash لرأس الكتلة الأخير. يمنع هذا المتطلب إعادة تشغيل المعاملات
الشوكات لا تتضمن الكتلة المشار إليها، كما تشير أيضًا إلى الشبكة التي يستخدمها مستخدم معين والحصة على شوكة محددة. آلية الإجماع هذه تحمي الشبكة من الحرمان
الخدمة، 51%، التعدين الأناني، وهجمات الإنفاق المزدوج.
5.2.5 تأكيد المعاملة
يتم تضمين المعاملة في كتلة مستقبلية بعد بثها على الشبكة. بعد 19 كتل تم تعدينها على TRON (بما في ذلك الكتلة الخاصة بها)، تم تأكيد المعاملة. يتم إنتاج كل كتلة بواسطة أحد أفضل 27 ممثلًا متميزًا بطريقة روبن المستديرة. تستغرق كل كتلة حوالي 3 ثوانٍ يتم التعدين على blockchain. قد يختلف الوقت قليلاً لكل ممثل متميز بسبب الشبكة الظروف وتكوينات الجهاز. بشكل عام، تعتبر المعاملة مؤكدة بالكامل بعد ذلك ~1 دقيقة. 5.2.6 الهيكل
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
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 آلة افتراضية
6.1 مقدمة
TRON Virtual Machine (TVM) عبارة عن آلة افتراضية خفيفة الوزن ومتكاملة تم تطويرها من أجل النظام البيئي لـ TRON. هدفها هو توفير نظام blockchain مصمم خصيصًا وفعال، مريحة ومستقرة وآمنة وقابلة للتطوير.
تفرع TVM في البداية من EVM ويمكنه الاتصال بسلاسة مع الصلابة الموجودة smart contract 11 النظام البيئي للتنمية. وبناءً على ذلك، يدعم TVM أيضًا إجماع DPoS.
يستخدم TVM مفهوم الطاقة. تختلف عن آلية الغاز الموجودة في EVM، عمليات المعاملات وsmart contracts على TVM مجانية، ولا يتم استهلاك TRX. من الناحية الفنية، قابلة للتنفيذ سعة الحساب على TVM غير مقيدة بإجمالي مبلغ الاحتفاظ البالغ tokens. 6.2 سير العمل
يقوم المترجم أولاً بترجمة Solidity smart contract إلى رمز بايت قابل للقراءة والتنفيذ على TVM. يقوم TVM بعد ذلك بمعالجة البيانات من خلال كود التشغيل، وهو ما يعادل تشغيل المنطق من آلة الحالة المحدودة القائمة على المكدس. وأخيرًا، يصل TVM إلى بيانات blockchain ويستدعيها واجهة البيانات الخارجية من خلال طبقة التشغيل البيني. 11 EVM: Ethereum الجهاز الظاهري (https://github.com/ethereum/ethereumj)

الشكل 3: سير عمل TVM
6.3 الأداء 6.3.1 بنية خفيفة الوزن
تتبنى TVM بنية خفيفة الوزن بهدف تقليل استهلاك الموارد لضمان ذلك أداء النظام. 6.3.2 قوية
تكلف عمليات نقل TRX وتنفيذ smart contract نقاط النطاق الترددي فقط، بدلاً من TRX، والتي يعفي TRON من التعرض للهجوم. استهلاك النطاق الترددي يمكن التنبؤ به وثابت منذ كل منهما تم إصلاح تكلفة الخطوة الحسابية. 6.3.3 التوافق العالي
TVM متوافق مع EVM وسيكون متوافقًا مع المزيد من الأجهزة الافتراضية السائدة في المستقبل. وبالتالي، فإن جميع smart contracts الموجودة على EVM قابلة للتنفيذ على TVM. 6.3.4 التكلفة المنخفضة
نظرًا لإعداد النطاق الترددي لـ TVM، يتم تقليل تكاليف التطوير ويمكن للمطورين التركيز على التطوير المنطقي لرمز العقد الخاص بهم. تقدم TVM أيضًا واجهات الكل في واحد للتعاقد النشر والتشغيل والعرض لتوفير الراحة للمطورين.
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.
العقد الذكي
7.1 مقدمة
smart contract هو بروتوكول يتحقق رقميًا من التفاوض على العقد. يحددون القواعد و العقوبات المتعلقة بالاتفاق وكذلك تنفيذ تلك الالتزامات تلقائيًا. الذكية يعمل رمز العقد على تسهيل التفاوض أو تنفيذ اتفاقية ما أو تنفيذها والتحقق منها وإنفاذها معاملة. من منظور tokenالتحويل، تعمل smart contract أيضًا على تسهيل الأموال التلقائية يجب أن يتم استيفاء عمليات النقل بين الأطراف المشاركة بمعايير معينة.
TRON smart contracts مكتوبة بلغة Solidity. بمجرد كتابتها واختبارها، يمكن أن تكون كذلك تم تجميعها في رمز بايت، ثم نشرها على شبكة TRON للجهاز الظاهري TRON. مرة واحدة تم نشرها، ويمكن الاستعلام عن smart contracts عبر عناوين العقود الخاصة بهم. تطبيق العقد تُظهر الواجهة الثنائية (ABI) وظائف استدعاء العقد وتُستخدم للتفاعل مع شبكة. 7.2 نموذج الطاقة
الحد الأقصى للطاقة لنشر وتشغيل smart contract هو دالة متعددة المتغيرات:
● الطاقة الديناميكية من التجميد 1 TRX هي 50,000,000,000 (حد الطاقة الإجمالي) / (إجمالي الطاقة الوزن) ● حد الطاقة هو حد الطاقة اليومي للحساب من تجميد TRX ● يتم حساب الطاقة اليومية المتبقية في الحساب من تجميد TRX على أنها حد الطاقة - الطاقة مستعملة ● تم تعيين حد الرسوم في TRX في smart contract نشر/تشغيل المكالمة ● المتبقي من TRX القابل للاستخدام في الحساب ● الطاقة لكل TRX إذا تم شراؤها مباشرة (10 SUN = 1 طاقة) = 100,000، يمكن للSRs التصويت عليها التعديل
هناك سيناريوهان للاستهلاك لحساب الحد الأقصى للطاقة للنشر و
الزناد. يمكن التعبير عن المنطق على النحو التالي:
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 النشر
عندما يتم تجميع صلابة TRON smart contract، يقرأ الجهاز الظاهري TRON الملف المترجم bytecode. يتكون الرمز الثانوي من قسم لنشر التعليمات البرمجية، ورمز العقد، وAuxdata. Auxdata هي بصمة التشفير للكود المصدري، المستخدمة للتحقق. النشر يقوم bytecode بتشغيل وظيفة المُنشئ وإعداد متغيرات التخزين الأولية. النشر يقوم الكود أيضًا بحساب كود العقد وإعادته إلى TVM. ABI هو ملف JSON الذي يصف وظائف TRON smart contract. يحدد هذا الملف أسماء الوظائف، وسداد مستحقاتها، تقوم الدالة بإرجاع القيم وقابلية تغيير حالتها. 7.4 وظيفة الزناد
بمجرد نشر TRON smart contracts، يمكن تشغيل وظائفها بشكل فردي إما عبر TronStudio أو من خلال مكالمات API. تتطلب وظائف تغيير الحالة الطاقة بينما وظائف القراءة فقط تنفيذ بدون طاقة. 7.5 TRON الصلابة
TRON الصلابة هي شوكة من لغة الصلابة Ethereum. TRON يعدل المشروع الأصلي إلى دعم وحدات TRX وSUN (1 TRX = 1,000,000 SUN). بقية بناء جملة اللغة هو متوافق مع صلابة ^0.4.24. وبالتالي فإن جهاز Tron الظاهري (TVM) متوافق بنسبة 100% تقريبًا مع تعليمات 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.
رمز مميز
8.1 رمز TRC-10
في شبكة TRON، يمكن لكل حساب إصدار tokens على حساب 1024 TRX. لإصدار tokens، يحتاج المُصدر إلى تحديد اسم token، وإجمالي الرسملة، وسعر الصرف إلى TRX، مدة التداول، الوصف، الموقع الإلكتروني، الحد الأقصى لاستهلاك النطاق الترددي لكل حساب، الإجمالي استهلاك عرض النطاق الترددي، ومبلغ token المجمدة. يمكن أيضًا تكوين كل إصدار token الحد الأقصى اليومي لكل حساب token نقل نقاط النطاق الترددي، الحد الأقصى اليومي للشبكة بالكامل token نقل نقاط النطاق الترددي، وإجمالي token العرض، ومدة القفل بالأيام، والمبلغ الإجمالي من tokens مقفل. 8.2 رمز TRC-20
TRC-20 هو معيار فني يستخدم في تنفيذ smart contracts tokens المدعومة من قبل TRON آلة افتراضية. وهو متوافق تمامًا مع ERC-20.
الواجهة هي كما يلي:
عقد واجهة TRC20 {
وظيفة totalSupply() العوائد العامة الثابتة (uint);
الوظيفة رصيد(العنوان tokenالمالك) العوائد العامة الثابتة (uint
التوازن)؛
الوظيفة بدل (العنوان tokenالمالك، عنوان المنفق) عام ثابت
المرتجعات (uint المتبقية) ؛
وظيفة النقل (العنوان إلى، uint tokens) الإرجاعات العامة (نجاح منطقي)؛
وظيفة الموافقة (عنوان المنفق، uint tokens) الإرجاعات العامة (منطقي)
النجاح)؛
الوظيفة نقل من(العنوان من، العنوان إلى، uint tokens) عام
عوائد (نجاح منطقي) ؛
الحدث نقل(العنوان المفهرس من، العنوان المفهرس إلى، uint tokens)؛
الحدث الموافقة(العنوان مفهرس tokenالمالك، عنوان المنفق المفهرس، uint
tokens)؛ }
من وجهة نظر المطور، هناك العديد من الاختلافات بين TRC-10 وTRC-20. بعض من الاختلافات الرئيسية هي أن TRC-10 tokens يمكن الوصول إليها عن طريق واجهات برمجة التطبيقات وsmart contracts بينما تسمح TRC-20 tokens بتخصيص الواجهة ولكن لا يمكن الوصول إليها إلا في smart contracts.
من منظور التكلفة، فإن TRC-10 tokens لديها رسوم معاملات أقل بـ 1000 مرة من
TRC-20، ولكنها تحمل تكاليف عرض النطاق الترددي لعمليات نقل API والودائع. التحويلات والودائع في الذكية
تكلف عقود TRC-10 tokens كلاً من عرض النطاق الترددي والطاقة.
8.3 أبعد
نظرًا لأن TRON يستخدم نفس إصدار Solidity مثل Ethereum، فيمكن توفير المزيد من معايير token بسهولة تم النقل إلى 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.
الحكم
9.1 الممثل الفائق 9.1.1 عام
يمكن لكل حساب في شبكة TRON التقدم بطلب للحصول على فرصة أن يصبح عضوًا متميزًا ممثل (يشار إليه بـ SR). يمكن للجميع التصويت لمرشحي SR. أفضل 27 مرشحا مع سيصبح أكبر عدد من الأصوات ممثلين SR مع الحق والالتزام بإنشاء الكتل. الأصوات هي يتم حسابها كل 6 ساعات وسوف تتغير SR وفقًا لذلك.
لمنع الهجمات الضارة، هناك تكلفة لتصبح مرشحًا لـ SR. عند التقديم 9999 سيتم حرق TRX من حساب مقدم الطلب. بمجرد النجاح، يمكن لهذا الحساب الانضمام إلى SR الانتخابات. 9.1.2 الانتخابات
TRON القوة (المشار إليها بـ TP) مطلوبة للتصويت ويعتمد مقدار TP على صوت الناخب الأصول المجمدة (TRX).
يتم حساب TP بالطريقة التالية:
TP
تم تجميد 1 TRX للحصول على النطاق الترددي
1
=
يحق لكل حساب في شبكة TRON التصويت لممثليه الخاصين.
بعد الإصدار (إلغاء التجميد، متاح بعد 3 أيام)، لن يكون لدى المستخدمين أي أصول مجمدة وسيخسرون كل شيء TP وفقا لذلك. ونتيجة لذلك، تصبح جميع الأصوات غير صالحة لجولة التصويت الحالية والمستقبلية ما لم تم تجميد TRX مرة أخرى للتصويت.
لاحظ أن شبكة TRON تسجل فقط التصويت الأخير، مما يعني أن كل صوت جديد سوف يلغي جميع الأصوات السابقة. 9.1.3 المكافأة أ. مكافأة التصويت
تُعرف أيضًا باسم مكافأة المرشح، والتي يقوم أفضل 127 مرشحًا بتحديثها مرة واحدة في كل جولة (6
ساعات) ستشارك 115,200 TRX كما تم تعدينها. سيتم تقسيم المكافأة وفقًا لوزن التصويت
يحصل كل مرشح. في كل عام، سيكون إجمالي المكافأة للمرشحين 168,192,000 TRX.
إجمالي مكافأة التصويت لكل جولة
لماذا 115,200 TRX في كل جولة؟
15,00 تي آر إكس
إجمالي مكافأة التصويت لكل جولة (V R/جولة)
1
2
=
V R/جولة = 16 T RX/كتلة × 20 قطعة/دقيقة × 60 دقيقة/ساعة × 6 ساعات/جولة
ملاحظة: تم ضبط ذلك بواسطة WITNESS_STANDBY_ALLOWANCE = 115,200 TRX. انظر معلمات الشبكة الديناميكية.
إجمالي مكافأة التصويت في السنة
لماذا 168,192,000 TRX كل عام؟
168، 192، 000 T RX = إجمالي مكافأة التصويت سنويًا (V R / سنة)
V R/السنة = 115، 200 T RX/جولة × 4 جولات/يوم × 365 يومًا/سنة
ب. مكافأة الكتلة
تُعرف أيضًا باسم مكافأة الممثل المتميز، والتي يتم انتخاب أفضل 27 مرشحًا (SRs).
ستشارك كل جولة (6 ساعات) ما يقرب من 230,400 TRX كما تم تعدينها. سيتم تقسيم المكافأة بالتساوي
بين 27 SR (مطروحًا منها إجمالي كتل المكافآت المفقودة بسبب خطأ في الشبكة). ما مجموعه
سيتم منح 336,384,000 TRX سنويًا إلى 27 ريال سعودي.
إجمالي مكافأة الكتلة لكل جولة
لماذا 230,400 TRX في كل جولة؟
230، 400 T RX = إجمالي مكافأة الكتلة لكل جولة (BR/جولة)
BR/جولة = 32 طن RX/كتلة × 20 قطعة/دقيقة × 60 دقيقة/ساعة × 6 ساعات/جولة
ملاحظة: يتم تعيين مكافأة كتلة الوحدة بواسطة WITNESS_PAY_PER_BLOCK = 32 TRX. انظر الشبكة الديناميكية
المعلمات.
إجمالي مكافأة الكتلة سنويًا
لماذا 336,384,000 TRX كل عام؟
336، 384، 000 T RX = إجمالي مكافأة الكتلة سنويًا (BR / سنة)
BR/السنة = 230، 400 طن RX/جولة × 4 جولات/يوم × 365 يومًا/سنة
1 يناير 2021
لن يكون هناك تضخم في شبكة TRON قبل 1 يناير 2021، وسوف يكون TRON DAO
منح جميع مكافآت المجموعات ومكافآت المرشحين قبل ذلك التاريخ.
ج. حساب المكافأة
حساب مكافأة ريال سعودي
مكافأة إجمالية
مكافأة التصويت (V R)
مكافأة الكتلة (BR)
ر
=
+
ر
إجمالي VR
V
=
×
مجموع الأصوات
الأصوات التي حصل عليها مرشح SR
ر
غاب كتلة
2
ب
=
27
إجمالي BR -
× 3
ملحوظة: المكافأة تحتسب بالريال لكل جولة (6 ساعات)
المرتبة 28 إلى المرتبة 127 ريال حساب مكافأة المرشح مكافأة إجمالية مكافأة التصويت (V R) ر =
ر
إجمالي VR
V
=
×
مجموع الأصوات
الأصوات التي حصل عليها مرشح SR
ملاحظة: يتم احتساب المكافأة لكل مرشح SR في كل جولة (6 ساعات)
9.2 اللجنة
9.2.1 عام
يتم استخدام اللجنة لتعديل معلمات الشبكة الديناميكية TRON، مثل إنشاء الكتلة
المكافآت ورسوم المعاملات وما إلى ذلك. تتكون اللجنة من 27 ريالًا في الجولة الحالية. كل ريال
وله الحق في اقتراح المقترحات والتصويت عليها. عندما يحصل الاقتراح على 19 صوتًا أو أكثر، يتم ذلك
تمت الموافقة عليها وسيتم تطبيق معلمات الشبكة الجديدة في فترة الصيانة القادمة (3 أيام).
9.2.2 معلمات الشبكة الديناميكية
0.
MAINTENANCE_TIME_INTERVAL
أ.
الوصف
تعديل وقت الفاصل الزمني للصيانة بالمللي ثانية. المعروف باسم الفاصل الزمني للتصويت SR لكل
جولة.
ب.
مثال
[636001000] مللي ثانية - أي 6 ساعات.
ج.
النطاق
[3 * 27 * 1000، 24 * 3600 * 1000] مللي ثانية
1.
ACCOUNT_UPGRADE_COST
أ.
الوصف
تعديل تكلفة التقديم على حساب SR.
ب.
مثال
[9,999,000,000] الشمس - وهي 9,999 TRX.
ج.
النطاق
[0,100 000 000 000 000 000] الأحد
2.
CREATE_ACCOUNT_FEE
أ.
الوصف
تعديل رسوم إنشاء الحساب.ب.
مثال
[100.000] شمس - وهي 1 TRX.
ج.
النطاق
[0,100 000 000 000 000 000] الأحد
3.
رسوم المعاملة
أ.
الوصف
قم بتعديل مبلغ الرسوم المستخدمة للحصول على نطاق ترددي إضافي.
ب.
مثال
[10] شمس/بايت.
ج.
النطاق
[0,100 000 000 000 000 000] شمس/بايت
4.
ASSET_ISSUE_FEE
أ.
الوصف
تعديل رسوم إصدار الأصول.
ب.
مثال
[1024,000,000] صن - وهو 1024 TRX.
ج.
النطاق
[0,100 000 000 000 000 000] الأحد
5.
WITNESS_PAY_PER_BLOCK
أ.
الوصف
تعديل مكافأة إنشاء كتلة SR. المعروفة باسم مكافأة كتلة الوحدة.
ب.
مثال
[32,000,000] شمس - وهي 32 TRX.
ج.
النطاق
[0,100 000 000 000 000 000] الأحد
6.
WITNESS_STANDBY_ALLOWANCE
أ.
الوصف
تعديل المكافآت الممنوحة لأفضل 127 مرشحاً ريالاً. المعروفة باسم مكافأة التصويت الإجمالي
لكل جولة.
ب.
مثال
[115,200,000,000] شمس - وهي 115,200 TRX.
ج.
النطاق
[0,100 000 000 000 000 000] الأحد
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
أ.
الوصف
تعديل تكلفة إنشاء الحساب. قم بدمج معلمات الشبكة الديناميكية رقم 8 للحصول عليها
إجمالي تكلفة إنشاء الحساب:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
ج
× ج
ب. مثال [0] الشمس. ج. النطاق [0,100 000 000 000 000 000] الأحد 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
أ.
الوصف
تعديل تكلفة إنشاء الحساب. قم بدمج معلمات الشبكة الديناميكية رقم 7 للحصول عليها
إجمالي تكلفة إنشاء الحساب:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
ج
× ج
ب. مثال [1]. ج. النطاق [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS أ. الوصف لتشغيل جهاز Tron الظاهري (TVM). ب. مثال صحيح - تم ضبطه على التنشيط والتأثير منذ 10/10/2018 الساعة 23:47 بالتوقيت العالمي المنسق. ج. النطاق صحيح / خطأ 10. REMOVE_THE_POWER_OF_THE_GR أ. الوصف قم بإزالة أصوات نشأة GR الأولية ب. مثال صحيح - تم تفعيله في 11/4/2018 الساعة 08:46 بالتوقيت العالمي المنسق. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 11. رسوم الطاقة أ. الوصف تعديل رسوم 1 طاقة. ب. مثال 20 شمس. ج. النطاق [0,100 000 000 000 000 000] الأحد 12. تبادل_إنشاء_رسوم أ. الوصف تعديل تكلفة إنشاء زوج التداول. المعروفة باسم تكلفة إنشاء أمر تجاري. ب. مثال [1,024,000,000] SUN - وهي 1024 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 13. MAX_CPU_TIME_OF_ONE_TX أ. الوصف تعديل الحد الأقصى لوقت التنفيذ لمعاملة واحدة. المعروف باسم الحد الزمني ل معاملة واحدة. ب. مثال 50 مللي ثانية. ج. النطاق
[0، 1000] مللي ثانية
14. ALLOW_UPDATE_ACCOUNT_NAME
أ.
الوصف
قم بتعديل الخيار للسماح للحساب بتحديث اسم حسابه.
ب.
مثال
خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2.
ج.
النطاق
صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.
15. ALLOW_SAME_TOKEN_NAME
أ.
الوصف
قم بتعديل التحقق من السماح لـ token المختلفة بأن يكون لها اسم مكرر.
ب.
مثال
خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2.
ج.
النطاق
صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.
16. ALLOW_DELEGATE_RESOURCE
أ.
الوصف
قم بتعديل التحقق من السماح بإصدار token باسم مكرر، وبالتالي فإن
tokenID لـ token، في نوع بيانات عدد صحيح طويل، سيكون العنصر الذري الوحيد
تحديد token.
ب.
مثال
خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2.
ج.
النطاق
صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.
17. TOTAL_ENERGY_LIMIT
أ.
الوصف
تعديل حد الطاقة الإجمالي للشبكة بالكامل.
ب.
مثال
[50,000,000,000,000,000] SUN - وهي 50,000,000,000 TRX.
ج.
النطاق
[0,100,000,000,000,000,000] الشمس
18. ALLOW_TVM_TRANSFER_TRC10
أ.
الوصف
السماح بنقل TRC-10 token خلال smart contracts.
ALLOW_UPDATE_ACCOUNT_NAME، ALLOW_SAME_TOKEN_NAME،
يجب الموافقة على جميع المقترحات ALLOW_DELEGATE_RESOURCE قبل تقديم الاقتراح
تغيير هذه المعلمة.
ب.
مثال
خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2.
ج.
النطاق
صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.9.2.3 إنشاء الاقتراح
تتمتع حسابات SR فقط بالحق في اقتراح تغيير في معلمات الشبكة الديناميكية. 9.2.4 اقتراح التصويت
يمكن فقط لأعضاء اللجنة (SRs) التصويت لصالح الاقتراح والعضو الذي لا يصوت في الوقت المناسب سيتم اعتباره غير موافق. يكون الاقتراح نشطًا لمدة 3 أيام بعد إنشائه. يمكن التصويت يمكن تغييرها أو استرجاعها خلال نافذة التصويت لمدة 3 أيام. بمجرد انتهاء الفترة، سيتم الاقتراح إما أن تنجح (+19 صوتًا) أو تفشل (وتنتهي). 9.2.5 إلغاء الاقتراح
ويمكن لمقدم الطلب إلغاء الاقتراح قبل أن يصبح نافذا. 9.3 الهيكل
SRs هم شهود الكتل التي تم إنشاؤها حديثًا. يحتوي الشاهد على 8 معلمات:
1.
العنوان: عنوان هذا الشاهد – مثلاً. 0xu82h…7237.
2.
عدد الأصوات: عدد الأصوات المستلمة على هذا الشاهد - على سبيل المثال. 234234.
3.
pubKey: المفتاح العام لهذا الشاهد - على سبيل المثال. 0xu82h…7237.
4.
عنوان url: عنوان url لهذا الشاهد - على سبيل المثال. https://www.noonetrust.com.
5.
الإجمالي المُنتج: عدد الكتل التي أنتجها هذا الشاهد - على سبيل المثال. 2434.
6.
TotalMissed: عدد الكتل التي غاب عنها هذا الشاهد - على سبيل المثال. 7.
7.
lastBlockNum: أحدث ارتفاع للكتلة - على سبيل المثال. 4522.
8.
isjobs: علامة منطقية.
بنية بيانات البروتوبوف:
الرسالة الشاهد{
عنوان البايتات = 1؛
int64 عدد الأصوات = 2;
بايت pubKey = 3;
سلسلة رابط = 4؛
int64 TotalProduced = 5;
int64 TotalMissed = 6;
int64 lastBlockNum = 7;
bool isJobs = 8;
}
- تطوير التطبيقات اللامركزية 10.1 واجهات برمجة التطبيقات
توفر شبكة TRON مجموعة واسعة من أكثر من 60 بوابة HTTP API للتفاعل مع الشبكة عبر العقد الكاملة والصلبة. بالإضافة إلى ذلك، TronWeb هي مكتبة جافا سكريبت شاملة تحتوي على وظائف واجهة برمجة التطبيقات (API) التي تمكن المطورين من نشر smart contracts، وتغيير blockchain الحالة والاستعلام عن blockchain ومعلومات العقد والتداول في DEX وغير ذلك الكثير. هذه API يمكن توجيه البوابات نحو شبكة خاصة محلية، أو شبكة اختبار Shasta، أو TRON الشبكة الرئيسية.
10.2 الشبكات
TRON يحتوي على شبكة اختبار Shasta بالإضافة إلى الشبكة الرئيسية. يمكن للمطورين الاتصال بالشبكات عن طريق
نشر العقد أو التفاعل عبر TronStudio أو استخدام واجهات برمجة التطبيقات عبر خدمة TronGrid. ترونغريد
تتكون الخدمة من مجموعات عقدة متوازنة التحميل مستضافة على خوادم AWS في جميع أنحاء العالم. مثل التطبيق اللامركزي
مع زيادة حجم التطوير وزيادة حجم استدعاءات واجهة برمجة التطبيقات، نجحت TronGrid في تحقيق الزيادة في
حركة مرور واجهة برمجة التطبيقات.
10.3 الأدوات
يقدم TRON مجموعة من أدوات التطوير لتمكين المطورين من إنشاء تطبيقات لامركزية مبتكرة.
TronBox هو إطار عمل يسمح للمطورين باختبار ونشر smart contracts عبر TronWeb
واجهة برمجة التطبيقات. TronGrid عبارة عن خدمة API متوازنة ومستضافة تسمح للمطورين بالوصول إلى
TRON الشبكة دون الحاجة إلى تشغيل عقدة خاصة بها. يوفر TronGrid إمكانية الوصول إلى كل من Shasta
testnet بالإضافة إلى TRON Mainnet. TronStudio هو تطوير متكامل وشامل
البيئة (IDE) التي تمكن المطورين من تجميع ونشر وتصحيح برنامج Solidity الخاص بهم بطريقة ذكية
العقود. يحتوي TronStudio على عقدة داخلية كاملة تنشئ بيئة محلية خاصة لـ
smart contract الاختبار قبل النشر. تعمل مكتبة TronWeb API على توصيل المطورين بالشبكة
الشبكة عبر مجموعة واسعة من مكالمات HTTP API المغلفة في JavaScript.
10.4 الموارد
يعد مركز المطورين TRON موقعًا شاملاً لتوثيق واجهة برمجة التطبيقات (API) مصمم خصيصًا لـ 12 المطورين الراغبين في البناء على شبكة TRON. يوفر مركز المطور مستوى عال الفهم المفاهيمي لـ TRON ويرشد المستخدمين إلى تفاصيل التفاعل مع 12 مركز المطورين: https://developers.tron.network/
شبكة. ترشد الأدلة المطورين خلال عملية إعداد العقدة ونشرها والتفاعل معها
العقود، وتفاعل واجهة برمجة التطبيقات (API) وتنفيذها، وبناء نماذج من التطبيقات اللامركزية (DApps)، واستخدام كل منها
أدوات المطور. بالإضافة إلى ذلك، تتوفر قنوات مجتمع المطورين من خلال Discord.
13
13 الخلاف: https://discordapp.com/invite/GsRgsTD
- الاستنتاج
TRON هو حل blockchain قابل للتطوير يستخدم أساليب مبتكرة لمعالجة التحديات التي تواجهها شبكات blockchain القديمة. بعد أن وصل إلى أكثر من 2 مليون معاملة يوميًا، مع أكثر من 700 ألف حساب TRX، وتجاوز 2000 TPS، TRON مكن المجتمع من إنشاء شبكة لامركزية وديمقراطية.
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.