Buku Putih TRON
Introduction
1.1 Vision
TRON est un projet ambitieux dédié à la mise en place d'un Internet véritablement décentralisé et à ses
infrastructures. Le protocole TRON, l'un des plus grands systèmes d'exploitation basés sur blockchain au monde.
monde, offre une prise en charge publique blockchain d'un débit élevé, d'une évolutivité élevée et d'une haute disponibilité pour
toutes les applications décentralisées (DApps) de l'écosystème TRON. L'acquisition en juillet 2018 de
BitTorrent a encore consolidé le leadership de TRON dans la poursuite d'un écosystème décentralisé.
1.2 Contexte
L’introduction du Bitcoin en 2009 a révolutionné la perception qu’avait la société du secteur financier traditionnel. système à la suite de la Grande Récession (2007-2008). Comme les hedge funds centralisés et les banques effondré à cause de la spéculation sur des dérivés financiers opaques, la technologie blockchain a fourni un grand livre universel transparent à partir duquel chacun pourrait glaner des informations sur les transactions. Le les transactions ont été sécurisées cryptographiquement à l'aide d'un mécanisme de consensus Proof of Work (PoW), évitant ainsi les problèmes de double dépense.
Fin 2013, le livre blanc Ethereum proposait un réseau dans lequel des smart contract et un La machine virtuelle Turing-complete Ethereum (EVM) permettrait aux développeurs d'interagir avec le réseau via DApps. Cependant, alors que les volumes de transactions en Bitcoin et Ethereum ont culminé en 2017, il ressortait des faibles délais de traitement des transactions et des frais de transaction élevés que les crypto-monnaies comme Bitcoin et Ethereum dans leur état actuel n'étaient pas évolutives pour une utilisation généralisée. adoption. Ainsi, TRON a été fondée et envisagée comme une solution innovante à ces problèmes urgents. défis d’évolutivité.

1.3 Historique Le TRON DAO a été créé en juillet 2017 à Singapour. En décembre 2017, TRON avait a lancé son protocole open source. Le Testnet, Blockchain Explorer et Web Wallet étaient tous lancé en mars 2018. TRON Mainnet a été lancé peu de temps après en mai 2018, marquant le Sortie d'Odyssey 2.0 comme étape technique. En juin 2018, TRON a déclaré son indépendance avec la création du bloc Genesis, ainsi que l'acquisition de BitTorrent en juillet 2018. Dans En octobre 2018, TRON a lancé la machine virtuelle TRON (TVM), un ensemble complet d'outils pour les développeurs, et système de support 360. La feuille de route TRON consiste à combiner les 100 millions d’utilisateurs de BitTorrent avec le réseau TRON via Project Atlas, ainsi qu'en encourageant la communauté des développeurs à lancer de nouvelles DApp passionnantes sur le réseau TRON1. 1 V1.0 est disponible à https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 Terminologie
Adresse/portefeuille Une adresse ou un portefeuille composé d'identifiants de compte sur le réseau TRON est généré par un paire de clés, composée d'une clé privée et d'une clé publique, cette dernière étant dérivée de la première grâce à un algorithme. La clé publique est généralement utilisée pour le chiffrement de la clé de session, la signature vérification et cryptage des données qui pourraient être déchiffrées par une clé privée correspondante.
IBI Une interface binaire d'application (ABI) est une interface entre deux modules de programme binaires ; habituellement l'un de ces modules est une bibliothèque ou une fonctionnalité du système d'exploitation, et l'autre est un module exécuté par l'utilisateur. programme.
API Une interface de programmation d'application (API) est principalement utilisée pour le développement des clients utilisateurs. Avec API support, les plateformes d'émission token peuvent également être conçues par les développeurs eux-mêmes.
Actif Dans les documents de TRON, l'actif est le même que token, qui est également désigné par TRC-10 token.
Points de bande passante (BP) Pour assurer le bon fonctionnement du réseau, les transactions du réseau TRON utilisent BP comme carburant. Chaque compte obtient 5 000 BP quotidiens gratuits et davantage peut être obtenu en gelant TRX pour BP. TRX et TRC-10 Les transferts token sont des transactions normales coûtant à BP. Déploiement et exécution de contrats intelligents les transactions consomment à la fois du BP et de l’énergie.
Bloquer Les blocs contiennent les enregistrements numériques des transactions. Un bloc complet est constitué du nombre magique, taille de bloc, en-tête de bloc, compteur de transactions et données de transaction.
Bloquer la récompense Les récompenses de production de blocs sont envoyées sur un sous-compte (adresse/portefeuille). Les super représentants peuvent réclamez leurs récompenses sur Tronscan ou directement via l'API.
En-tête de bloc Un en-tête de bloc fait partie d'un bloc. Les en-têtes de bloc TRON contiennent le hash du bloc précédent, le Racine Merkle, horodatage, version et adresse du témoin.Portefeuille froid Le portefeuille froid, également appelé portefeuille hors ligne, maintient la clé privée complètement déconnectée de tout réseau. Les portefeuilles froids sont généralement installés sur des appareils « froids » (par exemple des ordinateurs ou des téléphones portables). rester hors ligne) pour assurer la sécurité de la clé privée TRX.
DApp Une application décentralisée est une application qui fonctionne sans partie de confiance centrale. Une candidature qui permet une interaction/des accords/une communication directe entre les utilisateurs finaux et/ou les ressources sans intermédiaire.
gRPC gRPC (gRPC Remote Procedure Calls) est un système d'appel de procédure à distance (RPC) open source 2 initialement développé chez Google. Il utilise HTTP/2 pour le transport, Protocol Buffers comme interface langage de description et fournit des fonctionnalités telles que l'authentification, le streaming bidirectionnel et le flux contrôle, liaisons bloquantes ou non bloquantes, annulation et délais d'attente. Il génère liaisons client et serveur multiplateformes pour de nombreuses langues. Scénarios d'utilisation les plus courants inclure des services de connexion dans une architecture de style microservices et la connexion d'appareils mobiles, et clients de navigateur vers les services backend.
Portefeuille chaud Le portefeuille chaud, également connu sous le nom de portefeuille en ligne, permet d'utiliser la clé privée de l'utilisateur en ligne. sensibles aux vulnérabilités potentielles ou à l’interception par des acteurs malveillants.
JDK Java Development Kit est le SDK Java utilisé pour les applications Java. C'est le cœur de Java développement, comprenant l'environnement d'application Java (bibliothèque de classes JVM+Java) et Java outils.
KhaosDB TRON a une KhaosDB dans la mémoire complète du nœud qui peut stocker toutes les chaînes nouvellement créées générées dans un certain laps de temps et aide les témoins à quitter rapidement leur propre chaîne active dans une nouvelle chaîne principale. Voir 2.2.2 Stockage d'état pour plus de détails.
NiveauDB LevelDB a été initialement adopté dans le but principal de répondre aux exigences de R/W rapide et de développement. Après avoir lancé le Mainnet, TRON a mis à niveau sa base de données vers une base de données entièrement personnalisée on répondait à ses propres besoins. Voir 2.2.1 Stockage Blockchain pour plus de détails.
Racine de Merkle Une racine Merkle est le hash de tous les hash de toutes les transactions incluses dans le cadre d'un bloc dans un blockchain. réseau. Voir 3.1 Preuve de participation déléguée (DPoS) pour plus de détails. 2 https://en.wikipedia.org/wiki/GRPC

Réseau de test public (Shasta) Une version du réseau fonctionnant dans une configuration à nœud unique. Les développeurs peuvent se connecter et tester fonctionnalités sans se soucier de la perte économique. Les token Testnet n'ont aucune valeur et tout le monde peut demandez plus au robinet public.
RPC
3
En informatique distribuée, un appel de procédure à distance (RPC) se produit lorsqu'un programme informatique provoque un
procédure (sous-programme) à exécuter dans un espace d’adressage différent (généralement sur un autre ordinateur sur
un réseau partagé), qui est codé comme s'il s'agissait d'un appel de procédure normal (local), sans le
programmeur codant explicitement les détails de l’interaction à distance.
Évolutivité L'évolutivité est une fonctionnalité du protocole TRON. C'est la capacité d'un système, d'un réseau ou d'un processus à gérer une quantité croissante de travail ou son potentiel d’être élargi pour s’adapter à cette croissance.
SOLEIL SUN a remplacé drop en tant que plus petite unité de TRX. 1 TRX = 1 000 000 SOLEIL.
Débit Le débit élevé est une fonctionnalité du réseau principal TRON. Il est mesuré en transactions par seconde (TPS), à savoir la capacité maximale de transaction en une seconde.
Horodatage L'heure approximative de production du bloc est enregistrée sous forme d'horodatage Unix, qui correspond au nombre de millisecondes écoulées depuis 00:00:00 le 1er janvier 1970 UTC.
CTK Configuration du jeton.
TRC-10 Un standard de crypto token sur la plateforme TRON. Certaines règles et interfaces doivent être respectées lors de la détention d'une offre initiale de pièces le TRON blockchain.
TRX TRX signifie Tronix, qui est la crypto-monnaie officielle de TRON.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
Perkenalan
1.1 Visi
TRON adalah proyek ambisius yang didedikasikan untuk pembentukan Internet yang benar-benar terdesentralisasi dan teknologinya
infrastruktur. Protokol TRON, salah satu sistem operasi berbasis blockchain terbesar di dunia
dunia, menawarkan dukungan blockchain publik dengan throughput tinggi, skalabilitas tinggi, dan ketersediaan tinggi untuk
semua Aplikasi Terdesentralisasi (DApps) di ekosistem TRON. Akuisisi Juli 2018 atas
BitTorrent semakin mengukuhkan kepemimpinan TRON dalam mewujudkan ekosistem terdesentralisasi.
1.2 Latar Belakang
Pengenalan Bitcoin pada tahun 2009 merevolusi persepsi masyarakat terhadap keuangan tradisional sistem setelah Resesi Hebat (2007-2008). Seperti dana lindung nilai terpusat dan bank runtuh karena spekulasi derivatif keuangan yang tidak jelas, blockchain teknologi menyediakan a buku besar universal yang transparan dimana siapa pun dapat memperoleh informasi transaksi. Itu transaksi diamankan secara kriptografis menggunakan mekanisme konsensus Proof of Work (PoW), sehingga mencegah masalah pembelanjaan ganda.
Pada akhir tahun 2013, buku putih Ethereum mengusulkan jaringan di mana smart contracts dan a Mesin Virtual Ethereum Turing-complete (EVM) akan memungkinkan pengembang untuk berinteraksi dengan jaringan melalui DApps. Namun, karena volume transaksi pada Bitcoin dan Ethereum mencapai puncaknya pada tahun 2017, Hal ini terlihat dari rendahnya waktu proses transaksi dan tingginya biaya transaksi mata uang kripto seperti Bitcoin dan Ethereum dalam kondisi saat ini tidak dapat diskalakan untuk digunakan secara luas adopsi. Oleh karena itu, TRON didirikan dan diharapkan sebagai solusi inovatif untuk permasalahan mendesak ini tantangan skalabilitas.

