TRON ホワイトペーパー

Par Justin Sun · 2017

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é.

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

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

TRON development roadmap phase 2 timeline from July 2018 to 2019

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

導入

1.1 ビジョン

TRON は、真の分散型インターネットとその構築に特化した野心的なプロジェクトです。 インフラストラクチャ。 TRON プロトコルは、世界最大の blockchain ベースのオペレーティング システムの 1 つです。 世界では、高スループット、高スケーラビリティ、高可用性のパブリック blockchain サポートを提供します。 TRON エコシステム内のすべての分散型アプリケーション (DApp)。 2018年7月の買収により、 BitTorrent は、分散型エコシステムの追求における TRON のリーダーシップをさらに強化しました。
1.2 背景

2009 年の Bitcoin の導入は、従来の金融に対する社会の認識に革命をもたらしました。 大不況 (2007 ~ 2008 年) の影響で、このシステムが導入されました。集中型ヘッジファンドおよび銀行として 不透明な金融デリバティブの投機で崩壊し、blockchain テクノロジーは 誰もが取引情報を収集できる透明なユニバーサル台帳。の トランザクションは、Proof of Work (PoW) コンセンサス メカニズムを使用して暗号的に保護されていました。 したがって、二重支払いの問題を防ぐことができます。

2013 年後半、Ethereum ホワイト ペーパーでは、smart contract と チューリング完全な Ethereum 仮想マシン (EVM) を使用すると、開発者は DAppsを介したネットワーク。ただし、Bitcoin と Ethereum の取引量は 2017 年にピークに達したため、 トランザクションのスループット時間が短く、トランザクション手数料が高いことから、 Bitcoin や Ethereum のような暗号通貨は、既存の状態では広範囲に拡張できるものではありませんでした 採用。したがって、TRON は、これらの差し迫った問題に対する革新的なソリューションとして設立され、構想されました。 スケーラビリティの課題。

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

1.3 歴史 TRON DAO は、2017 年 7 月にシンガポールで設立されました。 2017 年 12 月に、TRON は オープンソースプロトコルを開始しました。テストネット、ブロックチェーン エクスプローラー、Web ウォレットはすべて TRON メインネットはその直後の 2018 年 5 月に開始され、 技術的なマイルストーンとして Odyssey 2.0 をリリース。 2018 年 6 月、TRON は独立を宣言しました Genesis ブロックの作成と、2018 年 7 月の BitTorrent の買収によって実現されました。で 2018 年 10 月、TRON は、完全な開発者ツールセットである TRON 仮想マシン (TVM) を開始しました。 そして360度のサポート体制。 TRON ロードマップには、BitTorrent の 1 億人のユーザーを統合することが含まれています Project Atlas を介して TRON ネットワークと連携し、開発者コミュニティの立ち上げを促進します。 TRON ネットワーク上のエキサイティングな新しい DApps1。 1 V1.0 は https://tron.network/static/doc/white_paper_v_1_0.pdf で入手可能です

1.4 用語

アドレス/ウォレット TRON ネットワーク上のアカウント認証情報で構成されるアドレスまたはウォレットは、 鍵ペア。秘密鍵と公開鍵で構成され、後者は前者から派生します。 アルゴリズムを通じて。公開キーは通常、セッションキーの暗号化、署名に使用されます。 検証と、対応する秘密キーで復号化できるデータの暗号化を行います。

アビ アプリケーション バイナリ インターフェイス (ABI) は、2 つのバイナリ プログラム モジュール間のインターフェイスです。通常 これらのモジュールの 1 つはライブラリまたはオペレーティング システム機能であり、もう 1 つはユーザーが実行するモジュールです。 プログラム。

API アプリケーション プログラミング インターフェイス (API) は、主にユーザー クライアントの開発に使用されます。 APIあり サポート、token 発行プラットフォームは、開発者自身が設計することもできます。

資産 TRON のドキュメントでは、資産は token と同じであり、TRC-10 token とも表されます。

帯域幅ポイント (BP) ネットワークのスムーズな動作を維持するために、TRON ネットワーク トランザクションは BP を燃料として使用します。各アカウント 毎日 5000 BP を無料で獲得でき、BP の TRX を凍結することでさらに多くの BP を獲得できます。 TRXとTRC-10の両方 token 転送は、BP がかかる通常のトランザクションです。 スマートコントラクトの展開と実行 トランザクションはBPとエネルギーの両方を消費します。

ブロック ブロックには取引のデジタル記録が含まれます。完全なブロックはマジックナンバーで構成されます。 ブロック サイズ、ブロック ヘッダー、トランザクション カウンタ、およびトランザクション データ。

ブロック報酬 ブロック生産報酬はサブアカウント(アドレス/ウォレット)に送信されます。スーパーレプリゼンタティブは次のことができます Tronscan または API を通じて直接報酬を受け取ります。

ブロックヘッダー ブロックヘッダーはブロックの一部です。 TRON ブロック ヘッダーには、前のブロックの hash、 マークル ルート、タイムスタンプ、バージョン、および証人アドレス。コールドウォレット オフライン ウォレットとも呼ばれるコールド ウォレットは、秘密キーを他のユーザーから完全に切り離した状態に保ちます。 ネットワーク。コールドウォレットは通常、「コールド」デバイス(コンピュータや携帯電話など)にインストールされます。 オフラインのまま) TRX 秘密キーのセキュリティを確保します。

DApp 分散型アプリケーションは、中央で信頼できる当事者なしで動作するアプリです。アプリケーション エンドユーザーおよび/またはリソース間の直接の対話/合意/コミュニケーションを可能にする 仲介者なしで。

gRPC gRPC (gRPC リモート プロシージャ コール) は、オープンソースのリモート プロシージャ コール (RPC) システムです。 2 当初は Google で開発されました。トランスポートには HTTP/2 を使用し、インターフェイスとしてプロトコル バッファーを使用します。 記述言語を備え、認証、双方向ストリーミング、フローなどの機能を提供します。 制御、ブロッキングまたは非ブロッキング バインディング、キャンセルとタイムアウト。それは生成します 多くの言語に対するクロスプラットフォームのクライアントとサーバーのバインディング。最も一般的な使用シナリオ マイクロサービス スタイル アーキテクチャでのサービスの接続とモバイル デバイスの接続が含まれます。 ブラウザクライアントからバックエンドサービスへ。

ホットウォレット オンライン ウォレットとも呼ばれるホット ウォレットを使用すると、ユーザーの秘密キーをオンラインで使用できるようになります。 潜在的な脆弱性や悪意のある攻撃者による傍受の影響を受けやすくなります。

