Livre blanc TRON
การแนะนำ
1.1 วิสัยทัศน์
TRON เป็นโครงการที่มีความทะเยอทะยานที่อุทิศให้กับการสร้างอินเทอร์เน็ตที่มีการกระจายอำนาจอย่างแท้จริงและ
โครงสร้างพื้นฐาน TRON Protocol หนึ่งในระบบปฏิบัติการที่ใช้ blockchain ที่ใหญ่ที่สุดใน
world เสนอ blockchain การสนับสนุนสาธารณะสำหรับปริมาณงานสูง ความสามารถในการปรับขนาดสูง และความพร้อมใช้งานสูงสำหรับ
แอปพลิเคชันแบบกระจายอำนาจ (DApps) ทั้งหมดในระบบนิเวศ TRON การเข้าซื้อกิจการเดือนกรกฎาคม 2561 ของ
BitTorrent ยังตอกย้ำความเป็นผู้นำของ TRON ในการแสวงหาระบบนิเวศแบบกระจายอำนาจ
1.2 ความเป็นมา
การเปิดตัว Bitcoin ในปี 2009 ได้ปฏิวัติการรับรู้ของสังคมเกี่ยวกับการเงินแบบดั้งเดิม หลังเกิดภาวะเศรษฐกิจถดถอยครั้งใหญ่ (พ.ศ. 2550-2551) เป็นกองทุนป้องกันความเสี่ยงแบบรวมศูนย์และธนาคาร ทรุดตัวลงจากการเก็งกำไรในอนุพันธ์ทางการเงินที่ทึบแสง blockchain เทคโนโลยีให้ บัญชีแยกประเภทสากลที่โปร่งใสซึ่งใครก็ตามสามารถรวบรวมข้อมูลธุรกรรมได้ ที่ ธุรกรรมได้รับการรักษาความปลอดภัยแบบเข้ารหัสโดยใช้กลไกฉันทามติ Proof of Work (PoW) จึงป้องกันปัญหาการใช้จ่ายซ้ำซ้อน
ในช่วงปลายปี 2013 เอกสารไวท์เปเปอร์ Ethereum เสนอเครือข่ายที่ smart contracts และ Turing-complete Ethereum Virtual Machine (EVM) จะช่วยให้นักพัฒนาสามารถโต้ตอบกับ เครือข่ายผ่าน DApps อย่างไรก็ตาม เนื่องจากปริมาณธุรกรรมใน Bitcoin และ Ethereum พุ่งถึงจุดสูงสุดในปี 2017 เห็นได้ชัดจากเวลาการทำธุรกรรมที่ต่ำและค่าธรรมเนียมการทำธุรกรรมที่สูง cryptocurrencies เช่น Bitcoin และ Ethereum ในสถานะที่มีอยู่ไม่สามารถปรับขนาดได้อย่างกว้างขวาง การรับเลี้ยงบุตรบุญธรรม ดังนั้น TRON จึงถูกก่อตั้งขึ้นและจินตนาการว่าเป็นโซลูชันเชิงนวัตกรรมสำหรับการกดเหล่านี้ ความท้าทายด้านความสามารถในการขยายขนาด

1.3 ประวัติศาสตร์ TRON DAO ก่อตั้งขึ้นในเดือนกรกฎาคม 2017 ในสิงคโปร์ ในเดือนธันวาคม 2017 TRON มี เปิดตัวโปรโตคอลโอเพ่นซอร์ส Testnet, Blockchain Explorer และ Web Wallet ล้วนเป็นทั้งหมด เปิดตัวภายในเดือนมีนาคม 2018 TRON Mainnet เปิดตัวหลังจากนั้นไม่นานในเดือนพฤษภาคม 2018 ซึ่งถือเป็น การเปิดตัว Odyssey 2.0 ถือเป็นก้าวสำคัญทางเทคนิค ในเดือนมิถุนายน 2018 TRON ประกาศเอกราช ด้วยการสร้างบล็อก Genesis พร้อมกับการเข้าซื้อกิจการ BitTorrent ในเดือนกรกฎาคม 2561 ใน ตุลาคม 2018 TRON เปิดตัว TRON Virtual Machine (TVM) ซึ่งเป็นชุดเครื่องมือของนักพัฒนาที่สมบูรณ์ และระบบรองรับ 360 องศา แผนงาน TRON เกี่ยวข้องกับการรวมผู้ใช้ BitTorrent 100 ล้านคนเข้าด้วยกัน ด้วยเครือข่าย TRON ผ่าน Project Atlas ตลอดจนส่งเสริมชุมชนนักพัฒนาให้เปิดตัว DApps ใหม่ที่น่าตื่นเต้นบน TRON network1 1 V1.0 มีให้ที่ https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 คำศัพท์เฉพาะทาง
ที่อยู่/กระเป๋าเงิน ที่อยู่หรือกระเป๋าเงินที่ประกอบด้วยข้อมูลรับรองบัญชีบนเครือข่าย TRON ถูกสร้างขึ้นโดย คู่คีย์ซึ่งประกอบด้วยคีย์ส่วนตัวและคีย์สาธารณะ ซึ่งคีย์หลังได้รับมาจากคีย์แรก ผ่านอัลกอริธึม กุญแจสาธารณะมักจะใช้สำหรับการเข้ารหัสคีย์เซสชันและลายเซ็น การตรวจสอบและการเข้ารหัสข้อมูลที่สามารถถอดรหัสได้ด้วยคีย์ส่วนตัวที่เกี่ยวข้อง
เอบีไอ Application Binary Interface (ABI) เป็นส่วนต่อประสานระหว่างโมดูลโปรแกรมไบนารีสองโมดูล ปกติแล้ว หนึ่งในโมดูลเหล่านี้คือไลบรารีหรือสิ่งอำนวยความสะดวกของระบบปฏิบัติการ และอีกโมดูลหนึ่งคือส่วนเรียกใช้งานของผู้ใช้ โปรแกรม
เอพีไอ Application Programming Interface (API) ส่วนใหญ่จะใช้สำหรับการพัฒนาไคลเอนต์ผู้ใช้ ด้วยเอพีไอ สนับสนุน token แพลตฟอร์มการออกสามารถออกแบบโดยนักพัฒนาเองได้
สินทรัพย์ ในเอกสารของ TRON เนื้อหาจะเหมือนกับ token ซึ่งยังแสดงเป็น TRC-10 token
คะแนนแบนด์วิธ (BP) เพื่อให้เครือข่ายทำงานได้อย่างราบรื่น ธุรกรรมเครือข่าย TRON จะใช้ BP เป็นเชื้อเพลิง แต่ละบัญชี รับ 5,000 BP ฟรีทุกวัน และสามารถรับได้อีกมากโดยการแช่แข็ง TRX สำหรับ BP ทั้ง TRX และ TRC-10 token การโอนเป็นธุรกรรมปกติที่คิดต้นทุน BP การปรับใช้และการดำเนินการตามสัญญาอัจฉริยะ ธุรกรรมใช้ทั้ง BP และพลังงาน
บล็อก บล็อกประกอบด้วยบันทึกธุรกรรมดิจิทัล บล็อกที่สมบูรณ์ประกอบด้วยหมายเลขเวทย์มนตร์ ขนาดบล็อก ส่วนหัวของบล็อก ตัวนับธุรกรรม และข้อมูลธุรกรรม
รางวัลบล็อก รางวัลการผลิตบล็อกจะถูกส่งไปยังบัญชีย่อย (ที่อยู่/กระเป๋าเงิน) ตัวแทนซุปเปอร์ก็ได้ รับรางวัลจาก Tronscan หรือผ่าน API โดยตรง
ส่วนหัวของบล็อก ส่วนหัวของบล็อกเป็นส่วนหนึ่งของบล็อก TRON ส่วนหัวของบล็อกประกอบด้วย hash ของบล็อกก่อนหน้า ราก Merkle การประทับเวลา เวอร์ชัน และที่อยู่พยานกระเป๋าเงินเย็น กระเป๋าเงินเย็นหรือที่รู้จักกันในชื่อกระเป๋าเงินออฟไลน์ จะทำให้รหัสส่วนตัวถูกตัดการเชื่อมต่ออย่างสมบูรณ์ เครือข่าย โดยปกติแล้ว กระเป๋าเงินเย็นจะติดตั้งบนอุปกรณ์ "เย็น" (เช่น คอมพิวเตอร์หรือโทรศัพท์มือถือ อยู่ในสถานะออฟไลน์) เพื่อรับรองความปลอดภัยของรหัสส่วนตัว TRX
ดีแอป แอปพลิเคชันแบบกระจายอำนาจเป็นแอปที่ทำงานโดยไม่มีฝ่ายที่เชื่อถือได้จากส่วนกลาง ใบสมัคร ที่ช่วยให้มีปฏิสัมพันธ์/ข้อตกลง/การสื่อสารโดยตรงระหว่างผู้ใช้ปลายทางและ/หรือทรัพยากร โดยไม่มีคนกลาง
จีอาร์พีซี gRPC (gRPC Remote Procedure Calls) เป็นระบบการเรียกขั้นตอนระยะไกล (RPC) แบบโอเพ่นซอร์ส 2 พัฒนาครั้งแรกที่ Google ใช้ HTTP/2 สำหรับการขนส่ง โดยมี Protocol Buffers เป็นอินเทอร์เฟซ ภาษาคำอธิบาย และมีคุณสมบัติต่างๆ เช่น การรับรองความถูกต้อง การสตรีมและโฟลว์แบบสองทิศทาง การควบคุม การบล็อกหรือการไม่บล็อกการเชื่อมโยง และการยกเลิกและการหมดเวลา มันสร้าง ไคลเอนต์ข้ามแพลตฟอร์มและการเชื่อมโยงเซิร์ฟเวอร์สำหรับหลายภาษา สถานการณ์การใช้งานที่พบบ่อยที่สุด รวมถึงบริการเชื่อมต่อในสถาปัตยกรรมสไตล์ไมโครเซอร์วิสและการเชื่อมต่ออุปกรณ์มือถือ และ ไคลเอ็นต์เบราว์เซอร์ไปยังบริการแบ็กเอนด์
กระเป๋าเงินสุดฮอต กระเป๋าเงินร้อนหรือที่เรียกว่ากระเป๋าเงินออนไลน์ อนุญาตให้ใช้รหัสส่วนตัวของผู้ใช้ออนไลน์ได้ ดังนั้นจึงอาจเป็นเช่นนั้น อ่อนแอต่อช่องโหว่ที่อาจเกิดขึ้นหรือการสกัดกั้นโดยผู้ดำเนินการที่เป็นอันตราย
เจดีเค Java Development Kit คือ Java SDK ที่ใช้สำหรับแอปพลิเคชัน Java มันเป็นแกนหลักของ Java การพัฒนาประกอบด้วยสภาพแวดล้อมแอปพลิเคชัน Java (ไลบรารีคลาส JVM + Java) และ Java เครื่องมือ
KhaosDB TRON มี KhaosDB ในหน่วยความจำโหนดเต็มที่สามารถจัดเก็บเชนที่แยกใหม่ทั้งหมดที่สร้างขึ้น ภายในระยะเวลาที่กำหนดและสนับสนุนให้พยานเปลี่ยนจากห่วงโซ่ที่ใช้งานของตนเองได้อย่างรวดเร็ว เข้าสู่ห่วงโซ่หลักใหม่ ดู 2.2.2 การจัดเก็บสถานะสำหรับรายละเอียดเพิ่มเติม
ระดับDB เริ่มแรก LevelDB ถูกนำมาใช้โดยมีเป้าหมายหลักเพื่อให้เป็นไปตามข้อกำหนดของ R/W ที่รวดเร็วและรวดเร็ว การพัฒนา หลังจากเปิดตัว Mainnet แล้ว TRON ได้อัปเกรดฐานข้อมูลเป็นแบบที่ปรับแต่งเองทั้งหมด สิ่งหนึ่งที่สนองความต้องการของตัวเอง ดู 2.2.1 ที่เก็บข้อมูลบล็อคเชน สำหรับรายละเอียดเพิ่มเติม
รากเมิร์เคิล รากของ Merkle คือ hash ของ hashes ทั้งหมด ของธุรกรรมทั้งหมดที่รวมเป็นส่วนหนึ่งของบล็อกใน blockchain เครือข่าย ดู 3.1 หลักฐานการเดิมพันที่ได้รับมอบหมาย (DPoS) สำหรับรายละเอียดเพิ่มเติม 2 https://en.wikipedia.org/wiki/GRPC