1.3 Sejarah TRON DAO didirikan pada Juli 2017 di Singapura. Pada bulan Desember 2017, TRON telah meluncurkan protokol sumber terbukanya. Testnet, Blockchain Explorer, dan Web Wallet semuanya diluncurkan pada bulan Maret 2018. TRON Mainnet diluncurkan segera setelahnya pada bulan Mei 2018, menandai Rilis Odyssey 2.0 sebagai tonggak teknis. Pada bulan Juni 2018, TRON mendeklarasikan kemerdekaannya dengan pembuatan blok Genesis, bersamaan dengan akuisisi BitTorrent pada Juli 2018. Di Oktober 2018, TRON meluncurkan TRON Mesin Virtual (TVM), perangkat pengembang yang lengkap, dan sistem pendukung 360. Peta jalan TRON melibatkan penggabungan 100 juta pengguna BitTorrent dengan jaringan TRON melalui Project Atlas, serta membina komunitas pengembang untuk meluncurkan DApps baru yang menarik di jaringan TRON1. 1 V1.0 tersedia di https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 Terminologi
Alamat/Dompet Alamat atau dompet yang berisi kredensial akun di jaringan TRON dihasilkan oleh a pasangan kunci, yang terdiri dari kunci privat dan kunci publik, yang terakhir berasal dari kunci publik melalui suatu algoritma. Kunci publik biasanya digunakan untuk enkripsi kunci sesi, tanda tangan verifikasi, dan mengenkripsi data yang dapat didekripsi dengan kunci pribadi yang sesuai.
ABI Antarmuka biner aplikasi (ABI) adalah antarmuka antara dua modul program biner; biasanya salah satu modul ini adalah perpustakaan atau fasilitas sistem operasi, dan yang lainnya dijalankan oleh pengguna program.
API Antarmuka pemrograman aplikasi (API) terutama digunakan untuk pengembangan klien pengguna. Dengan API dukungan, platform penerbitan token juga dapat dirancang oleh pengembang sendiri.
Aset Dalam dokumen TRON, aset sama dengan token, yang juga dinotasikan sebagai TRC-10 token.
Titik Bandwidth (BP) Agar jaringan tetap beroperasi dengan lancar, TRON transaksi jaringan menggunakan BP sebagai bahan bakarnya. Setiap akun mendapat 5000 BP harian gratis dan lebih banyak lagi dapat diperoleh dengan membekukan TRX untuk BP. Baik TRX maupun TRC-10 token transfer adalah transaksi normal yang dikenakan biaya BP. Penerapan dan eksekusi kontrak cerdas transaksi mengkonsumsi BP dan Energi.
Blokir Blok berisi catatan digital transaksi. Satu blok lengkap terdiri dari angka ajaib, ukuran blok, header blok, penghitung transaksi, dan data transaksi.
Blokir Hadiah Hadiah produksi blok dikirim ke sub-akun (alamat/dompet). Perwakilan Super bisa klaim hadiahnya di Tronscan atau melalui API secara langsung.
Blokir Tajuk Header blok adalah bagian dari sebuah blok. TRON header blok berisi hash blok sebelumnya, Merkle root, stempel waktu, versi, dan alamat saksi.Dompet Dingin Dompet dingin, juga dikenal sebagai dompet offline, menjaga kunci pribadi tetap terputus dari siapa pun jaringan. Dompet dingin biasanya dipasang pada perangkat "dingin" (misalnya komputer atau ponsel tetap offline) untuk memastikan keamanan kunci pribadi TRX.
DApp Aplikasi Terdesentralisasi adalah Aplikasi yang beroperasi tanpa pihak yang dipercaya secara terpusat. Sebuah aplikasi yang memungkinkan interaksi/kesepakatan/komunikasi langsung antara pengguna akhir dan/atau sumber daya tanpa perantara.
gRPC gRPC (Panggilan Prosedur Jarak Jauh gRPC) adalah sistem panggilan prosedur jarak jauh (RPC) sumber terbuka 2 awalnya dikembangkan di Google. Ia menggunakan HTTP/2 untuk transportasi, Protocol Buffer sebagai antarmuka bahasa deskripsi, dan menyediakan fitur seperti otentikasi, streaming dan aliran dua arah kontrol, pengikatan pemblokiran atau non-pemblokiran, serta pembatalan dan batas waktu. Ini menghasilkan pengikatan klien dan server lintas platform untuk banyak bahasa. Skenario penggunaan paling umum termasuk menghubungkan layanan dalam arsitektur gaya layanan mikro dan menghubungkan perangkat seluler, dan klien browser ke layanan backend.
Dompet Panas Dompet panas, juga dikenal sebagai dompet online, memungkinkan kunci pribadi pengguna untuk digunakan secara online, sehingga bisa saja digunakan rentan terhadap potensi kerentanan atau intersepsi oleh aktor jahat.
JDK Java Development Kit adalah Java SDK yang digunakan untuk aplikasi Java. Ini adalah inti dari Jawa pengembangan, terdiri dari lingkungan aplikasi Java (perpustakaan kelas JVM+Java) dan Java alat.
KhaosDB TRON memiliki KhaosDB di memori node penuh yang dapat menyimpan semua rantai bercabang yang baru dihasilkan dalam jangka waktu tertentu dan mendukung saksi untuk beralih dari rantai aktifnya dengan cepat menjadi rantai utama yang baru. Lihat 2.2.2 Penyimpanan Status untuk lebih jelasnya.
TingkatDB LevelDB awalnya diadopsi dengan tujuan utama untuk memenuhi persyaratan R/W yang cepat dan cepat pengembangan. Setelah meluncurkan Mainnet, TRON meningkatkan basis datanya menjadi sepenuhnya disesuaikan seseorang memenuhi kebutuhannya sendiri. Lihat 2.2.1 Penyimpanan Blockchain untuk lebih jelasnya.
Akar Merkle Akar Merkle adalah hash dari semua hashes dari semua transaksi yang dimasukkan sebagai bagian dari blok dalam blockchain jaringan. Lihat 3.1 Bukti Kepemilikan yang Didelegasikan (DPoS) untuk rincian lebih lanjut. 2 https://en.wikipedia.org/wiki/GRPC

Testnet Publik (Shasta) Versi jaringan yang berjalan dalam konfigurasi node tunggal. Pengembang dapat terhubung dan menguji fitur tanpa khawatir tentang kerugian ekonomi. Testnet tokens tidak memiliki nilai dan siapa pun bisa meminta lebih banyak dari faucet publik.
RPC
3
Dalam komputasi terdistribusi, panggilan prosedur jarak jauh (RPC) adalah ketika program komputer menyebabkan a
prosedur (subrutin) untuk dieksekusi di ruang alamat yang berbeda (biasanya di komputer lain di
jaringan bersama), yang diberi kode seolah-olah itu adalah panggilan prosedur normal (lokal), tanpa
programmer secara eksplisit mengkodekan detail untuk interaksi jarak jauh.
Skalabilitas Skalabilitas adalah fitur Protokol TRON. Ini adalah kemampuan suatu sistem, jaringan, atau proses untuk menangani peningkatan jumlah pekerjaan atau potensinya untuk diperluas guna mengakomodasi pertumbuhan tersebut.
MATAHARI SUN menggantikan drop sebagai unit terkecil TRX. 1 TRX = 1.000.000 MATAHARI.
Hasil Throughput tinggi adalah fitur TRON Mainnet. Diukur dalam Transaksi Per Detik (TPS), yaitu kapasitas transaksi maksimal dalam satu detik.
Stempel waktu Perkiraan waktu produksi blok dicatat sebagai stempel waktu Unix, yang merupakan jumlah milidetik yang telah berlalu sejak 00:00:00 01 Jan 1970 UTC.
TKC Konfigurasi token.
KKR-10 Standar kripto token pada platform TRON. Aturan dan antarmuka tertentu harus diikuti saat mengadakan penawaran koin perdana pada TRON blockchain.
TRX TRX adalah singkatan dari Tronix, yang merupakan mata uang kripto resmi TRON.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
Architecture
TRON adopte une architecture à 3 couches divisée en couche de stockage, couche principale et couche d'application. Le protocole TRON adhère à Google Protobuf, qui prend intrinsèquement en charge le multilingue prolongation.

Figure 1 : TRON Architecture à 3 couches
2.1 Noyau
Il existe plusieurs modules dans la couche principale, notamment smart contracts, la gestion des comptes et consensus. Une machine virtuelle basée sur une pile est implémentée sur TRON et une instruction optimisée l’ensemble est utilisé. Afin de mieux accompagner les développeurs DApp, Solidity a été choisi comme smart contract 4 langue, suivie par la prise en charge future d'autres langues avancées. De plus, le consensus de TRON Le mécanisme est basé sur la preuve de participation déléguée (DPoS) et de nombreuses innovations ont été apportées en afin de répondre à ses exigences uniques. 2.2 Stockage
TRON a conçu un protocole de stockage distribué unique composé de stockage par blocs et d'état Stockage. La notion de base de données graphes a été introduite dans la conception de la couche de stockage pour mieux répondre au besoin de stockage de données diversifié dans le monde réel. 2.2.1 Stockage blockchain
TRON blockchain Storage choisit d'utiliser LevelDB, développé par Google et éprouvé avec succès auprès de nombreuses entreprises et projets. Il a des performances élevées et prend en charge les octets arbitraires tableaux comme clés et valeurs, obtention, mise et suppression singulières, mise et suppression par lots, bidirectionnel itérateurs et compression simple utilisant l'algorithme Snappy très rapide. 2.2.2 Stockage d'état
TRON a une KhaosDB dans la mémoire complète du nœud qui peut stocker toutes les chaînes nouvellement fourchues générées dans un certain laps de temps et aide les témoins à quitter rapidement leur propre chaîne active dans une nouvelle chaîne principale. Il peut également protéger le stockage blockchain en le rendant plus stable contre les se terminant anormalement dans un état intermédiaire. 2.3 Demande
Les développeurs peuvent créer une gamme diversifiée de DApps et de portefeuilles personnalisés sur TRON. Depuis TRON permet aux smart contract d'être déployés et exécutés, les opportunités des applications utilitaires sont illimité. 4 Documentation officielle Solidité : https://solidity.readthedocs.io/
2.4 Protocole
Le protocole TRON adhère à Google Protocol Buffers , qui est neutre en termes de langage, de plate-forme, 5 et extensible de sérialiser des données structurées pour une utilisation dans les protocoles de communication, le stockage de données, et plus encore. 2.4.1 Tampons de protocole
Protocol Buffers (Protobuf) est un mécanisme flexible, efficace et automatisé pour la sérialisation structurée données, similaires à JSON ou XML, mais beaucoup plus petites, plus rapides et plus simples.
Les définitions Protobuf (.proto) peuvent être utilisées pour générer du code pour C++, Java, C#, Python, Ruby, Golang et Objective-C via les générateurs de code officiels. Divers tiers des implémentations sont également disponibles pour de nombreux autres langages. Protobuf facilite le développement de clients en unifiant les définitions des API et en optimisant également les transferts de données. Les clients peuvent utiliser l'API .proto du référentiel de protocoles de TRON et intégré via le code généré automatiquement bibliothèques.
À titre de comparaison, les tampons de protocole sont 3 à 10 fois plus petits et 20 à 100 fois plus rapides que XML, avec une syntaxe moins ambiguë. Protobuf génère des classes d'accès aux données plus faciles à utiliser par programmation. 2.4.2 HTTP
Le protocole TRON fournit une alternative à l'API HTTP RESTful à l'API Protobuf. Ils partagent la même chose interface mais l'API HTTP peut être facilement utilisée dans les clients javascript. 2.5 TRON Machine virtuelle (TVM)
Le TVM est une machine virtuelle complète et légère de Turing développée pour l'écosystème de TRON. Le
TVM se connecte de manière transparente à l'écosystème de développement existant pour fournir des millions de
développeurs avec un système blockchain personnalisé qui est efficace, pratique, stable, sécurisé et
évolutif.
2.6 Échange décentralisé (DEX)
5 Documentation officielle des tampons de protocole Google : https://developers.google.com/protocol-buffers/Le réseau TRON supporte nativement les fonctions d'échange décentralisées. Un échange décentralisé se compose de plusieurs paires de trading. Une paire de trading (notation « Exchange ») est un marché d'échange entre des TRC-10 token, ou entre un TRC-10 token et un TRX. N'importe quel compte peut créer un trading paire entre n’importe quel token, même si la même paire existe déjà sur le réseau TRON. Commerce et les fluctuations de prix des paires de trading suivent le protocole Bancor. Le réseau TRON stipule que 6 les poids des deux token dans toutes les paires de trading sont égaux, donc le rapport de leurs soldes est le prix entre eux. Par exemple, considérons une paire de trading contenant deux token, ABC et DEF. ABC a un solde de 10 millions et DEF a un solde de 1 million. Puisque leurs poids sont égaux, 10 ABC = 1 DÉF. Cela signifie que le rapport ABC/DEF est de 10 ABC par DEF. 2.7 Mise en œuvre
Le code TRON blockchain est implémenté en Java et était à l'origine un fork de EthereumJ.
6 Site officiel du Protocole Bancor : https://about.bancor.network/protocol/
Arsitektur
TRON mengadopsi arsitektur 3 lapisan yang dibagi menjadi Lapisan Penyimpanan, Lapisan Inti, dan Lapisan Aplikasi. Protokol TRON mematuhi Google Protobuf, yang secara intrinsik mendukung multi-bahasa ekstensi.