JDK Java Development Kit は、Java アプリケーションに使用される Java SDK です。 Javaの核心です Java アプリケーション環境 (JVM+Java クラス ライブラリ) と Java で構成される開発 ツール。

カオスDB TRON は、フルノード メモリに KhaosDB を持ち、生成されたすべての新しくフォークされたチェーンを保存できます。 一定期間内に監視者が自分のアクティブなチェーンから迅速に切り替えることをサポートします。 新しいメインチェーンに組み込まれます。詳細については、「2.2.2 状態ストレージ」を参照してください。

レベルDB LevelDB は当初、高速 R/W および迅速な要件を満たすことを主な目的として採用されました。 開発。メインネットを立ち上げた後、TRON はデータベースを完全にカスタマイズされたデータベースにアップグレードしました。 1 つはまさに自分自身のニーズに応えます。詳細については、「2.2.1 ブロックチェーン ストレージ」を参照してください。

マークルルート マークル ルートは、blockchain のブロックの一部として含まれるすべてのトランザクションのすべての hash の hash です。 ネットワーク。詳細については、「3.1 委任されたプルーフ オブ ステーク (DPoS)」を参照してください。 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

パブリックテストネット(シャスタ) 単一ノード構成で実行されるネットワークのバージョン。開発者は接続してテストできる 経済的損失を心配することなく機能を利用できます。テストネット token には価値がなく、誰でも実行できます。 公共の蛇口にさらにリクエストしてください。

RPC
3 分散コンピューティングでは、コンピュータ プログラムがリモート プロシージャ コール (RPC) を実行します。 別のアドレス空間 (通常は、別のコンピュータ上で実行) で実行するプロシージャ (サブルーチン) 共有ネットワーク)、あたかも通常の (ローカル) プロシージャ コールであるかのようにコード化されます。 プログラマーはリモート対話の詳細を明示的にコーディングします。

スケーラビリティ スケーラビリティは、TRON プロトコルの機能です。システム、ネットワーク、またはプロセスの機能です。 増大する作業量に対応できるか、またはその増大に対応して拡大する可能性がある。

太陽 SUN は TRX の最小単位として Drop を置き換えました。 1 TRX = 1,000,000 SUN。

スループット 高スループットは TRON メインネットの機能です。 1 秒あたりのトランザクション数 (TPS) で測定されます。 つまり、1秒間の最大トランザクション容量です。

タイムスタンプ ブロック生成のおおよその時間が Unix タイムスタンプとして記録されます。 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒。

TKC トークンの構成。

TRC-10 TRON プラットフォーム上の暗号 token の標準。特定のルールとインターフェイスに従う必要があります TRON blockchain に新規コインオファリングを開催する場合。

TRX TRX は Tronix の略で、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.

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

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/

アーキテクチャ

TRON は、ストレージ層、コア層、アプリケーション層に分かれた 3 層アーキテクチャを採用しています。 TRON プロトコルは、本質的に多言語をサポートする Google Protobuf に準拠しています。 拡張子。

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

図 1: TRON 3 層アーキテクチャ

2.1 コア

コア層には、smart contracts、アカウント管理、 コンセンサス。スタックベースの仮想マシンは TRON と最適化された命令に実装されています セットが使われます。 DApp 開発者をより適切にサポートするために、Solidity が smart contract として選択されました。 4 言語、その後に他の高度な言語の将来のサポートが続きます。さらに、TRON の総意 このメカニズムは Delegated Proof of Stake (DPoS) に基づいており、多くの革新が行われました。 独自の要件を満たすため。 2.2 保管

TRON は、ブロック ストレージとステートで構成される独自の分散ストレージ プロトコルを設計しました。 保管。グラフ データベースの概念は、ストレージ レイヤーの設計に導入されました。 現実世界における多様なデータストレージのニーズをより適切に満たします。 2.2.1 ブロックチェーンストレージ

TRON blockchain ストレージは、Google によって開発され実績のある LevelDB の使用を選択します。 多くの企業やプロジェクトで成功を収めています。高性能で任意のバイトをサポート キーと値の両方としての配列、単数の get、put および delete、バッチされた put および delete、双方向 イテレータ、および非常に高速な Snappy アルゴリズムを使用した単純な圧縮。 2.2.2 状態ストレージ

TRON は、フルノード メモリに KhaosDB を持ち、生成されたすべての新しくフォークされたチェーンを保存できます。 一定期間内に監視者が自分のアクティブなチェーンから迅速に切り替えることをサポートします。 新しいメインチェーンに組み込まれます。また、blockchain ストレージをより安定して保護することもできます。 途中の状態で異常終了します。 2.3 アプリケーション

開発者は、TRON でさまざまな DApp やカスタマイズされたウォレットを作成できます。 TRON 以降 smart contracts をデプロイして実行できるようにすると、ユーティリティ アプリケーションの機会が広がります。 無制限。 4 Solidity 公式ドキュメント: https://solidity.readthedocs.io/

2.4 プロトコル

TRON プロトコルは、言語中立、プラットフォーム中立の Google プロトコル バッファーに準拠しています。 5 通信プロトコル、データストレージ、 などなど。 2.4.1 プロトコルバッファ

プロトコル バッファー (Protobuf) は、構造化されたデータをシリアル化するための柔軟で効率的な自動メカニズムです。 JSON や XML に似たデータですが、はるかに小さく、高速で、シンプルです。

Protobuf (.proto) 定義を使用して、C++、Java、C#、Python、Ruby、 Golang および Objective-C 言語は、公式コード ジェネレーターを介して利用できます。さまざまなサードパーティ製 実装は他の多くの言語でも利用できます。 Protobuf により開発が容易になります API 定義を統一し、データ転送を最適化することで、クライアントの機能を強化します。クライアントはAPIを利用できる TRON のプロトコル リポジトリから .proto を取得し、自動生成されたコードを通じて統合します 図書館。

比較すると、プロトコル バッファーは XML よりも 3 ~ 10 倍小さく、20 ~ 100 倍高速です。 曖昧さの少ない構文で。 Protobuf は、より使いやすいデータ アクセス クラスを生成します プログラム的に。 2.4.2 HTTP

TRON プロトコルは、Protobuf API の代替となる RESTful HTTP API を提供します。彼らは同じことを共有しています インターフェイスですが、HTTP API は JavaScript クライアントで簡単に使用できます。 2.5 TRON 仮想マシン (TVM)