เครือข่ายทดสอบสาธารณะ (Shasta) เวอร์ชันของเครือข่ายที่ทำงานในการกำหนดค่าโหนดเดียว นักพัฒนาสามารถเชื่อมต่อและทดสอบได้ คุณสมบัติโดยไม่ต้องกังวลกับการสูญเสียทางเศรษฐกิจ Testnet tokens ไม่มีค่าและใครๆ ก็สามารถทำได้ ขอเพิ่มเติมจาก faucet สาธารณะ
อาร์พีซี
3
ในการคำนวณแบบกระจาย การเรียกขั้นตอนระยะไกล (RPC) คือเมื่อโปรแกรมคอมพิวเตอร์ทำให้เกิด
ขั้นตอน (รูทีนย่อย) เพื่อดำเนินการในพื้นที่ที่อยู่อื่น (โดยทั่วไปบนคอมพิวเตอร์เครื่องอื่นที่เปิดอยู่
เครือข่ายที่ใช้ร่วมกัน) ซึ่งถูกเข้ารหัสราวกับว่าเป็นการเรียกโพรซีเดอร์ปกติ (ในเครื่อง) โดยไม่มี
โปรแกรมเมอร์เข้ารหัสรายละเอียดสำหรับการโต้ตอบระยะไกลอย่างชัดเจน
ความสามารถในการขยายขนาด ความสามารถในการปรับขนาดเป็นคุณลักษณะของโปรโตคอล TRON เป็นความสามารถของระบบ เครือข่าย หรือกระบวนการในการ รับมือกับปริมาณงานที่เพิ่มขึ้นหรือศักยภาพที่จะขยายเพื่อรองรับการเติบโตนั้น
อาทิตย์ SUN แทนที่ drop เป็นหน่วยที่เล็กที่สุดของ TRX 1 TRX = 1,000,000 อาทิตย์
ปริมาณงาน ปริมาณงานสูงเป็นคุณลักษณะของ TRON Mainnet มีหน่วยวัดเป็นธุรกรรมต่อวินาที (TPS) คือความสามารถในการทำธุรกรรมสูงสุดในหนึ่งวินาที
การประทับเวลา เวลาโดยประมาณของการผลิตบล็อกจะถูกบันทึกเป็นการประทับเวลา Unix ซึ่งเป็นจำนวน มิลลิวินาทีที่ผ่านไปตั้งแต่ 00:00:00 01 มกราคม 1970 UTC
ทีเคซี การกำหนดค่าโทเค็น
ทีอาร์ซี-10 มาตรฐานของ crypto token บนแพลตฟอร์ม TRON จำเป็นต้องปฏิบัติตามกฎและอินเทอร์เฟซบางอย่าง เมื่อถือข้อเสนอเหรียญเริ่มต้นใน TRON blockchain
TRX TRX ย่อมาจาก Tronix ซึ่งเป็นสกุลเงินดิจิทัลอย่างเป็นทางการของ TRON
3 https://en.wikipedia.org/wiki/Remote_procedure_call
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
สถาปัตยกรรมระบบ
TRON ใช้สถาปัตยกรรม 3 เลเยอร์ซึ่งแบ่งออกเป็น Storage Layer, Core Layer และ Application Layer โปรโตคอล TRON เป็นไปตาม Google Protobuf ซึ่งสนับสนุนหลายภาษาอย่างแท้จริง ส่วนขยาย