Gambar 1: TRON Arsitektur 3 Lapisan
2.1 Inti
Ada beberapa modul di lapisan inti, termasuk smart contracts, manajemen akun, dan konsensus. Mesin virtual berbasis tumpukan diimplementasikan pada TRON dan instruksi yang dioptimalkan set digunakan. Untuk lebih mendukung pengembang DApp, Solidity dipilih sebagai smart contract 4 bahasa, diikuti dengan dukungan masa depan untuk bahasa tingkat lanjut lainnya. Selain itu, konsensus TRON mekanismenya didasarkan pada Delegated Proof of Stake (DPoS) dan banyak inovasi yang dilakukan dalam untuk memenuhi persyaratan uniknya. 2.2 Penyimpanan
TRON merancang protokol penyimpanan terdistribusi unik yang terdiri dari Block Storage dan State Penyimpanan. Gagasan tentang database grafik diperkenalkan ke dalam desain lapisan penyimpanan untuk lebih baik memenuhi kebutuhan penyimpanan data yang terdiversifikasi di dunia nyata. 2.2.1 Penyimpanan Blockchain
Penyimpanan TRON blockchain memilih menggunakan LevelDB, yang dikembangkan oleh Google dan terbukti sukses dengan banyak perusahaan dan proyek. Ini memiliki kinerja tinggi dan mendukung byte sewenang-wenang array sebagai kunci dan nilai, pengambilan tunggal, penempatan dan penghapusan, penempatan dan penghapusan batch, dua arah iterator, dan kompresi sederhana menggunakan algoritma Snappy yang sangat cepat. 2.2.2 Penyimpanan Negara
TRON memiliki KhaosDB di memori node penuh yang dapat menyimpan semua rantai bercabang yang baru dihasilkan dalam jangka waktu tertentu dan mendukung saksi untuk beralih dari rantai aktifnya dengan cepat menjadi rantai utama yang baru. Ini juga dapat melindungi penyimpanan blockchain dengan membuatnya lebih stabil berakhir secara tidak normal dalam keadaan peralihan. 2.3 Aplikasi
Pengembang dapat membuat beragam DApps dan dompet khusus di TRON. Sejak TRON memungkinkan smart contracts untuk dikerahkan dan dijalankan, peluang aplikasi utilitas adalah tidak terbatas. 4 Dokumentasi resmi soliditas: https://solidity.readthedocs.io/
2.4 Protokol
Protokol TRON mematuhi Google Protocol Buffer , yang netral bahasa, netral platform, 5 dan cara yang dapat diperluas untuk membuat serialisasi data terstruktur untuk digunakan dalam protokol komunikasi, penyimpanan data, dan banyak lagi. 2.4.1 Buffer Protokol
Protocol Buffers (Protobuf) adalah mekanisme otomatis yang fleksibel, efisien untuk membuat serialisasi terstruktur data, mirip dengan JSON atau XML, tetapi jauh lebih kecil, lebih cepat, dan sederhana.
Definisi Protobuf (.proto) dapat digunakan untuk menghasilkan kode untuk C++, Java, C#, Python, Ruby, Bahasa Golang, dan Objective-C melalui generator kode resmi. Berbagai pihak ketiga implementasi juga tersedia untuk banyak bahasa lainnya. Protobuf memudahkan pengembangan klien dengan menyatukan definisi API dan juga mengoptimalkan transfer data. Klien dapat mengambil API .proto dari repositori protokol TRON dan berintegrasi melalui kode yang dibuat secara otomatis perpustakaan.
Sebagai perbandingan, Protocol Buffer berukuran 3 hingga 10 kali lebih kecil dan 20 hingga 100 kali lebih cepat dibandingkan XML, dengan sintaksis yang tidak terlalu ambigu. Protobuf menghasilkan kelas akses data yang lebih mudah digunakan secara terprogram. 2.4.2 HTTP
TRON Protokol menyediakan alternatif API HTTP RESTful untuk API Protobuf. Mereka berbagi hal yang sama antarmuka tetapi HTTP API dapat dengan mudah digunakan di klien javascript. 2.5 TRON Mesin Virtual (TVM)
TVM adalah mesin virtual lengkap Turing yang ringan dan dikembangkan untuk ekosistem TRON. Itu
TVM terhubung secara mulus dengan ekosistem pengembangan yang ada untuk menyediakan kebutuhan bagi jutaan orang di seluruh dunia
pengembang dengan sistem blockchain yang dibuat khusus yang efisien, nyaman, stabil, aman, dan
terukur.
2.6 Pertukaran Terdesentralisasi (DEX)
5 dokumentasi resmi Buffer Protokol Google: https://developers.google.com/protocol-buffers/Jaringan TRON secara asli mendukung fungsi pertukaran yang terdesentralisasi. Pertukaran yang terdesentralisasi terdiri dari beberapa pasangan perdagangan. Pasangan dagang (notasi “Bursa”) adalah Pasar Bursa antara TRC-10 tokens, atau antara TRC-10 token dan TRX. Akun mana pun dapat membuat perdagangan berpasangan di antara token mana pun, meskipun pasangan yang sama sudah ada di jaringan TRON. Perdagangan dan fluktuasi harga pasangan dagang mengikuti Protokol Bancor. Jaringan TRON menetapkan hal itu 6 bobot kedua token di semua pasangan dagang adalah sama, jadi rasio saldonya adalah harga di antara mereka. Misalnya, pertimbangkan pasangan perdagangan yang berisi dua token, ABC dan DEF. ABC punya saldo 10 juta dan DEF saldo 1 juta. Karena bobotnya sama, 10 ABC = 1 DEF. Artinya perbandingan ABC terhadap DEF adalah 10 ABC per DEF. 2.7 Implementasi
Kode TRON blockchain diimplementasikan di Java dan awalnya merupakan cabang dari EthereumJ.
6 Situs resmi Protokol Bancor: https://about.bancor.network/protocol/
Consensus
3.1 Preuve de participation déléguée (DPoS)
Le mécanisme de consensus le plus ancien est le mécanisme de consensus Proof of Work (PoW). Ceci Le protocole est actuellement implémenté dans Bitcoin et Ethereum . Dans les systèmes PoW, les transactions 7 8 diffusés à travers le réseau sont regroupés en blocs naissants pour confirmation par le mineur. Le Le processus de confirmation implique de hashing transactions à l'aide d'algorithmes cryptographiques hashing jusqu'à ce qu'un La racine Merkle a été atteinte, créant un arbre Merkle :
Figure 2 : 8 transactions TRX sont hashed dans la racine merkle. Cette racine merkle est ensuite incluse dans l'en-tête du bloc, qui est attaché aux blocs précédemment confirmés pour former un blockchain. Cela permet un suivi facile et transparent de transactions, horodatages et autres informations connexes.
7 Livre blanc Bitcoin : https://bitcoin.org/bitcoin.pdf 8 Livre blanc Ethereum : https://github.com/ethereum/wiki/wiki/White-Paper
Les algorithmes cryptographiques hashing sont utiles dans la prévention des attaques réseau car ils possèdent
plusieurs propriétés :
9
●
Taille de la longueur d'entrée/sortie - L'algorithme peut transmettre une entrée de n'importe quelle longueur, et
génère une valeur hash de longueur fixe.
●
Efficacité - L'algorithme est relativement simple et rapide à calculer.
●
Résistance de préimage - Pour une sortie z donnée, il est impossible de trouver une entrée x telle que
h(x) = z. En d’autres termes, l’algorithme hashing h(x) est une fonction unidirectionnelle dans laquelle seul le
la sortie peut être trouvée, étant donné une entrée. L’inverse n’est pas possible.
●
Résistance aux collisions - Il est informatiquement impossible de trouver des paires x1 ≠ x2 telles que h(x1)
= h(x2). En d’autres termes, la probabilité de trouver deux entrées différentes hash au même
le rendement est extrêmement faible. Cette propriété implique également une résistance à la seconde préimage.
●
Résistance de la deuxième pré-image - Étant donné x1, et donc h(x1), il est informatiquement impossible de
trouver n'importe quel x2 tel que h(x1) = h(x2). Bien que cette propriété soit similaire à la résistance aux collisions, la
la propriété diffère en ce sens qu'elle signifie qu'un attaquant avec un x1 donné le trouvera par calcul
impossible de trouver un x2 hash sur la même sortie.
●
Déterministe - mappe chaque entrée sur une et une seule sortie.
●
Effet Avalanche - un petit changement dans l'entrée entraîne une sortie entièrement différente.
Ces propriétés confèrent au réseau de crypto-monnaie sa valeur intrinsèque en garantissant que les attaques ne compromettre le réseau. Lorsque les mineurs confirment un blocage, ils sont récompensés par des token sous forme de récompense intégrée. incitation à la participation au réseau. Cependant, comme la capitalisation boursière mondiale des cryptomonnaies En constante augmentation, les mineurs se sont centralisés et ont concentré leurs ressources informatiques sur thésauriser les token en tant qu'actifs, plutôt qu'à des fins de participation au réseau. Les mineurs de CPU ont cédé la place à Les GPU, qui à leur tour ont cédé la place aux puissants ASIC. Dans une étude notable, la puissance totale la consommation de l’exploitation minière Bitcoin a été estimée à 3 GW, comparable à celle de l’Irlande. 10 consommation d'énergie. Cette même étude prévoyait que la consommation totale d'énergie atteindrait 8 GW à court terme. futur.
Pour résoudre le problème du gaspillage énergétique, le mécanisme de consensus Proof of Stake (PoS) a été proposé par de nombreux nouveaux réseaux. Dans les réseaux PoS, les détenteurs de token verrouillent leurs soldes token pour devenir des blocs validators. Les validator proposent et votent à tour de rôle sur le bloc suivant. Cependant, le problème avec le PoS standard, l'influence de validator est directement corrélée au nombre de token bloqués. Cela conduit les parties à thésauriser de grandes quantités de la monnaie de base du réseau et à les utiliser de manière injustifiée. influence dans l’écosystème du réseau.
Le mécanisme de consensus TRON utilise un système innovant de Delegated Proof of Stake dans lequel 27
Les super représentants (SR) produisent des blocs pour le réseau. Toutes les 6 heures, les titulaires de comptes TRX
qui gèlent leurs comptes peuvent voter pour une sélection de candidats SR, les 27 premiers candidats
considérés comme les SR. Les électeurs peuvent choisir les SR en fonction de critères tels que les projets parrainés par les SR pour
9 PAAR, C., PELZL, J., Comprendre la cryptographie : un manuel pour les étudiants et les praticiens, 2010 éd.
Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776augmenter l’adoption du TRX et les récompenses distribuées aux électeurs. Cela permet une société plus démocratisée et
écosystème décentralisé. Les comptes des SR sont des comptes normaux, mais leur accumulation de voix
leur permet de produire des blocs. Avec les faibles débits de Bitcoin et Ethereum en raison de leur
Mécanisme de consensus PoW et problèmes d'évolutivité, le système DPoS de TRON offre une solution innovante
mécanisme résultant en 2000 TPS par rapport aux 3 TPS de Bitcoin et aux 15 TPS de Ethereum.
Le réseau de protocole TRON génère un bloc toutes les trois secondes, chaque bloc attribuant 32 TRX aux super représentants. Un total de 336 384 000 TRX seront attribués chaque année aux 27 SR. Chaque fois qu'un SR termine la production de blocs, les récompenses sont envoyées sur un sous-compte du super-grand livre. Les SR peuvent vérifier, mais ne peuvent pas utiliser directement ces TRX token. Un retrait peut être effectué par chacun SR une fois toutes les 24 heures, transférant les récompenses du sous-compte vers le SR spécifié compte.
Les trois types de nœuds sur le réseau TRON sont Witness Node, Full Node et Solidity Node. Les nœuds témoins sont mis en place par les SR et sont principalement responsables de la production et de la proposition des blocs. création/vote. Les nœuds complets fournissent des API et diffusent des transactions et des blocs. Synchronisation des nœuds Solidity blocs à partir d’autres nœuds complets et fournissent également des API indexables.
Konsensus
3.1 Bukti Kepemilikan yang Didelegasikan (DPoS)
Mekanisme konsensus yang paling awal adalah mekanisme konsensus Proof of Work (PoW). Ini protokol saat ini diterapkan di Bitcoin dan Ethereum . Dalam sistem PoW, transaksi 7 8 disiarkan melalui jaringan dikelompokkan menjadi blok-blok baru untuk konfirmasi penambang. Itu proses konfirmasi melibatkan hashing transaksi menggunakan algoritma kriptografi hashing hingga a akar merkle telah tercapai, menciptakan pohon merkle:
Gambar 2: 8 transaksi TRX hash dimasukkan ke dalam root merkle. Root merkle ini kemudian dimasukkan ke dalam header blok, yang mana dilampirkan ke blok yang telah dikonfirmasi sebelumnya untuk membentuk blockchain. Hal ini memungkinkan pelacakan yang mudah dan transparan transaksi, stempel waktu, dan informasi terkait lainnya.
7 Bitcoin kertas putih: https://bitcoin.org/bitcoin.pdf 8 Ethereum kertas putih: https://github.com/ethereum/wiki/wiki/White-Paper
Algoritma kriptografi hashing berguna dalam pencegahan serangan jaringan karena mereka memilikinya
beberapa properti:
9
●
Ukuran panjang Input/Output - Algoritme dapat meneruskan input dengan ukuran panjang berapa pun, dan
menghasilkan nilai hash dengan panjang tetap.
●
Efisiensi - Algoritma ini relatif mudah dan cepat untuk dihitung.
●
Resistensi gambar awal - Untuk keluaran tertentu z, tidak mungkin menemukan masukan x sedemikian rupa
h(x) = z. Dengan kata lain, algoritma hashing h(x) adalah fungsi satu arah yang hanya
output dapat ditemukan, diberi input. Hal sebaliknya tidak mungkin dilakukan.
●
Ketahanan tumbukan - Secara komputasi tidak mungkin menemukan pasangan x1≠ x2sehingga h(x1)
= jam(x2). Dengan kata lain, probabilitas menemukan dua input berbeda hashing menjadi sama
keluarannya sangat rendah. Properti ini juga menyiratkan resistensi preimage kedua.
●
Resistensi gambar awal kedua - Mengingat x1, dan dengan demikian h(x1), secara komputasi tidak mungkin untuk
carilah x2 sehingga h(x1) = h(x2). Meskipun properti ini mirip dengan resistensi tabrakan, itu
properti berbeda karena dikatakan bahwa penyerang dengan x1 tertentu akan menemukannya secara komputasi
tidak mungkin menemukan x2 hashing ke keluaran yang sama.
●
deterministik - memetakan setiap masukan ke satu dan hanya satu keluaran.
●
Avalanche efek - perubahan kecil pada masukan menghasilkan keluaran yang sama sekali berbeda.
Properti ini memberikan nilai intrinsik pada jaringan mata uang kripto dengan memastikan tidak terjadi serangan mengkompromikan jaringan. Saat penambang mengonfirmasi sebuah blok, mereka diberi hadiah tokens sebagai blok bawaan insentif untuk partisipasi jaringan. Namun, seiring dengan kapitalisasi pasar cryptocurrency global terus meningkat, para penambang menjadi terpusat dan memfokuskan sumber daya komputasi mereka menimbun tokens sebagai aset, bukan untuk tujuan partisipasi jaringan. Penambang CPU menyerah GPU, yang kemudian digantikan oleh ASIC yang bertenaga. Dalam sebuah penelitian penting, kekuatan total konsumsi pertambangan Bitcoin diperkirakan mencapai 3 GW, sebanding dengan Irlandia 10 konsumsi daya. Studi yang sama memproyeksikan total konsumsi listrik akan mencapai 8 GW dalam waktu dekat masa depan.
Untuk mengatasi masalah limbah energi, diusulkan mekanisme konsensus Proof of Stake (PoS) oleh banyak jaringan baru. Dalam jaringan PoS, pemegang token mengunci saldo token mereka menjadi blok validators. validator bergiliran melamar dan memberikan suara pada blok berikutnya. Namun masalahnya dengan PoS standar adalah bahwa pengaruh validator berkorelasi langsung dengan jumlah token yang dikunci. Hal ini mengakibatkan pihak-pihak yang menimbun sejumlah besar mata uang dasar jaringan tersebut digunakan secara tidak semestinya pengaruhnya dalam ekosistem jaringan.
Mekanisme konsensus TRON menggunakan sistem Bukti Kepemilikan yang Didelegasikan yang inovatif di mana 27
Perwakilan Super (SR) menghasilkan blok untuk jaringan. Setiap 6 jam, pemegang akun TRX
yang membekukan akunnya dapat memilih kandidat SR pilihan, dengan 27 kandidat teratas
dianggap SR. Pemilih dapat memilih SR berdasarkan kriteria seperti proyek yang disponsori oleh SR
9 PAAR, C., PELZL, J., Memahami Kriptografi: Buku Ajar untuk Pelajar dan Praktisi, edisi 2010.
Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776meningkatkan adopsi TRX, dan penghargaan didistribusikan kepada pemilih. Hal ini memungkinkan terciptanya sistem yang lebih demokratis dan
ekosistem yang terdesentralisasi. Rekening SR adalah rekening biasa, tapi akumulasi suaranya
memungkinkan mereka menghasilkan blok. Dengan tingkat throughput yang rendah Bitcoin dan Ethereum karena
mekanisme konsensus PoW dan masalah skalabilitas, sistem DPoS TRON menawarkan solusi inovatif
mekanisme menghasilkan 2000 TPS dibandingkan dengan Bitcoin sebanyak 3 TPS dan Ethereum sebanyak 15 TPS.
Jaringan protokol TRON menghasilkan satu blok setiap tiga detik, dengan setiap blok memberikan 32 TRX ke Perwakilan Super. Sebanyak 336.384.000 TRX akan diberikan setiap tahun kepada 27 SR. Setiap kali SR menyelesaikan produksi blok, hadiah dikirim ke sub-akun di buku besar super. SR dapat memeriksa, tetapi tidak secara langsung menggunakan TRX tokens ini. Penarikan dapat dilakukan oleh masing-masing SR setiap 24 jam sekali, mentransfer hadiah dari sub-akun ke SR yang ditentukan akun.
Tiga jenis node pada jaringan TRON adalah Witness Node, Full Node, dan Solidity Node. Node saksi diatur oleh SR dan terutama bertanggung jawab untuk produksi blok dan proposal pembuatan/pemungutan suara. Node penuh menyediakan API dan menyiarkan transaksi dan blok. Sinkronisasi node soliditas blok dari Full Node lainnya dan juga menyediakan API yang dapat diindeks.
Compte
4.1 Types
Les trois types de comptes du réseau TRON sont les comptes réguliers, les comptes token et comptes de contrats.
1.
Les comptes réguliers sont utilisés pour les transactions standard.
2.
Les comptes de jetons sont utilisés pour stocker les TRC-10 token.
3.
Les comptes de contrats sont des comptes smart contract créés par des comptes réguliers et peuvent être
déclenchés également par les comptes réguliers.
4.2 Création
Il existe trois façons de créer un compte TRON :
1. Créer un nouveau compte via l'API 2. Transférer TRX vers une nouvelle adresse de compte 3. Transférez n'importe quel TRC-10 token vers une nouvelle adresse de compte
Une paire de clés hors ligne composée d'une adresse (clé publique) et d'une clé privée, et non enregistrée par le Le réseau TRON, peut également être généré. L'algorithme de génération d'adresse utilisateur consiste en générer une paire de clés puis extraire la clé publique (tableau d'octets de 64 octets représentant x, y coordonnées). Hachez la clé publique grâce à la fonction SHA3-256 (le protocole SHA3 adopté est KECCAK-256) et extrayez les 20 derniers octets du résultat. Ajoutez 41 au début du tableau d'octets et assurez-vous que la longueur de l’adresse initiale est de 21 octets. Hachez l'adresse deux fois à l'aide de la fonction SHA3-256 et prenez les 4 premiers octets comme code de vérification. Ajoutez le code de vérification à la fin du mot initial et obtenez l'adresse au format base58check via l'encodage base58. Un codé L'adresse du réseau principal commence par T et mesure 34 octets. 4.3 Structure
Les trois types de comptes différents sont Normal, AssetIssue et Contract. Un compte contient 7 paramètres :
1.
account_name : le nom de ce compte – par ex. Compte de factures.
2.
type : quel est le type de ce compte – par ex. 0 (signifie type « Normal »).
3.
solde : solde de ce compte – par ex. 4213312.
4.
vote : votes reçus sur ce compte – par ex. {("0x1b7w…9xj3",323),
(« 0x8djq…j12m »,88),…,(« 0x82nd…mx6i »,10001)}.
5.
actif : autres actifs TRX attendus dans ce compte – par ex. {<"WishToken", 66666>, <"Dogie",
233>}.
6.
last_operation_time : la dernière heure de fonctionnement de ce compte.
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;
}
Akun
4.1 Jenis
Tiga jenis akun di jaringan TRON adalah akun reguler, akun token, dan akun kontrak.
1.
Akun reguler digunakan untuk transaksi standar.
2.
Akun token digunakan untuk menyimpan TRC-10 tokens.
3.
Akun kontrak adalah smart contract akun yang dibuat oleh akun biasa dan dapat berupa
dipicu oleh akun reguler juga.
4.2 Penciptaan
Ada tiga cara untuk membuat akun TRON:
1. Buat akun baru melalui API 2. Transfer TRX ke alamat akun baru 3. Transfer TRC-10 token apa pun ke alamat akun baru
Pasangan kunci offline yang terdiri dari alamat (kunci publik) dan kunci pribadi, dan tidak dicatat oleh TRON jaringan, juga dapat dihasilkan. Algoritma pembuatan alamat pengguna terdiri dari menghasilkan pasangan kunci dan kemudian mengekstraksi kunci publik (array byte 64-byte yang mewakili x, y koordinat). Hash kunci publik menggunakan fungsi SHA3-256 (protokol SHA3 yang diadopsi adalah KECCAK-256) dan ekstrak 20 byte terakhir hasilnya. Tambahkan 41 ke awal array byte dan pastikan panjang alamat awal adalah 21 byte. Hash alamatnya dua kali menggunakan fungsi SHA3-256 dan ambil 4 byte pertama sebagai kode verifikasi. Tambahkan kode verifikasi di akhir inisial alamat dan dapatkan alamat dalam format base58check melalui pengkodean base58. Sebuah kode Alamat mainnet dimulai dengan T dan panjangnya 34 byte. 4.3 Struktur
Tiga jenis akun yang berbeda adalah Normal, AssetIssue, dan Kontrak. Akun berisi 7 parameter:
1.
account_name: nama untuk akun ini – mis. Akun Tagihan.
2.
type: jenis akun ini – mis. 0 (singkatan dari tipe 'Normal').
3.
saldo: saldo akun ini – mis. 4213312.
4.
vote: menerima suara di akun ini – mis. {(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5.
aset: aset lain yang diharapkan TRX di akun ini – mis. {<"Token Keinginan", 66666>, <"Anjing",
233>}.
6.
last_operation_time: waktu pengoperasian terakhir akun ini.
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;
}
Bloc
Un bloc contient généralement un en-tête de bloc et plusieurs transactions.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 En-tête de bloc
Un en-tête de bloc contient raw_data, witness_signature et 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 Données brutes
Les données brutes sont désignées par raw_data dans Protobuf. Il contient les données brutes d'un message, contenant 6 paramètres :
1. timestamp : horodatage de ce message – par ex. 1543884429000. 2. txTrieRoot : la racine de l'arbre Merkle – par ex. 7dacsa…3éd. 3. parentHash : le hash du dernier bloc – par ex. 7dacsa…3éd. 4. nombre : la hauteur du bloc – par ex. 4638708. 5. version: réservé – par ex. 5.

6. Witness_address : l'adresse du témoin contenue dans ce bloc – par ex. 41928c...4d21. 5.1.2 Signature du témoin
La signature du témoin est désignée par witness_signature dans Protobuf, qui est la signature de ce en-tête de bloc du nœud témoin. 5.1.3 ID de bloc
L'ID de bloc est noté blockID dans Protobuf. Il contient l'identification atomique d'un bloc. Un bloc L'ID contient 2 paramètres : 1. hash : le hash du bloc. 2. numéro : le hash et la hauteur du bloc. 5.2 Opérations 5.2.1 Signature
Le processus de signature de transaction de TRON suit un algorithme cryptographique ECDSA standard, avec un
Courbe de sélection SECP256K1. Une clé privée est un nombre aléatoire et la clé publique est un point sur le
courbe elliptique. Le processus de génération de clé publique consiste à générer d'abord un nombre aléatoire
clé privée, puis en multipliant le point de base de la courbe elliptique par la clé privée pour obtenir le
clé publique. Lorsqu'une transaction se produit, les données brutes de la transaction sont d'abord converties au format octet.
Les données brutes subissent ensuite un SHA-256 hashing. La clé privée correspondant au contrat
adresse signe ensuite le résultat du SHA256 hash. Le résultat de la signature est ensuite ajouté au
transaction.
5.2.2 Modèle de bande passante
Les transactions ordinaires ne consomment que des points de bande passante, mais les opérations smart contract consomment les deux. points d’énergie et de bande passante. Il existe deux types de points de bande passante disponibles. Les utilisateurs peuvent gagner points de bande passante contre le gel de TRX, tandis que 5 000 points de bande passante gratuits sont également disponibles quotidiennement.
Lorsqu'une transaction TRX est diffusée, elle est transmise et stockée sous la forme d'un tableau d'octets sur le réseau. Points de bande passante consommés par une transaction = nombre d'octets de transaction multiplié par le taux de points de bande passante. Par exemple, si la longueur du tableau d'octets d'une transaction est de 200, alors la transaction consomme 200 points de bande passante. Cependant, si un transfert TRX ou token entraîne le compte cible en cours de création, puis uniquement les points de bande passante consommés pour créer le compte seront déduits et les points de bande passante supplémentaires ne seront pas déduits. Dans une création de compte Dans ce scénario, le réseau consommera d'abord les points de bande passante gagnés par l'initiateur de la transaction.du gel de TRX. Si ce montant est insuffisant, alors le réseau consomme la transaction TRX de l’initiateur.
Dans les scénarios de transfert TRX standard d'un compte TRX à un autre, le réseau consomme d'abord les points de bande passante gagnés par l'initiateur de la transaction pour geler TRX. Si cela est insuffisant, alors consomme à partir des 5 000 points de bande passante quotidiens gratuits. Si cela ne suffit toujours pas, alors le réseau consomme le TRX de l'initiateur de la transaction. Le montant est calculé par le nombre d'octets dans la transaction multipliée par 10 SUN. Ainsi, pour la plupart des détenteurs de TRX qui ne gèlent pas nécessairement leur TRX pour participer au vote SR, la première étape est automatiquement ignorée (puisque le solde TRX gelé = 0) et les 5 000 bandes passantes gratuites quotidiennes alimentent la transaction.
Pour les transferts TRC-10 token, le réseau vérifie d'abord si le total des points de bande passante libre du l'actif token émis est suffisant. Sinon, les points de bande passante obtenus en gelant TRX sont consommé. S’il n’y a toujours pas assez de points de bande passante, alors cela consomme le TRX de la transaction initiateur.
5.2.3 Frais
Le réseau TRON ne facture généralement pas de frais pour la plupart des transactions, cependant, en raison du système les restrictions et l'équité, l'utilisation de la bande passante et les transactions entraînent certains frais.
Les frais facturés sont répartis dans les catégories suivantes : 1. Les transactions normales coûtent des points de bande passante. Les utilisateurs peuvent utiliser les points de bande passante quotidiens gratuits (5000) ou geler TRX pour en obtenir plus. Lorsque les points de bande passante ne suffisent pas, TRX sera utilisé directement à partir du compte d’envoi. Le TRX nécessaire est le nombre d'octets * 10 SUN. 2. Les contrats intelligents coûtent de l'énergie (Section 6) mais nécessiteront également des points de bande passante pour le transaction à diffuser et à confirmer. Le coût de la bande passante est le même que ci-dessus. 3. Toutes les transactions de requête sont gratuites. Cela ne coûte ni énergie ni bande passante.
Le réseau TRON définit également un ensemble de frais fixes pour les transactions suivantes : 1. Création d'un nœud témoin : 9999 TRX 2. Émission d'un TRC-10 token : 1024 TRX 3. Création d'un nouveau compte : 0.1 TRX 4. Création d'une paire d'échange : 1024 TRX 5.2.4 Transaction comme preuve de participation (TaPoS)
TRON utilise TaPoS pour garantir que les transactions confirment toutes le blockchain principal, tout en le réalisant
difficile de forger des chaînes contrefaites. Dans TaPoS, les réseaux exigent que chaque transaction comprenne une partie de
le hash d’un en-tête de bloc récent. Cette exigence empêche la relecture des transactions sur
forks n'incluant pas le bloc référencé, et signale également au réseau qu'un utilisateur particulier et sonles enjeux sont sur une fourchette spécifique. Ce mécanisme de consensus protège le réseau contre le déni de
Service, 51 %, exploitation minière égoïste et attaques à double dépense.
5.2.5 Confirmation de transaction
Une transaction est incluse dans un futur bloc après avoir été diffusée sur le réseau. Après 19 blocs sont extrait le TRON (y compris son propre bloc), la transaction est confirmée. Chaque bloc est produit par l'un des 27 meilleurs super-représentants dans un tournoi à la ronde. Chaque bloc prend environ 3 secondes pour être extrait sur le blockchain. Le temps peut légèrement varier pour chaque super représentant en raison du réseau conditions et configurations des machines. En général, une transaction est considérée comme entièrement confirmée après ~1 minute. 5.2.6 Structure
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 } } }
Blok
Sebuah blok biasanya berisi header blok dan beberapa transaksi.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Tajuk Blok
Header blok berisi raw_data, witness_signature, dan 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 Data Mentah
Data mentah dilambangkan sebagairaw_data di Protobuf. Ini berisi data mentah dari sebuah pesan, berisi 6 parameter:
1. stempel waktu: stempel waktu pesan ini – mis. 1543884429000. 2. txTrieRoot: Akar Pohon Merkle – mis. 7dacsa…3ed. 3. parentHash: hash dari blok terakhir – mis. 7dacsa…3ed. 4. nomor: tinggi balok – mis. 4638708. 5. versi: dicadangkan – mis. 5.