TVM は、TRON のエコシステム用に開発された軽量のチューリング完全仮想マシンです。の TVM は既存の開発エコシステムとシームレスに接続し、何百万ものグローバルなサービスを提供します。 効率的、便利、安定性、安全性を備えたカスタム構築の blockchain システムを使用する開発者 スケーラブル。
2.6 分散型取引所 (DEX)

5 Google プロトコル バッファーの公式ドキュメント: https://developers.google.com/protocol-buffers/TRON ネットワークは、分散型交換機能をネイティブにサポートします。分散型取引所 複数の取引ペアで構成されます。取引ペア(「取引所」と表記)は取引所市場です TRC-10 tokens の間、または TRC-10 token と TRX の間。どのアカウントでも取引を作成できます 同じペアが TRON ネットワーク上にすでに存在する場合でも、任意の token 間のペア。取引と 取引ペアの価格変動は Bancor プロトコルに従います。 TRON ネットワークでは次のように規定されています。 6 すべての取引ペアの 2 つの token の重みは等しいため、それらの残高の比率が価格になります 彼らの間で。たとえば、ABC と DEF という 2 つの token を含む取引ペアについて考えてみましょう。 ABCには 残高1000万、DEF残高100万です。それらの重みは等しいため、10 ABC = 防御力1これは、ABC と DEF の比率が DEF あたり 10 ABC であることを意味します。 2.7 実装

TRON blockchain コードは Java で実装されており、元々は EthereumJ からのフォークでした。

6 Bancor プロトコルの公式 Web サイト: 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 ​x​1 ​≠ x​2​ ​telles que ​h(x​1​) = h(x​2​)​. 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é ​x​1​, et donc ​h(x​1​)​, il est informatiquement impossible de trouver n'importe quel ​x​2​ tel que ​h(x​1​) = h(x​2​)​. 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 ​x​1​ donné le trouvera par calcul impossible de trouver un ​x​2​ 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.

コンセンサス

3.1 委任されたステークの証明 (DPoS)

最も初期のコンセンサス メカニズムは、Proof of Work (PoW) コンセンサス メカニズムです。これ このプロトコルは現在 Bitcoin および Ethereum に実装されています。 PoW システムでは、トランザクション 7 8 ネットワークを介したブロードキャストは、マイナーの確認のために初期のブロックにグループ化されます。の 確認プロセスには、暗号化 hashing アルゴリズムを使用した hashing トランザクションが含まれます。 マークル ルートに到達し、マークル ツリーが作成されます。

図 2: 8 つの TRX トランザクションがマークル ルートに hash されます。このマークル ルートはブロック ヘッダーに含まれます。 以前に確認されたブロックに付加されて、blockchain が形成されます。これにより、簡単かつ透過的な追跡が可能になります。 トランザクション、タイムスタンプ、その他の関連情報。

7 Bitcoin ホワイトペーパー: https://bitcoin.org/bitcoin.pdf 8 Ethereum ホワイトペーパー: https://github.com/ethereum/wiki/wiki/White-Paper

暗号化 hashing アルゴリズムは、次の機能を備えているため、ネットワーク攻撃の防止に役立ちます。 いくつかのプロパティ:
9

● 入力/出力の長さのサイズ - アルゴリズムは、任意の長さのサイズの入力を渡すことができます。 固定長の hash 値を出力します。
● 効率 - アルゴリズムは比較的簡単で高速に計算できます。
● 前像抵抗 - 与えられた出力 z に対して、次のような入力 x を見つけることは不可能です。 h(x) = z。言い換えれば、hashing アルゴリズム h(x) は一方向関数であり、 入力が与えられると出力を見つけることができます。その逆は不可能です。
● 衝突耐性 - h(x 1) となるような x 1 ≠ x 2 のペアを見つけることは計算上不可能です = h(x 2 ) 。言い換えれば、同じものに対する 2 つの異なる入力 hash が見つかる確率 出力が極端に低いです。このプロパティは、2 番目のプリイメージ耐性も意味します。
● 2 番目のプリイメージ抵抗 - x 1 、したがって h(x 1 ) が与えられると、次のことは計算上実行不可能です。 h(x1) = h(x2) となるような任意の x2 を見つけます。この特性は衝突耐性に似ていますが、 このプロパティは、攻撃者が特定の x 1 を計算的に見つけるだろうとしている点が異なります。 同じ出力に対する x 2 hash を見つけることは不可能です。
● 決定的 – 各入力を 1 つの出力にマッピングします。 ● Avalanche 効果 - 入力の小さな変更により、まったく異なる出力が生じます。

これらのプロパティは、攻撃が行われないことを保証することで、暗号通貨ネットワークに本質的な価値を与えます。 ネットワークを侵害します。マイナーがブロックを確認すると、組み込みとしてtokensの報酬が与えられます。 ネットワークへの参加に対するインセンティブ。しかし、世界の仮想通貨の時価総額としては、 着実に増加し、マイナーは集中化され、コンピューティング リソースを次のことに集中させました。 ネットワーク参加目的ではなく、資産として token を蓄積します。 CPU マイナーが道を譲った GPU は強力な ASIC に取って代わられました。ある注目すべき研究では、総電力は Bitcoin マイニングの消費量は 3 GW に達すると推定されており、これはアイルランドの消費量に匹敵します 10 消費電力。この同じ調査では、総電力消費量が近いうちに 8 GW に達すると予測されています。 未来。

エネルギーの無駄の問題を解決するために、Proof of Stake (PoS) コンセンサスメカニズムが提案されました。 多くの新しいネットワーク。 PoS ネットワークでは、token 保有者は自分の token 残高をロックしてブロックします validator秒。 validator は順番に次のブロックの提案と投票を行います。ただし、問題は 標準 PoS の場合、validator の影響はロックされた token の量に直接相関します。 その結果、関係者がネットワークの基本通貨を大量に蓄え、不当に行使することになります。 ネットワークエコシステムへの影響。

TRON コンセンサス メカニズムは、革新的な Delegated Proof of Stake システムを使用しています。 スーパー代表 (SR) は、ネットワークのブロックを生成します。 6 時間ごと、TRX アカウント所有者 アカウントを凍結した人は、上位 27 人の SR 候補者に投票できます。 SRとみなします。有権者は、SR が後援するプロジェクトなどの基準に基づいて SR を選択できます。 9 PAAR, C.、PELZL, J.、暗号の理解: 学生と実務者のための教科書、2010 年版。 シュプリンガー・フェアラーク・ベルリン・ハイデルベルク、2010年。
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776TRX の採用を増やし、有権者に分配される報酬を増やします。これにより、より民主化された、 分散型エコシステム。 SRのアカウントは通常のアカウントですが、投票の蓄積は ブロックを生成できるようになります。 Bitcoin および Ethereum のスループット レートは低いため、 PoW コンセンサス メカニズムとスケーラビリティの問題に対して、TRON の DPoS システムは革新的な このメカニズムにより、Bitcoin の 3 TPS と Ethereum の 15 TPS と比較して、2000 TPS が発生しました。

