Технический документ ТРОН
การแนะนำ
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
Введение
1.1 Видение
TRON — амбициозный проект, посвященный созданию по-настоящему децентрализованного Интернета и его
инфраструктура. Протокол TRON, одна из крупнейших операционных систем на базе blockchain в мире.
мире предлагает общедоступную blockchain поддержку высокой пропускной способности, высокой масштабируемости и высокой доступности для
все децентрализованные приложения (DApps) в экосистеме TRON. Приобретение в июле 2018 г.
BitTorrent еще больше укрепил лидерство TRON в создании децентрализованной экосистемы.
1.2 Предыстория
Введение Bitcoin в 2009 году произвело революцию в восприятии обществом традиционных финансовых системы после Великой рецессии (2007-2008 гг.). Централизованные хедж-фонды и банки рухнула из-за спекуляций с непрозрачными производными финансовыми инструментами, технология blockchain предоставила прозрачный универсальный реестр, из которого каждый может получить информацию о транзакциях. транзакции были криптографически защищены с использованием механизма консенсуса Proof of Work (PoW), тем самым предотвращая проблемы двойного расходования.
В конце 2013 года в официальном документе Ethereum была предложена сеть, в которой smart contracts и Полная по Тьюрингу виртуальная машина Ethereum (EVM) позволит разработчикам взаимодействовать с сеть через DApps. Однако, поскольку объемы транзакций в Bitcoin и Ethereum достигли пика в 2017 году, это было очевидно по низкой скорости обработки транзакций и высоким комиссиям за транзакции, что криптовалюты, такие как Bitcoin и Ethereum, в их существующем состоянии не были масштабируемы для широкого распространения. усыновление. Таким образом, TRON был основан и задуман как инновационное решение этих насущных проблем. проблемы масштабируемости.

1.3 История TRON DAO была основана в июле 2017 года в Сингапуре. В декабре 2017 года у TRON было запустил свой протокол с открытым исходным кодом. Testnet, Blockchain Explorer и веб-кошелек были запущен к марту 2018 года. TRON Основная сеть была запущена вскоре после этого, в мае 2018 года, ознаменовав Выпуск Odyssey 2.0 как техническая веха. В июне 2018 года TRON провозгласил свою независимость. с созданием блока Genesis, а также с приобретением BitTorrent в июле 2018 года. В В октябре 2018 года TRON запустил виртуальную машину TRON (TVM), полный набор инструментов для разработчиков, и система поддержки 360. Дорожная карта TRON предполагает объединение 100 миллионов пользователей BitTorrent. с сетью TRON через Project Atlas, а также способствовать запуску сообщества разработчиков новые захватывающие DApps в сети TRON1. 1 версия 1.0 доступна по адресу https://tron.network/static/doc/white_paper_v_1_0.pdf.
1.4 Терминология
Адрес/Кошелек Адрес или кошелек, состоящий из учетных данных учетной записи в сети TRON, генерируется пара ключей, состоящая из закрытого ключа и открытого ключа, причем последний является производным от первого. через алгоритм. Открытый ключ обычно используется для шифрования сеансового ключа, подписи верификация и шифрование данных, которые могут быть расшифрованы соответствующим секретным ключом.
АБИ Бинарный интерфейс приложения (ABI) — это интерфейс между двумя двоичными программными модулями; обычно один из этих модулей представляет собой библиотеку или средство операционной системы, а другой — запускаемый пользователем программа.
API Интерфейс прикладного программирования (API) в основном используется для разработки пользовательских клиентов. С API поддержка, платформы выдачи token также могут быть разработаны самими разработчиками.
Актив В документах TRON актив аналогичен token, который также обозначается как TRC-10 token.
Очки пропускной способности (BP) Чтобы обеспечить бесперебойную работу сети, сетевые транзакции TRON используют BP в качестве топлива. Каждый аккаунт получает 5000 бесплатных ежедневных BP, и еще больше можно получить, заморозив TRX за BP. И TRX, и TRC-10. Переводы token — это обычные транзакции, стоимость которых составляет BP. Развертывание и исполнение смарт-контракта транзакции потребляют как BP, так и энергию.
Блокировать Блоки содержат цифровые записи транзакций. Полный блок состоит из магического числа, размер блока, заголовок блока, счетчик транзакций и данные транзакции.
Блокировать вознаграждение Награды за производство блоков отправляются на субсчет (адрес/кошелек). Суперпредставители могут запросите свои вознаграждения на Tronscan или напрямую через API.
Заголовок блока Заголовок блока является частью блока. Заголовки блоков TRON содержат hash предыдущего блока, Корень Меркла, временная метка, версия и адрес-свидетель.Холодный кошелек Холодный кошелек, также известный как автономный кошелек, сохраняет закрытый ключ полностью отключенным от любого сеть. Холодные кошельки обычно устанавливаются на «холодные» устройства (например, компьютеры или мобильные телефоны). оставаясь в автономном режиме), чтобы обеспечить безопасность закрытого ключа TRX.
Децентрализованное приложение Децентрализованное приложение — это приложение, которое работает без централизованно доверенной стороны. Приложение что обеспечивает прямое взаимодействие/договоры/коммуникацию между конечными пользователями и/или ресурсами без посредника.
gRPC gRPC (вызовы удаленных процедур gRPC) — это система удаленного вызова процедур (RPC) с открытым исходным кодом. 2 изначально разработанный в Google. Он использует HTTP/2 для транспорта, буферы протокола в качестве интерфейса. язык описания и предоставляет такие функции, как аутентификация, двунаправленная потоковая передача и поток контрольные, блокирующие или неблокирующие привязки, а также отмену и тайм-ауты. Он генерирует кроссплатформенные привязки клиента и сервера для многих языков. Наиболее распространенные сценарии использования включать подключение сервисов в архитектуре в стиле микросервисов и подключение мобильных устройств, а также браузерные клиенты для серверных служб.
Горячий кошелек Горячий кошелек, также известный как онлайн-кошелек, позволяет использовать закрытый ключ пользователя онлайн, поэтому его можно подвержены потенциальным уязвимостям или перехвату злоумышленниками.
ЯДК Java Development Kit — это Java SDK, используемый для приложений Java. Это ядро Java разработка, включающая среду приложений Java (библиотека классов JVM+Java) и Java инструменты.
ХаосДБ TRON имеет KhaosDB в памяти полного узла, в которой могут храниться все созданные вновь разветвленные цепочки. в течение определенного периода времени и помогает свидетелям быстро переключаться с их собственной активной цепочки в новую основную цепь. Дополнительную информацию см. в разделе 2.2.2 Хранилище состояний.
УровеньБД Изначально LevelDB был принят с основной целью удовлетворить требования быстрого чтения/записи и быстрого развитие. После запуска основной сети TRON обновил свою базу данных до полностью адаптированной каждый удовлетворял свои собственные потребности. Более подробную информацию см. в разделе 2.2.1 «Хранилище блокчейна».
Меркл Рут Корень Меркла — это hash всех hash всех транзакций, включенных как часть блока в blockchain. сеть. Дополнительную информацию см. в разделе 3.1 «Делегированное подтверждение доли» (DPoS). 2 https://en.wikipedia.org/wiki/GRPC