รูปที่ 1: TRON สถาปัตยกรรม 3 ชั้น
2.1 แกน
มีหลายโมดูลในเลเยอร์หลัก รวมถึง smart contracts การจัดการบัญชี และ ฉันทามติ เครื่องเสมือนแบบสแต็กถูกใช้งานบน TRON และคำสั่งที่ปรับให้เหมาะสม มีการใช้ชุด เพื่อสนับสนุนนักพัฒนา DApp ได้ดียิ่งขึ้น Solidity ได้รับเลือกให้เป็น smart contract 4 ตามมาด้วยการสนับสนุนภาษาขั้นสูงอื่นๆ ในอนาคต นอกจากนี้ ฉันทามติของ TRON กลไกจะขึ้นอยู่กับ Delegated Proof of Stake (DPoS) และมีการสร้างนวัตกรรมมากมายใน เพื่อให้เป็นไปตามข้อกำหนดเฉพาะของมัน 2.2 การจัดเก็บ
TRON ออกแบบโปรโตคอลการจัดเก็บข้อมูลแบบกระจายที่ไม่ซ้ำใคร ซึ่งประกอบด้วย Block Storage และ State ที่เก็บของ แนวคิดของฐานข้อมูลกราฟถูกนำมาใช้ในการออกแบบชั้นจัดเก็บข้อมูลเพื่อ ตอบสนองความต้องการการจัดเก็บข้อมูลที่หลากหลายในโลกแห่งความเป็นจริงได้ดีขึ้น 2.2.1 ที่เก็บข้อมูลบล็อคเชน
TRON blockchain พื้นที่เก็บข้อมูลเลือกใช้ LevelDB ซึ่งพัฒนาโดย Google และผ่านการพิสูจน์แล้ว ประสบความสำเร็จกับบริษัทและโครงการมากมาย มีประสิทธิภาพสูงและรองรับไบต์โดยพลการ อาร์เรย์เป็นทั้งคีย์และค่า รับเอกพจน์ ใส่และลบ ใส่และลบเป็นกลุ่ม สองทิศทาง ตัววนซ้ำและการบีบอัดอย่างง่ายโดยใช้อัลกอริธึม Snappy ที่รวดเร็วมาก 2.2.2 การจัดเก็บของรัฐ
TRON มี KhaosDB ในหน่วยความจำโหนดเต็มที่สามารถจัดเก็บโซ่ที่แยกใหม่ทั้งหมดที่สร้างขึ้น ภายในระยะเวลาที่กำหนดและสนับสนุนให้พยานเปลี่ยนจากห่วงโซ่ที่ใช้งานของตนเองได้อย่างรวดเร็ว เข้าสู่ห่วงโซ่หลักใหม่ นอกจากนี้ยังสามารถปกป้องที่เก็บข้อมูล blockchain โดยการทำให้มันมีเสถียรภาพมากขึ้นจากการเป็น ยุติอย่างผิดปกติในสภาวะระหว่างกลาง 2.3 การสมัคร
นักพัฒนาสามารถสร้าง DApps ที่หลากหลายและกระเป๋าเงินแบบกำหนดเองได้บน TRON ตั้งแต่ TRON เปิดใช้งาน smart contracts เพื่อปรับใช้และดำเนินการ โอกาสของแอปพลิเคชันยูทิลิตี้คือ ไม่จำกัด 4 เอกสารอย่างเป็นทางการของ Solidity: https://solidity.readthedocs.io/
2.4 พิธีสาร
TRON โปรโตคอลเป็นไปตาม Google Protocol Buffers ซึ่งเป็นภาษาที่เป็นกลาง แพลตฟอร์มที่เป็นกลาง 5 และวิธีที่ขยายได้ของซีเรียลไลซ์ข้อมูลที่มีโครงสร้างเพื่อใช้ในโปรโตคอลการสื่อสาร การจัดเก็บข้อมูล และอีกมากมาย 2.4.1 บัฟเฟอร์โปรโตคอล
Protocol Buffers (Protobuf) เป็นกลไกอัตโนมัติที่ยืดหยุ่น มีประสิทธิภาพ สำหรับการจัดโครงสร้างอนุกรม ข้อมูลคล้ายกับ JSON หรือ XML แต่มีขนาดเล็กกว่า เร็วกว่า และง่ายกว่ามาก
คำจำกัดความ Protobuf (.proto) สามารถใช้เพื่อสร้างโค้ดสำหรับ C++, Java, C#, Python, Ruby, ภาษา Golang และ Objective-C ผ่านตัวสร้างโค้ดอย่างเป็นทางการ บุคคลที่สามต่างๆ การใช้งานยังมีให้บริการในภาษาอื่นอีกมากมาย Protobuf ช่วยให้การพัฒนาง่ายขึ้น ลูกค้าโดยการรวมคำจำกัดความ API และเพิ่มประสิทธิภาพการถ่ายโอนข้อมูล ลูกค้าสามารถรับ API ได้ .proto จากที่เก็บโปรโตคอลของ TRON และบูรณาการผ่านโค้ดที่สร้างขึ้นโดยอัตโนมัติ ห้องสมุด
จากการเปรียบเทียบ Protocol Buffers มีขนาดเล็กกว่า 3 ถึง 10 เท่าและเร็วกว่า XML 20 ถึง 100 เท่า ด้วยไวยากรณ์ที่ไม่ชัดเจนน้อยกว่า Protobuf สร้างคลาสการเข้าถึงข้อมูลที่ใช้งานง่ายกว่า โดยทางโปรแกรม 2.4.2 HTTP
TRON โปรโตคอลให้ทางเลือก RESTful HTTP API แทน Protobuf API พวกเขาแบ่งปันเหมือนกัน อินเทอร์เฟซ แต่ HTTP API สามารถใช้งานได้ทันทีในไคลเอนต์จาวาสคริปต์ 2.5 TRON เครื่องเสมือน (TVM)
TVM เป็นเครื่องเสมือนทัวริงที่สมบูรณ์แบบน้ำหนักเบาที่พัฒนาขึ้นสำหรับระบบนิเวศของ TRON ที่
TVM เชื่อมโยงอย่างราบรื่นกับระบบนิเวศการพัฒนาที่มีอยู่เพื่อให้บริการผู้คนนับล้านทั่วโลก
นักพัฒนาซอฟต์แวร์ที่มีระบบ blockchain ที่สร้างขึ้นเองซึ่งมีประสิทธิภาพ สะดวก มีเสถียรภาพ ปลอดภัย และ
ปรับขนาดได้
2.6 การแลกเปลี่ยนแบบกระจายอำนาจ (DEX)
5 เอกสารอย่างเป็นทางการของ Google Protocol Buffers: https://developers.google.com/protocol-buffers/เครือข่าย TRON รองรับฟังก์ชันการแลกเปลี่ยนแบบกระจายอำนาจโดยกำเนิด การแลกเปลี่ยนแบบกระจายอำนาจ ประกอบด้วยคู่การซื้อขายหลายคู่ คู่การซื้อขาย (สัญลักษณ์ “การแลกเปลี่ยน”) คือตลาดแลกเปลี่ยน ระหว่าง TRC-10 tokens หรือระหว่าง TRC-10 token และ TRX บัญชีใดก็ได้สามารถสร้างการซื้อขายได้ จับคู่ระหว่าง tokens ใด ๆ แม้ว่าจะมีคู่เดียวกันอยู่แล้วบนเครือข่าย TRON ก็ตาม การค้าขายและ ความผันผวนของราคาของคู่การซื้อขายเป็นไปตามพิธีสาร Bancor เครือข่าย TRON กำหนดไว้เช่นนั้น 6 น้ำหนักของ token สองคู่ในคู่การซื้อขายทั้งหมดเท่ากัน ดังนั้นอัตราส่วนของยอดคงเหลือคือราคา ระหว่างพวกเขา ตัวอย่างเช่น พิจารณาคู่การซื้อขายที่มี tokens สองรายการ ได้แก่ ABC และ DEF เอบีซีก็มี ยอดคงเหลือ 10 ล้าน และ DEF มียอด 1 ล้าน เนื่องจากน้ำหนักเท่ากัน 10 ABC = 1 การป้องกัน ซึ่งหมายความว่าอัตราส่วนของ ABC ต่อ DEF คือ 10 ABC ต่อ DEF 2.7 การนำไปปฏิบัติ
รหัส TRON blockchain ถูกนำมาใช้ใน Java และเดิมทีเป็นทางแยกจาก EthereumJ
6 เว็บไซต์อย่างเป็นทางการของพิธีสาร Bancor: https://about.bancor.network/protocol/
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/
ฉันทามติ
3.1 หลักฐานการเดิมพันที่ได้รับมอบหมาย (DPoS)
กลไกฉันทามติแรกสุดคือกลไกฉันทามติ Proof of Work (PoW) นี้ ปัจจุบันมีการใช้โปรโตคอลใน Bitcoin และ Ethereum ในระบบ PoW ธุรกรรม 7 8 การออกอากาศผ่านเครือข่ายจะถูกจัดกลุ่มเข้าด้วยกันเป็นบล็อกใหม่เพื่อยืนยันการขุด ที่ กระบวนการยืนยันเกี่ยวข้องกับธุรกรรม hashing โดยใช้อัลกอริธึมการเข้ารหัส hashing จนกระทั่ง ถึงราก Merkle แล้ว ทำให้เกิดต้นไม้ Merkle:
รูปที่ 2: ธุรกรรม 8 TRX ถูก hashed เข้าสู่ Merkle Root ราก Merkle นี้จะถูกรวมไว้ในส่วนหัวของบล็อกซึ่ง ถูกแนบไปกับบล็อกที่ยืนยันก่อนหน้านี้เพื่อสร้าง blockchain ช่วยให้สามารถติดตามได้ง่ายและโปร่งใส ธุรกรรม การประทับเวลา และข้อมูลอื่นๆ ที่เกี่ยวข้อง
7 Bitcoin เอกสารไวท์เปเปอร์: https://bitcoin.org/bitcoin.pdf 8 Ethereum เอกสารไวท์เปเปอร์: https://github.com/ethereum/wiki/wiki/White-Paper
อัลกอริธึมการเข้ารหัส hashing มีประโยชน์ในการป้องกันการโจมตีเครือข่ายเนื่องจากมี
คุณสมบัติหลายประการ:
9
●
ขนาดความยาวอินพุต/เอาต์พุต - อัลกอริธึมสามารถส่งผ่านอินพุตขนาดความยาวเท่าใดก็ได้ และ
ส่งออกค่า hash ที่มีความยาวคงที่
●
ประสิทธิภาพ - อัลกอริธึมค่อนข้างง่ายและรวดเร็วในการคำนวณ
●
ความต้านทานพรีอิมเมจ - สำหรับเอาท์พุตที่กำหนด z เป็นไปไม่ได้ที่จะหาอินพุต x เช่นนั้น
ชั่วโมง(x) = z กล่าวอีกนัยหนึ่ง hashing อัลกอริธึม h(x) เป็นฟังก์ชันทางเดียวซึ่งมีเพียงฟังก์ชันทางเดียวเท่านั้น
สามารถค้นหาเอาต์พุตได้โดยระบุอินพุต ย้อนกลับเป็นไปไม่ได้
●
ความต้านทานการชน - การคำนวณเป็นไปไม่ได้ที่จะหาคู่ใดๆ x1 ≠ x2 โดยที่ h(x1)
= ชม(x2). กล่าวอีกนัยหนึ่ง ความน่าจะเป็นในการค้นหาอินพุตที่แตกต่างกันสองรายการ hashing เหมือนกัน
เอาต์พุตต่ำมาก คุณสมบัตินี้ยังหมายถึงความต้านทานของพรีอิมเมจที่สองด้วย
●
ความต้านทานพรีอิมเมจที่สอง - เมื่อให้ x1 และด้วยเหตุนี้ h(x1) จึงเป็นไปไม่ได้โดยการคำนวณ
จงหา x2 ใดๆ ที่ทำให้ h(x1) = h(x2) แม้ว่าคุณสมบัตินี้จะคล้ายกับ 'ความต้านทานการชน' แต่
คุณสมบัติแตกต่างตรงที่บอกว่าผู้โจมตีที่ได้รับ x1 จะค้นหามันโดยการคำนวณ
เป็นไปไม่ได้ที่จะค้นหา x2 hashing ใด ๆ ไปยังเอาต์พุตเดียวกัน
●
กำหนด - แมปแต่ละอินพุตกับเอาต์พุตเดียวเท่านั้น
●
Avalanche effect - การเปลี่ยนแปลงเล็กน้อยในอินพุตส่งผลให้เอาต์พุตแตกต่างไปจากเดิมอย่างสิ้นเชิง
คุณสมบัติเหล่านี้ทำให้เครือข่ายสกุลเงินดิจิทัลมีมูลค่าที่แท้จริงโดยทำให้แน่ใจว่าการโจมตีจะไม่เกิดขึ้น ประนีประนอมเครือข่าย เมื่อนักขุดยืนยันบล็อก พวกเขาได้รับรางวัล tokens เป็นบล็อกในตัว แรงจูงใจในการเข้าร่วมเครือข่าย อย่างไรก็ตาม เนื่องจากมูลค่าตลาดของสกุลเงินดิจิทัลทั่วโลก เพิ่มขึ้นอย่างต่อเนื่อง นักขุดกลายเป็นศูนย์กลางและมุ่งเน้นไปที่ทรัพยากรคอมพิวเตอร์ของพวกเขา การกักตุน tokens เป็นทรัพย์สิน แทนที่จะสะสมไว้เพื่อวัตถุประสงค์ในการเข้าร่วมเครือข่าย นักขุดซีพียูหลีกทางให้ GPU ซึ่งทำให้ ASIC ทรงพลังกลับมา ในการศึกษาที่โดดเด่นเรื่องหนึ่งคือพลังทั้งหมด ปริมาณการใช้ Bitcoin การขุดคาดว่าจะสูงถึง 3 GW เทียบได้กับของไอร์แลนด์ 10 การใช้พลังงาน การศึกษาเดียวกันนี้คาดการณ์ว่าการใช้พลังงานทั้งหมดจะสูงถึง 8 GW ในเร็วๆ นี้ อนาคต
เพื่อแก้ไขปัญหาขยะพลังงาน กลไกฉันทามติ Proof of Stake (PoS) ได้รับการเสนอโดย เครือข่ายใหม่มากมาย ในเครือข่าย PoS ผู้ถือ token ล็อคยอดคงเหลือ token ของตนเพื่อให้กลายเป็นบล็อก validatorส. validators ผลัดกันเสนอและลงคะแนนในบล็อกถัดไป อย่างไรก็ตามปัญหา ด้วย PoS มาตรฐานคืออิทธิพลของ validator มีความสัมพันธ์โดยตรงกับจำนวน tokens ที่ถูกล็อค ส่งผลให้ฝ่ายต่างๆ กักตุนสกุลเงินหลักของเครือข่ายจำนวนมากจนเกินควร อิทธิพลในระบบนิเวศเครือข่าย
กลไกฉันทามติ TRON ใช้ระบบ Delegated Proof of Stake ที่เป็นนวัตกรรมใหม่ ซึ่ง 27
ผู้แทนระดับสูง (SR) ผลิตบล็อกสำหรับเครือข่าย ทุก 6 ชั่วโมง ผู้ถือบัญชี TRX
ผู้ระงับบัญชีของตนสามารถลงคะแนนให้ผู้สมัคร SR ที่เลือกได้ โดยมีผู้สมัคร 27 อันดับแรก
ถือว่า ส.ส. ผู้ลงคะแนนอาจเลือก SR ตามเกณฑ์ เช่น โครงการที่ได้รับการสนับสนุนจาก SR
9 PAAR, C., PELZL, J., ทำความเข้าใจการเข้ารหัส: หนังสือเรียนสำหรับนักเรียนและผู้ปฏิบัติงาน, 2010 ed.
สปริงเกอร์-แวร์ลัก เบอร์ลิน ไฮเดลเบิร์ก, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776เพิ่มการยอมรับ TRX และรางวัลจะแจกจ่ายให้กับผู้มีสิทธิเลือกตั้ง ซึ่งจะช่วยให้เกิดความเป็นประชาธิปไตยมากขึ้นและ
ระบบนิเวศกระจายอำนาจ บัญชีของ SR เป็นบัญชีปกติแต่เป็นการสะสมคะแนนเสียง
ทำให้พวกเขาสามารถสร้างบล็อกได้ ด้วยอัตราปริมาณงานต่ำที่ Bitcoin และ Ethereum เนื่องจาก
กลไกฉันทามติ PoW และปัญหาความสามารถในการปรับขนาด ระบบ DPoS ของ TRON นำเสนอนวัตกรรมใหม่
กลไกที่ส่งผลให้ปี 2000 TPS เปรียบเทียบกับ Bitcoin's 3 TPS และ Ethereum's 15 TPS
เครือข่ายโปรโตคอล TRON สร้างหนึ่งบล็อกทุกๆ สามวินาที โดยแต่ละบล็อกจะให้รางวัล 32 TRX ถึงตัวแทนระดับสูง จะมีการมอบ TRX รวม 336,384,000 TRX เป็นประจำทุกปีให้กับ SR 27 รายการ แต่ละครั้งที่ SR เสร็จสิ้นการผลิตบล็อก รางวัลจะถูกส่งไปยังบัญชีย่อยในบัญชีแยกประเภทขั้นสูง SR สามารถตรวจสอบได้ แต่ไม่สามารถใช้ TRX tokens เหล่านี้ได้โดยตรง การถอนเงินสามารถทำได้โดยแต่ละคน SR หนึ่งครั้งทุกๆ 24 ชั่วโมง โดยโอนรางวัลจากบัญชีย่อยไปยัง SR ที่ระบุ บัญชี
โหนดสามประเภทบนเครือข่าย TRON ได้แก่ Witness Node, Full Node และ Solidity Node โหนดพยานได้รับการจัดตั้งขึ้นโดย SR และมีหน้าที่หลักในการผลิตบล็อกและข้อเสนอ การสร้าง/การลงคะแนนเสียง โหนดแบบเต็มมี API และธุรกรรมและบล็อกการออกอากาศ การซิงค์โหนด Solidity บล็อกจากโหนดเต็มอื่นๆ และยังมี API ที่สามารถจัดทำดัชนีได้
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.
บัญชี
4.1 ประเภท
บัญชีสามประเภทในเครือข่าย TRON คือบัญชีปกติ บัญชี token และ บัญชีสัญญา
1.
บัญชีปกติใช้สำหรับธุรกรรมมาตรฐาน
2.
บัญชีโทเค็นใช้สำหรับจัดเก็บ TRC-10 tokens
3.
บัญชีสัญญาคือ smart contract บัญชีที่สร้างขึ้นโดยบัญชีปกติและสามารถเป็นได้
กระตุ้นโดยบัญชีปกติเช่นกัน
4.2 การสร้าง
มีสามวิธีในการสร้างบัญชี TRON:
1. สร้างบัญชีใหม่ผ่าน API 2. โอน TRX ไปยังที่อยู่บัญชีใหม่ 3. โอน TRC-10 token ใด ๆ ไปยังที่อยู่บัญชีใหม่
คู่คีย์ออฟไลน์ที่ประกอบด้วยที่อยู่ (คีย์สาธารณะ) และคีย์ส่วนตัว และไม่ได้บันทึกโดย เครือข่าย TRON ก็สามารถสร้างได้เช่นกัน อัลกอริธึมการสร้างที่อยู่ผู้ใช้ประกอบด้วย สร้างคู่คีย์แล้วแยกคีย์สาธารณะ (อาร์เรย์ไบต์ 64 ไบต์แทน x, y พิกัด) แฮชคีย์สาธารณะโดยใช้ฟังก์ชัน SHA3-256 (โปรโตคอล SHA3 ที่นำมาใช้คือ KECCAK-256) และแยกผลลัพธ์ 20 ไบต์สุดท้าย เพิ่ม 41 ที่จุดเริ่มต้นของอาร์เรย์ไบต์ และตรวจสอบให้แน่ใจว่าความยาวที่อยู่เริ่มต้นคือ 21 ไบต์ แฮชที่อยู่สองครั้งโดยใช้ฟังก์ชัน SHA3-256 และใช้ 4 ไบต์แรกเป็นรหัสยืนยัน เพิ่มรหัสยืนยันที่ส่วนท้ายของอักษรย่อ ที่อยู่และรับที่อยู่ในรูปแบบ base58check ผ่านการเข้ารหัส base58 มีการเข้ารหัส ที่อยู่ Mainnet เริ่มต้นด้วย T และมีความยาว 34 ไบต์ 4.3 โครงสร้าง
บัญชีสามประเภทที่แตกต่างกัน ได้แก่ Normal, AssetIssue และ Contract บัญชีประกอบด้วย 7 พารามิเตอร์:
1.
account_name: ชื่อของบัญชีนี้ – เช่น บัญชีบิล.
2.
type : บัญชีนี้เป็นประเภทใด – เช่น 0 (ย่อมาจากประเภท 'ปกติ')
3.
balance: ยอดคงเหลือของบัญชีนี้ – เช่น 4213312.
Protobuf data structure:
message Account {
message Vote {
bytes vote_address = 1;
int64 vote_count = 2;
}
bytes accout_name = 1;
AccountType type = 2;
bytes address = 3;
int64 balance = 4;
repeated Vote votes = 5;
map<string, int64> asset = 6;
int64 latest_operation_time = 10;
}
enum AccountType {
Normal = 0;
AssetIssue = 1;
Contract = 2;
}
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;
}
บล็อก
โดยทั่วไปบล็อกจะมีส่วนหัวของบล็อกและธุรกรรมหลายรายการ
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 ข้อมูลดิบ
ข้อมูลดิบจะแสดงเป็น raw_data ใน Protobuf ประกอบด้วยข้อมูลดิบของข้อความ ประกอบด้วย 6 พารามิเตอร์:
1. timestamp: การประทับเวลาของข้อความนี้ – เช่น 1543884429000. 2. txTrieRoot: รากของ Merkle Tree – เช่น 7แดคซา…3ed. 3. parentHash: hash ของบล็อกสุดท้าย – เช่น 7แดคซา…3ed. 4. number: ความสูงของบล็อก – เช่น 4638708. 5. เวอร์ชัน : สงวนไว้ – เช่น.ก. 5.