TRON プロトコル ネットワークは 3 秒ごとに 1 つのブロックを生成し、各ブロックには 32 が与えられます。 TRXからスーパー代表へ。年間合計 3 億 3,638 万 4,000 TRX が 27 名の SR に授与されます。 SR がブロックの生成を完了するたびに、報酬はスーパーレジャーのサブアカウントに送信されます。 SR はこれらの TRX token を確認できますが、直接利用することはできません。それぞれの出金が可能です SRは24時間に1回、サブアカウントから指定したSRに報酬を転送します アカウント。

TRON ネットワーク上の 3 種類のノードは、Witness ノード、フル ノード、および Solidity ノードです。 監視ノードは SR によってセットアップされ、主にブロックの生成と提案を担当します。 作成/投票。フルノードは API とブロードキャスト トランザクションとブロックを提供します。 Solidity ノードの同期 他のフルノードからブロックし、インデックス可能な API も提供します。

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

アカウント

4.1 種類

TRON ネットワーク内の 3 種類のアカウントは、通常のアカウント、token アカウント、および 契約アカウント。

1. 通常口座は標準的な取引に使用されます。
2. トークン アカウントは、TRC-10 token を保存するために使用されます。
3. 契約アカウントは、通常のアカウントによって作成された smart contract アカウントであり、 通常のアカウントでもトリガーされます。 4.2 作成

TRON アカウントを作成するには 3 つの方法があります:

1. API経由で新しいアカウントを作成する 2. TRXを新しいアカウントアドレスに送金します 3. TRC-10 token を新しいアカウントのアドレスに転送します

アドレス (公開キー) と秘密キーで構成され、サーバーによって記録されないオフライン キーのペア。 TRON ネットワークも生成できます。ユーザーアドレス生成アルゴリズムは次のもので構成されます。 キーペアを生成し、公開キーを抽出します (x、y を表す 64 バイトのバイト配列) 座標)。 SHA3-256 関数を使用して公開キーをハッシュします (採用されている SHA3 プロトコルは KECCAK-256) を実行し、結果の最後の 20 バイトを抽出します。バイト配列の先頭に 41 を追加します。 また、最初のアドレス長が 21 バイトであることを確認します。 SHA3-256関数を使用してアドレスを2回ハッシュします 最初の 4 バイトを検証コードとして受け取ります。確認コードをイニシャルの末尾に追加します アドレスを取得し、base58 エンコードを通じて、base58check 形式でアドレスを取得します。エンコードされた メインネット アドレスは T で始まり、長さは 34 バイトです。 4.3 構造

3 つの異なるアカウント タイプは、Normal、AssetIssue、および Contract です。アカウントには 7 が含まれます パラメータ:

1. account_name : このアカウントの名前 – 例:請求書アカウント。
2. type : このアカウントのタイプ – 例: 0 (タイプ「通常」を表します)。
3. 残高: この口座の残高 – 例: 4213312。

4. 投票: このアカウントで投票を受け取りました – 例: {(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}。
5. 資産: このアカウントで TRX が期待される他の資産 – 例: {<"WishToken", 66666>, <"ドギー", 233>}。 6. 最新_操作_時間: このアカウントの最新の操作時間。

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.

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

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

ブロック

通常、ブロックにはブロック ヘッダーといくつかのトランザクションが含まれます。

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 ブロックヘッダー

ブロックヘッダーには、raw_data、witness_signature、blockID が含まれます。

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

​int64​ timestamp = ​1​;

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

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

​bytes​ witness_address = ​6​;

} ​bytes​ witness_signature = ​2​; ​bytes​ blockID = ​3​;
} 5.1.1 生データ

生データは、Protobuf では raw_data と表されます。メッセージの生データが含まれており、6 つのメッセージが含まれています。 パラメータ:

1. timestamp : このメッセージのタイムスタンプ – 例: 1543884429000。 2. txTrieRoot: マークル ツリーのルート – 例: 7dacsa…3ed。 3. parentHash : 最後のブロックの hash – 例: 7dacsa…3ed。 4. 数値: ブロックの高さ – 例: 4638708。 5. バージョン: 予約済み – 例: 5.

6. Witness_address : このブロックに詰め込まれた証人のアドレス – 例: 41928c...4d21。 5.1.2 証人の署名

証人の署名は、Protobuf では witness_signature として示されます。これは、この署名です。 監視ノードからのブロックヘッダー。 5.1.3 ブロックID

ブロック ID は、Protobuf では blockID として表されます。これには、ブロックのアトミック ID が含まれます。ブロック ID には 2 つのパラメータが含まれます。 1. hash : ブロックの hash 。 2. 番号: hash とブロックの高さ。 5.2 トランザクション 5.2.1 署名

TRON のトランザクション署名プロセスは、標準の ECDSA 暗号化アルゴリズムに従います。 SECP256K1の選択曲線。秘密キーは乱数であり、公開キーは 楕円曲線。公開鍵の生成プロセスは、最初に乱数を生成することから構成されます。 秘密鍵を取得し、楕円曲線の基点に秘密鍵を乗算して、 公開鍵。トランザクションが発生すると、トランザクションの生データがまずバイト形式に変換されます。 次に、生データは SHA-256 hash 処理されます。契約に対応する秘密鍵 次に、アドレスは SHA256 hash の結果に署名します。署名結果は、 取引。
5.2.2 帯域幅モデル

通常のトランザクションは帯域幅ポイントのみを消費しますが、smart contract オペレーションは両方の帯域幅ポイントを消費します。 エネルギーと帯域幅のポイント。使用可能な帯域幅ポイントは 2 種類あります。ユーザーが得られるメリット TRX の凍結により帯域幅ポイントが獲得できるほか、毎日 5,000 の無料帯域幅ポイントも利用できます。

TRX トランザクションがブロードキャストされると、トランザクションはバイト配列の形式で送信され、保存されます。 ネットワーク。 1 つのトランザクションで消費される帯域幅ポイント = トランザクションのバイト数 帯域幅ポイント率を乗算します。たとえば、トランザクションのバイト配列の長さが 200 の場合、 この場合、トランザクションは 200 帯域幅ポイントを消費します。ただし、TRX または token 転送の結果、 ターゲット アカウントが作成されると、アカウントの作成に消費される帯域幅ポイントのみが消費されます。 が差し引かれますが、追加の帯域幅ポイントは差し引かれません。アカウント作成時 シナリオでは、ネットワークは最初にトランザクション開始者が獲得した帯域幅ポイントを消費します。TRXの凍結から。この量が不十分な場合、ネットワークはトランザクションを消費します。 イニシエーターの TRX。