6. Witness_address: alamat saksi yang dikemas dalam blok ini – mis. 41928c...4d21. 5.1.2 Tanda Tangan Saksi
Tanda tangan saksi dilambangkan dengan tanda tangan saksi di Protobuf, yang merupakan tanda tangan untuk ini blok header dari node saksi. 5.1.3 ID Blokir
ID Blok dilambangkan sebagai blockID di Protobuf. Ini berisi identifikasi atom suatu blok. Sebuah Blok ID berisi 2 parameter: 1. hash: hash blok. 2. nomor: hash dan tinggi balok. 5.2 Transaksi 5.2.1 Penandatanganan
Proses penandatanganan transaksi TRON mengikuti algoritma kriptografi ECDSA standar, dengan a
Kurva seleksi SECP256K1. Kunci privat adalah angka acak, dan kunci publik adalah sebuah titik di
kurva elips. Proses pembuatan kunci publik terdiri dari pembangkitan nomor acak terlebih dahulu sebagai a
kunci privat, lalu mengalikan titik dasar kurva elips dengan kunci privat untuk mendapatkan
kunci publik. Ketika suatu transaksi terjadi, data mentah transaksi diubah terlebih dahulu ke dalam format byte.
Data mentah kemudian mengalami SHA-256 hashing. Kunci pribadi yang sesuai dengan kontrak
alamat kemudian menandatangani hasil SHA256 hash. Hasil tanda tangan kemudian ditambahkan ke
transaksi.
5.2.2 Model Bandwidth
Transaksi biasa hanya menggunakan titik bandwidth, tetapi operasi smart contract menggunakan keduanya titik energi dan bandwidth. Ada dua jenis titik bandwidth yang tersedia. Pengguna bisa mendapatkan keuntungan titik bandwidth dari pembekuan TRX, sementara 5000 titik bandwidth gratis juga tersedia setiap hari.
Ketika transaksi TRX disiarkan, transaksi tersebut ditransmisikan dan disimpan dalam bentuk array byte jaringan. Bandwidth Poin yang dikonsumsi oleh satu transaksi = jumlah byte transaksi dikalikan dengan tingkat poin bandwidth. Misalnya, jika panjang array byte suatu transaksi adalah 200, maka transaksi tersebut menghabiskan 200 titik bandwidth. Namun, jika transfer TRX atau token menghasilkan akun target yang dibuat, maka hanya titik bandwidth yang dikonsumsi untuk membuat akun tersebut akan dipotong, dan poin bandwidth tambahan tidak akan dipotong. Dalam pembuatan akun skenario, jaringan pertama-tama akan menggunakan titik bandwidth yang diperoleh pemrakarsa transaksidari pembekuan TRX. Jika jumlah ini tidak mencukupi, maka jaringan akan menghabiskan transaksi tersebut TRX inisiator.
Dalam skenario transfer TRX standar dari satu akun TRX ke akun TRX lainnya, jaringan akan menggunakan yang pertama poin bandwidth yang diperoleh pemrakarsa transaksi untuk membekukan TRX. Jika itu tidak cukup, maka lakukanlah mengkonsumsi dari 5.000 poin bandwidth harian gratis. Jika itu masih belum cukup, maka jaringan mengkonsumsi TRX dari pemrakarsa transaksi. Jumlahnya dihitung berdasarkan jumlah byte yang masuk transaksi dikalikan 10 SUN. Jadi, bagi sebagian besar pemegang TRX yang belum tentu membeku TRX mereka untuk berpartisipasi dalam pemungutan suara SR, langkah pertama otomatis dilewati (karena saldo TRX dibekukan = 0) dan 5.000 bandwidth gratis setiap hari mendukung transaksi.
Untuk transfer TRC-10 token, jaringan terlebih dahulu memverifikasi apakah total titik bandwidth bebas dari aset token yang diterbitkan sudah mencukupi. Jika tidak maka bandwidth point yang didapat dari pembekuan TRX adalah dikonsumsi. Jika titik bandwidth masih belum cukup, maka akan menghabiskan TRX transaksi pemrakarsa.
5.2.3 Biaya
Jaringan TRON umumnya tidak mengenakan biaya untuk sebagian besar transaksi, namun karena sistem pembatasan dan keadilan, penggunaan bandwidth dan transaksi memerlukan biaya tertentu.
Biaya biaya dibagi menjadi beberapa kategori berikut: 1. Transaksi normal memerlukan poin bandwidth. Pengguna dapat menggunakan poin bandwidth harian gratis (5000) atau bekukan TRX untuk mendapatkan lebih banyak. Ketika titik bandwidth tidak mencukupi, TRX akan mencukupi digunakan langsung dari rekening pengirim. TRX yang dibutuhkan adalah jumlah byte * 10 SUN. 2. Kontrak pintar membutuhkan energi (Bagian 6) tetapi juga memerlukan titik bandwidth untuk itu transaksi untuk disiarkan dan dikonfirmasi. Biaya bandwidth sama seperti di atas. 3. Semua transaksi kueri gratis. Itu tidak memerlukan energi atau bandwidth.
Jaringan TRON juga menetapkan serangkaian biaya tetap untuk transaksi berikut: 1. Membuat simpul saksi: 9999 TRX 2. Menerbitkan TRC-10 token: 1024 TRX 3. Membuat akun baru: 0,1 TRX 4. Membuat pasangan pertukaran: 1024 TRX 5.2.4 Transaksi sebagai Bukti Kepemilikan (TaPoS)
TRON menggunakan TaPoS untuk memastikan semua transaksi mengkonfirmasi blockchain utama, sambil membuatnya
sulit untuk memalsukan rantai palsu. Di TaPoS, jaringan mengharuskan setiap transaksi menyertakan bagian dari
hash dari header blok terbaru. Persyaratan ini mencegah transaksi diputar ulang
garpu tidak termasuk blok yang direferensikan, dan juga memberi sinyal pada jaringan bahwa pengguna tertentu dan merekataruhannya berada pada garpu tertentu. Mekanisme konsensus ini melindungi jaringan dari Penolakan
Layanan, 51%, penambangan egois, dan serangan pembelanjaan ganda.
5.2.5 Konfirmasi Transaksi
Suatu transaksi dimasukkan dalam blok masa depan setelah disiarkan ke jaringan. Setelah 19 blok ditambang pada TRON (termasuk bloknya sendiri), transaksi dikonfirmasi. Setiap blok diproduksi oleh salah satu dari 27 Perwakilan Super teratas dalam mode round robin. Setiap blok membutuhkan waktu ~3 detik untuk melakukannya ditambang di blockchain. Waktu mungkin sedikit berbeda untuk setiap Perwakilan Super karena jaringannya kondisi dan konfigurasi mesin. Secara umum, suatu transaksi dianggap dikonfirmasi sepenuhnya setelahnya ~1 menit. 5.2.6 Struktur
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
TRON Machine virtuelle
6.1 Présentation
TRON Virtual Machine (TVM) est une machine virtuelle légère et complète de Turing développée pour le L'écosystème de TRON. Son objectif est de fournir un système blockchain sur mesure qui soit efficace, pratique, stable, sécurisé et évolutif.
TVM est initialement dérivé de EVM et peut se connecter de manière transparente à la solidité existante smart contract 11 écosystème de développement. Sur cette base, TVM prend également en charge le consensus DPoS.
TVM utilise le concept d'énergie. Différent du mécanisme à gaz sur EVM, les opérations de les transactions et les smart contract sur TVM sont gratuits, sans TRX consommé. Techniquement, exécutable la capacité de calcul sur TVM n'est pas limitée par le montant total de détention de tokens. 6.2 Flux de travail
Le compilateur traduit d'abord le Solidity smart contract en bytecode lisible et exécutable sur le TVM. Le TVM traite ensuite les données via l'opcode, ce qui équivaut à faire fonctionner la logique d'une machine à états finis basée sur une pile. Enfin, le TVM accède aux données blockchain et invoque Interface de données externe via la couche d'interopération. 11 EVM : Ethereum Machine virtuelle (https://github.com/ethereum/ethereumj)

Figure 3 : Flux de travail TVM
6.3 Performances 6.3.1 Architecture légère
TVM adopte une architecture légère dans le but de réduire la consommation de ressources pour garantir performances du système. 6.3.2 Robuste
Les transferts TRX et l'exécution smart contract coûtent uniquement des points de bande passante, au lieu de TRX, qui exempte TRON d'être attaqué. La consommation de bande passante est prévisible et statique puisque chaque le coût de l’étape de calcul est fixe. 6.3.3 Haute compatibilité
TVM est compatible avec EVM et sera compatible avec davantage de machines virtuelles grand public à l'avenir. Ainsi, tous les smart contract sur EVM sont exécutables sur TVM. 6.3.4 Faible coût
Grâce à la configuration de la bande passante de TVM, les coûts de développement sont réduits et les développeurs peuvent se concentrer sur le développement logique de leur code de contrat. TVM propose également des interfaces tout-en-un pour les contrats déploiement, déclenchement et visualisation pour offrir la commodité aux développeurs.
TRON Mesin Virtual
6.1 Pendahuluan
TRON Mesin Virtual (TVM) adalah mesin virtual lengkap Turing ringan yang dikembangkan untuk ekosistem TRON. Tujuannya adalah untuk menyediakan sistem blockchain yang dibuat khusus dan efisien, nyaman, stabil, aman dan terukur.
TVM awalnya bercabang dari EVM dan dapat terhubung secara mulus dengan soliditas yang ada smart contract 11 ekosistem pembangunan. Berdasarkan hal tersebut, TVM juga mendukung konsensus DPoS.
TVM menggunakan konsep Energi. Berbeda dengan mekanisme Gas pada EVM, pengoperasiannya transaksi dan smart contracts di TVM gratis, tanpa menggunakan TRX. Secara teknis, dapat dieksekusi kapasitas komputasi di TVM tidak dibatasi oleh total jumlah penyimpanan tokens. 6.2 Alur Kerja
Kompiler pertama-tama menerjemahkan Soliditas smart contract menjadi bytecode yang dapat dibaca dan dieksekusi di TVM. TVM kemudian memproses data melalui opcode, yang setara dengan mengoperasikan logika dari mesin negara terbatas berbasis tumpukan. Terakhir, TVM mengakses blockchain data dan memanggil Antarmuka Data Eksternal melalui lapisan Interoperasi. 11 EVM: Ethereum Mesin Virtual (https://github.com/ethereum/ethereumj)

Gambar 3: Alur Kerja TVM
6.3 Kinerja 6.3.1 Arsitektur Ringan
TVM mengadopsi arsitektur ringan dengan tujuan mengurangi konsumsi sumber daya sebagai jaminan kinerja sistem. 6.3.2 Kuat
Transfer TRX dan smart contract eksekusi hanya memerlukan poin bandwidth, bukan TRX, yang mana mengecualikan TRON dari serangan. Konsumsi bandwidth dapat diprediksi dan statis sejak keduanya biaya langkah komputasi adalah tetap. 6.3.3 Kompatibilitas Tinggi
TVM kompatibel dengan EVM dan akan kompatibel dengan lebih banyak VM mainstream di masa mendatang. Dengan demikian, semua smart contract di EVM dapat dieksekusi di TVM. 6.3.4 Biaya Rendah
Karena pengaturan bandwidth TVM, biaya pengembangan berkurang dan pengembang dapat fokus pada hal tersebut pengembangan logika kode kontrak mereka. TVM juga menawarkan antarmuka lengkap untuk kontrak penerapan, pemicuan, dan tampilan untuk menawarkan kenyamanan bagi pengembang.
Contrat intelligent
7.1 Introduction
Un smart contract est un protocole qui vérifie numériquement la négociation d'un contrat. Ils définissent les règles et pénalités liées à un accord et faire respecter automatiquement ces obligations. L'intelligent le code du contrat facilite, vérifie et impose la négociation ou l’exécution d’un accord ou transaction. Du point de vue de la tokenisation, les smart contract facilitent également les fonds automatiques les transferts entre les parties participantes si certains critères sont remplis.
TRON smart contracts sont écrits dans le langage Solidity. Une fois rédigés et testés, ils peuvent être compilé en bytecode, puis déployé sur le réseau TRON pour la machine virtuelle TRON. Une fois déployés, les smart contract peuvent être interrogés via leurs adresses contractuelles. La demande de contrat L'interface binaire (ABI) affiche les fonctions d'appel du contrat et est utilisée pour interagir avec le réseau. 7.2 Modèle énergétique
La limite d'énergie maximale pour le déploiement et le déclenchement d'un smart contract est fonction de plusieurs variables :
● L'énergie dynamique issue du gel 1 TRX est de 50 000 000 000 (limite d'énergie totale) / (énergie totale Poids) ● La limite d'énergie est la limite d'énergie quotidienne du compte suite au gel du TRX. ● L'énergie quotidienne restante due au gel du TRX est calculée comme Limite d'énergie - Énergie Utilisé ● La limite de frais dans TRX est définie dans l'appel de déploiement/déclenchement smart contract ● TRX restant utilisable dans le compte ● Énergie par TRX si achetée directement (10 SUN = 1 Énergie) = 100 000, les SR peuvent voter réglage
Il existe deux scénarios de consommation pour calculer la limite énergétique maximale pour le déploiement et
déclencheur. La logique peut s’exprimer ainsi :
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 Déploiement
Lorsqu'une solidité TRON smart contract est compilée, la machine virtuelle TRON lit le contenu compilé. bytecode. Le bytecode se compose d'une section pour le déploiement du code, le code du contrat et les Auxdata. L’Auxdata est l’empreinte cryptographique du code source, utilisée pour la vérification. Le déploiement le bytecode exécute la fonction constructeur et configure les variables de stockage initiales. Le déploiement code calcule également le code du contrat et le renvoie au TVM. L'ABI est un fichier JSON qui décrit les fonctions d'un TRON smart contract. Ce fichier définit les noms des fonctions, leur payabilité, les valeurs de retour de la fonction et leur mutabilité d'état. 7.4 Fonction de déclenchement
Une fois les TRON smart contract déployés, leurs fonctions peuvent être déclenchées individuellement soit via TronStudio ou via des appels API. Les fonctions de changement d'état nécessitent de l'énergie tandis que les fonctions en lecture seule exécuter sans énergie. 7.5 TRON Solidité
TRON Solidity est un fork du langage Solidity de Ethereum. TRON modifie le projet d'origine pour prend en charge les unités TRX et SUN (1 TRX = 1 000 000 SUN). Le reste de la syntaxe du langage est compatible avec Solidité ^0.4.24. Ainsi la Machine Virtuelle Tron (TVM) est quasiment 100% compatible avec les instructions EVM.
Kontrak Cerdas
7.1 Pendahuluan
smart contract adalah protokol yang memverifikasi negosiasi kontrak secara digital. Mereka mendefinisikan aturan dan hukuman yang terkait dengan suatu perjanjian dan juga secara otomatis menegakkan kewajiban tersebut. Yang pintar kode kontrak memfasilitasi, memverifikasi, dan menegakkan negosiasi atau kinerja perjanjian atau transaksi. Dari perspektif tokenisasi, smart contracts juga memfasilitasi pendanaan otomatis transfer antara pihak-pihak yang berpartisipasi jika kriteria tertentu dipenuhi.
TRON smart contracts ditulis dalam bahasa Soliditas. Setelah ditulis dan diuji, mereka bisa dikompilasi menjadi bytecode, kemudian disebarkan ke jaringan TRON untuk Mesin Virtual TRON. Sekali dikerahkan, smart contracts dapat ditanyakan melalui alamat kontraknya. Aplikasi kontrak Antarmuka Biner (ABI) menunjukkan fungsi panggilan kontrak dan digunakan untuk berinteraksi dengan jaringan. 7.2 Model Energi
Batas energi maksimum untuk meluncurkan dan memicu smart contract merupakan fungsi dari beberapa fungsi variabel:
● Energi dinamis dari pembekuan 1 TRX adalah 50.000.000.000 (Batas Energi Total) / (Energi Total Berat) ● Batas energi adalah batas energi akun harian dari pembekuan TRX ● Energi akun harian yang tersisa dari pembekuan TRX dihitung sebagai Batas Energi - Energi Digunakan ● Batas biaya di TRX diatur dalam smart contract panggilan penerapan/pemicu ● TRX yang tersisa dapat digunakan di akun ● Energi per TRX jika dibeli langsung (10 SUN = 1 Energi) = 100.000, SR dapat melakukan voting penyesuaian
Ada dua skenario konsumsi untuk menghitung batas energi maksimum untuk penerapan dan
pemicu. Logikanya dapat diungkapkan sebagai berikut:
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 Penerapan
Ketika TRON soliditas smart contract dikompilasi, Mesin Virtual TRON membaca kompilasi kode byte. Bytecode terdiri dari bagian untuk penerapan kode, kode kontrak, dan Auxdata. Auxdata adalah sidik jari kriptografi kode sumber, yang digunakan untuk verifikasi. Penyebaran bytecode menjalankan fungsi konstruktor dan menyiapkan variabel penyimpanan awal. Penyebaran kode juga menghitung kode kontrak dan mengembalikannya ke TVM. ABI adalah file JSON yang menjelaskan fungsi TRON smart contract. File ini mendefinisikan nama fungsi, pembayarannya, nilai pengembalian fungsi, dan mutabilitas statusnya. 7.4 Fungsi Pemicu
Setelah TRON smart contract dikerahkan, fungsinya dapat dipicu secara individual baik melalui TronStudio atau melalui panggilan API. Fungsi pengubah status memerlukan Energi sedangkan fungsi hanya baca mengeksekusi tanpa Energi. 7.5 TRON Soliditas
TRON Soliditas adalah cabang dari bahasa Soliditas Ethereum. TRON memodifikasi proyek asli menjadi mendukung unit TRX dan SUN (1 TRX = 1.000.000 SUN). Sintaks bahasa lainnya adalah kompatibel dengan Soliditas ^0.4.24. Dengan demikian Tron Virtual Machine (TVM) hampir 100% kompatibel dengan instruksi EVM.
Token
8.1 Jeton TRC-10
Dans le réseau TRON, chaque compte peut émettre des token au prix de 1024 TRX. Pour émettre des tokens, l'émetteur doit préciser un nom token, la capitalisation totale, le taux de change par rapport au TRX, durée de diffusion, description, site Internet, consommation maximale de bande passante par compte, total la consommation de bande passante et la quantité de token gelée. Chaque édition token peut également configurer le maximum quotidien de chaque compte token transférer des points de bande passante, le maximum quotidien de l'ensemble du réseau token transférer des points de bande passante, l'offre totale de token, la durée de verrouillage en jours et le montant total de token verrouillés. 8.2 Jeton TRC-20
TRC-20 est une norme technique utilisée pour les smart contract mettant en œuvre les token pris en charge par le TRON Machine virtuelle. Il est entièrement compatible avec ERC-20.
L'interface est la suivante :
contrat TRC20Interface {
fonction totalSupply() public retours constants (uint);
fonction balanceOf(adresse tokenOwner) public rendements constants (uint
solde);
fonction allocation(adresse tokenPropriétaire, adresse du dépensier) publique constante
renvoie (uint restant) ;
fonction transfer(adresse à, uint tokens) public retours (bool success) ;
fonction approuve(adresse dépensier, uint tokens) public retourne (bool
succès);
fonction transferFrom(adresse de, adresse à, uint tokens) public
renvoie (succès booléen) ;
événement Transfer(adresse indexée de, adresse indexée vers, uint tokens) ;
événement Approbation(adresse indexée tokenPropriétaire, adresse dépensière indexée, uint
tokens); }
Du point de vue du développeur, il existe plusieurs différences entre TRC-10 et TRC-20. Certains L'une des principales différences réside dans le fait que les token TRC-10 sont accessibles par les API et les smart contract tandis que Les token TRC-20 permettent la personnalisation de l'interface mais ne sont accessibles que dans les smart contract.
Du point de vue des coûts, les TRC-10 token ont des frais de transaction 1 000 fois inférieurs à ceux des
TRC-20, mais entraîne des coûts de bande passante pour les transferts et les dépôts d'API. Virements et dépôts en smart
les contrats pour les TRC-10 token coûtent à la fois de la bande passante et de l'énergie.
8.3 Au-delà
Étant donné que TRON utilise la même version Solidity que Ethereum, davantage de normes token pourraient être facilement porté sur TRON.
Token
8.1 Token TRC-10
Di jaringan TRON, setiap akun dapat menerbitkan token dengan biaya 1024 TRX. Untuk menerbitkan tokens, penerbit perlu menentukan nama token, total kapitalisasi, nilai tukar ke TRX, durasi sirkulasi, deskripsi, situs web, konsumsi bandwidth maksimum per akun, total konsumsi bandwidth, dan jumlah token dibekukan. Setiap penerbitan token juga dapat dikonfigurasi token Poin Bandwidth transfer harian maksimum setiap akun, maksimum harian seluruh jaringan token Poin Bandwidth transfer, total persediaan token, durasi penguncian dalam hari, dan jumlah total dari tokens terkunci. 8.2 Token TRC-20
TRC-20 adalah standar teknis yang digunakan untuk smart contracts yang menerapkan tokens yang didukung oleh TRON Mesin Virtual. Ini sepenuhnya kompatibel dengan ERC-20.
Antarmukanya adalah sebagai berikut:
kontrak TRC20Antarmuka {
fungsi totalSupply() pengembalian konstan publik (uint);
fungsi balanceOf(alamat tokenPemilik) pengembalian konstan publik (uint
saldo);
tunjangan fungsi(alamat tokenPemilik, alamat pembelanja) konstanta publik
kembali (tidak tersisa);
transfer fungsi(alamat ke, uint tokens) pengembalian publik (bool sukses);
fungsi menyetujui(alamat pembelanja, uint tokens) pengembalian publik (bool
sukses);
fungsi transferFrom(alamat dari, alamat ke, uint tokens) publik
kembali (bool sukses);
acara Transfer(alamat diindeks dari, alamat diindeks ke, uint tokens);
Persetujuan acara(alamat diindeks tokenPemilik, alamat pembelanja yang diindeks, uint
tokens); }
Dari sudut pandang pengembang, ada beberapa perbedaan antara TRC-10 dan TRC-20. Beberapa perbedaan utamanya adalah TRC-10 tokens dapat diakses oleh API dan smart contracts sementara TRC-20 tokens memungkinkan penyesuaian antarmuka tetapi hanya dapat diakses dalam smart contracts.
Dari sudut pandang biaya, TRC-10 tokens memiliki biaya transaksi 1000 kali lebih rendah daripada
TRC-20, tetapi menanggung biaya bandwidth untuk transfer dan deposit API. Transfer dan deposit secara cerdas
kontrak untuk TRC-10 tokens menghabiskan biaya bandwidth dan energi.
8.3 Selanjutnya
Karena TRON menggunakan versi Soliditas yang sama dengan Ethereum, lebih banyak standar token dapat segera dibuat porting ke TRON.
Gouvernance
9.1 Super Représentant 9.1.1 Général
Chaque compte du réseau TRON peut postuler et avoir l'opportunité de devenir un Super Représentant (noté SR). Tout le monde peut voter pour les candidats SR. Les 27 meilleurs candidats avec le plus grand nombre de votes deviendront des SR avec le droit et l'obligation de générer des blocs. Les votes sont compté toutes les 6 heures et les SR changeront en conséquence.
Pour prévenir les attaques malveillantes, devenir candidat SR a un coût. Lors de votre candidature, 9999 TRX sera brûlé depuis le compte du demandeur. Une fois réussi, ce compte peut rejoindre le SR élection. 9.1.2 Élection
TRON La puissance (notée TP) est nécessaire pour voter et le montant de TP dépend de la puissance de l'électeur. avoirs gelés (TRX).
TP est calculé de la manière suivante :
TP
1 TRX gelé pour obtenir de la bande passante
1
=
Chaque compte du réseau TRON a le droit de voter pour ses propres SR.
Après la sortie (dégel, disponible après 3 jours), les utilisateurs n'auront plus aucun actif gelé et perdront tout TP en conséquence. En conséquence, tous les votes deviennent invalides pour le tour de scrutin en cours et à venir, à moins que TRX est à nouveau gelé pour voter.
Notez que le réseau TRON n'enregistre que le vote le plus récent, ce qui signifie que chaque nouveau vote annulera tous les votes précédents. 9.1.3 Récompense une. Récompense de vote
Également connu sous le nom de Récompense du candidat, que les 127 meilleurs candidats ont mis à jour une fois à chaque tour (6
heures) partagera 115 200 TRX tels qu’ils sont extraits. La récompense sera répartie en fonction du poids du vote
chaque candidat reçoit. Chaque année, la récompense totale des candidats s'élèvera à 168 192 000 TRX.
Récompense totale des votes par tour
Pourquoi 115 200 TRX à chaque tour ?
15h00 TRX
récompense totale des votes par tour (V R/tour)
1
2
=
V R/tour = 16 T RX/bloc × 20 blocs/min × 60 min/h × 6 heures/tour
Remarque : ceci est défini par WITNESS_STANDBY_ALLOWANCE = 115 200 TRX. Voir les paramètres de réseau dynamiques.
Récompense totale des votes par an
Pourquoi 168 192 000 TRX chaque année ?
168 192 000 T RX = récompense totale des votes par an (V R/an)
V R/an = 115, 200 T RX/tour × 4 tours/jour × 365 jours/an
b. Bloquer la récompense
Également connue sous le nom de Super Representative Reward, qui récompense les 27 meilleurs candidats (SR) élus
chaque tour (6 heures) partagera environ 230 400 TRX extraits. La récompense sera répartie équitablement
entre les 27 SR (moins le total des blocs de récompense manqués en raison d'une erreur réseau). Un total de
336 384 000 TRX seront attribués chaque année aux 27 SR.
Récompense totale de bloc par tour
Pourquoi 230 400 TRX à chaque tour ?
230 400 T RX = récompense de bloc totale par tour (BR/tour)
BR/tour = 32 T RX/bloc × 20 blocs/min × 60 min/h × 6 h/tour
Remarque : la récompense du bloc unitaire est définie par WITNESS_PAY_PER_BLOCK = 32 TRX. Voir le réseau dynamique
paramètres.
Récompense de bloc totale par an
Pourquoi 336 384 000 TRX chaque année ?
336 384 000 T RX = récompense de bloc totale par an (BR/an)
BR/an = 230, 400 T RX/tour × 4 tours/jour × 365 jours/an
1 janvier 2021
Il n'y aura pas d'inflation sur le réseau TRON avant le 1er janvier 2021, et le TRON DAO sera
attribuer toutes les récompenses de bloc et les récompenses de candidat avant cette date.
c. Calcul des récompenses
Calcul de la récompense SR
récompense totale
récompense de vote (V R)
récompense de bloc (BR)
t
=
+
R.
V R totale
V
=
×
total des voix
votes reçus par le candidat SR
R.
bloc manqué
2
B
=
27
BR total −
× 3
Remarque : la récompense est calculée par SR et par tour (6 heures)
Calcul de la récompense du candidat SR du rang 28 au rang 127 récompense totale récompense de vote (V R) t =
R.
V R totale
V
=
×
total des voix
votes reçus par le candidat SR
Remarque : la récompense est calculée par candidat SR et par tour (6 heures)
9.2 Comité
9.2.1 Général
Le comité est utilisé pour modifier les paramètres dynamiques du réseau TRON, tels que la génération de blocs
récompenses, frais de transaction, etc. Le comité est composé des 27 SR du tour en cours. Chaque SR
a le droit de proposer et de voter sur les propositions. Lorsqu'une proposition reçoit 19 voix ou plus, elle est
approuvé et les nouveaux paramètres réseau seront appliqués au cours de la prochaine période de maintenance (3 jours).
9.2.2 Paramètres de réseau dynamiques
0.
MAINTENANCE_TIME_INTERVAL
une.
Descriptif
Modifier le temps d'intervalle de maintenance en ms. Connu sous le nom de temps d'intervalle de vote SR par
rond.
b.
Exemple
[6 * 3600 * 1000] ms - soit 6 heures.
c.
Gamme
[3271000, 2436001000] ms
1.
ACCOUNT_UPGRADE_COST
une.
Descriptif
Modifier le coût de demande de compte SR.
b.
Exemple
[9 999 000 000] SOLEIL - soit 9 999 TRX.
c.
Gamme
[0,100 000 000 000 000 000] DIM
2.
CREATE_ACCOUNT_FEE
une.
Descriptif
Modifier les frais de création de compte.b.
Exemple
[100 000] SOLEIL - soit 1 TRX.
c.
Gamme
[0,100 000 000 000 000 000] DIM
3.
TRANSACTION_FEE
une.
Descriptif
Modifiez le montant des frais utilisés pour obtenir une bande passante supplémentaire.
b.
Exemple
[10] SUN/octet.
c.
Gamme
[0,100 000 000 000 000 000] SUN/octet
4.
ASSET_ISSUE_FEE
une.
Descriptif
Modifier les frais d'émission d'actifs.
b.
Exemple
[1024 000 000] SOLEIL - soit 1024 TRX.
c.
Gamme
[0,100 000 000 000 000 000] DIM
5.
WITNESS_PAY_PER_BLOCK
une.
Descriptif
Modifier la récompense de génération de bloc SR. Connu sous le nom de récompense de bloc unitaire.
b.
Exemple
[32 000 000] SOLEIL - soit 32 TRX.
c.
Gamme
[0,100 000 000 000 000 000] DIM
6.
WITNESS_STANDBY_ALLOWANCE
une.
Descriptif
Modifier les récompenses accordées aux 127 meilleurs candidats SR. Connu sous le nom de récompense totale du vote
par tour.
b.
Exemple
[115 200 000 000] SOLEIL - soit 115 200 TRX.
c.
Gamme
[0,100 000 000 000 000 000] DIM
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
une.
Descriptif
Modifier le coût de création de compte. Combinez les paramètres de réseau dynamiques #8 pour obtenir
coût total de création de compte :
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. Exemple [0] DIM. c. Gamme [0,100 000 000 000 000 000] DIM 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
une.
Descriptif
Modifier le coût de création de compte. Combinez les paramètres de réseau dynamiques n°7 pour obtenir
coût total de création de compte :
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. Exemple [1]. c. Gamme [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS une. Descriptif Pour activer la machine virtuelle Tron (TVM). b. Exemple True - défini pour être activé et pris en compte depuis le 10/10/2018 à 23h47 UTC. c. Gamme Vrai/Faux 10. REMOVE_THE_POWER_OF_THE_GR une. Descriptif Supprimer les votes initiaux de la genèse GR b. Exemple Vrai - effectué le 11/4/2018 08:46 UTC. c. Gamme Vrai/Faux - Remarque : impossible de revenir à Faux à partir de Vrai. 11. ÉNERGIE_FEE une. Descriptif Modifier les frais de 1 énergie. b. Exemple 20 DIM. c. Gamme [0,100 000 000 000 000 000] DIM 12. EXCHANGE_CREATE_FEE une. Descriptif Modifier le coût de création d'une paire de trading. Connu comme le coût de création d’un ordre commercial. b. Exemple [1 024 000 000] SOLEIL - soit 1 024 TRX. c. Gamme [0,100 000 000 000 000 000] DIM 13. MAX_CPU_TIME_OF_ONE_TX une. Descriptif Modifier le temps d'exécution maximum d'une transaction. Connu sous le nom de délai d'attente de une transaction. b. Exemple 50 ms. c. Gamme
[0, 1000] ms
14. ALLOW_UPDATE_ACCOUNT_NAME
une.
Descriptif
Modifiez l'option pour permettre à un compte de mettre à jour son nom de compte.
b.
Exemple
False - qui peut être proposé à partir de Java-tron Odyssey v3.2.
c.
Gamme
Vrai/Faux - Remarque : impossible de revenir à Faux à partir de Vrai.
15. ALLOW_SAME_TOKEN_NAME
une.
Descriptif
Modifiez la validation en autorisant différents token à avoir un nom en double.
b.
Exemple
False - qui peut être proposé à partir de Java-tron Odyssey v3.2.
c.
Gamme
Vrai/Faux - Remarque : impossible de revenir à Faux à partir de Vrai.
16. ALLOW_DELEGATE_RESOURCE
une.
Descriptif
Modifier la validation de l'autorisation d'émettre token avec un nom en double, afin que le
tokenID du token, en type de données entier long, serait le seul atome
identification d’un token.
b.
Exemple
False - qui peut être proposé à partir de Java-tron Odyssey v3.2.
c.
Gamme
Vrai/Faux - Remarque : impossible de revenir à Faux à partir de Vrai.
17. TOTAL_ENERGY_LIMIT
une.
Descriptif
Modifier la limite énergétique totale de l'ensemble du réseau.
b.
Exemple
[50 000 000 000 000 000] SOLEIL - soit 50 000 000 000 TRX.
c.
Gamme
[0,100,000,000,000,000,000] SOLEIL
18. ALLOW_TVM_TRANSFER_TRC10
une.
Descriptif
Autoriser le transfert TRC-10 token dans les smart contracts.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
Les propositions ALLOW_DELEGATE_RESOURCE doivent toutes être approuvées avant d'être proposées.
ce changement de paramètre.
b.
Exemple
False - qui peut être proposé à partir de Java-tron Odyssey v3.2.
c.
Gamme
Vrai/Faux - Remarque : impossible de revenir à Faux à partir de Vrai.9.2.3 Créer une proposition
Seuls les comptes SR ont le droit de proposer une modification des paramètres dynamiques du réseau. 9.2.4 Proposition de vote
Seuls les membres du comité (SR) peuvent voter pour une proposition et le membre qui ne vote pas à temps sera considéré comme un désaccord. La proposition est active pendant 3 jours après sa création. Le vote peut être modifié ou récupéré pendant la fenêtre de vote de 3 jours. Une fois la période terminée, la proposition sera soit réussir (19+ votes), soit échouer (et terminer). 9.2.5 Annuler la proposition
Le proposant peut annuler la proposition avant qu'elle ne devienne effective. 9.3 Structure
Les SR sont les témoins des blocs nouvellement générés. Un témoin contient 8 paramètres :
1.
adresse : l'adresse de ce témoin – par ex. 0xu82h…7237.
2.
voteCount : nombre de votes reçus sur ce témoin – par ex. 234234.
3.
pubKey : la clé publique de ce témoin – par ex. 0xu82h…7237.
4.
url : l'url de ce témoin – par ex. https://www.noonetrust.com.
5.
totalProduced : le nombre de blocs produits par ce témoin – par ex. 2434.
6.
totalMissed : le nombre de blocs manqués par ce témoin – par ex. 7.
7.
lastBlockNum : la dernière hauteur du bloc – par ex. 4522.
8.
isjobs : un indicateur booléen.
Structure des données Protobuf :
message Témoin{
adresse octets = 1 ;
int64 voteCount = 2;
octets pubKey = 3;
URL de chaîne = 4;
int64 totalProduced = 5;
int64 totalManqué = 6;
int64 lastBlockNum = 7;
bool isJobs = 8;
}
- Développement DApp 10.1 API
Le réseau TRON offre une large sélection de plus de 60 passerelles API HTTP pour interagir avec le réseau via des nœuds complets et solides. De plus, TronWeb est une bibliothèque JavaScript complète contenant des fonctions API qui permettent aux développeurs de déployer des smart contract, modifiez le blockchain état, interrogez blockchain et informations sur le contrat, négociez sur le DEX et bien plus encore. Ces API les passerelles peuvent être dirigées vers un réseau privé local, le réseau de test Shasta ou le réseau principal TRON.
10.2 Réseaux
TRON possède à la fois un réseau de test Shasta et un réseau principal. Les développeurs peuvent se connecter aux réseaux en
déployer des nœuds, interagir via TronStudio ou utiliser des API via le service TronGrid. La grille Tron
Le service se compose de clusters de nœuds à charge équilibrée hébergés sur des serveurs AWS dans le monde entier. En tant que DApp
le développement s'intensifie et les volumes d'appels API augmentent, TronGrid répond avec succès à l'augmentation du
Trafic API.
10.3 Outils
TRON propose une suite d'outils de développement permettant aux développeurs de créer des DApp innovantes.
TronBox est un framework qui permet aux développeurs de tester et de déployer des smart contract via TronWeb
API. TronGrid est un service API hébergé et à charge équilibrée qui permet aux développeurs d'accéder au
TRON réseau sans avoir à exécuter leur propre nœud. TronGrid offre un accès à la fois au Shasta
testnet ainsi que le réseau principal TRON. TronStudio est un développement intégré complet
Environnement (IDE) qui permet aux développeurs de compiler, déployer et déboguer leur solution intelligente Solidity
contrats. TronStudio contient un nœud complet interne qui crée un environnement local privé pour
smart contract tests avant le déploiement. La bibliothèque API TronWeb connecte les développeurs au
réseau via une large sélection d'appels d'API HTTP enveloppés dans JavaScript.
10.4 Ressources
Le TRON Developer Hub est un site de documentation API complet conçu pour 12 développeurs souhaitant s’appuyer sur le réseau TRON. Le Developer Hub fournit un haut niveau compréhension conceptuelle de TRON et guide les utilisateurs à travers les détails de l'interaction avec le 12 Hub des développeurs : https://developers.tron.network/
réseau. Les guides guident les développeurs dans la configuration, le déploiement et l'interaction des nœuds avec Smart.
contrats, interaction et mise en œuvre de l'API, création d'exemples de DApp et utilisation de chacun des
outils de développement. De plus, les chaînes de la communauté des développeurs sont disponibles via Discord.
13
13 Discorde : https://discordapp.com/invite/GsRgsTD
- Conclusion
TRON est une solution blockchain évolutive qui a utilisé des méthodes innovantes pour lutter contre défis rencontrés par les anciens réseaux blockchain. Ayant atteint plus de 2 millions de transactions par jour, avec plus de 700 000 comptes TRX et dépassant les 2 000 TPS, TRON a permis à la communauté de créer un réseau décentralisé et démocratisé.
Tata Kelola
9.1 Perwakilan Super 9.1.1 Umum
Setiap akun di jaringan TRON dapat mendaftar dan berkesempatan menjadi Super Perwakilan (dilambangkan dengan SR). Setiap orang dapat memilih calon SR. 27 kandidat teratas dengan suara terbanyak akan menjadi SR yang mempunyai hak dan kewajiban untuk menghasilkan blok. Suaranya adalah dihitung setiap 6 jam dan SR akan berubah sesuai dengan itu.
Untuk mencegah serangan berbahaya, ada biaya untuk menjadi kandidat SR. Saat melamar, 9999 TRX akan dibakar dari akun pemohon. Setelah berhasil, akun tersebut dapat bergabung dengan SR pemilu. 9.1.2 Pemilu
TRON Kekuasaan (dilambangkan TP) diperlukan untuk memilih dan besarnya TP tergantung pada pilihan pemilih aset beku (TRX).
TP dihitung dengan cara berikut:
dll
1 TRX dibekukan untuk mendapatkan bandwidth
1
=
Setiap akun di jaringan TRON mempunyai hak untuk memilih SR mereka sendiri.
Setelah rilis (dicairkan, tersedia setelah 3 hari), pengguna tidak akan memiliki aset yang dibekukan dan kehilangan semuanya TP sesuai. Akibatnya, semua suara menjadi tidak sah untuk putaran pemungutan suara yang sedang berlangsung dan yang akan datang kecuali TRX dibekukan lagi untuk memilih.
Perhatikan bahwa jaringan TRON hanya mencatat suara terbaru, yang berarti setiap suara baru akan meniadakan semua suara sebelumnya. 9.1.3 Hadiah sebuah. Hadiah Suara
Juga dikenal sebagai Hadiah Kandidat, yang mana 127 kandidat teratas diperbarui setiap putaran (6
jam) akan membagikan 115.200 TRX yang ditambang. Hadiah akan dibagi sesuai dengan bobot suara
diterima masing-masing kandidat. Setiap tahun, total hadiah untuk kandidat adalah 168.192.000 TRX.
Total hadiah suara per putaran
Mengapa 115.200 TRX setiap putaran?
15,00TRX
total hadiah suara per putaran (V R/putaran)
1
2
=
V R/putaran = 16 T RX/blok × 20 blok/menit × 60 menit/jam × 6 jam/putaran
Perhatian: ini disetel oleh WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Lihat parameter jaringan dinamis.
Total hadiah suara per tahun
Mengapa 168.192.000 TRX setiap tahun?
168, 192, 000 T RX = total imbalan suara per tahun (V R/tahun)
V R/tahun = 115, 200 T RX/putaran × 4 putaran/hari × 365 hari/tahun
b. Blokir Hadiah
Juga dikenal sebagai Super Representative Reward, yaitu 27 kandidat (SR) teratas yang terpilih
setiap putaran (6 jam) akan membagikan sekitar 230.400 TRX yang telah ditambang. Hadiahnya akan dibagi rata
antara 27 SR (dikurangi total blok hadiah yang terlewat karena kesalahan jaringan). Sebanyak
336.384.000 TRX akan diberikan setiap tahun kepada 27 SR.
Total hadiah blok per putaran
Mengapa 230.400 TRX setiap putaran?
230, 400 T RX = total hadiah blok per putaran (BR/putaran)
BR/putaran = 32 T RX/blok × 20 blok/mnt × 60 menit/jam × 6 jam/putaran
Perhatian: hadiah blok unit ditetapkan sebesar WITNESS_PAY_PER_BLOCK = 32 TRX. Lihat jaringan dinamis
parameter.
Total hadiah blok per tahun
Mengapa 336.384.000 TRX setiap tahun?
336.384.000 T RX = total hadiah blok per tahun (BR/tahun)
BR/tahun = 230,400 T RX/putaran × 4 putaran/hari × 365 hari/tahun
1 Januari 2021
Tidak akan ada inflasi di jaringan TRON sebelum 1 Januari 2021, dan TRON DAO akan
berikan semua hadiah blok dan hadiah kandidat sebelum tanggal tersebut.
C. Perhitungan Hadiah
Perhitungan imbalan SR
imbalan total
hadiah suara (VR)
hadiah blok (BR)
t
=
+
R
jumlah VR
V
=
×
total suara
suara yang diterima calon SR
R
blok terlewatkan
2
B
=
27
jumlah BR -
× 3
Catatan: hadiah dihitung per SR per putaran (6 jam)
Peringkat 28 hingga peringkat 127 perhitungan reward calon SR imbalan total hadiah suara (VR) t =
R
jumlah VR
V
=
×
total suara
suara yang diterima calon SR
Catatan: hadiah dihitung per kandidat SR per putaran (6 jam)
9.2 Komite
9.2.1 Umum
Komite digunakan untuk mengubah TRON parameter jaringan dinamis, seperti pembuatan blok
hadiah, biaya transaksi, dll. Panitia terdiri dari 27 SR pada putaran saat ini. Setiap SR
berhak mengusulkan dan memberikan suara terhadap usul. Jika sebuah proposal mendapat 19 suara atau lebih, maka itu benar
disetujui dan parameter jaringan baru akan diterapkan pada periode pemeliharaan berikutnya (3 hari).
9.2.2 Parameter Jaringan Dinamis
0.
PEMELIHARAAN_TIME_INTERVAL
sebuah.
Deskripsi
Ubah waktu interval pemeliharaan dalam ms. Dikenal sebagai waktu interval pemungutan suara SR per
bulat.
B.
Contoh
[6 * 3600 * 1000] ms - yaitu 6 jam.
C.
Jangkauan
[3271000, 2436001000] mdtk
1.
AKUN_UPGRADE_COST
sebuah.
Deskripsi
Ubah biaya pengajuan akun SR.
B.
Contoh
[9.999.000.000] SUN - yaitu 9.999 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
2.
CREATE_ACCOUNT_FEE
sebuah.
Deskripsi
Ubah biaya pembuatan akun.B.
Contoh
[100.000] SUN - yaitu 1 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
3.
TRANSAKSI_FEE
sebuah.
Deskripsi
Ubah jumlah biaya yang digunakan untuk mendapatkan bandwidth tambahan.
B.
Contoh
[10] MATAHARI/byte.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI/byte
4.
ASSET_ISSUE_FEE
sebuah.
Deskripsi
Ubah biaya penerbitan aset.
B.
Contoh
[1024.000.000] MATAHARI - yaitu 1024 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
5.
WITNESS_PAY_PER_BLOCK
sebuah.
Deskripsi
Ubah hadiah pembuatan blok SR. Dikenal sebagai hadiah blok unit.
B.
Contoh
[32.000.000] SUN - yaitu 32 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
6.
WITNESS_STANDBY_ALLOWANCE
sebuah.
Deskripsi
Ubah hadiah yang diberikan kepada 127 kandidat SR teratas. Dikenal sebagai hadiah suara total
per putaran.
B.
Contoh
[115.200.000.000] SUN - yaitu 115.200 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
sebuah.
Deskripsi
Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #8 untuk mendapatkan
total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Contoh [0] MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
sebuah.
Deskripsi
Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #7 untuk mendapatkan
total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Contoh [1]. C. Jangkauan [0,100,000,000,000,000,000] 9. IZINKAN_CREATION_OF_CONTRACTS sebuah. Deskripsi Untuk mengaktifkan Mesin Virtual Tron (TVM). B. Contoh Benar - diatur untuk diaktifkan dan berlaku sejak 10/10/2018 23:47 UTC. C. Jangkauan Benar/Salah 10. HAPUS_THE_POWER_OF_THE_GR sebuah. Deskripsi Hapus suara awal GR Genesis b. Contoh Benar - berlaku pada 4/11/2018 08:46 UTC. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 11. ENERGI_FEE sebuah. Deskripsi Ubah biaya 1 energi. B. Contoh 20 MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 12. EXCHANGE_CREATE_FEE sebuah. Deskripsi Ubah biaya pembuatan pasangan perdagangan. Dikenal sebagai biaya pembuatan tatanan perdagangan. B. Contoh [1.024.000.000] MATAHARI - yaitu 1024 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 13. MAX_CPU_TIME_OF_ONE_TX sebuah. Deskripsi Ubah waktu eksekusi maksimum satu transaksi. Dikenal sebagai batas waktu habis satu transaksi. B. Contoh 50 ms. C. Jangkauan
[0, 1000] mdtk
14. IZINKAN_UPDATE_ACCOUNT_NAME
sebuah.
Deskripsi
Ubah opsi untuk mengizinkan akun memperbarui nama akunnya.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
15. IZINKAN_SAME_TOKEN_NAME
sebuah.
Deskripsi
Ubah validasi untuk mengizinkan token berbeda memiliki nama duplikat.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
16. IZINKAN_DELEGATE_RESOURCE
sebuah.
Deskripsi
Ubah validasi untuk mengizinkan penerbitan token dengan nama duplikat, sehingga
tokenID dari token, dalam tipe data bilangan bulat panjang, akan menjadi satu-satunya atomik
identifikasi token.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
17. TOTAL_ENERGY_LIMIT
sebuah.
Deskripsi
Ubah batas energi total seluruh jaringan.
B.
Contoh
[50.000.000.000.000.000] SUN - yaitu 50.000.000.000 TRX.
C.
Jangkauan
[0,100,000,000,000,000,000] MATAHARI
18. IZINKAN_TVM_TRANSFER_TRC10
sebuah.
Deskripsi
Izinkan transfer TRC-10 token dalam smart contracts.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ALLOW_DELEGATE_RESOURCE semua proposal harus disetujui sebelum diajukan
perubahan parameter ini.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.9.2.3 Membuat Proposal
Hanya akun SR yang berhak mengusulkan perubahan parameter jaringan dinamis. 9.2.4 Usulan Pemungutan Suara
Hanya anggota komite (SR) yang dapat memberikan suara untuk suatu proposal dan anggota yang tidak memberikan suara pada waktunya akan dianggap tidak setuju. Proposal aktif selama 3 hari setelah dibuat. Pemungutan suara bisa diubah atau diambil selama jendela pemungutan suara 3 hari. Setelah periode berakhir, proposal akan berakhir berhasil (19+ suara) atau gagal (dan berakhir). 9.2.5 Membatalkan Proposal
Pengusul dapat membatalkan usulannya sebelum menjadi efektif. 9.3 Struktur
SR adalah saksi dari blok yang baru dibuat. Seorang saksi mengandung 8 parameter:
1.
alamat: alamat saksi ini – mis. 0xu82h…7237.
2.
voteCount: jumlah suara yang diterima pada saksi ini – mis. 234234.
3.
pubKey: kunci publik untuk saksi ini – mis. 0xu82h…7237.
4.
url: url untuk saksi ini – mis. https://www.noonetrust.com.
5.
totalProducted: jumlah blok yang dihasilkan oleh saksi ini – mis. 2434.
6.
totalMissed: jumlah blok yang terlewatkan oleh saksi ini – mis. 7.
7.
lastBlockNum: ketinggian blok terbaru – mis. 4522.
8.
isjobs: bendera boolean.
Struktur data Protobuf:
pesan Saksi{
byte alamat = 1;
int64 jumlah suara = 2;
byte pubKey = 3;
string url = 4;
int64 total Diproduksi = 5;
int64 totalTerlewatkan = 6;
int64 newBlockNum = 7;
bool isJobs = 8;
}
- Pengembangan DApp 10.1 API
Jaringan TRON menawarkan beragam pilihan lebih dari 60+ gateway API HTTP untuk berinteraksi dengan jaringan melalui Node Penuh dan Soliditas. Selain itu, TronWeb adalah perpustakaan JavaScript yang komprehensif berisi fungsi API yang memungkinkan pengembang menerapkan smart contract, ubah blockchain negara bagian, kueri blockchain dan informasi kontrak, perdagangan di DEX, dan banyak lagi. API ini gateway dapat diarahkan ke privatenet lokal, testnet Shasta, atau TRON Mainnet.
10.2 Jaringan
TRON memiliki testnet Shasta dan juga Mainnet. Pengembang dapat terhubung ke jaringan dengan
menyebarkan node, berinteraksi melalui TronStudio, atau menggunakan API melalui layanan TronGrid. Jaringan Tron
layanan terdiri dari klaster simpul dengan beban seimbang yang dihosting di server AWS di seluruh dunia. Sebagai DApp
pengembangan ditingkatkan dan volume panggilan API meningkat, TronGrid berhasil melakukan peningkatan tersebut
lalu lintas API.
10.3 Alat
TRON menawarkan serangkaian alat pengembangan untuk memungkinkan pengembang membuat DApps yang inovatif.
TronBox adalah kerangka kerja yang memungkinkan pengembang menguji dan menyebarkan smart contracts melalui TronWeb
API. TronGrid adalah layanan API yang dihosting dan diseimbangkan bebannya yang memungkinkan pengembang untuk mengakses
TRON jaringan tanpa harus menjalankan nodenya sendiri. TronGrid menawarkan akses ke Shasta
testnet serta TRON Mainnet. TronStudio adalah Pengembangan Terintegrasi yang komprehensif
Lingkungan (IDE) yang memungkinkan pengembang untuk mengkompilasi, menyebarkan, dan men-debug Solidity smart mereka
kontrak. TronStudio berisi node penuh internal yang menciptakan lingkungan lokal pribadi untuk
smart contract pengujian sebelum penerapan. Pustaka TronWeb API menghubungkan pengembang ke
jaringan melalui berbagai pilihan panggilan HTTP API yang dibungkus dalam JavaScript.
10.4 Sumber Daya
Hub Pengembang TRON adalah situs dokumentasi API komprehensif yang dirancang khusus 12 pengembang yang ingin membangun jaringan TRON. Hub Pengembang menyediakan tingkat tinggi pemahaman konseptual tentang TRON dan memandu pengguna melalui detail interaksi dengan 12 Pusat Pengembang: https://developers.tron.network/
jaringan. Panduan ini memandu pengembang melalui penyiapan node, penerapan, dan interaksi dengan smart
kontrak, interaksi dan implementasi API, membuat contoh DApps, dan menggunakan masing-masingnya
alat pengembang. Selain itu, saluran komunitas pengembang tersedia melalui Discord.
13
13 Perselisihan: https://discordapp.com/invite/GsRgsTD
- Kesimpulan
TRON adalah solusi blockchain terukur yang menggunakan metode inovatif untuk mengatasi tantangan yang dihadapi oleh jaringan blockchain lama. Telah mencapai lebih dari 2 juta transaksi per hari, dengan lebih dari 700 ribu akun TRX, dan melampaui 2000 TPS, TRON telah memungkinkan komunitas dalam menciptakan jaringan yang terdesentralisasi dan demokratis.