6. พยาน_ที่อยู่: ที่อยู่ของพยานที่อยู่ในบล็อกนี้ – เช่น 41928c...4d21. 5.1.2 ลายเซ็นพยาน
ลายเซ็นพยานแสดงเป็น witness_signature ใน Protobuf ซึ่งเป็นลายเซ็นสำหรับสิ่งนี้ ส่วนหัวบล็อกจากโหนดพยาน 5.1.3 รหัสบล็อก
Block ID จะแสดงเป็น blockID ใน Protobuf มันมีการระบุอะตอมของบล็อก บล็อก ID มี 2 พารามิเตอร์: 1. hash : hash ของบล็อก 2. number : hash และความสูงของบล็อก 5.2 การทำธุรกรรม 5.2.1 การลงนาม
TRON กระบวนการลงนามธุรกรรมของ __ เป็นไปตามอัลกอริธึมการเข้ารหัส ECDSA มาตรฐาน โดยมี
เส้นโค้งการเลือก SECP256K1 คีย์ส่วนตัวคือตัวเลขสุ่ม และคีย์สาธารณะคือจุดบน
เส้นโค้งรูปไข่ กระบวนการสร้างคีย์สาธารณะประกอบด้วยการสร้างตัวเลขสุ่มเป็น a ก่อน
คีย์ส่วนตัวแล้วคูณจุดฐานของเส้นโค้งรูปไข่ด้วยคีย์ส่วนตัวเพื่อให้ได้
กุญแจสาธารณะ เมื่อธุรกรรมเกิดขึ้น ข้อมูลดิบของธุรกรรมจะถูกแปลงเป็นรูปแบบไบต์ก่อน
ข้อมูลดิบจะผ่าน SHA-256 hashing รหัสส่วนตัวที่สอดคล้องกับสัญญา
ที่อยู่ จากนั้นลงนามผลลัพธ์ของ SHA256 hash จากนั้นผลลายเซ็นจะถูกเพิ่มลงใน
การทำธุรกรรม
5.2.2 โมเดลแบนด์วิธ
ธุรกรรมทั่วไปใช้เฉพาะจุดแบนด์วิธเท่านั้น แต่การดำเนินการ smart contract ใช้ทั้งสองจุด จุดพลังงานและแบนด์วิธ มีจุดแบนด์วิธให้เลือกสองประเภท ผู้ใช้สามารถรับได้ จุดแบนด์วิธจากการแช่แข็ง TRX ในขณะที่จุดแบนด์วิธฟรี 5,000 จุดก็มีให้บริการทุกวัน
เมื่อมีการออกอากาศธุรกรรม TRX มันจะถูกส่งและจัดเก็บในรูปแบบของอาร์เรย์ไบต์ เครือข่าย คะแนนแบนด์วิธที่ใช้โดยหนึ่งธุรกรรม = จำนวนไบต์ของธุรกรรม คูณด้วยอัตราคะแนนแบนด์วิธ ตัวอย่างเช่น หากความยาวอาร์เรย์ไบต์ของธุรกรรมคือ 200 จากนั้นธุรกรรมจะใช้จุดแบนด์วิธ 200 จุด อย่างไรก็ตาม หากการโอน TRX หรือ token ส่งผลให้ บัญชีเป้าหมายที่กำลังสร้าง จากนั้นใช้เฉพาะจุดแบนด์วิธที่ใช้ในการสร้างบัญชี จะถูกหักออก และคะแนนแบนด์วิธเพิ่มเติมจะไม่ถูกหักออก ในการสร้างบัญชี ในสถานการณ์สมมติ เครือข่ายจะใช้จุดแบนด์วิธที่ผู้ริเริ่มธุรกรรมได้รับก่อนจากการแช่แข็ง TRX หากจำนวนเงินนี้ไม่เพียงพอ เครือข่ายจะใช้ธุรกรรม TRX ของผู้ริเริ่ม
ในสถานการณ์การถ่ายโอน TRX มาตรฐานจากบัญชี TRX หนึ่งไปยังอีกบัญชีหนึ่ง เครือข่ายจะใช้ก่อน จุดแบนด์วิธที่ได้รับจากตัวเริ่มต้นธุรกรรมสำหรับการแช่แข็ง TRX ถ้านั่นไม่เพียงพอก็แล้วไป ใช้จากจุดแบนด์วิธฟรี 5,000 รายวัน หากยังไม่เพียงพอก็ต่อเครือข่าย ใช้ TRX ของตัวเริ่มต้นธุรกรรม จำนวนเงินจะคำนวณตามจำนวนไบต์ใน ธุรกรรมคูณด้วย 10 SUN ดังนั้น สำหรับผู้ถือ TRX ส่วนใหญ่ที่อาจไม่จำเป็นต้องหยุด TRX ของพวกเขาที่จะมีส่วนร่วมในการโหวต SR ขั้นตอนแรกจะถูกข้ามโดยอัตโนมัติ (ตั้งแต่ยอดคงเหลือ TRX แช่แข็ง = 0) และแบนด์วิดธ์ฟรี 5,000 ต่อวันขับเคลื่อนธุรกรรม
สำหรับการถ่ายโอน TRC-10 token เครือข่ายจะตรวจสอบก่อนว่าจุดแบนด์วิธว่างทั้งหมดของ ออกสินทรัพย์ token เพียงพอแล้ว ถ้าไม่เช่นนั้น จุดแบนด์วิธที่ได้จากการแช่แข็ง TRX จะเป็นดังนี้ บริโภค หากยังมีจุดแบนด์วิธไม่เพียงพอ จะใช้ TRX ของธุรกรรม ผู้ริเริ่ม
5.2.3 ค่าธรรมเนียม
โดยทั่วไปเครือข่าย TRON จะไม่เรียกเก็บค่าธรรมเนียมสำหรับธุรกรรมส่วนใหญ่ อย่างไรก็ตาม เนื่องจากระบบ ข้อจำกัดและความเป็นธรรม การใช้แบนด์วิธ และการทำธุรกรรมมีค่าธรรมเนียมบางอย่าง
ค่าธรรมเนียมจะแบ่งออกเป็นประเภทต่างๆ ดังต่อไปนี้: 1. ธุรกรรมปกติจะมีค่าใช้จ่ายจุดแบนด์วิธ ผู้ใช้สามารถใช้จุดแบนด์วิธรายวันฟรี (5,000) หรือตรึง TRX เพื่อรับเพิ่ม เมื่อจุดแบนด์วิธไม่เพียงพอ TRX ก็จะเป็นเช่นนั้น ใช้โดยตรงจากบัญชีผู้ส่ง TRX ที่ต้องการคือจำนวนไบต์ * 10 SUN 2. สัญญาอัจฉริยะมีค่าใช้จ่ายพลังงาน (ส่วนที่ 6) แต่ยังต้องมีจุดแบนด์วิธสำหรับ ธุรกรรมที่จะออกอากาศและยืนยัน ค่าใช้จ่ายแบนด์วิดท์จะเหมือนกับข้างต้น 3. ธุรกรรมการค้นหาทั้งหมดนั้นฟรี ไม่มีค่าใช้จ่ายด้านพลังงานหรือแบนด์วิธ
TRON เครือข่ายยังกำหนดชุดค่าธรรมเนียมคงที่สำหรับธุรกรรมต่อไปนี้: 1. การสร้างโหนดพยาน: 9999 TRX 2. การออก TRC-10 token: 1024 TRX 3. การสร้างบัญชีใหม่: 0.1 TRX 4. การสร้างคู่แลกเปลี่ยน: 1024 TRX 5.2.4 การทำธุรกรรมเป็นหลักฐานการเดิมพัน (TaPoS)
TRON ใช้ TaPoS เพื่อให้แน่ใจว่าธุรกรรมทั้งหมดจะยืนยัน blockchain หลักในขณะที่ดำเนินการ
ยากที่จะปลอมแปลงโซ่ปลอม ใน TaPoS เครือข่ายต้องการให้แต่ละธุรกรรมรวมส่วนหนึ่งของ
hash ของส่วนหัวของบล็อกล่าสุด ข้อกำหนดนี้ป้องกันไม่ให้ธุรกรรมถูกเล่นซ้ำ
ทางแยกไม่รวมบล็อกที่อ้างอิง และยังส่งสัญญาณไปยังเครือข่ายที่ผู้ใช้รายใดรายหนึ่งและของพวกเขาเงินเดิมพันอยู่บนทางแยกเฉพาะ กลไกฉันทามตินี้ปกป้องเครือข่ายจากการปฏิเสธ
บริการ 51% การขุดที่เห็นแก่ตัว และการโจมตีแบบใช้จ่ายสองเท่า
5.2.5 การยืนยันธุรกรรม
ธุรกรรมจะรวมอยู่ในบล็อกในอนาคตหลังจากออกอากาศไปยังเครือข่าย หลังจากครบ 19 บล็อคแล้ว ขุดบน TRON (รวมถึงบล็อกของตัวเอง) ธุรกรรมได้รับการยืนยันแล้ว แต่ละบล็อกผลิตโดย หนึ่งใน 27 สุดยอดผู้แทนราษฎรแบบพบกันหมด แต่ละบล็อกใช้เวลาประมาณ 3 วินาทีในการ ถูกขุดบน blockchain เวลาอาจแตกต่างกันเล็กน้อยสำหรับตัวแทนระดับสูงแต่ละคนเนื่องจากเครือข่าย เงื่อนไขและการกำหนดค่าเครื่อง โดยทั่วไปแล้วการทำธุรกรรมจะถือว่าได้รับการยืนยันโดยสมบูรณ์หลังจากนั้น ~1 นาที 5.2.6 โครงสร้าง
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
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 } } }
TRON เครื่องเสมือน
6.1 บทนำ
TRON Virtual Machine (TVM) เป็นเครื่องเสมือนทัวริงที่สมบูรณ์แบบน้ำหนักเบาที่พัฒนาขึ้นสำหรับ ระบบนิเวศของ TRON เป้าหมายคือการจัดหาระบบ blockchain ที่สร้างขึ้นเองซึ่งมีประสิทธิภาพ สะดวก มั่นคง ปลอดภัย และปรับขนาดได้
TVM เริ่มแรกแยกจาก EVM และสามารถเชื่อมต่อกับความแข็งแกร่งที่มีอยู่ smart contract ได้อย่างราบรื่น 11 ระบบนิเวศการพัฒนา ด้วยเหตุนี้ TVM จึงสนับสนุน DPoS ฉันทามติเพิ่มเติม
TVM ใช้แนวคิดเรื่องพลังงาน แตกต่างจากกลไกของแก๊สใน EVM การทำงานของ ธุรกรรมและ smart contracts บน TVM นั้นฟรี โดยไม่ต้องใช้ TRX ในทางเทคนิคแล้วสามารถเรียกใช้งานได้ ความสามารถในการคำนวณบน TVM ไม่ได้ถูกจำกัดด้วยจำนวนการถือครองทั้งหมด tokens 6.2 ขั้นตอนการทำงาน
คอมไพเลอร์จะแปล Solidity smart contract เป็น bytecode ที่สามารถอ่านและเรียกใช้งานได้บน ทีวีเอ็ม จากนั้น TVM จะประมวลผลข้อมูลผ่าน opcode ซึ่งเทียบเท่ากับการใช้งานลอจิก ของเครื่องสถานะจำกัดแบบสแต็ก สุดท้าย TVM เข้าถึงข้อมูล blockchain และเรียกใช้ อินเทอร์เฟซข้อมูลภายนอกผ่านเลเยอร์ Interoperation 11 EVM: Ethereum เครื่องเสมือน (https://github.com/ethereum/ethereumj)

รูปที่ 3: ขั้นตอนการทำงานของ TVM
6.3 ประสิทธิภาพ 6.3.1 สถาปัตยกรรมน้ำหนักเบา
TVM ใช้สถาปัตยกรรมน้ำหนักเบาโดยมีจุดประสงค์เพื่อลดการใช้ทรัพยากรเพื่อรับประกัน ประสิทธิภาพของระบบ 6.3.2 แข็งแกร่ง
TRX ถ่ายโอนและ smart contract จุดแบนด์วิดธ์ค่าใช้จ่ายในการดำเนินการเท่านั้น แทนที่จะเป็น TRX ซึ่ง ยกเว้น TRON จากการถูกโจมตี ปริมาณการใช้แบนด์วิธสามารถคาดเดาได้และคงที่ตั้งแต่แต่ละรายการ ต้นทุนขั้นตอนการคำนวณได้รับการแก้ไขแล้ว 6.3.3 ความเข้ากันได้สูง
TVM เข้ากันได้กับ EVM และจะเข้ากันได้กับ VM หลักอื่นๆ ในอนาคต ด้วยเหตุนี้ smart contracts ทั้งหมดบน EVM จึงสามารถเรียกใช้งานได้บน TVM 6.3.4 ต้นทุนต่ำ
เนื่องจากการตั้งค่าแบนด์วิธของ TVM ต้นทุนการพัฒนาจึงลดลง และนักพัฒนาสามารถมุ่งเน้นไปที่ การพัฒนาตรรกะของรหัสสัญญา TVM ยังมีอินเทอร์เฟซแบบครบวงจรสำหรับสัญญาอีกด้วย การปรับใช้ การทริกเกอร์ และการดูเพื่อมอบความสะดวกสบายให้กับนักพัฒนา
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.
สัญญาอัจฉริยะ
7.1 บทนำ
smart contract เป็นโปรโตคอลที่ตรวจสอบการเจรจาสัญญาแบบดิจิทัล พวกเขากำหนดกฎเกณฑ์และ บทลงโทษที่เกี่ยวข้องกับข้อตกลงและบังคับใช้ข้อผูกพันเหล่านั้นโดยอัตโนมัติ ผู้ฉลาด รหัสสัญญาอำนวยความสะดวก ตรวจสอบ และบังคับใช้การเจรจาหรือการปฏิบัติตามข้อตกลงหรือ การทำธุรกรรม จากมุมมองของ tokenization smart contracts ยังอำนวยความสะดวกในการให้เงินอัตโนมัติ การโอนระหว่างบุคคลที่เข้าร่วมควรเป็นไปตามเกณฑ์ที่กำหนด
TRON smart contracts เขียนด้วยภาษา Solidity เมื่อเขียนและทดสอบแล้วก็สามารถเป็นได้ คอมไพล์เป็น bytecode จากนั้นปรับใช้บนเครือข่าย TRON สำหรับ TRON Virtual Machine ครั้งหนึ่ง เมื่อปรับใช้แล้ว smart contracts สามารถสอบถามผ่านที่อยู่สัญญาได้ การสมัครสัญญา Binary Interface (ABI) แสดงฟังก์ชันการโทรของสัญญาและใช้สำหรับโต้ตอบกับ เครือข่าย 7.2 แบบจำลองพลังงาน
ขีดจำกัดพลังงานสูงสุดสำหรับการปรับใช้และทริกเกอร์ smart contract เป็นฟังก์ชันของหลายฟังก์ชัน ตัวแปร:
● พลังงานไดนามิกจากการแช่แข็ง 1 TRX คือ 50,000,000,000 (ขีดจำกัดพลังงานรวม) / (พลังงานทั้งหมด น้ำหนัก) ● ขีดจำกัดพลังงานคือขีดจำกัดพลังงานในบัญชีรายวันจากการแช่แข็ง TRX ● พลังงานในบัญชีรายวันที่เหลืออยู่จากการแช่แข็ง TRX จะถูกคำนวณเป็นขีดจำกัดพลังงาน - พลังงาน ใช้แล้ว ● ขีดจำกัดค่าธรรมเนียมใน TRX ถูกตั้งค่าไว้ใน smart contract ปรับใช้/ทริกเกอร์การโทร ● TRX ที่ใช้งานได้คงเหลืออยู่ในบัญชี ● พลังงานต่อ TRX หากซื้อโดยตรง (10 SUN = 1 พลังงาน) = 100,000 SR สามารถลงคะแนนได้ การปรับตัว
มีสองสถานการณ์การใช้งานในการคำนวณขีดจำกัดพลังงานสูงสุดสำหรับการปรับใช้และ
ทริกเกอร์ ตรรกะสามารถแสดงได้ดังนี้:
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 การปรับใช้
เมื่อคอมไพล์ TRON ความแข็งแกร่ง smart contract แล้ว TRON Virtual Machine จะอ่านคอมไพล์แล้ว ไบต์โค้ด bytecode ประกอบด้วยส่วนสำหรับการปรับใช้โค้ด รหัสสัญญา และ Auxdata Auxdata คือลายนิ้วมือเข้ารหัสของซอร์สโค้ด ซึ่งใช้สำหรับการตรวจสอบ การใช้งาน bytecode รันฟังก์ชัน Constructor และตั้งค่าตัวแปรหน่วยเก็บข้อมูลเริ่มต้น การใช้งาน รหัสยังคำนวณรหัสสัญญาและส่งกลับไปยัง TVM ABI เป็นไฟล์ JSON ที่ อธิบายฟังก์ชันของ TRON smart contract ไฟล์นี้กำหนดชื่อฟังก์ชัน ความสามารถในการชำระ ค่าส่งคืนฟังก์ชันและความไม่แน่นอนของสถานะ 7.4 ฟังก์ชั่นทริกเกอร์
เมื่อ TRON smart contracts ถูกปรับใช้ ฟังก์ชันของพวกมันจะถูกทริกเกอร์แยกกันผ่าน TronStudio หรือผ่านการเรียก API ฟังก์ชันการเปลี่ยนสถานะต้องใช้พลังงานในขณะที่ฟังก์ชันอ่านอย่างเดียว ดำเนินการโดยไม่มีพลังงาน 7.5 TRON ความแข็งแกร่ง
TRON Solidity มาจากภาษา Solidity ของ Ethereum TRON แก้ไขโครงการดั้งเดิมเป็น รองรับหน่วย TRX และ SUN (1 TRX = 1,000,000 SUN) ไวยากรณ์ภาษาที่เหลือคือ เข้ากันได้กับ Solidity ^0.4.24 ดังนั้น Tron Virtual Machine (TVM) จึงเข้ากันได้เกือบ 100% พร้อมคำแนะนำ EVM
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.
โทเค็น
8.1 โทเค็น TRC-10
ในเครือข่าย TRON แต่ละบัญชีสามารถออก tokens ได้โดยมีค่าใช้จ่าย 1,024 TRX ในการออก tokens ผู้ออกต้องระบุชื่อ token, มูลค่ารวมทั้งหมด, อัตราแลกเปลี่ยนเป็น TRX, ระยะเวลาการหมุนเวียน คำอธิบาย เว็บไซต์ การใช้แบนด์วิธสูงสุดต่อบัญชี รวมทั้งหมด การใช้แบนด์วิธ และจำนวน token ที่ถูกแช่แข็ง token แต่ละฉบับสามารถกำหนดค่าได้เช่นกัน สูงสุดรายวันของแต่ละบัญชี token โอนคะแนนแบนด์วิธ สูงสุดรายวันของเครือข่ายทั้งหมด token โอนคะแนนแบนด์วิธ, การจัดหาทั้งหมด token, ระยะเวลาการล็อคเป็นวัน และจำนวนทั้งหมด ของ tokens ถูกล็อค 8.2 โทเค็น TRC-20
TRC-20 เป็นมาตรฐานทางเทคนิคที่ใช้สำหรับ smart contracts การใช้งาน tokens ที่สนับสนุนโดย TRON เครื่องเสมือน สามารถใช้งานร่วมกับ ERC-20 ได้อย่างสมบูรณ์
อินเทอร์เฟซมีดังนี้:
สัญญา TRC20อินเทอร์เฟซ {
ฟังก์ชัน totalSupply() ผลตอบแทนคงที่สาธารณะ (uint);
ฟังก์ชั่น balanceOf (ที่อยู่ token เจ้าของ) ผลตอบแทนสาธารณะคงที่ (uint
สมดุล);
ฟังก์ชัน เบี้ยเลี้ยง(ที่อยู่ tokenเจ้าของ ที่อยู่ผู้ใช้จ่าย) สาธารณะ ค่าคงที่
ผลตอบแทน (ไม่เหลือ);
ฟังก์ชั่น การถ่ายโอน (ที่อยู่ไปที่ uint tokens) ผลตอบแทนสาธารณะ (บูลสำเร็จ);
ฟังก์ชั่น อนุมัติ (ที่อยู่ผู้ใช้บริการ, uint tokens) ผลตอบแทนสาธารณะ (บูล
ความสำเร็จ);
ฟังก์ชั่น transferFrom (ที่อยู่จาก, ที่อยู่ถึง, uint tokens) สาธารณะ
ผลตอบแทน (ความสำเร็จของบูล);
เหตุการณ์ การโอน (ที่อยู่จัดทำดัชนีจาก, ที่อยู่จัดทำดัชนีถึง, uint tokens);
เหตุการณ์ การอนุมัติ (ที่อยู่จัดทำดัชนี token เจ้าของ ที่อยู่ผู้ใช้จ่ายที่จัดทำดัชนี uint
tokens); }
จากมุมมองของนักพัฒนา TRC-10 และ TRC-20 มีความแตกต่างหลายประการ บ้าง ความแตกต่างที่สำคัญคือ TRC-10 tokens สามารถเข้าถึงได้โดย API และ smart contracts ในขณะที่ TRC-20 tokens อนุญาตให้ปรับแต่งอินเทอร์เฟซได้ แต่สามารถเข้าถึงได้ภายใน smart contracts เท่านั้น
จากมุมมองของต้นทุน TRC-10 tokens มีค่าธรรมเนียมการทำธุรกรรมที่ต่ำกว่า 1,000 เท่า
TRC-20 แต่มีค่าใช้จ่ายแบนด์วิธสำหรับการโอนและการฝาก API การโอนและการฝากเงินในสมาร์ท
สัญญาสำหรับ TRC-10 tokens มีค่าใช้จ่ายทั้งแบนด์วิดท์และพลังงาน
8.3 เกินกว่านั้น
เนื่องจาก TRON ใช้เวอร์ชัน Solidity เดียวกันกับ Ethereum ดังนั้น token มาตรฐานเพิ่มเติมจึงพร้อมใช้งาน ย้ายไปยัง TRON แล้ว
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.
ธรรมาภิบาล
9.1 ตัวแทนระดับสูง 9.1.1 ทั่วไป
ทุกบัญชีในเครือข่าย TRON สามารถสมัครและมีโอกาสที่จะเป็น Super ตัวแทน (แสดงเป็น SR) ทุกคนสามารถลงคะแนนให้ผู้สมัคร SR ได้ ผู้สมัคร 27 อันดับแรกด้วย ผู้โหวตมากที่สุดจะกลายเป็น SR ที่มีสิทธิ์และหน้าที่ในการสร้างบล็อก คะแนนเสียงคือ นับทุกๆ 6 ชั่วโมง และ SR จะเปลี่ยนตามไปด้วย
เพื่อป้องกันการโจมตีที่เป็นอันตราย การสมัครเป็น SR มีค่าใช้จ่าย เมื่อสมัคร 9999 TRX จะถูกเผาจากบัญชีของผู้สมัคร เมื่อสำเร็จแล้ว บัญชีดังกล่าวจะสามารถเข้าร่วม SR ได้ การเลือกตั้ง 9.1.2 การเลือกตั้ง
TRON ต้องใช้อำนาจ (แสดงเป็น TP) ในการลงคะแนนเสียง และจำนวน TP ขึ้นอยู่กับผู้ลงคะแนนเสียง สินทรัพย์ที่ถูกแช่แข็ง (TRX)
TP คำนวณด้วยวิธีต่อไปนี้:
ทีพี
1 TRX ถูกแช่แข็งเพื่อรับแบนด์วิธ
1
=
ทุกบัญชีในเครือข่าย TRON มีสิทธิ์ลงคะแนนให้ SR ของตนเอง
หลังจากการเปิดตัว (เลิกระงับ และใช้งานได้หลังจาก 3 วัน) ผู้ใช้จะไม่มีเนื้อหาที่ถูกแช่แข็งและสูญเสียทั้งหมด ทีพี ตามนั้น ส่งผลให้การลงคะแนนเสียงทั้งหมดเป็นโมฆะสำหรับการลงคะแนนเสียงที่กำลังดำเนินอยู่และรอบต่อไป เว้นแต่ TRX ถูกระงับการลงคะแนนเสียงอีกครั้ง
โปรดทราบว่าเครือข่าย TRON จะบันทึกเฉพาะการโหวตล่าสุดเท่านั้น ซึ่งหมายความว่าทุกการโหวตใหม่ จะลบล้างคะแนนเสียงก่อนหน้านี้ทั้งหมด 9.1.3 รางวัล ก. โหวตรางวัล
เรียกอีกอย่างว่ารางวัลผู้สมัคร ซึ่งผู้สมัคร 127 อันดับแรกจะอัปเดตทุกๆ รอบ (6
ชั่วโมง) จะแบ่ง 115,200 TRX เมื่อขุดได้ รางวัลจะแบ่งตามน้ำหนักคะแนนโหวต
ผู้สมัครแต่ละคนจะได้รับ ในแต่ละปี รางวัลรวมสำหรับผู้สมัครจะเท่ากับ 168,192,000 TRX
รางวัลโหวตรวมต่อรอบ
ทำไมต้อง 115,200 TRX ทุกรอบ?
15, 00 TRX
รางวัลคะแนนโหวตรวมต่อรอบ (VR/รอบ)
1
2
=
VR/รอบ = 16 T RX/บล็อก × 20 บล็อค/นาที × 60 นาที/ชม × 6 ชม./รอบ
หมายเหตุ: ค่านี้กำหนดโดย WITNESS_STANDBY_ALLOWANCE = 115,200 TRX ดูพารามิเตอร์เครือข่ายแบบไดนามิก
รางวัลคะแนนเสียงทั้งหมดต่อปี
ทำไมต้อง 168,192,000 TRX ทุกปี?
168, 192, 000 T RX = รางวัลคะแนนโหวตทั้งหมดต่อปี (V R/ปี)
V R/ปี = 115, 200 T RX/รอบ × 4 รอบ/วัน × 365 วัน/ปี
ข. รางวัลบล็อก
หรือที่เรียกว่า Super Representative Reward ซึ่งผู้เข้าชิง 27 อันดับแรก (SRs) ที่ได้รับเลือก
ทุกรอบ (6 ชั่วโมง) จะแบ่งประมาณ 230,400 TRX เมื่อขุดได้ รางวัลจะแบ่งเท่าๆ กัน
ระหว่าง 27 SR (ลบบล็อกรางวัลทั้งหมดที่พลาดเนื่องจากข้อผิดพลาดของเครือข่าย) รวมของ
336,384,000 TRX จะมอบให้ทุกปีแก่ 27 SR
รางวัลบล็อกทั้งหมดต่อรอบ
ทำไมต้อง 230,400 TRX ทุกรอบ?
230, 400 T RX = รางวัลบล็อคทั้งหมดต่อรอบ (BR/รอบ)
BR/รอบ = 32 T RX/bloc × 20 บล็อก/นาที × 60 นาที/ชม × 6 ชม./รอบ
หมายเหตุ: รางวัลบล็อกหน่วยถูกกำหนดโดย WITNESS_PAY_PER_BLOCK = 32 TRX ดูเครือข่ายแบบไดนามิก
พารามิเตอร์
รางวัลบล็อกทั้งหมดต่อปี
ทำไมต้อง 336,384,000 TRX ทุกปี?
336, 384, 000 T RX = รางวัลบล็อกทั้งหมดต่อปี (BR/ปี)
BR/ปี = 230, 400 T RX/รอบ × 4 รอบ/วัน × 365 วัน/ปี
1 มกราคม 2021
จะไม่มีอัตราเงินเฟ้อบนเครือข่าย TRON ก่อนวันที่ 1 มกราคม 2021 และ TRON DAO จะ
มอบรางวัลบล็อกและรางวัลผู้สมัครทั้งหมดก่อนวันที่ดังกล่าว
ค. การคำนวณรางวัล
การคำนวณรางวัล SR
รางวัลทั้งหมด
รางวัลการโหวต (VR)
รางวัลบล็อก (BR)
ที
=
+
ร
วี อาร์ ทั้งหมด
วี
=
×
คะแนนเสียงทั้งหมด
คะแนนโหวต ผู้สมัคร SR ที่ได้รับ
ร
บล็อกพลาด
2
บี
=
27
รวม BR -
× 3
หมายเหตุ: รางวัลจะคำนวณต่อ SR ต่อรอบ (6 ชั่วโมง)
อันดับที่ 28 ถึงอันดับที่ 127 การคำนวณรางวัลผู้สมัคร SR รางวัลทั้งหมด รางวัลการโหวต (VR) ที =
ร
วี อาร์ ทั้งหมด
วี
=
×
คะแนนเสียงทั้งหมด
คะแนนโหวต ผู้สมัคร SR ที่ได้รับ
หมายเหตุ: รางวัลจะคำนวณต่อผู้สมัคร SR ต่อรอบ (6 ชั่วโมง)
9.2 คณะกรรมการ
9.2.1 ทั่วไป
คณะกรรมการใช้เพื่อแก้ไขพารามิเตอร์เครือข่ายไดนามิก TRON เช่น การสร้างบล็อก
รางวัล ค่าธรรมเนียมการทำธุรกรรม ฯลฯ คณะกรรมการประกอบด้วย SR 27 รายการในรอบปัจจุบัน เอสอาร์แต่ละคน
มีสิทธิเสนอและลงคะแนนเสียงข้อเสนอได้ เมื่อข้อเสนอได้รับคะแนนเสียง 19 เสียงขึ้นไปก็คือ
ได้รับการอนุมัติและพารามิเตอร์เครือข่ายใหม่จะถูกนำไปใช้ในช่วงการบำรุงรักษาครั้งถัดไป (3 วัน)
9.2.2 พารามิเตอร์เครือข่ายแบบไดนามิก
0.
การบำรุงรักษา_TIME_INTERVAL
ก.
คำอธิบาย
แก้ไขช่วงเวลาการบำรุงรักษาเป็นมิลลิวินาที เรียกว่าช่วงเวลาการลงคะแนนเสียง SR ต่อ
รอบ
ข.
ตัวอย่าง
[6 * 3600 * 1,000] ms - ซึ่งก็คือ 6 ชั่วโมง
ค.
พิสัย
[3271,000, 2436001,000] มิลลิวินาที
1.
ACCOUNT_UPGRADE_COST
ก.
คำอธิบาย
ปรับเปลี่ยนค่าใช้จ่ายในการสมัครบัญชี SR
ข.
ตัวอย่าง
[9,999,000,000] SUN - ซึ่งก็คือ 9,999 TRX
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์
2.
CREATE_ACCOUNT_FEE
ก.
คำอธิบาย
แก้ไขค่าธรรมเนียมการสร้างบัญชีข.
ตัวอย่าง
[100,000] SUN - ซึ่งก็คือ 1 TRX
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์
3.
ธุรกรรม_ค่าธรรมเนียม
ก.
คำอธิบาย
แก้ไขจำนวนค่าธรรมเนียมที่ใช้เพื่อเพิ่มแบนด์วิธเพิ่มเติม
ข.
ตัวอย่าง
[10] อาทิตย์/ไบต์
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์/ไบต์
4.
ASSET_ISSUE_FEE
ก.
คำอธิบาย
ปรับเปลี่ยนค่าธรรมเนียมการออกสินทรัพย์
ข.
ตัวอย่าง
[1,024,000,000] SUN - ซึ่งก็คือ 1,024 TRX
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์
5.
WITNESS_PAY_PER_BLOCK
ก.
คำอธิบาย
แก้ไขรางวัลการสร้างบล็อก SR รู้จักกันในชื่อรางวัลบล็อกหน่วย
ข.
ตัวอย่าง
[32,000,000] อาทิตย์ - ซึ่งก็คือ 32 TRX
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์
6.
WITNESS_STANDBY_ALLOWANCE
ก.
คำอธิบาย
ปรับเปลี่ยนรางวัลที่มอบให้กับผู้สมัคร SR 127 อันดับแรก เรียกว่ารางวัลการโหวตทั้งหมด
ต่อรอบ
ข.
ตัวอย่าง
[115,200,000,000] SUN - ซึ่งก็คือ 115,200 TRX
ค.
พิสัย
[0,100 000 000 000 000 000] อาทิตย์
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
ก.
คำอธิบาย
แก้ไขต้นทุนการสร้างบัญชี รวมพารามิเตอร์เครือข่ายไดนามิก #8 เพื่อรับ
ต้นทุนการสร้างบัญชีทั้งหมด:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
ค
× ซี
ข. ตัวอย่าง [0] อาทิตย์ ค. พิสัย [0,100 000 000 000 000 000] อาทิตย์ 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
ก.
คำอธิบาย
แก้ไขต้นทุนการสร้างบัญชี รวมพารามิเตอร์เครือข่ายแบบไดนามิก #7 เพื่อรับ
ต้นทุนการสร้างบัญชีทั้งหมด:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
ค
× ซี
ข. ตัวอย่าง [1]. ค. พิสัย [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS ก. คำอธิบาย เพื่อเปิด Tron Virtual Machine (TVM) ข. ตัวอย่าง จริง - ตั้งค่าให้เปิดใช้งานและมีผลตั้งแต่ 10/10/2018 23:47 UTC ค. พิสัย จริง/เท็จ 10. REMOVE_THE_POWER_OF_THE_GR ก. คำอธิบาย ลบคะแนนการกำเนิด GR เริ่มต้น ข. ตัวอย่าง จริง - มีผลเมื่อ 4/11/2561 08:46 UTC ค. พิสัย จริง/เท็จ - หมายเหตุ: ไม่สามารถตั้งค่ากลับเป็นเท็จจากจริงได้ 11. พลังงาน_ค่าธรรมเนียม ก. คำอธิบาย แก้ไขค่าธรรมเนียม 1 พลังงาน ข. ตัวอย่าง 20 อาทิตย์ ค. พิสัย [0,100 000 000 000 000 000] อาทิตย์ 12. EXCHANGE_CREATE_FEE ก. คำอธิบาย ปรับเปลี่ยนต้นทุนการสร้างคู่การซื้อขาย เรียกว่าต้นทุนในการสร้างคำสั่งซื้อขาย ข. ตัวอย่าง [1,024,000,000] SUN - ซึ่งก็คือ 1,024 TRX ค. พิสัย [0,100 000 000 000 000 000] อาทิตย์ 13. MAX_CPU_TIME_OF_ONE_TX ก. คำอธิบาย แก้ไขเวลาดำเนินการสูงสุดของหนึ่งธุรกรรม เรียกว่าขีดจำกัดการหมดเวลาของ หนึ่งธุรกรรม ข. ตัวอย่าง 50 มิลลิวินาที ค. พิสัย
[0, 1,000] มิลลิวินาที
14. ALLOW_UPDATE_ACCOUNT_NAME
ก.
คำอธิบาย
แก้ไขตัวเลือกเพื่อให้บัญชีอัปเดตชื่อบัญชีของตน
ข.
ตัวอย่าง
เท็จ - ซึ่งสามารถเสนอได้จาก java-tron Odyssey v3.2
ค.
พิสัย
จริง/เท็จ - หมายเหตุ: ไม่สามารถตั้งค่ากลับเป็นเท็จจากจริงได้
15. ALLOW_SAME_TOKEN_NAME
ก.
คำอธิบาย
แก้ไขการตรวจสอบความถูกต้องของการอนุญาตให้ token ที่แตกต่างกันมีชื่อซ้ำกัน
ข.
ตัวอย่าง
เท็จ - ซึ่งสามารถเสนอได้จาก java-tron Odyssey v3.2
ค.
พิสัย
จริง/เท็จ - หมายเหตุ: ไม่สามารถตั้งค่ากลับเป็นเท็จจากจริงได้
16. ALLOW_DELEGATE_RESOURCE
ก.
คำอธิบาย
แก้ไขการตรวจสอบความถูกต้องของการอนุญาตให้ออก token ด้วยชื่อที่ซ้ำกัน ดังนั้น
tokenID ของ token ซึ่งเป็นประเภทข้อมูลจำนวนเต็มยาว จะเป็นอะตอมเพียงชนิดเดียว
บัตรประจำตัวของ token
ข.
ตัวอย่าง
เท็จ - ซึ่งสามารถเสนอได้จาก java-tron Odyssey v3.2
ค.
พิสัย
จริง/เท็จ - หมายเหตุ: ไม่สามารถตั้งค่ากลับเป็นเท็จจากจริงได้
17. TOTAL_ENERGY_LIMIT
ก.
คำอธิบาย
แก้ไขขีดจำกัดพลังงานรวมของเครือข่ายทั้งหมด
ข.
ตัวอย่าง
[50,000,000,000,000,000] SUN - ซึ่งเท่ากับ 50,000,000,000 TRX
ค.
พิสัย
[0,100,000,000,000,000,000] อาทิตย์
18. ALLOW_TVM_TRANSFER_TRC10
ก.
คำอธิบาย
อนุญาตให้ถ่ายโอน TRC-10 token ภายใน smart contracts
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ข้อเสนอ ALLOW_DELEGATE_RESOURCE ทั้งหมดต้องได้รับการอนุมัติก่อนที่จะเสนอ
การเปลี่ยนแปลงพารามิเตอร์นี้
ข.
ตัวอย่าง
เท็จ - ซึ่งสามารถเสนอได้จาก java-tron Odyssey v3.2
ค.
พิสัย
จริง/เท็จ - หมายเหตุ: ไม่สามารถตั้งค่ากลับเป็นเท็จจากจริงได้9.2.3 สร้างข้อเสนอ
เฉพาะบัญชี SR เท่านั้นที่มีสิทธิ์เสนอการเปลี่ยนแปลงในพารามิเตอร์เครือข่ายแบบไดนามิก 9.2.4 การเสนอการลงคะแนนเสียง
เฉพาะสมาชิกคณะกรรมการ (SR) เท่านั้นที่สามารถลงคะแนนเสียงให้กับข้อเสนอและสมาชิกที่ไม่ลงคะแนนเสียงได้ทันเวลา จะถือว่าไม่เห็นด้วย ข้อเสนอมีผลใช้งานเป็นเวลา 3 วันหลังจากสร้างขึ้น โหวตก็ได้ สามารถเปลี่ยนแปลงหรือเรียกคืนได้ในช่วงหน้าต่างลงคะแนนเสียง 3 วัน เมื่อสิ้นสุดระยะเวลาข้อเสนอจะสิ้นสุดลง สำเร็จ (19+ โหวต) หรือล้มเหลว (และสิ้นสุด) 9.2.5 ยกเลิกข้อเสนอ
ผู้เสนอสามารถยกเลิกข้อเสนอก่อนที่จะมีผลใช้บังคับ 9.3 โครงสร้าง
SR เป็นพยานของบล็อกที่สร้างขึ้นใหม่ พยานประกอบด้วย 8 พารามิเตอร์:
1.
ที่อยู่: ที่อยู่ของพยานนี้ – เช่น 0xu82h…7237.
2.
voteCount: จำนวนคะแนนเสียงที่ได้รับจากพยานคนนี้ - เช่น 234234.
3.
pubKey: กุญแจสาธารณะสำหรับพยานนี้ – เช่น 0xu82h…7237.
4.
url: URL ของพยานรายนี้ – เช่น https://www.noonetrust.com.
5.
TotalProduced: จำนวนบล็อกที่พยานนี้สร้างขึ้น - เช่น 2434.
6.
TotalMissed: จำนวนบล็อกที่พยานรายนี้พลาด – เช่น 7.
7.
latestBlockNum: ความสูงล่าสุดของบล็อก – เช่น 4522.
8.
isjobs : ธงบูลีน
โครงสร้างข้อมูล Protobuf:
ข้อความ พยาน{
ที่อยู่ไบต์ = 1;
int64 โหวตนับ = 2;
ไบต์ pubKey = 3;
สตริง url = 4;
int64 ผลรวมที่ผลิต = 5;
int64 รวมพลาด = 6;
int64 ล่าสุดBlockNum = 7;
บูลคืองาน = 8;
}
- การพัฒนา DApp 10.1 API
เครือข่าย TRON มีเกตเวย์ HTTP API ให้เลือกมากกว่า 60+ รายการสำหรับการโต้ตอบกับ เครือข่ายผ่าน Full และ Solidity Nodes นอกจากนี้ TronWeb ยังเป็นไลบรารี JavaScript ที่ครอบคลุมอีกด้วย มีฟังก์ชัน API ที่ช่วยให้นักพัฒนาสามารถปรับใช้ smart contracts เปลี่ยน blockchain สถานะ, สอบถาม blockchain และข้อมูลสัญญา, ซื้อขาย DEX และอื่นๆ อีกมากมาย API เหล่านี้ เกตเวย์สามารถมุ่งตรงไปยังไพรเวทเน็ตเฉพาะที่, เทสเน็ต Shasta หรือ TRON เมนเน็ต
10.2 เครือข่าย
TRON มีทั้ง Shasta testnet และ Mainnet นักพัฒนาอาจเชื่อมต่อกับเครือข่ายโดย
การปรับใช้โหนด การโต้ตอบผ่าน TronStudio หรือใช้ API ผ่านบริการ TronGrid ตรอนกริด
บริการประกอบด้วยคลัสเตอร์โหนดที่สมดุลโหลดซึ่งโฮสต์บนเซิร์ฟเวอร์ AWS ทั่วโลก ในฐานะ DApp
การพัฒนาขยายขนาดและปริมาณการเรียก API เพิ่มขึ้น TronGrid ประสบความสำเร็จในการเพิ่มจำนวน
การรับส่งข้อมูล API
10.3 เครื่องมือ
TRON นำเสนอชุดเครื่องมือการพัฒนาที่ช่วยให้นักพัฒนาสามารถสร้าง DApps ที่เป็นนวัตกรรมใหม่ได้
TronBox เป็นเฟรมเวิร์กที่ช่วยให้นักพัฒนาสามารถทดสอบและปรับใช้ smart contracts ผ่านทาง TronWeb
เอพีไอ TronGrid เป็นบริการ API ที่สมดุลโหลดและโฮสต์ซึ่งช่วยให้นักพัฒนาสามารถเข้าถึง
TRON เครือข่ายโดยไม่ต้องรันโหนดของตนเอง TronGrid ให้การเข้าถึงทั้ง Shasta
testnet เช่นเดียวกับ TRON Mainnet TronStudio เป็นการพัฒนาแบบรวมที่ครอบคลุม
สภาพแวดล้อม (IDE) ที่ช่วยให้นักพัฒนาสามารถคอมไพล์ ปรับใช้ และดีบัก Solidity smart ของตนได้
สัญญา TronStudio มีโหนดเต็มภายในที่สร้างสภาพแวดล้อมท้องถิ่นส่วนตัวสำหรับ
smart contract การทดสอบก่อนการปรับใช้งาน ไลบรารี TronWeb API เชื่อมต่อนักพัฒนาเข้ากับ
เครือข่ายผ่านการเรียก HTTP API ที่หลากหลายซึ่งรวมอยู่ใน JavaScript
10.4 ทรัพยากร
TRON Developer Hub คือไซต์เอกสารประกอบ API ที่ครอบคลุมซึ่งปรับแต่งมาโดยเฉพาะ 12 นักพัฒนาที่ต้องการสร้างบนเครือข่าย TRON Developer Hub มอบระดับสูง ความเข้าใจแนวคิดของ TRON และแนะนำผู้ใช้ผ่านรายละเอียดการโต้ตอบกับ 12 ศูนย์กลางนักพัฒนา: https://developers.tron.network/
เครือข่าย คู่มือนี้จะแนะนำนักพัฒนาเกี่ยวกับการตั้งค่าโหนด การปรับใช้ และการโต้ตอบกับระบบอัจฉริยะ
สัญญา การโต้ตอบและการใช้งาน API การสร้าง DApps ตัวอย่าง และการใช้แต่ละอย่าง
เครื่องมือสำหรับนักพัฒนา นอกจากนี้ ช่องทางชุมชนนักพัฒนายังมีให้บริการผ่าน Discord
13
13 ความขัดแย้ง: https://discordapp.com/invite/GsRgsTD
- บทสรุป
TRON เป็นโซลูชัน blockchain ที่ปรับขนาดได้ ซึ่งได้ใช้วิธีการที่เป็นนวัตกรรมใหม่สำหรับการแก้ปัญหา ความท้าทายที่เครือข่าย blockchain เดิมต้องเผชิญ มีธุรกรรมมากกว่า 2 ล้านรายการต่อวัน ด้วยบัญชี TRX มากกว่า 700,000 บัญชี และมากกว่า 2,000 บัญชี TPS, 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é.