ある TRX アカウントから別の TRX アカウントへの標準的な TRX 転送シナリオでは、ネットワークは最初に TRX を凍結するためにトランザクション開始者が獲得した帯域幅ポイント。それが不十分な場合は、 無料の 1 日あたり 5000 帯域幅ポイントを消費します。それでも不十分な場合は、ネットワーク トランザクション開始者の TRX を消費します。量はバイト数によって計算されます。 トランザクションに 10 SUN を掛けます。したがって、必ずしも凍結する必要はないほとんどの TRX 保有者にとって、 彼らの TRX が SR 投票に参加する場合、最初のステップは自動的にスキップされます (TRX 残高があるため) 凍結 = 0)、1 日あたり 5000 の無料帯域幅がトランザクションを強化します。

TRC-10 token 転送の場合、ネットワークは最初に、合計空き帯域幅ポイントが 発行された token 資産で十分です。そうでない場合、TRX をフリーズすることで取得される帯域幅ポイントは次のようになります。 消費された。それでも十分な帯域幅ポイントがない場合は、トランザクションの TRX が消費されます。 イニシエーター。

5.2.3 料金

TRON ネットワークは通常、ほとんどのトランザクションに手数料を請求しませんが、システム上の理由により、 制限と公平性、帯域幅の使用およびトランザクションには一定の手数料がかかります。

手数料は次のカテゴリに分類されます。 1. 通常のトランザクションには帯域幅ポイントがかかります。ユーザーは無料の毎日の帯域幅ポイントを使用できます (5000) または TRX を凍結してさらに入手します。帯域幅ポイントが十分でない場合、TRX は 送信アカウントから直接使用されます。必要な TRX は、バイト数 * 10 SUN です。 2. スマート コントラクトにはエネルギーがかかります (セクション 6) が、そのための帯域幅ポイントも必要になります。 トランザクションをブロードキャストして確認する必要があります。帯域幅コストは上記と同じです。 3. すべてのクエリ トランザクションは無料です。エネルギーや帯域幅はかかりません。

TRON ネットワークは、次のトランザクションに対する一連の固定料金も定義します。 1. 監視ノードの作成: 9999 TRX 2. TRC-10 token の発行: 1024 TRX 3. 新しいアカウントの作成: 0.1 TRX 4. 交換ペアの作成: 1024 TRX 5.2.4 プルーフ・オブ・ステークとしてのトランザクション (TaPoS)

TRON は TaPoS を使用して、すべてのトランザクションがメインの blockchain を確実に確認するようにします。 偽造チェーンを偽造するのは困難です。 TaPoS では、ネットワークは各トランザクションに次の一部が含まれることを必要とします。 最近のブロックヘッダーの hash。この要件により、トランザクションが再実行されなくなります。 参照されたブロックを含まないフォークを実行し、特定のユーザーとそのユーザーがステークは特定のフォークにあります。このコンセンサス メカニズムは、ネットワークを拒否から保護します。 サービス、51%、利己的なマイニング、二重支払い攻撃。
5.2.5 トランザクションの確認

トランザクションは、ネットワークにブロードキャストされた後、将来のブロックに含まれます。 19ブロック後 TRON (独自のブロックを含む) でマイニングされた場合、トランザクションは確認されます。各ブロックは次のように生成されます。 ラウンドロビン方式で上位 27 人のスーパー代表の 1 人。各ブロックには約 3 秒かかります blockchain で採掘されます。ネットワークの関係により、各スーパー代表の時間は若干異なる場合があります 条件とマシン構成。一般に、トランザクションは次の後に完全に確認されたとみなされます。 ~1分。 5.2.6 構造

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

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

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

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)

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

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 仮想マシン

6.1 はじめに

TRON 仮想マシン (TVM) は、 TRON のエコシステム。その目標は、効率的でカスタム構築された blockchain システムを提供することです。 便利、安定、安全、スケーラブル。

TVM は当初 EVM からフォークされ、既存の Solidity smart contract とシームレスに接続できます 11 開発エコシステム。これに基づいて、TVM は DPoS コンセンサスを追加でサポートします。

TVM はエネルギーの概念を採用しています。 EVM のガス機構とは異なり、 TVM 上のトランザクションと smart contract は無料であり、TRX は消費されません。技術的には実行可能 TVM 上の計算能力は、tokens の合計保持量によって制限されません。 6.2 ワークフロー

コンパイラーはまず、Solidity smart contract を読み取り可能で実行可能なバイトコードに変換します。 TVM。その後、TVM はオペコードを通じてデータを処理します。これはロジックを操作するのと同じです。 スタックベースの有限状態マシンの。最後に、TVM は blockchain データにアクセスし、 相互運用層を介した外部データ インターフェイス。 11 EVM: Ethereum 仮想マシン (https://github.com/ethereum/ethereumj)

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

図 3: TVM ワークフロー

6.3 パフォーマンス 6.3.1 軽量アーキテクチャ

TVM は、リソース消費を削減して確実なパフォーマンスを実現することを目的とした軽量アーキテクチャを採用しています。 システムのパフォーマンス。 6.3.2 堅牢性

TRX 転送と smart contract 実行では、TRX ではなく帯域幅ポイントのみがかかります。 TRON は攻撃から免除されます。帯域幅の消費量は予測可能で静的です。 計算ステップコストは固定です。 6.3.3 高い互換性

TVM は EVM と互換性があり、将来的にはより主流の VM と互換性があるようになる予定です。 これにより、EVM 上のすべての smart contract が TVM 上で実行可能になります。 6.3.4 低コスト

TVM の帯域幅設定により、開発コストが削減され、開発者は開発に集中できます。 契約コードのロジック開発。 TVM は契約用のオールインワン インターフェイスも提供します 導入、トリガー、表示を可能にし、開発者に利便性を提供します。

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.

スマートコントラクト

7.1 はじめに

smart contract は、契約交渉をデジタル的に検証するプロトコルです。彼らはルールを定義し、 契約に関連する罰則が適用され、それらの義務も自動的に強制されます。賢い 契約コードは、契約の交渉や履行を促進、検証、強制します。 取引。 token化の観点から見ると、smart contractは自動資金調達も容易にします 参加当事者間の転送には、特定の基準が満たされる必要があります。

TRON smart contract は Solidity 言語で書かれています。作成してテストすると、次のことが可能になります。 バイトコードにコンパイルされ、TRON 仮想マシンの TRON ネットワークにデプロイされます。一度 導入すると、smart contract はコントラクト アドレスを介してクエリできるようになります。契約申込書 バイナリ インターフェイス (ABI) はコントラクトの呼び出し関数を示し、コントラクトとの対話に使用されます。 ネットワーク。 7.2 エネルギーモデル

smart contract を展開およびトリガーするための最大エネルギー制限は、いくつかの関数によって決まります。 変数:

● 1 TRX の凍結による動的エネルギーは 50,000,000,000 (総エネルギー制限) / (総エネルギー) 重量) ● エネルギー制限は、TRX の凍結による 1 日あたりのアカウントのエネルギー制限です。 ● TRX の凍結による毎日のアカウントの残りのエネルギーは、エネルギー制限 - エネルギーとして計算されます。 中古品 ● TRX の料金制限は smart contract デプロイ/トリガー呼び出しで設定されます ● アカウント内の使用可能な TRX の残り ● 直接購入した場合の TRX あたりのエネルギー (10 SUN = 1 エネルギー) = 100,000、SR は投票可能 調整