Публичная тестовая сеть (Шаста) Версия сети, работающая в одноузловой конфигурации. Разработчики могут подключиться и протестировать функции, не беспокоясь об экономических потерях. Тестовые сети token не имеют никакой ценности, и каждый может это сделать. запросите больше у общедоступного крана.
ПКП
3
В распределенных вычислениях удаленный вызов процедур (RPC) — это когда компьютерная программа вызывает
процедура (подпрограмма) для выполнения в другом адресном пространстве (обычно на другом компьютере на
общая сеть), который закодирован так, как если бы это был обычный (локальный) вызов процедуры, без
программист явно кодирует детали удаленного взаимодействия.
Масштабируемость Масштабируемость — это особенность протокола TRON. Это способность системы, сети или процесса справляться с растущим объемом работы или ее потенциалом для увеличения, чтобы приспособиться к этому росту.
СОЛНЦЕ SUN заменил drop как наименьшую единицу TRX. 1 TRX = 1 000 000 СОЛНЦЕВ.
Пропускная способность Высокая пропускная способность — особенность основной сети TRON. Он измеряется в транзакциях в секунду (TPS), а именно максимальная пропускная способность транзакций за одну секунду.
Временная метка Примерное время создания блока записывается как временная метка Unix, которая представляет собой количество миллисекунды, прошедшие с 00:00:00 1 января 1970 года по всемирному координированному времени.
ТКС Конфигурация токена.
ТРК-10 Стандарт шифрования token на платформе TRON. Необходимо соблюдать определенные правила и интерфейсы. при проведении первичного предложения монет TRON blockchain.
ТРХ TRX означает Tronix, официальную криптовалюту 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/
Архитектура
TRON использует трехуровневую архитектуру, разделенную на уровень хранения, базовый уровень и уровень приложения. Протокол TRON соответствует Google Protobuf, который поддерживает многоязычность. расширение.