導入の最大エネルギー制限を計算するには、2 つの消費シナリオがあります。 トリガー。ロジックは次のように表現できます。
const​ R = Dynamic Energy Limit const​ F = Daily account energy ​from​ freezing TRX const​ E = Remaining daily account energy ​from​ freezing TRX const​ L = Fee limit ​in​ TRX set ​in​ deploy/trigger call const​ T = Remaining usable TRX ​in​ account

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

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

TRON Solidity smart contract がコンパイルされると、TRON 仮想マシンはコンパイルされた バイトコード。バイトコードは、コード展開のセクション、コントラクト コード、および Auxdata で構成されます。 Auxdata はソース コードの暗号化フィンガープリントであり、検証に使用されます。導入 bytecode はコンストラクター関数を実行し、初期ストレージ変数を設定します。導入 code はコントラクト コードも計算し、それを TVM に返します。 ABI は JSON ファイルです。 TRON smart contract の機能について説明します。このファイルは、関数名、その支払い可能性、 関数の戻り値とその状態の可変性。 7.4 トリガー機能

TRON smart contract がデプロイされると、それらの機能は次のいずれかの方法で個別にトリガーできます。 TronStudio または API 呼び出し経由。状態変更関数はエネルギーを必要としますが、読み取り専用関数は必要です エネルギーなしで実行します。 7.5 TRON 堅牢性

TRON Solidity は、Ethereum の Solidity 言語からのフォークです。 TRON は、元のプロジェクトを次のように変更します。 TRX および SUN ユニットをサポートします (1 TRX = 1,000,000 SUN)。残りの言語構文は次のとおりです。 Solidity ^0.4.24 と互換性があります。したがって、Tron 仮想マシン (TVM) はほぼ 100% 互換性があります。 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.

トークン

8.1 TRC-10トークン

TRON ネットワークでは、各アカウントは 1024 TRX を犠牲にして token を発行できます。 token を発行するには、 発行者は、token の名前、大文字の合計、TRX への為替レートを指定する必要があります。 発行期間、説明、Web サイト、アカウントごとの最大帯域幅消費量、合計 帯域幅の消費量、および凍結された token の量。 token の発行ごとに構成することもできます 各アカウントの 1 日あたりの最大転送帯域幅ポイント token、ネットワーク全体の 1 日あたりの最大転送帯域幅ポイント token 転送帯域幅ポイント、合計 token 供給量、ロック期間 (日数)、および合計金額 token 件がロックされています。 8.2 TRC-20トークン

TRC-20 は、token を実装する smart contract に使用される技術標準であり、 TRON 仮想マシン。 ERC-20と完全互換です。

インターフェースは次のとおりです。
コントラクト TRC20インターフェース { function totalSupply() public constant returns (uint); 関数 BalanceOf (アドレス tokenOwner) パブリック定数 戻り値 (uint バランス); 関数の許可(アドレスtoken所有者、アドレス使用者)公開定数 戻り値 (残りの単位); 関数 transfer (アドレス、uint tokens) public 戻り値 (bool 成功); 関数 approve (アドレス使用者、uint tokens) public 戻り値 (bool 成功); 関数transferFrom(アドレス元、アドレス先、uint tokens) public 戻り値 (ブール値の成功);

イベント転送(インデックス元のアドレス、インデックス先のアドレス、単位 tokens); 
イベント承認(アドレスインデックス付きtoken所有者、アドレスインデックス付き支出者、uint)

tokens); }

開発者の観点から見ると、TRC-10 と TRC-20 にはいくつかの違いがあります。一部 主な違いは、TRC-10 token は API と smart contract からアクセスできるのに対し、 TRC-20 token ではインターフェイスのカスタマイズが可能ですが、smart contract 内でのみアクセス可能です。

コストの観点から見ると、TRC-10 token の取引手数料は 1000 分の 1 です。 TRC-20 ですが、API 転送とデポジットに帯域幅コストがかかります。スマートで送金と入金 TRC-10 token の契約には帯域幅とエネルギーの両方がかかります。
8.3 その先へ

TRON は Ethereum と同じ Solidity バージョンを使用しているため、より多くの token 標準を容易に使用できるようになります。 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​; }

  1. 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

  1. 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é.

ガバナンス

9.1 スーパー代表 9.1.1 一般

TRON ネットワーク内のすべてのアカウントが応募でき、スーパーになる機会があります。 代表者(SRと表記)。誰でもSR候補に投票できます。上位27人の候補者は、 最も多くの票がブロックを生成する権利と義務を持つ SR になります。投票数は 6時間ごとにカウントされ、それに応じてSRが変化します。

悪意のある攻撃を防ぐために、SR 候補になるにはコストがかかります。申請時は9999 TRX は申請者のアカウントから消去されます。成功すると、そのアカウントは SR に参加できるようになります 選挙。 9.1.2 選挙

TRON 投票するにはパワー (TP と表記) が必要で、TP の量は投票者の権限によって異なります。 凍結資産 (TRX)。

TP は次のように計算されます。
TP 帯域幅を確保するために 1 つの TRX がフリーズしました 1 =

TRON ネットワーク内のすべてのアカウントには、自分の SR に投票する権利があります。

リリース後 (凍結解除、3 日後に利用可能)、ユーザーは凍結されたアセットを持たず、すべてを失います。 それに応じてTPします。その結果、次の場合を除き、すべての投票は現在および将来の投票ラウンドでは無効になります。 TRX は再び投票を凍結されます。

TRON ネットワークは最新の投票のみを記録することに注意してください。つまり、新しい投票はすべて記録されます。 以前の投票はすべて無効になります。 9.1.3 報酬 a.投票報酬

候補者報酬とも呼ばれ、上位 127 人の候補者がラウンドごとに 1 回更新されます (6 時間) は、採掘された 115,200 TRX を共有します。投票重みに応じて報酬が分配されます 各候補者が受け取ります。毎年、候補者への報酬総額は 1 億 6,819 万 2,000 TRX となります。 ラウンドごとの投票報酬の合計 なぜ毎ラウンド 115,200 TRX なのでしょうか? 15, 00 TRX ラウンドごとの投票報酬の合計 (VR/ラウンド) 1 2 =
V R/ラウンド = 16 T RX/ブロック × 20 ブロック/分 × 60 分/時間 × 6 時間/ラウンド 注意: これは、WITNESS_STANDBY_ALLOWANCE = 115,200 TRX によって設定されます。動的ネットワークパラメータを参照してください。 年間の総投票報酬 なぜ毎年 1 億 6,819 万 2,000 TRX なのでしょうか? 168, 192,000 T RX = 年間の総投票報酬 (V R/年) V R/年 = 115、200 T RX/ラウンド × 4 ラウンド/日 × 365 日/年 b.ブロック報酬 スーパー代表報酬とも呼ばれ、選出された上位 27 人の候補者 (SR) が得られます。 各ラウンド (6 時間) で、採掘された約 230,400 TRX が共有されます。報酬は均等に分割されます 27 個の SR 間 (ネットワーク エラーにより逃した報酬ブロックの合計を差し引く)。合計 27 人の SR には年間 3 億 3,638 万 4,000 TRX が授与されます。 ラウンドごとのブロック報酬の合計 なぜ毎ラウンド 230,400 TRX なのでしょうか? 230、400 T RX = ラウンドあたりの合計ブロック報酬 (BR/ラウンド) BR/ラウンド = 32 T RX/ブロック × 20 ブロック/分 × 60 分/時間 × 6 時間/ラウンド 注意: ユニット ブロックの報酬は WITNESS_PAY_PER_BLOCK = 32 TRX によって設定されます。 「動的ネットワーク」を参照 パラメータ。 年間のブロック報酬総額 なぜ毎年 3 億 3,638 万 4,000 TRX なのでしょうか? 336, 384, 000 T RX = 年間の合計ブロック報酬 (BR/年) BR/年 = 230、400 T RX/ラウンド × 4 ラウンド/日 × 365 日/年 2021年1月1日 TRON ネットワークでは 2021 年 1 月 1 日までインフレは発生しませんが、TRON DAO ではインフレが発生します。 その日付より前にすべてのブロック報酬と候補者報酬を授与します。 c.報酬の計算

SR報酬計算 合計報酬 投票報酬(VR) ブロック報酬(BR) t =
+

R 合計VR V =
×
総投票数 SR候補者の獲得票数
R

ブロックが外れました 2 B =
27 合計BR − ×3
注: 報酬はラウンド (6 時間) ごとに SR ごとに計算されます。

ランク28~ランク127 SR候補の報酬計算 合計報酬 投票報酬(VR) t =

R 合計VR V =
×
総投票数 SR候補者の獲得票数
注: 報酬はラウンド (6 時間) ごとに SR 候補者ごとに計算されます。 9.2 委員会 9.2.1 一般

この委員会は、ブロック生成などの TRON 動的ネットワーク パラメーターを変更するために使用されます。 報酬、取引手数料など。委員会は現在のラウンドの 27 の SR で構成されます。各SR 提案し、提案に投票する権利を有します。提案が 19 票以上を獲得すると、 承認され、新しいネットワーク パラメータは次のメンテナンス期間 (3 日) に適用されます。 9.2.2 動的ネットワークパラメータ 0. MAINTENANCE_TIME_INTERVAL a. 説明
メンテナンス間隔時間をミリ秒単位で変更します。 SR 投票間隔時間として知られています。 丸い。
b. 例 [6 * 3600 * 1000] ミリ秒 - これは 6 時間です。 c. 範囲 [3 * 27 * 1000、24 * 3600 * 1000] ミリ秒 1. ACCOUNT_UPGRADE_COST a. 説明 SRアカウントの申請コストを変更します。 b. 例 [9,999,000,000] SUN - 9,999 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 2. CREATE_ACCOUNT_FEE a. 説明 アカウント作成手数料を変更します。b. 例 [100,000] SUN - 1 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 3. TRANSACTION_FEE a. 説明 追加の帯域幅を獲得するために使用される料金の額を変更します。 b. 例 [10] SUN/バイト。 c. 範囲 [0,100 000 000 000 000 000] SUN/バイト 4. ASSET_ISSUE_FEE a. 説明 資産発行手数料を変更します。 b. 例 [1024,000,000] SUN - 1024 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 5. WITNESS_PAY_PER_BLOCK a. 説明 SRブロック生成報酬を変更。ユニットブロック報酬として知られています。 b. 例 [32,000,000] SUN - 32 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 6. WITNESS_STANDBY_ALLOWANCE a. 説明 SR候補上位127名に与えられる報酬を変更します。総投票報酬として知られています ラウンドごとに。 b. 例 [115,200,000,000] SUN - これは 115,200 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT a. 説明 アカウント作成のコストを変更します。動的ネットワーク パラメーター #8 を結合して取得します。 アカウント作成費用の合計:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C ×C

b. 例 [0] 日曜日。 c. 範囲 [0,100 000 000 000 000 000] 太陽 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

a. 説明 アカウント作成のコストを変更します。動的ネットワーク パラメーター #7 を結合して取得します。 アカウント作成費用の合計:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C ×C