Рисунок 1: TRON 3-уровневая архитектура
2.1 Ядро
На базовом уровне имеется несколько модулей, в том числе smart contracts, управление учетными записями и консенсус. Виртуальная машина на основе стека реализована на TRON и оптимизирована инструкция используется набор. Чтобы лучше поддерживать разработчиков DApp, Solidity был выбран в качестве smart contract. 4 язык, с последующей поддержкой других продвинутых языков. Кроме того, консенсус TRON механизм основан на делегированном доказательстве доли (DPoS), и в него было внесено множество нововведений. чтобы удовлетворить его уникальные требования. 2.2 Хранение
TRON разработал уникальный протокол распределенного хранения, состоящий из блочного хранилища и состояния. Хранение. Понятие графовой базы данных было введено в конструкцию уровня хранения для лучше удовлетворять потребности в диверсифицированном хранении данных в реальном мире. 2.2.1 Хранилище блокчейна
TRON blockchain хранилище выбирает использование LevelDB, разработанного Google и проверенного успешен во многих компаниях и проектах. Он имеет высокую производительность и поддерживает произвольные байты. массивы как ключи и значения, получение, добавление и удаление в единственном числе, пакетное добавление и удаление, двунаправленное итераторы и простое сжатие с использованием очень быстрого алгоритма Snappy. 2.2.2 Хранилище состояний
TRON имеет KhaosDB в памяти полного узла, в которой могут храниться все вновь сгенерированные раздвоенные цепочки. в течение определенного периода времени и помогает свидетелям быстро переключаться с их собственной активной цепочки в новую основную цепь. Он также может защитить хранилище blockchain, сделав его более стабильным от взлома. аномально завершается в промежуточном состоянии. 2.3 Применение
Разработчики могут создавать разнообразные DApps и индивидуальные кошельки на TRON. С TRON позволяет развертывать и выполнять smart contracts, возможности служебных приложений безлимитный. 4 Официальная документация Solidity: https://solidity.readthedocs.io/
2.4 Протокол
Протокол TRON соответствует протоколу Google Protocol Buffers , который не зависит от языка и платформы, 5 расширяемый способ сериализации структурированных данных для использования в протоколах связи, хранилищах данных, и многое другое. 2.4.1 Буферы протоколов
Протокольные буферы (Protobuf) — это гибкий, эффективный, автоматизированный механизм сериализации структурированных данных. данные, похожие на JSON или XML, но намного меньше, быстрее и проще.
Определения Protobuf (.proto) можно использовать для создания кода для C++, Java, C#, Python, Ruby, Golang и Objective-C через официальные генераторы кода. Различные сторонние реализации также доступны для многих других языков. Protobuf упрощает разработку клиентов путем унификации определений API, а также оптимизации передачи данных. Клиенты могут использовать API .proto из репозитория протоколов TRON и интегрируйте его с помощью автоматически сгенерированного кода. библиотеки.
Для сравнения, протокольные буферы в 3–10 раз меньше и в 20–100 раз быстрее, чем XML. с менее двусмысленным синтаксисом. Protobuf генерирует классы доступа к данным, которые проще использовать. программно. 2.4.2 HTTP
TRON Протокол предоставляет RESTful HTTP API, альтернативу Protobuf API. Они разделяют то же самое интерфейс, но HTTP API можно легко использовать в клиентах JavaScript. 2.5 TRON Виртуальная машина (TVM)
TVM — это легкая, полная по Тьюрингу виртуальная машина, разработанная для экосистемы TRON.
TVM легко соединяется с существующей экосистемой разработки, предоставляя миллионам глобальных
разработчики с помощью специально созданной системы blockchain, которая является эффективной, удобной, стабильной, безопасной и
масштабируемый.
2.6 Децентрализованная биржа (DEX)
5 Официальная документация Google Protocol Buffers: https://developers.google.com/protocol-buffers/Сеть TRON изначально поддерживает функции децентрализованного обмена. Децентрализованная биржа состоит из нескольких торговых пар. Торговая пара (обозначение «Биржа») – это биржевой рынок. между TRC-10 token или между TRC-10 token и TRX. Любой счет может создать торговый создать пару между любыми token, даже если такая же пара уже существует в сети TRON. Торговля и Колебания цен торговых пар следуют протоколу Bancor. Сеть TRON предусматривает, что 6 веса двух token во всех торговых парах равны, поэтому соотношение их балансов и есть цена между ними. Например, рассмотрим торговую пару, содержащую два token, ABC и DEF. У ABC есть баланс составляет 10 миллионов, а баланс DEF составляет 1 миллион. Поскольку их веса равны, 10 ABC = 1 ЗАЩ. Это означает, что отношение ABC к DEF составляет 10 ABC на DEF. 2.7 Реализация
Код TRON blockchain реализован на Java и изначально был ответвлением EthereumJ.
6 Официальный сайт Bancor Protocol: 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 ที่สามารถจัดทำดัชนีได้
Консенсус
3.1 Делегированное подтверждение доли (DPoS)
Самым ранним механизмом консенсуса является механизм консенсуса Proof of Work (PoW). Это протокол в настоящее время реализован в Bitcoin и Ethereum. В системах PoW транзакции 7 8 трансляции по сети группируются в формирующиеся блоки для подтверждения майнера. процесс подтверждения включает в себя hashтранзакцию с использованием криптографических hashалгоритмов до тех пор, пока достигнут корень Меркла, создаётся дерево Меркла:
Рисунок 2: 8 транзакций TRX hash в корне Merkle. Этот корень Меркла затем включается в заголовок блока, который прикрепляется к ранее подтвержденным блокам, образуя blockchain. Это позволяет легко и прозрачно отслеживать транзакции, временные метки и другая соответствующая информация.
7 Bitcoin технический документ: https://bitcoin.org/bitcoin.pdf 8 Ethereum технический документ: https://github.com/ethereum/wiki/wiki/White-Paper
Криптографические алгоритмы hash полезны для предотвращения сетевых атак, поскольку они обладают
несколько свойств:
9
●
Размер входной/выходной длины. Алгоритм может передавать входные данные любой длины и
выводит значение hash фиксированной длины.
●
Эффективность. Алгоритм относительно прост и быстр в вычислении.
●
Сопротивление прообраза. Для данного выхода z невозможно найти какой-либо вход x такой, что
h(x) = z. Другими словами, алгоритм hashing h(x) представляет собой одностороннюю функцию, в которой только
выход можно найти по входным данным. Обратное невозможно.
●
Устойчивость к столкновениям. Вычислительно невозможно найти какие-либо пары x1 ≠ x2 такие, что h(x1)
= h(x2). Другими словами, вероятность найти два разных входа hash, имеющих одно и то же значение.
производительность крайне низкая. Это свойство также подразумевает сопротивление второму прообразу.
●
Сопротивление второго прообраза. Учитывая x1 и, следовательно, h(x1), вычислительно невозможно
найдите любой x2 такой, что h(x1) = h(x2). Хотя это свойство похоже на сопротивление столкновению,
Свойство отличается тем, что оно говорит, что злоумышленник с заданным x1 найдет его вычислительно.
невозможно найти какой-либо x2 hash__ с одним и тем же выходом.
●
Детерминированный — сопоставляет каждый вход одному и только одному выходу.
●
Avalanche эффект — небольшое изменение входных данных приводит к совершенно другому результату.
Эти свойства придают криптовалютной сети ее внутреннюю ценность, гарантируя, что атаки не будут скомпрометировать сеть. Когда майнеры подтверждают блок, они получают вознаграждение в виде tokens в качестве встроенного стимул для участия в сети. Однако, поскольку капитализация мирового рынка криптовалют неуклонно рос, майнеры стали централизованными и сосредоточили свои вычислительные ресурсы на накопление token в качестве активов, а не для целей участия в сети. CPU-майнеры уступили место Графические процессоры, которые, в свою очередь, уступили место мощным ASIC. В одном примечательном исследовании общая мощность потребление горнодобывающей промышленности Bitcoin оценивается в 3 ГВт, что сопоставимо с потреблением электроэнергии в Ирландии. 10 энергопотребление. В этом же исследовании прогнозируется, что общее энергопотребление в ближайшем будущем достигнет 8 ГВт. будущее.
Для решения проблемы энергетических отходов компания предложила механизм консенсуса Proof of Stake (PoS). много новых сетей. В сетях PoS держатели token блокируют свои балансы token, чтобы стать блокированными. validatorс. validator по очереди предлагают и голосуют за следующий блок. Однако проблема при использовании стандартного PoS влияние validator напрямую коррелирует с количеством заблокированных token. Это приводит к тому, что стороны накапливают большие суммы базовой валюты сети, используя неправомерные средства. влияние на сетевую экосистему.
Механизм консенсуса TRON использует инновационную систему делегированного доказательства доли, в которой 27
Суперпредставители (SR) производят блоки для сети. Каждые 6 часов владельцы счетов TRX
те, кто заморозит свои счета, могут проголосовать за избранных кандидатов от СР, среди которых будут 27 лучших кандидатов.
считали эсеров. Избиратели могут выбирать СР на основе таких критериев, как проекты, спонсируемые СР,
9 ПААР, К., ПЕЛЗЛ, Дж., «Понимание криптографии: учебник для студентов и практиков», изд. 2010 г.
Springer-Verlag Берлин Гейдельберг, 2010 г.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776увеличить внедрение TRX и распределить вознаграждения среди избирателей. Это позволяет создать более демократизированную и
децентрализованная экосистема. Аккаунты эсеров - обычные аккаунты, но их накопление голосов
позволяет им производить блоки. При низкой пропускной способности Bitcoin и Ethereum из-за их
Механизм консенсуса PoW и проблемы масштабируемости, система DPoS TRON предлагает инновационную
механизм, приводящий к 2000 TPS по сравнению с 3 TPS Bitcoin и 15 TPS Ethereum.
Сеть протокола TRON генерирует один блок каждые три секунды, при этом каждый блок получает 32 TRX для суперпредставителей. В общей сложности 336 384 000 TRX будут ежегодно присуждаться 27 СР. Каждый раз, когда SR завершает производство блоков, вознаграждения отправляются на субсчет в суперрегистре. SR могут проверять, но не использовать эти TRX token напрямую. Вывод средств может быть осуществлен каждым СР раз в 24 часа, перевод вознаграждения с субаккаунта на указанный СР счет.
В сети TRON есть три типа узлов: узел-свидетель, полный узел и узел Solidity. Узлы-свидетели создаются SR и в основном отвечают за производство и предложение блоков. создание/голосование. Полные узлы предоставляют API, а также широковещательные транзакции и блоки. Синхронизация узлов Solidity блоки из других полных узлов, а также предоставляют индексируемые API.
บัญชี
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;
}
Счет
4.1 Типы
В сети TRON есть три типа учетных записей: обычные учетные записи, учетные записи token и Контрактные счета.
1.
Обычные счета используются для стандартных транзакций.
2.
Учетные записи токенов используются для хранения token TRC-10.
3.
Контрактные учетные записи — это smart contract учетные записи, созданные обычными учетными записями, и их можно
также вызывается обычными учетными записями.
4.2 Создание
Создать учетную запись TRON можно тремя способами:
1. Создать новую учетную запись через API 2. Переведите TRX на новый адрес учетной записи 3. Перенесите любой TRC-10 token на новый адрес учетной записи.
Пара автономных ключей, состоящая из адреса (открытого ключа) и закрытого ключа и не записанная Сеть TRON также может быть сгенерирована. Алгоритм генерации адреса пользователя состоит из генерация пары ключей и последующее извлечение открытого ключа (64-байтовый массив байтов, представляющий x, y координаты). Хешируйте открытый ключ с помощью функции SHA3-256 (принятый протокол SHA3: KECCAK-256) и извлеките последние 20 байт результата. Добавьте 41 в начало массива байтов. и убедитесь, что начальная длина адреса составляет 21 байт. Дважды хешируйте адрес, используя функцию SHA3-256. и возьмите первые 4 байта в качестве проверочного кода. Добавьте код подтверждения в конец первоначального адрес и получить адрес в формате base58check посредством кодировки base58. Закодированный Адрес основной сети начинается с буквы T и имеет длину 34 байта. 4.3 Структура
Три различных типа учетных записей: Normal, AssetIssue и Contract. Аккаунт содержит 7 параметры:
1.
account_name: имя этой учетной записи – например. Счета счетов.
2.
тип: какой тип этой учетной записи – например. 0 (означает тип «Нормальный»).
3.
баланс: баланс этого счета – например. 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;
}
บล็อก
โดยทั่วไปบล็อกจะมีส่วนหัวของบล็อกและธุรกรรมหลายรายการ
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 } } }
Блок
Блок обычно содержит заголовок блока и несколько транзакций.
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. временная метка: временная метка этого сообщения – например. 1543884429000. 2. txTrieRoot: корень дерева Меркла – например. 7дакса…3изд. 3. родительскийHash: hash последнего блока – например. 7дакса…3изд. 4. число: высота блока – например. 4638708. 5. версия: зарезервировано – например. 5.
6. свидетеля_адрес: адрес свидетеля, упакованный в этот блок – например. 41928c...4d21. 5.1.2 Подпись свидетеля
Подпись свидетеля обозначается как Witness_signature в Protobuf, которая является подписью для этого заголовок блока из узла-свидетеля. 5.1.3 Идентификатор блока
Идентификатор блока обозначается как blockID в Protobuf. Он содержит атомарную идентификацию блока. Блок ID содержит 2 параметра: 1. hash: hash блока. 2. номер: hash и высота блока. 5.2 Транзакция 5.2.1 Подписание
Процесс подписания транзакции TRON соответствует стандартному криптографическому алгоритму ECDSA с
Кривая выбора SECP256K1. Закрытый ключ — это случайное число, а открытый ключ — это точка на
эллиптическая кривая. Процесс генерации открытого ключа состоит из первой генерации случайного числа в виде
секретный ключ, а затем умножив базовую точку эллиптической кривой на секретный ключ, чтобы получить
открытый ключ. При возникновении транзакции необработанные данные транзакции сначала преобразуются в байтовый формат.
Затем необработанные данные подвергаются SHA-256 hashing. Закрытый ключ, соответствующий контракту
адрес затем подписывает результат SHA256 hash. Результат подписи затем добавляется в
транзакция.
5.2.2 Модель полосы пропускания
Обычные транзакции потребляют только точки пропускной способности, но операции smart contract потребляют и то, и другое. точки энергии и пропускной способности. Доступны два типа точек пропускной способности. Пользователи могут получить баллы пропускной способности от замораживания TRX, а также ежедневно доступны 5000 бесплатных баллов пропускной способности.
Когда транзакция TRX транслируется, она передается и сохраняется в виде массива байтов по сеть. Очки пропускной способности, использованные одной транзакцией = количеству байтов транзакции. умноженное на количество баллов за пропускную способность. Например, если длина массива байтов транзакции равна 200, тогда транзакция потребляет 200 точек пропускной способности. Однако, если перевод TRX или token приводит к создается целевая учетная запись, затем для создания учетной записи используются только точки пропускной способности будут вычтены, а дополнительные баллы за пропускную способность не будут вычтены. При создании аккаунта сценарии сеть сначала будет использовать точки пропускной способности, полученные инициатором транзакции.от замерзания TRX. Если этой суммы недостаточно, то сеть потребляет транзакцию. TRX инициатора.
В стандартных сценариях передачи TRX с одной учетной записи TRX на другую сеть сначала потребляет баллы пропускной способности, полученные инициатором транзакции за заморозку TRX. Если этого недостаточно, тогда потребляет из бесплатных 5000 ежедневных баллов пропускной способности. Если этого все еще недостаточно, то сеть потребляет TRX инициатора транзакции. Сумма рассчитывается по количеству байтов в транзакция умножается на 10 SUN. Таким образом, для большинства держателей TRX, которые не обязательно заморозят свой TRX для участия в голосовании SR, первый шаг автоматически пропускается (поскольку баланс TRX заморожен = 0), и 5000 ежедневных бесплатных пропускных способностей обеспечивают транзакцию.
Для передачи TRC-10 token сеть сначала проверяет, есть ли общее количество точек свободной полосы пропускания выпущенного актива token достаточно. В противном случае баллы пропускной способности, полученные в результате заморозки TRX, потребляется. Если точек пропускной способности все еще недостаточно, то он потребляет TRX транзакции. инициатор.
5.2.3 Плата
Сеть TRON обычно не взимает комиссию за большинство транзакций, однако из-за особенностей системы ограничения и справедливость, использование полосы пропускания и транзакции требуют определенных комиссий.
Сборы делятся на следующие категории: 1. Обычные транзакции стоят очков пропускной способности. Пользователи могут использовать бесплатные ежедневные баллы пропускной способности. (5000) или заморозьте TRX, чтобы получить больше. Если точек пропускной способности недостаточно, TRX будет используется непосредственно со счета-отправителя. Необходимый TRX равен количеству байт * 10 SUN. 2. Смарт-контракты требуют затрат энергии (раздел 6), но им также потребуются точки пропускной способности для транзакция будет транслироваться и подтверждаться. Стоимость полосы пропускания такая же, как указано выше. 3. Все транзакции запросов бесплатны. Это не требует затрат энергии или пропускной способности.
Сеть TRON также определяет набор фиксированных комиссий за следующие транзакции: 1. Создание узла-свидетеля: 9999 TRX 2. Выдача TRC-10 token: 1024 TRX 3. Создание новой учетной записи: 0,1 TRX. 4. Создание обменной пары: 1024 TRX 5.2.4 Транзакция как доказательство доли (TaPoS)
TRON использует TaPoS, чтобы гарантировать, что все транзакции подтверждают основной blockchain, при этом делая его
трудно подделать поддельные цепочки. В TaPoS сети требуют, чтобы каждая транзакция включала часть
hash заголовка последнего блока. Это требование предотвращает повторное воспроизведение транзакций на
разветвляется, не включая указанный блок, а также сигнализирует сети, что конкретный пользователь и егоставки находятся на конкретной вилке. Этот механизм консенсуса защищает сеть от отказа в
Сервис, 51%, эгоистичный майнинг и атаки двойной траты.
5.2.5 Подтверждение транзакции
Транзакция включается в будущий блок после трансляции в сеть. После 19 блоков добыт на TRON (включая собственный блок), транзакция подтверждается. Каждый блок производится один из 27 лучших суперпредставителей по круговой системе. На каждый блок уходит ~3 секунды. быть добыт на blockchain. Время может незначительно отличаться для каждого суперпредставителя в зависимости от сети. Условия и конфигурация машины. Как правило, сделка считается полностью подтвержденной после ~1 минута. 5.2.6 Структура
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair

ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
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 Виртуальная машина
6.1 Введение
TRON Virtual Machine (TVM) — это легкая, полная по Тьюрингу виртуальная машина, разработанная для Экосистема TRON. Его цель — предоставить специально разработанную систему blockchain, которая будет эффективной, удобный, стабильный, безопасный и масштабируемый.
TVM изначально отделился от EVM и может легко соединиться с существующей Solidity smart contract. 11 экосистема развития. На основании этого TVM дополнительно поддерживает консенсус DPoS.
TVM использует концепцию энергии. В отличие от газового механизма на EVM, операции транзакции и smart contract на TVM бесплатны, TRX не расходуется. Технически, исполняемый вычислительная мощность TVM не ограничена общей суммой хранения tokens. 6.2 Рабочий процесс
Компилятор сначала преобразует Solidity smart contract в байт-код, читаемый и исполняемый на ТВМ. Затем TVM обрабатывает данные посредством кода операции, что эквивалентно работе логики. конечного автомата на основе стека. Наконец, TVM обращается к данным blockchain и вызывает Интерфейс внешних данных через уровень взаимодействия. 11 EVM: Ethereum виртуальная машина (https://github.com/ethereum/ethereumj)

Рисунок 3: Рабочий процесс TVM
6.3 Производительность 6.3.1 Облегченная архитектура
TVM использует облегченную архитектуру с целью снижения потребления ресурсов и гарантии производительность системы. 6.3.2 Надежность
Передача TRX и выполнение smart contract стоят только точек пропускной способности вместо TRX, который освобождает TRON от атаки. Потребление полосы пропускания предсказуемо и статично, поскольку каждый Стоимость вычислительного шага фиксирована. 6.3.3 Высокая совместимость
TVM совместим с EVM и в будущем будет совместим с другими распространенными виртуальными машинами. Таким образом, все smart contract на EVM являются исполняемыми на TVM. 6.3.4 Низкая стоимость
Благодаря настройке полосы пропускания TVM затраты на разработку сокращаются, и разработчики могут сосредоточиться на логическое развитие своего контрактного кода. TVM также предлагает универсальные интерфейсы по контракту. развертывание, запуск и просмотр для удобства разработчиков.
สัญญาอัจฉริยะ
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
Смарт-контракт
7.1 Введение
smart contract — это протокол, который осуществляет цифровую проверку переговоров по контракту. Они определяют правила и штрафы, связанные с соглашением, а также автоматически обеспечивают соблюдение этих обязательств. Умный Код контракта облегчает, проверяет и обеспечивает соблюдение условий соглашения или исполнения соглашения или транзакция. С точки зрения __PH_0001__изации, smart contracts также способствуют автоматическому пополнению средств. переводы между участвующими сторонами при соблюдении определенных критериев.
TRON smart contract написаны на языке Solidity. После того как они написаны и протестированы, их можно скомпилирован в байт-код, а затем развернут в сети TRON для виртуальной машины TRON. Однажды развернуты, smart contract можно запрашивать по адресам их контрактов. Заявление о контракте Двоичный интерфейс (ABI) отображает функции вызова контракта и используется для взаимодействия с сеть. 7.2 Энергетическая модель
Максимальный предел энергии для развертывания и срабатывания smart contract зависит от нескольких переменные:
● Динамическая энергия от заморозки 1 TRX равна 50 000 000 000 (Общий лимит энергии) / (Общая энергия Вес) ● Лимит энергии — это дневной лимит энергии аккаунта от заморозки TRX. ● Оставшаяся ежедневная энергия на счете после заморозки TRX рассчитывается как Лимит энергии - Энергия. Б/у ● Лимит комиссии в TRX устанавливается в smart contract вызове развертывания/триггера. ● Оставшийся доступный TRX на счету ● Энергия за TRX при покупке напрямую (10 СОЛНЦЕВ = 1 Энергия) = 100 000, СР могут голосовать. корректировка
Существует два сценария потребления для расчета максимального предела энергии для развертывания и
триггер. Логику можно выразить следующим образом:
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 Развертывание
Когда TRON Solidity smart contract компилируется, виртуальная машина TRON считывает скомпилированный файл. байт-код. Байт-код состоит из раздела для развертывания кода, кода контракта и Auxdata. Auxdata — это криптографический отпечаток исходного кода, используемый для проверки. Развертывание байт-код запускает функцию конструктора и устанавливает начальные переменные хранения. Развертывание code также вычисляет код контракта и возвращает его в TVM. ABI — это файл JSON, который описывает функции TRON smart contract. Этот файл определяет названия функций, их платежеспособность, возвращаемые функции значения и изменчивость их состояния. 7.4 Функция триггера
После развертывания TRON smart contract их функции можно запускать индивидуально либо через TronStudio или через вызовы API. Функции изменения состояния требуют энергии, а функции только для чтения. выполнить без энергии. 7.5 TRON Прочность
TRON Solidity — это ответвление языка Solidity Ethereum. TRON изменяет исходный проект на поддержка блоков TRX и SUN (1 TRX = 1 000 000 SUN). Остальная часть синтаксиса языка совместим с Solidity ^0.4.24. Таким образом, виртуальная машина Tron (TVM) практически на 100% совместима. с инструкциями 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 แล้ว
Токен
8.1 Токен TRC-10
В сети TRON каждый аккаунт может выпустить token за 1024 TRX. Чтобы выдать tokens, эмитенту необходимо указать имя token, общую капитализацию, курс обмена к TRX, продолжительность тиража, описание, сайт, максимальное потребление трафика на аккаунт, всего потребление полосы пропускания и количество token заморожено. Для каждого выпуска token также можно настроить максимальный ежедневный лимит пропускной способности для каждой учетной записи token, максимальный дневной лимит всей сети token пропускная способность перевода, общее количество token, продолжительность блокировки в днях и общая сумма из tokens заблокировано. 8.2 Токен TRC-20
TRC-20 — это технический стандарт, используемый для __PH_0000__s, реализующий tokens, поддерживаемый TRON Виртуальная машина. Он полностью совместим с ERC-20.
Интерфейс выглядит следующим образом:
контракт TRC20Interface {
функция totalSupply() публичная константа возвращает (uint);
функция balanceOf(адрес tokenOwner) публичная константа возвращает (uint
баланс);
функция надбавка(адрес tokenВладелец, адрес отправителя) публичная константа
возвращает (осталось uint);
функция передача(адрес, uint tokens) public возвращает (bool успех);
функция approve(адрес отправителя, uint tokens) public возвращает (bool
успех);
функция transferFrom(адрес от, адрес, uint tokens) public
возвращает (bool успех);
событие Передача(адрес индексирован от, адрес индексирован до, uint tokens);
Событие Утверждение(индексированный адрес tokenВладелец, индексированный адрес отправителя, uint
tokens); }
С точки зрения разработчика, между TRC-10 и TRC-20 есть несколько различий. Некоторые Ключевое отличие состоит в том, что PH_0002 TRC-10 доступны через API и smart contract, в то время как TRC-20 tokens позволяют настраивать интерфейс, но доступны только в пределах smart contracts.
С точки зрения затрат комиссия за транзакцию TRC-10 token в 1000 раз ниже, чем у
TRC-20, но несет расходы на пропускную способность для переводов и депозитов API. Переводы и депозиты в смарте
Контракты на TRC-10 token требуют как пропускной способности, так и энергии.
8.3 Дальше
Поскольку TRON использует ту же версию Solidity, что и Ethereum, можно легко использовать больше стандартов token. портирован на 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 ได้เปิดใช้งานชุมชนใน การสร้างเครือข่ายกระจายอำนาจและเป็นประชาธิปไตย
Управление
9.1 Суперпредставитель 9.1.1 Общие сведения
Каждый аккаунт в сети TRON может подать заявку и получить возможность стать Супер Представитель (обозначается как SR). Каждый может голосовать за кандидатов от эсеров. 27 лучших кандидатов с наибольшее количество голосов получат SR с правом и обязанностью генерировать блоки. Голоса подсчитываются каждые 6 часов, и SR будут меняться соответственно.
Чтобы предотвратить злонамеренные атаки, нужно заплатить определенную цену за то, чтобы стать кандидатом в СР. При подаче заявки 9999 TRX будет удален со счета заявителя. В случае успеха такая учетная запись может присоединиться к SR. выборы. 9.1.2 Выборы
TRON Власть (обозначается как TP) необходима для голосования, а количество TP зависит от силы избирателя. замороженные активы (TRX).
ТП рассчитывается следующим образом:
ТП
1 TRX заморожен для увеличения пропускной способности
1
=
Каждый аккаунт в сети TRON имеет право голосовать за своих СР.
После релиза (разморозка, доступная через 3 дня) у пользователей не будет замороженных активов, и они потеряют все ТП соответственно. В результате все голоса становятся недействительными для текущего и будущего раундов голосования, если только TRX снова заморожен для голосования.
Обратите внимание, что сеть TRON записывает только самое последнее голосование, а это означает, что каждое новое голосование отменит все предыдущие голоса. 9.1.3 Награда а. Награда за голосование
Также известна как «Награда кандидата», которую 127 лучших кандидатов обновляют один раз в каждом раунде (6
часов) разделит добытые 115 200 TRX. Награда будет разделена в соответствии с весом голоса.
получает каждый кандидат. Ежегодно общая сумма вознаграждения кандидатов составит 168 192 000 TRX.
Общая награда за голосование за раунд
Почему 115 200 TRX за каждый раунд?
15, 00 ТРХ
общее вознаграждение за голоса за раунд (V R/раунд)
1
2
=
V R/раунд = 16 T RX/блок × 20 блоков/мин × 60 минут/час × 6 часов/раунд
Обратите внимание: это установлено WITNESS_STANDBY_ALLOWANCE = 115 200 TRX. См. динамические параметры сети.
Общая сумма вознаграждения за голоса в год
Почему 168 192 000 TRX каждый год?
168 192 000 T RX = общее вознаграждение за голоса в год (VR/год)
V R/год = 115, 200 T RX/раунд × 4 раунда/день × 365 дней/год
б. Блокировать вознаграждение
Также известна как награда суперпредставителя, которую получают 27 лучших кандидатов (СР), избранных.
каждый раунд (6 часов) будет добыт примерно 230 400 TRX. Вознаграждение будет разделено поровну
между 27 SR (за вычетом общего количества блоков вознаграждения, пропущенных из-за сетевой ошибки). Всего
336 384 000 TRX будут ежегодно присуждаться 27 СР.
Общая награда за блок за раунд
Почему 230 400 TRX за каждый раунд?
230, 400 T RX = общая награда за блок за раунд (BR/раунд)
BR/раунд = 32 T RX/блок × 20 блоков/мин × 60 минут/час × 6 часов/раунд
Обратите внимание: награда за блок единиц устанавливается WITNESS_PAY_PER_BLOCK = 32 TRX. См. динамическую сеть
параметры.
Общая награда за блок в год
Почему 336 384 000 TRX каждый год?
336 384 000 T RX = общее вознаграждение за блок в год (BR/год)
БР/год = 230, 400 T RX/раунд × 4 раунда/день × 365 дней/год
1 января 2021 г.
До 1 января 2021 года в сети TRON инфляции не будет, а в сети TRON DAO будет
выдать все награды за блоки и награды кандидатам до этой даты.
в. Расчет вознаграждения
Расчет вознаграждения SR
общая награда
награда за голосование (VR)
награда за блок (BR)
т
=
+
Р
всего В Р
В
=
×
общее количество голосов
голосов получил кандидат от СР
Р
блок пропущен
2
Б
=
27
всего БР —
× 3
Примечание: награда рассчитывается за SR за раунд (6 часов).
Расчет вознаграждения кандидатам СР с 28 по 127 ранг общая награда награда за голосование (VR) т =
Р
всего В Р
В
=
×
общее количество голосов
голосов получил кандидат от СР
Примечание: награда рассчитывается для каждого кандидата в СР за раунд (6 часов).
9.2 Комитет
9.2.1 Общие сведения
Комитет используется для изменения TRON динамических параметров сети, таких как генерация блоков.
вознаграждения, комиссии за транзакции и т. д. В состав комитета входят 27 SR текущего раунда. Каждый СР
имеет право вносить предложения и голосовать по ним. Если предложение получает 19 голосов или более, оно считается
утверждены, и новые параметры сети будут применены в следующий период обслуживания (3 дня).
9.2.2 Параметры динамической сети
0.
MAINTENANCE_TIME_INTERVAL
а.
Описание
Измените интервал технического обслуживания в мс. Известный как интервал голосования SR за
круглый.
б.
Пример
[636001000] мс — это 6 часов.
в.
Диапазон
[3271000, 2436001000] мс
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.
TRANSACTION_FEE
а.
Описание
Измените размер платы, используемой для получения дополнительной пропускной способности.
б.
Пример
[10] СОЛНЦЕ/байт.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ/байт
4.
ASSET_ISSUE_FEE
а.
Описание
Изменить комиссию за выпуск активов.
б.
Пример
[1024000000]SUN – это 1024 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
5.
WITNESS_PAY_PER_BLOCK
а.
Описание
Изменить вознаграждение за генерацию блока SR. Известен как награда за блок единиц.
б.
Пример
[32 000 000] SUN – это 32 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
6.
WITNESS_STANDBY_ALLOWANCE
а.
Описание
Изменить награды, вручаемые 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 (TVM). б. Пример Верно – вступит в силу с 10.10.2018, 23:47 UTC. в. Диапазон Верно/Неверно 10. УДАЛИТЬ_THE_POWER_OF_THE_GR а. Описание Удалить первоначальные голоса за генезис GR. б. Пример Верно – вступило в силу 04.11.2018, 08:46 UTC. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 11. ЭНЕРГИЯ_FEE а. Описание Измените плату в 1 энергию. б. Пример 20 ВС. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 12. EXCHANGE_CREATE_FEE а. Описание Измените стоимость создания торговой пары. Известна как стоимость создания торгового заказа. б. Пример [1 024 000 000] SUN — это 1024 TRX. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 13. MAX_CPU_TIME_OF_ONE_TX а. Описание Измените максимальное время выполнения одной транзакции. Известный как предел тайм-аута одна транзакция. б. Пример 50 мс. в. Диапазон
[0, 1000] мс
14. ALLOW_UPDATE_ACCOUNT_NAME
а.
Описание
Измените параметр, чтобы разрешить учетной записи обновлять свое имя учетной записи.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
15. ALLOW_SAME_TOKEN_NAME
а.
Описание
Измените проверку, позволяющую разным token иметь повторяющееся имя.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
16. ALLOW_DELEGATE_RESOURCE
а.
Описание
Измените проверку, позволяющую выдавать token с повторяющимся именем, чтобы
tokenID token в длинном целочисленном типе данных будет единственным атомарным
идентификация token.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
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 contract с.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
Все предложения ALLOW_DELEGATE_RESOURCE должны быть одобрены, прежде чем предлагать их.
этот параметр изменится.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.9.2.3 Создать предложение
Только учетные записи SR имеют право предлагать изменение динамических параметров сети. 9.2.4 Голосование за предложение
За предложение могут голосовать только члены комитета (СР), а также тот член, который не проголосует вовремя. будет рассматриваться как несогласие. Предложение активно в течение 3 дней после создания. Голосование может быть изменены или восстановлены в течение трехдневного периода голосования. По истечении этого периода предложение будет либо успех (19+ голосов), либо провал (и конец). 9.2.5 Отмена предложения
Предлагающий может отменить предложение до того, как оно вступит в силу. 9.3 Структура
SR являются свидетелями вновь созданных блоков. Свидетель содержит 8 параметров:
1.
адрес: адрес этого свидетеля – например. 0xu82h…7237.
2.
voiceCount: количество полученных голосов на этом свидетеле – например. 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 voiceCount = 2;
байты pubKey = 3;
строка URL = 4;
int64 totalProduced = 5;
int64 totalMissed = 6;
int64 последнийBlockNum = 7;
bool isJobs = 8;
}
- Разработка децентрализованных приложений 10.1 API
Сеть TRON предлагает широкий выбор из более чем 60+ HTTP API-шлюзов для взаимодействия с сеть через полные узлы и узлы Solidity. Кроме того, TronWeb — это обширная библиотека JavaScript. содержащий функции API, которые позволяют разработчикам развертывать smart contract, измените blockchain состояние, запрос blockchain и информацию о контракте, торговля на DEX и многое другое. Эти API шлюзы могут быть направлены на локальную частную сеть, тестовую сеть Shasta или основную сеть TRON.
10.2 Сети
TRON имеет как тестовую сеть Shasta, так и основную сеть. Разработчики могут подключаться к сетям путем
развертывание узлов, взаимодействие через TronStudio или использование API через сервис TronGrid. ТронГрид
Сервис состоит из кластеров узлов с балансировкой нагрузки, размещенных на серверах AWS по всему миру. Как децентрализованное приложение
масштабы разработки и объемы вызовов API увеличиваются, TronGrid успешно справляется с увеличением
API-трафик.
10.3 Инструменты
TRON предлагает набор инструментов разработки, позволяющий разработчикам создавать инновационные DApps.
TronBox — это платформа, которая позволяет разработчикам тестировать и развертывать smart contract через TronWeb.
API. TronGrid — это размещенная служба API с балансировкой нагрузки, которая позволяет разработчикам получать доступ к
TRON сети без необходимости запуска собственного узла. TronGrid предлагает доступ как к Shasta
testnet, а также основная сеть TRON. TronStudio — это комплексная комплексная разработка.
Среда (IDE), позволяющая разработчикам компилировать, развертывать и отлаживать интеллектуальные приложения Solidity.
контракты. TronStudio содержит внутренний полный узел, который создает частную локальную среду для
smart contract тестирование перед развертыванием. Библиотека TronWeb API соединяет разработчиков с
сети с помощью широкого выбора вызовов HTTP API, завернутых в JavaScript.
10.4 Ресурсы
TRON Developer Hub — это комплексный сайт документации по API, предназначенный для 12 разработчики, желающие использовать сеть TRON. Центр разработчиков предоставляет высокий уровень концептуальное понимание TRON и знакомит пользователей с деталями взаимодействия с 12 Центр разработчиков: https://developers.tron.network/
сеть. Руководства знакомят разработчиков с настройками узлов, их развертыванием и взаимодействием с интеллектуальными
контракты, взаимодействие и реализация API, создание образцов DApp и использование каждого из
инструменты разработчика. Кроме того, каналы сообщества разработчиков доступны через Discord.
13
13 Дискорд: https://discordapp.com/invite/GsRgsTD
- Заключение
TRON — это масштабируемое решение blockchain, в котором использованы инновационные методы решения проблемы проблемы, с которыми сталкиваются устаревшие сети blockchain. Достигнув более 2 миллионов транзакций в день, с более чем 700 тысячами учетных записей TRX и превысив 2000 TPS, TRON позволил сообществу создание децентрализованной и демократизированной сети.