b. 例 [1]。 c. 範囲 [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS a. 説明 Tron 仮想マシン (TVM) をオンにします。 b. 例 True - 2018 年 10 月 10 日 23:47 UTC 以降にアクティブ化および効果が得られるように設定されています。 c. 範囲 真/偽 10. REMOVE_THE_POWER_OF_THE_GR a. 説明 GRジェネシスの初期投票を削除 b. 例 True - 2018 年 11 月 4 日 08:46 UTC に発効。 c. 範囲 True/False - 注意: True から False に戻すことはできません。 11. ENERGY_FEE a. 説明 1エネルギーの料金を変更します。 b. 例 20日 c. 範囲 [0,100 000 000 000 000 000] 太陽 12.EXCHANGE_CREATE_FEE a. 説明 取引ペア作成のコストを変更します。取引注文を作成するコストとして知られています。 b. 例 [1,024,000,000] SUN - 1024 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 13. MAX_CPU_TIME_OF_ONE_TX a. 説明 1トランザクションの最大実行時間を変更します。タイムアウト制限として知られている 1つのトランザクション。 b. 例 50ミリ秒 c. 範囲

[0, 1000] ミリ秒 14. ALLOW_UPDATE_ACCOUNT_NAME a. 説明 アカウントがアカウント名を更新できるようにオプションを変更します。
b. 例 False - java-tron Odyssey v3.2 から提案可能です。 c. 範囲 True/False - 注意: True から False に戻すことはできません。 15. ALLOW_SAME_TOKEN_NAME a. 説明 異なる token が重複した名前を持つことを許可する検証を変更します。
b. 例 False - java-tron Odyssey v3.2 から提案可能です。 c. 範囲 True/False - 注意: True から False に戻すことはできません。 16. ALLOW_DELEGATE_RESOURCE a. 説明 重複した名前で token を発行できるように検証を変更します。 長整数データ型の token の tokenID が唯一のアトミックになります token の識別。
b. 例 False - java-tron Odyssey v3.2 から提案可能です。 c. 範囲 True/False - 注意: True から False に戻すことはできません。 17. TOTAL_ENERGY_LIMIT a. 説明 ネットワーク全体の総エネルギー制限を変更します。 b. 例 [50,000,000,000,000,000] SUN - 50,000,000,000 TRX です。 c. 範囲 [0,100,000,000,000,000,000] 太陽 18. ALLOW_TVM_TRANSFER_TRC10 a. 説明 TRC-10 token の転送を smart contracts 以内に許可します。 ALLOW_UPDATE_ACCOUNT_NAME、ALLOW_SAME_TOKEN_NAME、 ALLOW_DELEGATE_RESOURCE 提案は提案する前にすべて承認される必要があります このパラメータの変更。
b. 例 False - java-tron Odyssey v3.2 から提案可能です。 c. 範囲 True/False - 注意: True から False に戻すことはできません。9.2.3 提案の作成

SR アカウントのみが、動的ネットワーク パラメータの変更を提案する権利を持っています。 9.2.4 提案の投票

委員会メンバー (SR) のみが提案に投票でき、時間内に投票しなかったメンバーのみが投票できます。 同意しないものとみなされます。プロポーザルは作成後 3 日間有効です。投票できるのは、 3 日間の投票期間中に変更または取得できます。期間が終了すると、提案は 成功 (19 票以上) または失敗 (そして終了) のどちらかです。 9.2.5 提案のキャンセル

提案者は、提案が発効する前に提案をキャンセルすることができます。 9.3 構造

SR は、新しく生成されたブロックの証人です。証人には 8 つのパラメータが含まれます。
1. address : この証人の住所 – 例: 0xu82h…7237。
2. voteCount : この証人に対して受け取った投票の数 – 例: 234234。
3. pubKey : この証人の公開鍵 – 例: 0xu82h…7237。
4. url : この証人の URL – 例: https://www.noonetrust.com.
5. totalProduced : この証人が生成したブロックの数 – 例: 2434。
6. totalMissed : この証人が見逃したブロックの数 – 例: 7.
7. 最新ブロック番号: ブロックの最新の高さ – 例: 4522。 8. isjobs : ブール値のフラグ。

Protobuf データ構造: メッセージ証人{
バイトアドレス = 1;
int64 投票数 = 2;
バイト pubKey = 3 ;
文字列 URL = 4;
int64 totalProduced = 5 ;
int64 totalMissed = 6 ;
int64 最新ブロック番号 = 7; bool isJobs = 8; }

  1. DApp開発 10.1 API

TRON ネットワークは、 フル ノードとソリッド ノードを介したネットワーク。さらに、TronWeb は包括的な JavaScript ライブラリです 開発者が smart contracts をデプロイし、blockchain を変更できるようにする API 関数が含まれています。 状態、クエリ blockchain と契約情報、DEX での取引など。これらのAPI ゲートウェイは、ローカルのプライベートネット、Shasta テストネット、または TRON メインネットに向けることができます。

10.2 ネットワーク

TRON には、Shasta テストネットとメインネットの両方があります。開発者は次の方法でネットワークに接続できます。 ノードのデプロイ、TronStudio 経由の対話、または TronGrid サービス経由の API の使用。トロングリッド このサービスは、世界中の AWS サーバーでホストされる負荷分散されたノード クラスターで構成されます。 DAppとして 開発がスケールアップし、API 呼び出し量が増加する中、TronGrid は増加に対処することに成功しました。 API トラフィック。
10.3 ツール

TRON は、開発者が革新的な DApp を作成できるようにする一連の開発ツールを提供します。
TronBox は、開発者が TronWeb 経由で smart contracts をテストおよび展開できるようにするフレームワークです。 API。 TronGrid は、開発者が TRON 独自のノードを実行することなくネットワークを構築できます。 TronGrid は両方の Shasta へのアクセスを提供します テストネットと TRON メインネット。 TronStudio は包括的な統合開発です 開発者が Solidity スマートをコンパイル、展開、デバッグできる環境 (IDE) 契約。 TronStudio には、プライベート ローカル環境を作成する内部フル ノードが含まれています。 smart contract 導入前のテスト。 TronWeb API ライブラリは、開発者を JavaScript でラップされた幅広い HTTP API 呼び出しを介してネットワークにアクセスできます。
10.4 リソース

TRON 開発者ハブは、次の目的に向けて調整された包括的な API ドキュメント サイトです。 12 TRON ネットワーク上に構築したい開発者。 Developer Hub は、高レベルの機能を提供します。 TRON の概念的な理解を示し、ユーザーに、 12 開発者ハブ: https://developers.tron.network/

ネットワーク。このガイドでは、開発者がノードのセットアップ、展開、スマートとの対話について説明します。 契約、API インタラクションと実装、サンプル DApp の構築、およびそれぞれの使用 開発者ツール。さらに、開発者コミュニティ チャネルは Discord を通じて利用できます。
13

13 不和: https://discordapp.com/invite/GsRgsTD

  1. 結論

TRON は、革新的な手法を採用したスケーラブルな blockchain ソリューションです。 レガシー blockchain ネットワークが直面する課題。 1 日あたり 200 万件以上のトランザクションに達し、 70 万を超える TRX アカウントがあり、2000 TPS、TRON を超え、コミュニティが有効になりました。 分散型かつ民主化されたネットワークを構築します。