TRON ホワイトペーパー
Perkenalan
1.1 Visi
TRON adalah proyek ambisius yang didedikasikan untuk pembentukan Internet yang benar-benar terdesentralisasi dan teknologinya
infrastruktur. Protokol TRON, salah satu sistem operasi berbasis blockchain terbesar di dunia
dunia, menawarkan dukungan blockchain publik dengan throughput tinggi, skalabilitas tinggi, dan ketersediaan tinggi untuk
semua Aplikasi Terdesentralisasi (DApps) di ekosistem TRON. Akuisisi Juli 2018 atas
BitTorrent semakin mengukuhkan kepemimpinan TRON dalam mewujudkan ekosistem terdesentralisasi.
1.2 Latar Belakang
Pengenalan Bitcoin pada tahun 2009 merevolusi persepsi masyarakat terhadap keuangan tradisional sistem setelah Resesi Hebat (2007-2008). Seperti dana lindung nilai terpusat dan bank runtuh karena spekulasi derivatif keuangan yang tidak jelas, blockchain teknologi menyediakan a buku besar universal yang transparan dimana siapa pun dapat memperoleh informasi transaksi. Itu transaksi diamankan secara kriptografis menggunakan mekanisme konsensus Proof of Work (PoW), sehingga mencegah masalah pembelanjaan ganda.
Pada akhir tahun 2013, buku putih Ethereum mengusulkan jaringan di mana smart contracts dan a Mesin Virtual Ethereum Turing-complete (EVM) akan memungkinkan pengembang untuk berinteraksi dengan jaringan melalui DApps. Namun, karena volume transaksi pada Bitcoin dan Ethereum mencapai puncaknya pada tahun 2017, Hal ini terlihat dari rendahnya waktu proses transaksi dan tingginya biaya transaksi mata uang kripto seperti Bitcoin dan Ethereum dalam kondisi saat ini tidak dapat diskalakan untuk digunakan secara luas adopsi. Oleh karena itu, TRON didirikan dan diharapkan sebagai solusi inovatif untuk permasalahan mendesak ini tantangan skalabilitas.

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

Testnet Publik (Shasta) Versi jaringan yang berjalan dalam konfigurasi node tunggal. Pengembang dapat terhubung dan menguji fitur tanpa khawatir tentang kerugian ekonomi. Testnet tokens tidak memiliki nilai dan siapa pun bisa meminta lebih banyak dari faucet publik.
RPC
3
Dalam komputasi terdistribusi, panggilan prosedur jarak jauh (RPC) adalah ketika program komputer menyebabkan a
prosedur (subrutin) untuk dieksekusi di ruang alamat yang berbeda (biasanya di komputer lain di
jaringan bersama), yang diberi kode seolah-olah itu adalah panggilan prosedur normal (lokal), tanpa
programmer secara eksplisit mengkodekan detail untuk interaksi jarak jauh.
Skalabilitas Skalabilitas adalah fitur Protokol TRON. Ini adalah kemampuan suatu sistem, jaringan, atau proses untuk menangani peningkatan jumlah pekerjaan atau potensinya untuk diperluas guna mengakomodasi pertumbuhan tersebut.
MATAHARI SUN menggantikan drop sebagai unit terkecil TRX. 1 TRX = 1.000.000 MATAHARI.
Hasil Throughput tinggi adalah fitur TRON Mainnet. Diukur dalam Transaksi Per Detik (TPS), yaitu kapasitas transaksi maksimal dalam satu detik.
Stempel waktu Perkiraan waktu produksi blok dicatat sebagai stempel waktu Unix, yang merupakan jumlah milidetik yang telah berlalu sejak 00:00:00 01 Jan 1970 UTC.
TKC Konfigurasi token.
KKR-10 Standar kripto token pada platform TRON. Aturan dan antarmuka tertentu harus diikuti saat mengadakan penawaran koin perdana pada TRON blockchain.
TRX TRX adalah singkatan dari Tronix, yang merupakan mata uang kripto resmi TRON.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
導入
1.1 ビジョン
TRON は、真の分散型インターネットとその構築に特化した野心的なプロジェクトです。
インフラストラクチャ。 TRON プロトコルは、世界最大の blockchain ベースのオペレーティング システムの 1 つです。
世界では、高スループット、高スケーラビリティ、高可用性のパブリック blockchain サポートを提供します。
TRON エコシステム内のすべての分散型アプリケーション (DApp)。 2018年7月の買収により、
BitTorrent は、分散型エコシステムの追求における TRON のリーダーシップをさらに強化しました。
1.2 背景
2009 年の Bitcoin の導入は、従来の金融に対する社会の認識に革命をもたらしました。 大不況 (2007 ~ 2008 年) の影響で、このシステムが導入されました。集中型ヘッジファンドおよび銀行として 不透明な金融デリバティブの投機で崩壊し、blockchain テクノロジーは 誰もが取引情報を収集できる透明なユニバーサル台帳。の トランザクションは、Proof of Work (PoW) コンセンサス メカニズムを使用して暗号的に保護されていました。 したがって、二重支払いの問題を防ぐことができます。
2013 年後半、Ethereum ホワイト ペーパーでは、smart contract と チューリング完全な Ethereum 仮想マシン (EVM) を使用すると、開発者は DAppsを介したネットワーク。ただし、Bitcoin と Ethereum の取引量は 2017 年にピークに達したため、 トランザクションのスループット時間が短く、トランザクション手数料が高いことから、 Bitcoin や Ethereum のような暗号通貨は、既存の状態では広範囲に拡張できるものではありませんでした 採用。したがって、TRON は、これらの差し迫った問題に対する革新的なソリューションとして設立され、構想されました。 スケーラビリティの課題。

1.3 歴史 TRON DAO は、2017 年 7 月にシンガポールで設立されました。 2017 年 12 月に、TRON は オープンソースプロトコルを開始しました。テストネット、ブロックチェーン エクスプローラー、Web ウォレットはすべて TRON メインネットはその直後の 2018 年 5 月に開始され、 技術的なマイルストーンとして Odyssey 2.0 をリリース。 2018 年 6 月、TRON は独立を宣言しました Genesis ブロックの作成と、2018 年 7 月の BitTorrent の買収によって実現されました。で 2018 年 10 月、TRON は、完全な開発者ツールセットである TRON 仮想マシン (TVM) を開始しました。 そして360度のサポート体制。 TRON ロードマップには、BitTorrent の 1 億人のユーザーを統合することが含まれています Project Atlas を介して TRON ネットワークと連携し、開発者コミュニティの立ち上げを促進します。 TRON ネットワーク上のエキサイティングな新しい DApps1。 1 V1.0 は https://tron.network/static/doc/white_paper_v_1_0.pdf で入手可能です
1.4 用語
アドレス/ウォレット TRON ネットワーク上のアカウント認証情報で構成されるアドレスまたはウォレットは、 鍵ペア。秘密鍵と公開鍵で構成され、後者は前者から派生します。 アルゴリズムを通じて。公開キーは通常、セッションキーの暗号化、署名に使用されます。 検証と、対応する秘密キーで復号化できるデータの暗号化を行います。
アビ アプリケーション バイナリ インターフェイス (ABI) は、2 つのバイナリ プログラム モジュール間のインターフェイスです。通常 これらのモジュールの 1 つはライブラリまたはオペレーティング システム機能であり、もう 1 つはユーザーが実行するモジュールです。 プログラム。
API アプリケーション プログラミング インターフェイス (API) は、主にユーザー クライアントの開発に使用されます。 APIあり サポート、token 発行プラットフォームは、開発者自身が設計することもできます。
資産 TRON のドキュメントでは、資産は token と同じであり、TRC-10 token とも表されます。
帯域幅ポイント (BP) ネットワークのスムーズな動作を維持するために、TRON ネットワーク トランザクションは BP を燃料として使用します。各アカウント 毎日 5000 BP を無料で獲得でき、BP の TRX を凍結することでさらに多くの BP を獲得できます。 TRXとTRC-10の両方 token 転送は、BP がかかる通常のトランザクションです。 スマートコントラクトの展開と実行 トランザクションはBPとエネルギーの両方を消費します。
ブロック ブロックには取引のデジタル記録が含まれます。完全なブロックはマジックナンバーで構成されます。 ブロック サイズ、ブロック ヘッダー、トランザクション カウンタ、およびトランザクション データ。
ブロック報酬 ブロック生産報酬はサブアカウント(アドレス/ウォレット)に送信されます。スーパーレプリゼンタティブは次のことができます Tronscan または API を通じて直接報酬を受け取ります。
ブロックヘッダー ブロックヘッダーはブロックの一部です。 TRON ブロック ヘッダーには、前のブロックの hash、 マークル ルート、タイムスタンプ、バージョン、および証人アドレス。コールドウォレット オフライン ウォレットとも呼ばれるコールド ウォレットは、秘密キーを他のユーザーから完全に切り離した状態に保ちます。 ネットワーク。コールドウォレットは通常、「コールド」デバイス(コンピュータや携帯電話など)にインストールされます。 オフラインのまま) TRX 秘密キーのセキュリティを確保します。
DApp 分散型アプリケーションは、中央で信頼できる当事者なしで動作するアプリです。アプリケーション エンドユーザーおよび/またはリソース間の直接の対話/合意/コミュニケーションを可能にする 仲介者なしで。
gRPC gRPC (gRPC リモート プロシージャ コール) は、オープンソースのリモート プロシージャ コール (RPC) システムです。 2 当初は Google で開発されました。トランスポートには HTTP/2 を使用し、インターフェイスとしてプロトコル バッファーを使用します。 記述言語を備え、認証、双方向ストリーミング、フローなどの機能を提供します。 制御、ブロッキングまたは非ブロッキング バインディング、キャンセルとタイムアウト。それは生成します 多くの言語に対するクロスプラットフォームのクライアントとサーバーのバインディング。最も一般的な使用シナリオ マイクロサービス スタイル アーキテクチャでのサービスの接続とモバイル デバイスの接続が含まれます。 ブラウザクライアントからバックエンドサービスへ。
ホットウォレット オンライン ウォレットとも呼ばれるホット ウォレットを使用すると、ユーザーの秘密キーをオンラインで使用できるようになります。 潜在的な脆弱性や悪意のある攻撃者による傍受の影響を受けやすくなります。
JDK Java Development Kit は、Java アプリケーションに使用される Java SDK です。 Javaの核心です Java アプリケーション環境 (JVM+Java クラス ライブラリ) と Java で構成される開発 ツール。
カオスDB TRON は、フルノード メモリに KhaosDB を持ち、生成されたすべての新しくフォークされたチェーンを保存できます。 一定期間内に監視者が自分のアクティブなチェーンから迅速に切り替えることをサポートします。 新しいメインチェーンに組み込まれます。詳細については、「2.2.2 状態ストレージ」を参照してください。
レベルDB LevelDB は当初、高速 R/W および迅速な要件を満たすことを主な目的として採用されました。 開発。メインネットを立ち上げた後、TRON はデータベースを完全にカスタマイズされたデータベースにアップグレードしました。 1 つはまさに自分自身のニーズに応えます。詳細については、「2.2.1 ブロックチェーン ストレージ」を参照してください。
マークルルート マークル ルートは、blockchain のブロックの一部として含まれるすべてのトランザクションのすべての hash の hash です。 ネットワーク。詳細については、「3.1 委任されたプルーフ オブ ステーク (DPoS)」を参照してください。 2 https://en.wikipedia.org/wiki/GRPC

パブリックテストネット(シャスタ) 単一ノード構成で実行されるネットワークのバージョン。開発者は接続してテストできる 経済的損失を心配することなく機能を利用できます。テストネット token には価値がなく、誰でも実行できます。 公共の蛇口にさらにリクエストしてください。
RPC
3
分散コンピューティングでは、コンピュータ プログラムがリモート プロシージャ コール (RPC) を実行します。
別のアドレス空間 (通常は、別のコンピュータ上で実行) で実行するプロシージャ (サブルーチン)
共有ネットワーク)、あたかも通常の (ローカル) プロシージャ コールであるかのようにコード化されます。
プログラマーはリモート対話の詳細を明示的にコーディングします。
スケーラビリティ スケーラビリティは、TRON プロトコルの機能です。システム、ネットワーク、またはプロセスの機能です。 増大する作業量に対応できるか、またはその増大に対応して拡大する可能性がある。
太陽 SUN は TRX の最小単位として Drop を置き換えました。 1 TRX = 1,000,000 SUN。
スループット 高スループットは TRON メインネットの機能です。 1 秒あたりのトランザクション数 (TPS) で測定されます。 つまり、1秒間の最大トランザクション容量です。
タイムスタンプ ブロック生成のおおよその時間が Unix タイムスタンプとして記録されます。 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒。
TKC トークンの構成。
TRC-10 TRON プラットフォーム上の暗号 token の標準。特定のルールとインターフェイスに従う必要があります TRON blockchain に新規コインオファリングを開催する場合。
TRX TRX は Tronix の略で、TRON の公式暗号通貨です。
3 https://en.wikipedia.org/wiki/Remote_procedure_call
Arsitektur
TRON mengadopsi arsitektur 3 lapisan yang dibagi menjadi Lapisan Penyimpanan, Lapisan Inti, dan Lapisan Aplikasi. Protokol TRON mematuhi Google Protobuf, yang secara intrinsik mendukung multi-bahasa ekstensi.

Gambar 1: TRON Arsitektur 3 Lapisan
2.1 Inti
Ada beberapa modul di lapisan inti, termasuk smart contracts, manajemen akun, dan konsensus. Mesin virtual berbasis tumpukan diimplementasikan pada TRON dan instruksi yang dioptimalkan set digunakan. Untuk lebih mendukung pengembang DApp, Solidity dipilih sebagai smart contract 4 bahasa, diikuti dengan dukungan masa depan untuk bahasa tingkat lanjut lainnya. Selain itu, konsensus TRON mekanismenya didasarkan pada Delegated Proof of Stake (DPoS) dan banyak inovasi yang dilakukan dalam untuk memenuhi persyaratan uniknya. 2.2 Penyimpanan
TRON merancang protokol penyimpanan terdistribusi unik yang terdiri dari Block Storage dan State Penyimpanan. Gagasan tentang database grafik diperkenalkan ke dalam desain lapisan penyimpanan untuk lebih baik memenuhi kebutuhan penyimpanan data yang terdiversifikasi di dunia nyata. 2.2.1 Penyimpanan Blockchain
Penyimpanan TRON blockchain memilih menggunakan LevelDB, yang dikembangkan oleh Google dan terbukti sukses dengan banyak perusahaan dan proyek. Ini memiliki kinerja tinggi dan mendukung byte sewenang-wenang array sebagai kunci dan nilai, pengambilan tunggal, penempatan dan penghapusan, penempatan dan penghapusan batch, dua arah iterator, dan kompresi sederhana menggunakan algoritma Snappy yang sangat cepat. 2.2.2 Penyimpanan Negara
TRON memiliki KhaosDB di memori node penuh yang dapat menyimpan semua rantai bercabang yang baru dihasilkan dalam jangka waktu tertentu dan mendukung saksi untuk beralih dari rantai aktifnya dengan cepat menjadi rantai utama yang baru. Ini juga dapat melindungi penyimpanan blockchain dengan membuatnya lebih stabil berakhir secara tidak normal dalam keadaan peralihan. 2.3 Aplikasi
Pengembang dapat membuat beragam DApps dan dompet khusus di TRON. Sejak TRON memungkinkan smart contracts untuk dikerahkan dan dijalankan, peluang aplikasi utilitas adalah tidak terbatas. 4 Dokumentasi resmi soliditas: https://solidity.readthedocs.io/
2.4 Protokol
Protokol TRON mematuhi Google Protocol Buffer , yang netral bahasa, netral platform, 5 dan cara yang dapat diperluas untuk membuat serialisasi data terstruktur untuk digunakan dalam protokol komunikasi, penyimpanan data, dan banyak lagi. 2.4.1 Buffer Protokol
Protocol Buffers (Protobuf) adalah mekanisme otomatis yang fleksibel, efisien untuk membuat serialisasi terstruktur data, mirip dengan JSON atau XML, tetapi jauh lebih kecil, lebih cepat, dan sederhana.
Definisi Protobuf (.proto) dapat digunakan untuk menghasilkan kode untuk C++, Java, C#, Python, Ruby, Bahasa Golang, dan Objective-C melalui generator kode resmi. Berbagai pihak ketiga implementasi juga tersedia untuk banyak bahasa lainnya. Protobuf memudahkan pengembangan klien dengan menyatukan definisi API dan juga mengoptimalkan transfer data. Klien dapat mengambil API .proto dari repositori protokol TRON dan berintegrasi melalui kode yang dibuat secara otomatis perpustakaan.
Sebagai perbandingan, Protocol Buffer berukuran 3 hingga 10 kali lebih kecil dan 20 hingga 100 kali lebih cepat dibandingkan XML, dengan sintaksis yang tidak terlalu ambigu. Protobuf menghasilkan kelas akses data yang lebih mudah digunakan secara terprogram. 2.4.2 HTTP
TRON Protokol menyediakan alternatif API HTTP RESTful untuk API Protobuf. Mereka berbagi hal yang sama antarmuka tetapi HTTP API dapat dengan mudah digunakan di klien javascript. 2.5 TRON Mesin Virtual (TVM)
TVM adalah mesin virtual lengkap Turing yang ringan dan dikembangkan untuk ekosistem TRON. Itu
TVM terhubung secara mulus dengan ekosistem pengembangan yang ada untuk menyediakan kebutuhan bagi jutaan orang di seluruh dunia
pengembang dengan sistem blockchain yang dibuat khusus yang efisien, nyaman, stabil, aman, dan
terukur.
2.6 Pertukaran Terdesentralisasi (DEX)
5 dokumentasi resmi Buffer Protokol Google: https://developers.google.com/protocol-buffers/Jaringan TRON secara asli mendukung fungsi pertukaran yang terdesentralisasi. Pertukaran yang terdesentralisasi terdiri dari beberapa pasangan perdagangan. Pasangan dagang (notasi “Bursa”) adalah Pasar Bursa antara TRC-10 tokens, atau antara TRC-10 token dan TRX. Akun mana pun dapat membuat perdagangan berpasangan di antara token mana pun, meskipun pasangan yang sama sudah ada di jaringan TRON. Perdagangan dan fluktuasi harga pasangan dagang mengikuti Protokol Bancor. Jaringan TRON menetapkan hal itu 6 bobot kedua token di semua pasangan dagang adalah sama, jadi rasio saldonya adalah harga di antara mereka. Misalnya, pertimbangkan pasangan perdagangan yang berisi dua token, ABC dan DEF. ABC punya saldo 10 juta dan DEF saldo 1 juta. Karena bobotnya sama, 10 ABC = 1 DEF. Artinya perbandingan ABC terhadap DEF adalah 10 ABC per DEF. 2.7 Implementasi
Kode TRON blockchain diimplementasikan di Java dan awalnya merupakan cabang dari EthereumJ.
6 Situs resmi Protokol Bancor: https://about.bancor.network/protocol/
アーキテクチャ
TRON は、ストレージ層、コア層、アプリケーション層に分かれた 3 層アーキテクチャを採用しています。 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 は、ブロック ストレージとステートで構成される独自の分散ストレージ プロトコルを設計しました。 保管。グラフ データベースの概念は、ストレージ レイヤーの設計に導入されました。 現実世界における多様なデータストレージのニーズをより適切に満たします。 2.2.1 ブロックチェーンストレージ
TRON blockchain ストレージは、Google によって開発され実績のある LevelDB の使用を選択します。 多くの企業やプロジェクトで成功を収めています。高性能で任意のバイトをサポート キーと値の両方としての配列、単数の get、put および delete、バッチされた put および delete、双方向 イテレータ、および非常に高速な Snappy アルゴリズムを使用した単純な圧縮。 2.2.2 状態ストレージ
TRON は、フルノード メモリに KhaosDB を持ち、生成されたすべての新しくフォークされたチェーンを保存できます。 一定期間内に監視者が自分のアクティブなチェーンから迅速に切り替えることをサポートします。 新しいメインチェーンに組み込まれます。また、blockchain ストレージをより安定して保護することもできます。 途中の状態で異常終了します。 2.3 アプリケーション
開発者は、TRON でさまざまな DApp やカスタマイズされたウォレットを作成できます。 TRON 以降 smart contracts をデプロイして実行できるようにすると、ユーティリティ アプリケーションの機会が広がります。 無制限。 4 Solidity 公式ドキュメント: https://solidity.readthedocs.io/
2.4 プロトコル
TRON プロトコルは、言語中立、プラットフォーム中立の Google プロトコル バッファーに準拠しています。 5 通信プロトコル、データストレージ、 などなど。 2.4.1 プロトコルバッファ
プロトコル バッファー (Protobuf) は、構造化されたデータをシリアル化するための柔軟で効率的な自動メカニズムです。 JSON や XML に似たデータですが、はるかに小さく、高速で、シンプルです。
Protobuf (.proto) 定義を使用して、C++、Java、C#、Python、Ruby、 Golang および Objective-C 言語は、公式コード ジェネレーターを介して利用できます。さまざまなサードパーティ製 実装は他の多くの言語でも利用できます。 Protobuf により開発が容易になります API 定義を統一し、データ転送を最適化することで、クライアントの機能を強化します。クライアントはAPIを利用できる TRON のプロトコル リポジトリから .proto を取得し、自動生成されたコードを通じて統合します 図書館。
比較すると、プロトコル バッファーは XML よりも 3 ~ 10 倍小さく、20 ~ 100 倍高速です。 曖昧さの少ない構文で。 Protobuf は、より使いやすいデータ アクセス クラスを生成します プログラム的に。 2.4.2 HTTP
TRON プロトコルは、Protobuf API の代替となる RESTful HTTP API を提供します。彼らは同じことを共有しています インターフェイスですが、HTTP API は JavaScript クライアントで簡単に使用できます。 2.5 TRON 仮想マシン (TVM)
TVM は、TRON のエコシステム用に開発された軽量のチューリング完全仮想マシンです。の
TVM は既存の開発エコシステムとシームレスに接続し、何百万ものグローバルなサービスを提供します。
効率的、便利、安定性、安全性を備えたカスタム構築の blockchain システムを使用する開発者
スケーラブル。
2.6 分散型取引所 (DEX)
5 Google プロトコル バッファーの公式ドキュメント: https://developers.google.com/protocol-buffers/TRON ネットワークは、分散型交換機能をネイティブにサポートします。分散型取引所 複数の取引ペアで構成されます。取引ペア(「取引所」と表記)は取引所市場です TRC-10 tokens の間、または TRC-10 token と TRX の間。どのアカウントでも取引を作成できます 同じペアが TRON ネットワーク上にすでに存在する場合でも、任意の token 間のペア。取引と 取引ペアの価格変動は Bancor プロトコルに従います。 TRON ネットワークでは次のように規定されています。 6 すべての取引ペアの 2 つの token の重みは等しいため、それらの残高の比率が価格になります 彼らの間で。たとえば、ABC と DEF という 2 つの token を含む取引ペアについて考えてみましょう。 ABCには 残高1000万、DEF残高100万です。それらの重みは等しいため、10 ABC = 防御力1これは、ABC と DEF の比率が DEF あたり 10 ABC であることを意味します。 2.7 実装
TRON blockchain コードは Java で実装されており、元々は EthereumJ からのフォークでした。
6 Bancor プロトコルの公式 Web サイト: https://about.bancor.network/protocol/
Konsensus
3.1 Bukti Kepemilikan yang Didelegasikan (DPoS)
Mekanisme konsensus yang paling awal adalah mekanisme konsensus Proof of Work (PoW). Ini protokol saat ini diterapkan di Bitcoin dan Ethereum . Dalam sistem PoW, transaksi 7 8 disiarkan melalui jaringan dikelompokkan menjadi blok-blok baru untuk konfirmasi penambang. Itu proses konfirmasi melibatkan hashing transaksi menggunakan algoritma kriptografi hashing hingga a akar merkle telah tercapai, menciptakan pohon merkle:
Gambar 2: 8 transaksi TRX hash dimasukkan ke dalam root merkle. Root merkle ini kemudian dimasukkan ke dalam header blok, yang mana dilampirkan ke blok yang telah dikonfirmasi sebelumnya untuk membentuk blockchain. Hal ini memungkinkan pelacakan yang mudah dan transparan transaksi, stempel waktu, dan informasi terkait lainnya.
7 Bitcoin kertas putih: https://bitcoin.org/bitcoin.pdf 8 Ethereum kertas putih: https://github.com/ethereum/wiki/wiki/White-Paper
Algoritma kriptografi hashing berguna dalam pencegahan serangan jaringan karena mereka memilikinya
beberapa properti:
9
●
Ukuran panjang Input/Output - Algoritme dapat meneruskan input dengan ukuran panjang berapa pun, dan
menghasilkan nilai hash dengan panjang tetap.
●
Efisiensi - Algoritma ini relatif mudah dan cepat untuk dihitung.
●
Resistensi gambar awal - Untuk keluaran tertentu z, tidak mungkin menemukan masukan x sedemikian rupa
h(x) = z. Dengan kata lain, algoritma hashing h(x) adalah fungsi satu arah yang hanya
output dapat ditemukan, diberi input. Hal sebaliknya tidak mungkin dilakukan.
●
Ketahanan tumbukan - Secara komputasi tidak mungkin menemukan pasangan x1≠ x2sehingga h(x1)
= jam(x2). Dengan kata lain, probabilitas menemukan dua input berbeda hashing menjadi sama
keluarannya sangat rendah. Properti ini juga menyiratkan resistensi preimage kedua.
●
Resistensi gambar awal kedua - Mengingat x1, dan dengan demikian h(x1), secara komputasi tidak mungkin untuk
carilah x2 sehingga h(x1) = h(x2). Meskipun properti ini mirip dengan resistensi tabrakan, itu
properti berbeda karena dikatakan bahwa penyerang dengan x1 tertentu akan menemukannya secara komputasi
tidak mungkin menemukan x2 hashing ke keluaran yang sama.
●
deterministik - memetakan setiap masukan ke satu dan hanya satu keluaran.
●
Avalanche efek - perubahan kecil pada masukan menghasilkan keluaran yang sama sekali berbeda.
Properti ini memberikan nilai intrinsik pada jaringan mata uang kripto dengan memastikan tidak terjadi serangan mengkompromikan jaringan. Saat penambang mengonfirmasi sebuah blok, mereka diberi hadiah tokens sebagai blok bawaan insentif untuk partisipasi jaringan. Namun, seiring dengan kapitalisasi pasar cryptocurrency global terus meningkat, para penambang menjadi terpusat dan memfokuskan sumber daya komputasi mereka menimbun tokens sebagai aset, bukan untuk tujuan partisipasi jaringan. Penambang CPU menyerah GPU, yang kemudian digantikan oleh ASIC yang bertenaga. Dalam sebuah penelitian penting, kekuatan total konsumsi pertambangan Bitcoin diperkirakan mencapai 3 GW, sebanding dengan Irlandia 10 konsumsi daya. Studi yang sama memproyeksikan total konsumsi listrik akan mencapai 8 GW dalam waktu dekat masa depan.
Untuk mengatasi masalah limbah energi, diusulkan mekanisme konsensus Proof of Stake (PoS) oleh banyak jaringan baru. Dalam jaringan PoS, pemegang token mengunci saldo token mereka menjadi blok validators. validator bergiliran melamar dan memberikan suara pada blok berikutnya. Namun masalahnya dengan PoS standar adalah bahwa pengaruh validator berkorelasi langsung dengan jumlah token yang dikunci. Hal ini mengakibatkan pihak-pihak yang menimbun sejumlah besar mata uang dasar jaringan tersebut digunakan secara tidak semestinya pengaruhnya dalam ekosistem jaringan.
Mekanisme konsensus TRON menggunakan sistem Bukti Kepemilikan yang Didelegasikan yang inovatif di mana 27
Perwakilan Super (SR) menghasilkan blok untuk jaringan. Setiap 6 jam, pemegang akun TRX
yang membekukan akunnya dapat memilih kandidat SR pilihan, dengan 27 kandidat teratas
dianggap SR. Pemilih dapat memilih SR berdasarkan kriteria seperti proyek yang disponsori oleh SR
9 PAAR, C., PELZL, J., Memahami Kriptografi: Buku Ajar untuk Pelajar dan Praktisi, edisi 2010.
Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776meningkatkan adopsi TRX, dan penghargaan didistribusikan kepada pemilih. Hal ini memungkinkan terciptanya sistem yang lebih demokratis dan
ekosistem yang terdesentralisasi. Rekening SR adalah rekening biasa, tapi akumulasi suaranya
memungkinkan mereka menghasilkan blok. Dengan tingkat throughput yang rendah Bitcoin dan Ethereum karena
mekanisme konsensus PoW dan masalah skalabilitas, sistem DPoS TRON menawarkan solusi inovatif
mekanisme menghasilkan 2000 TPS dibandingkan dengan Bitcoin sebanyak 3 TPS dan Ethereum sebanyak 15 TPS.
Jaringan protokol TRON menghasilkan satu blok setiap tiga detik, dengan setiap blok memberikan 32 TRX ke Perwakilan Super. Sebanyak 336.384.000 TRX akan diberikan setiap tahun kepada 27 SR. Setiap kali SR menyelesaikan produksi blok, hadiah dikirim ke sub-akun di buku besar super. SR dapat memeriksa, tetapi tidak secara langsung menggunakan TRX tokens ini. Penarikan dapat dilakukan oleh masing-masing SR setiap 24 jam sekali, mentransfer hadiah dari sub-akun ke SR yang ditentukan akun.
Tiga jenis node pada jaringan TRON adalah Witness Node, Full Node, dan Solidity Node. Node saksi diatur oleh SR dan terutama bertanggung jawab untuk produksi blok dan proposal pembuatan/pemungutan suara. Node penuh menyediakan API dan menyiarkan transaksi dan blok. Sinkronisasi node soliditas blok dari Full Node lainnya dan juga menyediakan API yang dapat diindeks.
コンセンサス
3.1 委任されたステークの証明 (DPoS)
最も初期のコンセンサス メカニズムは、Proof of Work (PoW) コンセンサス メカニズムです。これ このプロトコルは現在 Bitcoin および Ethereum に実装されています。 PoW システムでは、トランザクション 7 8 ネットワークを介したブロードキャストは、マイナーの確認のために初期のブロックにグループ化されます。の 確認プロセスには、暗号化 hashing アルゴリズムを使用した hashing トランザクションが含まれます。 マークル ルートに到達し、マークル ツリーが作成されます。
図 2: 8 つの TRX トランザクションがマークル ルートに hash されます。このマークル ルートはブロック ヘッダーに含まれます。 以前に確認されたブロックに付加されて、blockchain が形成されます。これにより、簡単かつ透過的な追跡が可能になります。 トランザクション、タイムスタンプ、その他の関連情報。
7 Bitcoin ホワイトペーパー: https://bitcoin.org/bitcoin.pdf 8 Ethereum ホワイトペーパー: https://github.com/ethereum/wiki/wiki/White-Paper
暗号化 hashing アルゴリズムは、次の機能を備えているため、ネットワーク攻撃の防止に役立ちます。
いくつかのプロパティ:
9
●
入力/出力の長さのサイズ - アルゴリズムは、任意の長さのサイズの入力を渡すことができます。
固定長の hash 値を出力します。
●
効率 - アルゴリズムは比較的簡単で高速に計算できます。
●
前像抵抗 - 与えられた出力 z に対して、次のような入力 x を見つけることは不可能です。
h(x) = z。言い換えれば、hashing アルゴリズム h(x) は一方向関数であり、
入力が与えられると出力を見つけることができます。その逆は不可能です。
●
衝突耐性 - h(x 1) となるような x 1 ≠ x 2 のペアを見つけることは計算上不可能です
= h(x 2 ) 。言い換えれば、同じものに対する 2 つの異なる入力 hash が見つかる確率
出力が極端に低いです。このプロパティは、2 番目のプリイメージ耐性も意味します。
●
2 番目のプリイメージ抵抗 - x 1 、したがって h(x 1 ) が与えられると、次のことは計算上実行不可能です。
h(x1) = h(x2) となるような任意の x2 を見つけます。この特性は衝突耐性に似ていますが、
このプロパティは、攻撃者が特定の x 1 を計算的に見つけるだろうとしている点が異なります。
同じ出力に対する x 2 hash を見つけることは不可能です。
●
決定的 – 各入力を 1 つの出力にマッピングします。
●
Avalanche 効果 - 入力の小さな変更により、まったく異なる出力が生じます。
これらのプロパティは、攻撃が行われないことを保証することで、暗号通貨ネットワークに本質的な価値を与えます。 ネットワークを侵害します。マイナーがブロックを確認すると、組み込みとしてtokensの報酬が与えられます。 ネットワークへの参加に対するインセンティブ。しかし、世界の仮想通貨の時価総額としては、 着実に増加し、マイナーは集中化され、コンピューティング リソースを次のことに集中させました。 ネットワーク参加目的ではなく、資産として token を蓄積します。 CPU マイナーが道を譲った GPU は強力な ASIC に取って代わられました。ある注目すべき研究では、総電力は Bitcoin マイニングの消費量は 3 GW に達すると推定されており、これはアイルランドの消費量に匹敵します 10 消費電力。この同じ調査では、総電力消費量が近いうちに 8 GW に達すると予測されています。 未来。
エネルギーの無駄の問題を解決するために、Proof of Stake (PoS) コンセンサスメカニズムが提案されました。 多くの新しいネットワーク。 PoS ネットワークでは、token 保有者は自分の token 残高をロックしてブロックします validator秒。 validator は順番に次のブロックの提案と投票を行います。ただし、問題は 標準 PoS の場合、validator の影響はロックされた token の量に直接相関します。 その結果、関係者がネットワークの基本通貨を大量に蓄え、不当に行使することになります。 ネットワークエコシステムへの影響。
TRON コンセンサス メカニズムは、革新的な Delegated Proof of Stake システムを使用しています。
スーパー代表 (SR) は、ネットワークのブロックを生成します。 6 時間ごと、TRX アカウント所有者
アカウントを凍結した人は、上位 27 人の SR 候補者に投票できます。
SRとみなします。有権者は、SR が後援するプロジェクトなどの基準に基づいて SR を選択できます。
9 PAAR, C.、PELZL, J.、暗号の理解: 学生と実務者のための教科書、2010 年版。
シュプリンガー・フェアラーク・ベルリン・ハイデルベルク、2010年。
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776TRX の採用を増やし、有権者に分配される報酬を増やします。これにより、より民主化された、
分散型エコシステム。 SRのアカウントは通常のアカウントですが、投票の蓄積は
ブロックを生成できるようになります。 Bitcoin および Ethereum のスループット レートは低いため、
PoW コンセンサス メカニズムとスケーラビリティの問題に対して、TRON の DPoS システムは革新的な
このメカニズムにより、Bitcoin の 3 TPS と Ethereum の 15 TPS と比較して、2000 TPS が発生しました。
TRON プロトコル ネットワークは 3 秒ごとに 1 つのブロックを生成し、各ブロックには 32 が与えられます。 TRXからスーパー代表へ。年間合計 3 億 3,638 万 4,000 TRX が 27 名の SR に授与されます。 SR がブロックの生成を完了するたびに、報酬はスーパーレジャーのサブアカウントに送信されます。 SR はこれらの TRX token を確認できますが、直接利用することはできません。それぞれの出金が可能です SRは24時間に1回、サブアカウントから指定したSRに報酬を転送します アカウント。
TRON ネットワーク上の 3 種類のノードは、Witness ノード、フル ノード、および Solidity ノードです。 監視ノードは SR によってセットアップされ、主にブロックの生成と提案を担当します。 作成/投票。フルノードは API とブロードキャスト トランザクションとブロックを提供します。 Solidity ノードの同期 他のフルノードからブロックし、インデックス可能な API も提供します。
Akun
4.1 Jenis
Tiga jenis akun di jaringan TRON adalah akun reguler, akun token, dan akun kontrak.
1.
Akun reguler digunakan untuk transaksi standar.
2.
Akun token digunakan untuk menyimpan TRC-10 tokens.
3.
Akun kontrak adalah smart contract akun yang dibuat oleh akun biasa dan dapat berupa
dipicu oleh akun reguler juga.
4.2 Penciptaan
Ada tiga cara untuk membuat akun TRON:
1. Buat akun baru melalui API 2. Transfer TRX ke alamat akun baru 3. Transfer TRC-10 token apa pun ke alamat akun baru
Pasangan kunci offline yang terdiri dari alamat (kunci publik) dan kunci pribadi, dan tidak dicatat oleh TRON jaringan, juga dapat dihasilkan. Algoritma pembuatan alamat pengguna terdiri dari menghasilkan pasangan kunci dan kemudian mengekstraksi kunci publik (array byte 64-byte yang mewakili x, y koordinat). Hash kunci publik menggunakan fungsi SHA3-256 (protokol SHA3 yang diadopsi adalah KECCAK-256) dan ekstrak 20 byte terakhir hasilnya. Tambahkan 41 ke awal array byte dan pastikan panjang alamat awal adalah 21 byte. Hash alamatnya dua kali menggunakan fungsi SHA3-256 dan ambil 4 byte pertama sebagai kode verifikasi. Tambahkan kode verifikasi di akhir inisial alamat dan dapatkan alamat dalam format base58check melalui pengkodean base58. Sebuah kode Alamat mainnet dimulai dengan T dan panjangnya 34 byte. 4.3 Struktur
Tiga jenis akun yang berbeda adalah Normal, AssetIssue, dan Kontrak. Akun berisi 7 parameter:
1.
account_name: nama untuk akun ini – mis. Akun Tagihan.
2.
type: jenis akun ini – mis. 0 (singkatan dari tipe 'Normal').
3.
saldo: saldo akun ini – mis. 4213312.
4.
vote: menerima suara di akun ini – mis. {(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5.
aset: aset lain yang diharapkan TRX di akun ini – mis. {<"Token Keinginan", 66666>, <"Anjing",
233>}.
6.
last_operation_time: waktu pengoperasian terakhir akun ini.
Protobuf data structure:
message Account {
message Vote {
bytes vote_address = 1;
int64 vote_count = 2;
}
bytes accout_name = 1;
AccountType type = 2;
bytes address = 3;
int64 balance = 4;
repeated Vote votes = 5;
map<string, int64> asset = 6;
int64 latest_operation_time = 10;
}
enum AccountType {
Normal = 0;
AssetIssue = 1;
Contract = 2;
}
アカウント
4.1 種類
TRON ネットワーク内の 3 種類のアカウントは、通常のアカウント、token アカウント、および 契約アカウント。
1.
通常口座は標準的な取引に使用されます。
2.
トークン アカウントは、TRC-10 token を保存するために使用されます。
3.
契約アカウントは、通常のアカウントによって作成された smart contract アカウントであり、
通常のアカウントでもトリガーされます。
4.2 作成
TRON アカウントを作成するには 3 つの方法があります:
1. API経由で新しいアカウントを作成する 2. TRXを新しいアカウントアドレスに送金します 3. TRC-10 token を新しいアカウントのアドレスに転送します
アドレス (公開キー) と秘密キーで構成され、サーバーによって記録されないオフライン キーのペア。 TRON ネットワークも生成できます。ユーザーアドレス生成アルゴリズムは次のもので構成されます。 キーペアを生成し、公開キーを抽出します (x、y を表す 64 バイトのバイト配列) 座標)。 SHA3-256 関数を使用して公開キーをハッシュします (採用されている SHA3 プロトコルは KECCAK-256) を実行し、結果の最後の 20 バイトを抽出します。バイト配列の先頭に 41 を追加します。 また、最初のアドレス長が 21 バイトであることを確認します。 SHA3-256関数を使用してアドレスを2回ハッシュします 最初の 4 バイトを検証コードとして受け取ります。確認コードをイニシャルの末尾に追加します アドレスを取得し、base58 エンコードを通じて、base58check 形式でアドレスを取得します。エンコードされた メインネット アドレスは T で始まり、長さは 34 バイトです。 4.3 構造
3 つの異なるアカウント タイプは、Normal、AssetIssue、および Contract です。アカウントには 7 が含まれます パラメータ:
1.
account_name : このアカウントの名前 – 例:請求書アカウント。
2.
type : このアカウントのタイプ – 例: 0 (タイプ「通常」を表します)。
3.
残高: この口座の残高 – 例: 4213312。
4.
投票: このアカウントで投票を受け取りました – 例: {(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}。
5.
資産: このアカウントで TRX が期待される他の資産 – 例: {<"WishToken", 66666>, <"ドギー",
233>}。
6.
最新_操作_時間: このアカウントの最新の操作時間。
Protobuf data structure:
message Account {
message Vote {
bytes vote_address = 1;
int64 vote_count = 2;
}
bytes accout_name = 1;
AccountType type = 2;
bytes address = 3;
int64 balance = 4;
repeated Vote votes = 5;
map<string, int64> asset = 6;
int64 latest_operation_time = 10;
}
enum AccountType {
Normal = 0;
AssetIssue = 1;
Contract = 2;
}
Blok
Sebuah blok biasanya berisi header blok dan beberapa transaksi.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Tajuk Blok
Header blok berisi raw_data, witness_signature, dan blockID.
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 Data Mentah
Data mentah dilambangkan sebagairaw_data di Protobuf. Ini berisi data mentah dari sebuah pesan, berisi 6 parameter:
1. stempel waktu: stempel waktu pesan ini – mis. 1543884429000. 2. txTrieRoot: Akar Pohon Merkle – mis. 7dacsa…3ed. 3. parentHash: hash dari blok terakhir – mis. 7dacsa…3ed. 4. nomor: tinggi balok – mis. 4638708. 5. versi: dicadangkan – mis. 5.

6. Witness_address: alamat saksi yang dikemas dalam blok ini – mis. 41928c...4d21. 5.1.2 Tanda Tangan Saksi
Tanda tangan saksi dilambangkan dengan tanda tangan saksi di Protobuf, yang merupakan tanda tangan untuk ini blok header dari node saksi. 5.1.3 ID Blokir
ID Blok dilambangkan sebagai blockID di Protobuf. Ini berisi identifikasi atom suatu blok. Sebuah Blok ID berisi 2 parameter: 1. hash: hash blok. 2. nomor: hash dan tinggi balok. 5.2 Transaksi 5.2.1 Penandatanganan
Proses penandatanganan transaksi TRON mengikuti algoritma kriptografi ECDSA standar, dengan a
Kurva seleksi SECP256K1. Kunci privat adalah angka acak, dan kunci publik adalah sebuah titik di
kurva elips. Proses pembuatan kunci publik terdiri dari pembangkitan nomor acak terlebih dahulu sebagai a
kunci privat, lalu mengalikan titik dasar kurva elips dengan kunci privat untuk mendapatkan
kunci publik. Ketika suatu transaksi terjadi, data mentah transaksi diubah terlebih dahulu ke dalam format byte.
Data mentah kemudian mengalami SHA-256 hashing. Kunci pribadi yang sesuai dengan kontrak
alamat kemudian menandatangani hasil SHA256 hash. Hasil tanda tangan kemudian ditambahkan ke
transaksi.
5.2.2 Model Bandwidth
Transaksi biasa hanya menggunakan titik bandwidth, tetapi operasi smart contract menggunakan keduanya titik energi dan bandwidth. Ada dua jenis titik bandwidth yang tersedia. Pengguna bisa mendapatkan keuntungan titik bandwidth dari pembekuan TRX, sementara 5000 titik bandwidth gratis juga tersedia setiap hari.
Ketika transaksi TRX disiarkan, transaksi tersebut ditransmisikan dan disimpan dalam bentuk array byte jaringan. Bandwidth Poin yang dikonsumsi oleh satu transaksi = jumlah byte transaksi dikalikan dengan tingkat poin bandwidth. Misalnya, jika panjang array byte suatu transaksi adalah 200, maka transaksi tersebut menghabiskan 200 titik bandwidth. Namun, jika transfer TRX atau token menghasilkan akun target yang dibuat, maka hanya titik bandwidth yang dikonsumsi untuk membuat akun tersebut akan dipotong, dan poin bandwidth tambahan tidak akan dipotong. Dalam pembuatan akun skenario, jaringan pertama-tama akan menggunakan titik bandwidth yang diperoleh pemrakarsa transaksidari pembekuan TRX. Jika jumlah ini tidak mencukupi, maka jaringan akan menghabiskan transaksi tersebut TRX inisiator.
Dalam skenario transfer TRX standar dari satu akun TRX ke akun TRX lainnya, jaringan akan menggunakan yang pertama poin bandwidth yang diperoleh pemrakarsa transaksi untuk membekukan TRX. Jika itu tidak cukup, maka lakukanlah mengkonsumsi dari 5.000 poin bandwidth harian gratis. Jika itu masih belum cukup, maka jaringan mengkonsumsi TRX dari pemrakarsa transaksi. Jumlahnya dihitung berdasarkan jumlah byte yang masuk transaksi dikalikan 10 SUN. Jadi, bagi sebagian besar pemegang TRX yang belum tentu membeku TRX mereka untuk berpartisipasi dalam pemungutan suara SR, langkah pertama otomatis dilewati (karena saldo TRX dibekukan = 0) dan 5.000 bandwidth gratis setiap hari mendukung transaksi.
Untuk transfer TRC-10 token, jaringan terlebih dahulu memverifikasi apakah total titik bandwidth bebas dari aset token yang diterbitkan sudah mencukupi. Jika tidak maka bandwidth point yang didapat dari pembekuan TRX adalah dikonsumsi. Jika titik bandwidth masih belum cukup, maka akan menghabiskan TRX transaksi pemrakarsa.
5.2.3 Biaya
Jaringan TRON umumnya tidak mengenakan biaya untuk sebagian besar transaksi, namun karena sistem pembatasan dan keadilan, penggunaan bandwidth dan transaksi memerlukan biaya tertentu.
Biaya biaya dibagi menjadi beberapa kategori berikut: 1. Transaksi normal memerlukan poin bandwidth. Pengguna dapat menggunakan poin bandwidth harian gratis (5000) atau bekukan TRX untuk mendapatkan lebih banyak. Ketika titik bandwidth tidak mencukupi, TRX akan mencukupi digunakan langsung dari rekening pengirim. TRX yang dibutuhkan adalah jumlah byte * 10 SUN. 2. Kontrak pintar membutuhkan energi (Bagian 6) tetapi juga memerlukan titik bandwidth untuk itu transaksi untuk disiarkan dan dikonfirmasi. Biaya bandwidth sama seperti di atas. 3. Semua transaksi kueri gratis. Itu tidak memerlukan energi atau bandwidth.
Jaringan TRON juga menetapkan serangkaian biaya tetap untuk transaksi berikut: 1. Membuat simpul saksi: 9999 TRX 2. Menerbitkan TRC-10 token: 1024 TRX 3. Membuat akun baru: 0,1 TRX 4. Membuat pasangan pertukaran: 1024 TRX 5.2.4 Transaksi sebagai Bukti Kepemilikan (TaPoS)
TRON menggunakan TaPoS untuk memastikan semua transaksi mengkonfirmasi blockchain utama, sambil membuatnya
sulit untuk memalsukan rantai palsu. Di TaPoS, jaringan mengharuskan setiap transaksi menyertakan bagian dari
hash dari header blok terbaru. Persyaratan ini mencegah transaksi diputar ulang
garpu tidak termasuk blok yang direferensikan, dan juga memberi sinyal pada jaringan bahwa pengguna tertentu dan merekataruhannya berada pada garpu tertentu. Mekanisme konsensus ini melindungi jaringan dari Penolakan
Layanan, 51%, penambangan egois, dan serangan pembelanjaan ganda.
5.2.5 Konfirmasi Transaksi
Suatu transaksi dimasukkan dalam blok masa depan setelah disiarkan ke jaringan. Setelah 19 blok ditambang pada TRON (termasuk bloknya sendiri), transaksi dikonfirmasi. Setiap blok diproduksi oleh salah satu dari 27 Perwakilan Super teratas dalam mode round robin. Setiap blok membutuhkan waktu ~3 detik untuk melakukannya ditambang di blockchain. Waktu mungkin sedikit berbeda untuk setiap Perwakilan Super karena jaringannya kondisi dan konfigurasi mesin. Secara umum, suatu transaksi dianggap dikonfirmasi sepenuhnya setelahnya ~1 menit. 5.2.6 Struktur
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
ブロック
通常、ブロックにはブロック ヘッダーといくつかのトランザクションが含まれます。
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 ブロックヘッダー
ブロックヘッダーには、raw_data、witness_signature、blockID が含まれます。
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 生データ
生データは、Protobuf では raw_data と表されます。メッセージの生データが含まれており、6 つのメッセージが含まれています。 パラメータ:
1. timestamp : このメッセージのタイムスタンプ – 例: 1543884429000。 2. txTrieRoot: マークル ツリーのルート – 例: 7dacsa…3ed。 3. parentHash : 最後のブロックの hash – 例: 7dacsa…3ed。 4. 数値: ブロックの高さ – 例: 4638708。 5. バージョン: 予約済み – 例: 5.
6. Witness_address : このブロックに詰め込まれた証人のアドレス – 例: 41928c...4d21。 5.1.2 証人の署名
証人の署名は、Protobuf では witness_signature として示されます。これは、この署名です。 監視ノードからのブロックヘッダー。 5.1.3 ブロックID
ブロック ID は、Protobuf では blockID として表されます。これには、ブロックのアトミック ID が含まれます。ブロック ID には 2 つのパラメータが含まれます。 1. hash : ブロックの hash 。 2. 番号: hash とブロックの高さ。 5.2 トランザクション 5.2.1 署名
TRON のトランザクション署名プロセスは、標準の ECDSA 暗号化アルゴリズムに従います。
SECP256K1の選択曲線。秘密キーは乱数であり、公開キーは
楕円曲線。公開鍵の生成プロセスは、最初に乱数を生成することから構成されます。
秘密鍵を取得し、楕円曲線の基点に秘密鍵を乗算して、
公開鍵。トランザクションが発生すると、トランザクションの生データがまずバイト形式に変換されます。
次に、生データは SHA-256 hash 処理されます。契約に対応する秘密鍵
次に、アドレスは SHA256 hash の結果に署名します。署名結果は、
取引。
5.2.2 帯域幅モデル
通常のトランザクションは帯域幅ポイントのみを消費しますが、smart contract オペレーションは両方の帯域幅ポイントを消費します。 エネルギーと帯域幅のポイント。使用可能な帯域幅ポイントは 2 種類あります。ユーザーが得られるメリット TRX の凍結により帯域幅ポイントが獲得できるほか、毎日 5,000 の無料帯域幅ポイントも利用できます。
TRX トランザクションがブロードキャストされると、トランザクションはバイト配列の形式で送信され、保存されます。 ネットワーク。 1 つのトランザクションで消費される帯域幅ポイント = トランザクションのバイト数 帯域幅ポイント率を乗算します。たとえば、トランザクションのバイト配列の長さが 200 の場合、 この場合、トランザクションは 200 帯域幅ポイントを消費します。ただし、TRX または token 転送の結果、 ターゲット アカウントが作成されると、アカウントの作成に消費される帯域幅ポイントのみが消費されます。 が差し引かれますが、追加の帯域幅ポイントは差し引かれません。アカウント作成時 シナリオでは、ネットワークは最初にトランザクション開始者が獲得した帯域幅ポイントを消費します。TRXの凍結から。この量が不十分な場合、ネットワークはトランザクションを消費します。 イニシエーターの TRX。
ある TRX アカウントから別の TRX アカウントへの標準的な TRX 転送シナリオでは、ネットワークは最初に TRX を凍結するためにトランザクション開始者が獲得した帯域幅ポイント。それが不十分な場合は、 無料の 1 日あたり 5000 帯域幅ポイントを消費します。それでも不十分な場合は、ネットワーク トランザクション開始者の TRX を消費します。量はバイト数によって計算されます。 トランザクションに 10 SUN を掛けます。したがって、必ずしも凍結する必要はないほとんどの TRX 保有者にとって、 彼らの TRX が SR 投票に参加する場合、最初のステップは自動的にスキップされます (TRX 残高があるため) 凍結 = 0)、1 日あたり 5000 の無料帯域幅がトランザクションを強化します。
TRC-10 token 転送の場合、ネットワークは最初に、合計空き帯域幅ポイントが 発行された token 資産で十分です。そうでない場合、TRX をフリーズすることで取得される帯域幅ポイントは次のようになります。 消費された。それでも十分な帯域幅ポイントがない場合は、トランザクションの TRX が消費されます。 イニシエーター。
5.2.3 料金
TRON ネットワークは通常、ほとんどのトランザクションに手数料を請求しませんが、システム上の理由により、 制限と公平性、帯域幅の使用およびトランザクションには一定の手数料がかかります。
手数料は次のカテゴリに分類されます。 1. 通常のトランザクションには帯域幅ポイントがかかります。ユーザーは無料の毎日の帯域幅ポイントを使用できます (5000) または TRX を凍結してさらに入手します。帯域幅ポイントが十分でない場合、TRX は 送信アカウントから直接使用されます。必要な TRX は、バイト数 * 10 SUN です。 2. スマート コントラクトにはエネルギーがかかります (セクション 6) が、そのための帯域幅ポイントも必要になります。 トランザクションをブロードキャストして確認する必要があります。帯域幅コストは上記と同じです。 3. すべてのクエリ トランザクションは無料です。エネルギーや帯域幅はかかりません。
TRON ネットワークは、次のトランザクションに対する一連の固定料金も定義します。 1. 監視ノードの作成: 9999 TRX 2. TRC-10 token の発行: 1024 TRX 3. 新しいアカウントの作成: 0.1 TRX 4. 交換ペアの作成: 1024 TRX 5.2.4 プルーフ・オブ・ステークとしてのトランザクション (TaPoS)
TRON は TaPoS を使用して、すべてのトランザクションがメインの blockchain を確実に確認するようにします。
偽造チェーンを偽造するのは困難です。 TaPoS では、ネットワークは各トランザクションに次の一部が含まれることを必要とします。
最近のブロックヘッダーの hash。この要件により、トランザクションが再実行されなくなります。
参照されたブロックを含まないフォークを実行し、特定のユーザーとそのユーザーがステークは特定のフォークにあります。このコンセンサス メカニズムは、ネットワークを拒否から保護します。
サービス、51%、利己的なマイニング、二重支払い攻撃。
5.2.5 トランザクションの確認
トランザクションは、ネットワークにブロードキャストされた後、将来のブロックに含まれます。 19ブロック後 TRON (独自のブロックを含む) でマイニングされた場合、トランザクションは確認されます。各ブロックは次のように生成されます。 ラウンドロビン方式で上位 27 人のスーパー代表の 1 人。各ブロックには約 3 秒かかります blockchain で採掘されます。ネットワークの関係により、各スーパー代表の時間は若干異なる場合があります 条件とマシン構成。一般に、トランザクションは次の後に完全に確認されたとみなされます。 ~1分。 5.2.6 構造
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair

ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
TRON Mesin Virtual
6.1 Pendahuluan
TRON Mesin Virtual (TVM) adalah mesin virtual lengkap Turing ringan yang dikembangkan untuk ekosistem TRON. Tujuannya adalah untuk menyediakan sistem blockchain yang dibuat khusus dan efisien, nyaman, stabil, aman dan terukur.
TVM awalnya bercabang dari EVM dan dapat terhubung secara mulus dengan soliditas yang ada smart contract 11 ekosistem pembangunan. Berdasarkan hal tersebut, TVM juga mendukung konsensus DPoS.
TVM menggunakan konsep Energi. Berbeda dengan mekanisme Gas pada EVM, pengoperasiannya transaksi dan smart contracts di TVM gratis, tanpa menggunakan TRX. Secara teknis, dapat dieksekusi kapasitas komputasi di TVM tidak dibatasi oleh total jumlah penyimpanan tokens. 6.2 Alur Kerja
Kompiler pertama-tama menerjemahkan Soliditas smart contract menjadi bytecode yang dapat dibaca dan dieksekusi di TVM. TVM kemudian memproses data melalui opcode, yang setara dengan mengoperasikan logika dari mesin negara terbatas berbasis tumpukan. Terakhir, TVM mengakses blockchain data dan memanggil Antarmuka Data Eksternal melalui lapisan Interoperasi. 11 EVM: Ethereum Mesin Virtual (https://github.com/ethereum/ethereumj)

Gambar 3: Alur Kerja TVM
6.3 Kinerja 6.3.1 Arsitektur Ringan
TVM mengadopsi arsitektur ringan dengan tujuan mengurangi konsumsi sumber daya sebagai jaminan kinerja sistem. 6.3.2 Kuat
Transfer TRX dan smart contract eksekusi hanya memerlukan poin bandwidth, bukan TRX, yang mana mengecualikan TRON dari serangan. Konsumsi bandwidth dapat diprediksi dan statis sejak keduanya biaya langkah komputasi adalah tetap. 6.3.3 Kompatibilitas Tinggi
TVM kompatibel dengan EVM dan akan kompatibel dengan lebih banyak VM mainstream di masa mendatang. Dengan demikian, semua smart contract di EVM dapat dieksekusi di TVM. 6.3.4 Biaya Rendah
Karena pengaturan bandwidth TVM, biaya pengembangan berkurang dan pengembang dapat fokus pada hal tersebut pengembangan logika kode kontrak mereka. TVM juga menawarkan antarmuka lengkap untuk kontrak penerapan, pemicuan, dan tampilan untuk menawarkan kenyamanan bagi pengembang.
TRON 仮想マシン
6.1 はじめに
TRON 仮想マシン (TVM) は、 TRON のエコシステム。その目標は、効率的でカスタム構築された blockchain システムを提供することです。 便利、安定、安全、スケーラブル。
TVM は当初 EVM からフォークされ、既存の Solidity smart contract とシームレスに接続できます 11 開発エコシステム。これに基づいて、TVM は DPoS コンセンサスを追加でサポートします。
TVM はエネルギーの概念を採用しています。 EVM のガス機構とは異なり、 TVM 上のトランザクションと smart contract は無料であり、TRX は消費されません。技術的には実行可能 TVM 上の計算能力は、tokens の合計保持量によって制限されません。 6.2 ワークフロー
コンパイラーはまず、Solidity smart contract を読み取り可能で実行可能なバイトコードに変換します。 TVM。その後、TVM はオペコードを通じてデータを処理します。これはロジックを操作するのと同じです。 スタックベースの有限状態マシンの。最後に、TVM は blockchain データにアクセスし、 相互運用層を介した外部データ インターフェイス。 11 EVM: Ethereum 仮想マシン (https://github.com/ethereum/ethereumj)

図 3: TVM ワークフロー
6.3 パフォーマンス 6.3.1 軽量アーキテクチャ
TVM は、リソース消費を削減して確実なパフォーマンスを実現することを目的とした軽量アーキテクチャを採用しています。 システムのパフォーマンス。 6.3.2 堅牢性
TRX 転送と smart contract 実行では、TRX ではなく帯域幅ポイントのみがかかります。 TRON は攻撃から免除されます。帯域幅の消費量は予測可能で静的です。 計算ステップコストは固定です。 6.3.3 高い互換性
TVM は EVM と互換性があり、将来的にはより主流の VM と互換性があるようになる予定です。 これにより、EVM 上のすべての smart contract が TVM 上で実行可能になります。 6.3.4 低コスト
TVM の帯域幅設定により、開発コストが削減され、開発者は開発に集中できます。 契約コードのロジック開発。 TVM は契約用のオールインワン インターフェイスも提供します 導入、トリガー、表示を可能にし、開発者に利便性を提供します。
Kontrak Cerdas
7.1 Pendahuluan
smart contract adalah protokol yang memverifikasi negosiasi kontrak secara digital. Mereka mendefinisikan aturan dan hukuman yang terkait dengan suatu perjanjian dan juga secara otomatis menegakkan kewajiban tersebut. Yang pintar kode kontrak memfasilitasi, memverifikasi, dan menegakkan negosiasi atau kinerja perjanjian atau transaksi. Dari perspektif tokenisasi, smart contracts juga memfasilitasi pendanaan otomatis transfer antara pihak-pihak yang berpartisipasi jika kriteria tertentu dipenuhi.
TRON smart contracts ditulis dalam bahasa Soliditas. Setelah ditulis dan diuji, mereka bisa dikompilasi menjadi bytecode, kemudian disebarkan ke jaringan TRON untuk Mesin Virtual TRON. Sekali dikerahkan, smart contracts dapat ditanyakan melalui alamat kontraknya. Aplikasi kontrak Antarmuka Biner (ABI) menunjukkan fungsi panggilan kontrak dan digunakan untuk berinteraksi dengan jaringan. 7.2 Model Energi
Batas energi maksimum untuk meluncurkan dan memicu smart contract merupakan fungsi dari beberapa fungsi variabel:
● Energi dinamis dari pembekuan 1 TRX adalah 50.000.000.000 (Batas Energi Total) / (Energi Total Berat) ● Batas energi adalah batas energi akun harian dari pembekuan TRX ● Energi akun harian yang tersisa dari pembekuan TRX dihitung sebagai Batas Energi - Energi Digunakan ● Batas biaya di TRX diatur dalam smart contract panggilan penerapan/pemicu ● TRX yang tersisa dapat digunakan di akun ● Energi per TRX jika dibeli langsung (10 SUN = 1 Energi) = 100.000, SR dapat melakukan voting penyesuaian
Ada dua skenario konsumsi untuk menghitung batas energi maksimum untuk penerapan dan
pemicu. Logikanya dapat diungkapkan sebagai berikut:
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 Penerapan
Ketika TRON soliditas smart contract dikompilasi, Mesin Virtual TRON membaca kompilasi kode byte. Bytecode terdiri dari bagian untuk penerapan kode, kode kontrak, dan Auxdata. Auxdata adalah sidik jari kriptografi kode sumber, yang digunakan untuk verifikasi. Penyebaran bytecode menjalankan fungsi konstruktor dan menyiapkan variabel penyimpanan awal. Penyebaran kode juga menghitung kode kontrak dan mengembalikannya ke TVM. ABI adalah file JSON yang menjelaskan fungsi TRON smart contract. File ini mendefinisikan nama fungsi, pembayarannya, nilai pengembalian fungsi, dan mutabilitas statusnya. 7.4 Fungsi Pemicu
Setelah TRON smart contract dikerahkan, fungsinya dapat dipicu secara individual baik melalui TronStudio atau melalui panggilan API. Fungsi pengubah status memerlukan Energi sedangkan fungsi hanya baca mengeksekusi tanpa Energi. 7.5 TRON Soliditas
TRON Soliditas adalah cabang dari bahasa Soliditas Ethereum. TRON memodifikasi proyek asli menjadi mendukung unit TRX dan SUN (1 TRX = 1.000.000 SUN). Sintaks bahasa lainnya adalah kompatibel dengan Soliditas ^0.4.24. Dengan demikian Tron Virtual Machine (TVM) hampir 100% kompatibel dengan instruksi EVM.
スマートコントラクト
7.1 はじめに
smart contract は、契約交渉をデジタル的に検証するプロトコルです。彼らはルールを定義し、 契約に関連する罰則が適用され、それらの義務も自動的に強制されます。賢い 契約コードは、契約の交渉や履行を促進、検証、強制します。 取引。 token化の観点から見ると、smart contractは自動資金調達も容易にします 参加当事者間の転送には、特定の基準が満たされる必要があります。
TRON smart contract は Solidity 言語で書かれています。作成してテストすると、次のことが可能になります。 バイトコードにコンパイルされ、TRON 仮想マシンの TRON ネットワークにデプロイされます。一度 導入すると、smart contract はコントラクト アドレスを介してクエリできるようになります。契約申込書 バイナリ インターフェイス (ABI) はコントラクトの呼び出し関数を示し、コントラクトとの対話に使用されます。 ネットワーク。 7.2 エネルギーモデル
smart contract を展開およびトリガーするための最大エネルギー制限は、いくつかの関数によって決まります。 変数:
● 1 TRX の凍結による動的エネルギーは 50,000,000,000 (総エネルギー制限) / (総エネルギー) 重量) ● エネルギー制限は、TRX の凍結による 1 日あたりのアカウントのエネルギー制限です。 ● TRX の凍結による毎日のアカウントの残りのエネルギーは、エネルギー制限 - エネルギーとして計算されます。 中古品 ● TRX の料金制限は smart contract デプロイ/トリガー呼び出しで設定されます ● アカウント内の使用可能な TRX の残り ● 直接購入した場合の TRX あたりのエネルギー (10 SUN = 1 エネルギー) = 100,000、SR は投票可能 調整
導入の最大エネルギー制限を計算するには、2 つの消費シナリオがあります。
トリガー。ロジックは次のように表現できます。
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 展開
TRON Solidity smart contract がコンパイルされると、TRON 仮想マシンはコンパイルされた バイトコード。バイトコードは、コード展開のセクション、コントラクト コード、および Auxdata で構成されます。 Auxdata はソース コードの暗号化フィンガープリントであり、検証に使用されます。導入 bytecode はコンストラクター関数を実行し、初期ストレージ変数を設定します。導入 code はコントラクト コードも計算し、それを TVM に返します。 ABI は JSON ファイルです。 TRON smart contract の機能について説明します。このファイルは、関数名、その支払い可能性、 関数の戻り値とその状態の可変性。 7.4 トリガー機能
TRON smart contract がデプロイされると、それらの機能は次のいずれかの方法で個別にトリガーできます。 TronStudio または API 呼び出し経由。状態変更関数はエネルギーを必要としますが、読み取り専用関数は必要です エネルギーなしで実行します。 7.5 TRON 堅牢性
TRON Solidity は、Ethereum の Solidity 言語からのフォークです。 TRON は、元のプロジェクトを次のように変更します。 TRX および SUN ユニットをサポートします (1 TRX = 1,000,000 SUN)。残りの言語構文は次のとおりです。 Solidity ^0.4.24 と互換性があります。したがって、Tron 仮想マシン (TVM) はほぼ 100% 互換性があります。 EVM 命令付き。
Token
8.1 Token TRC-10
Di jaringan TRON, setiap akun dapat menerbitkan token dengan biaya 1024 TRX. Untuk menerbitkan tokens, penerbit perlu menentukan nama token, total kapitalisasi, nilai tukar ke TRX, durasi sirkulasi, deskripsi, situs web, konsumsi bandwidth maksimum per akun, total konsumsi bandwidth, dan jumlah token dibekukan. Setiap penerbitan token juga dapat dikonfigurasi token Poin Bandwidth transfer harian maksimum setiap akun, maksimum harian seluruh jaringan token Poin Bandwidth transfer, total persediaan token, durasi penguncian dalam hari, dan jumlah total dari tokens terkunci. 8.2 Token TRC-20
TRC-20 adalah standar teknis yang digunakan untuk smart contracts yang menerapkan tokens yang didukung oleh TRON Mesin Virtual. Ini sepenuhnya kompatibel dengan ERC-20.
Antarmukanya adalah sebagai berikut:
kontrak TRC20Antarmuka {
fungsi totalSupply() pengembalian konstan publik (uint);
fungsi balanceOf(alamat tokenPemilik) pengembalian konstan publik (uint
saldo);
tunjangan fungsi(alamat tokenPemilik, alamat pembelanja) konstanta publik
kembali (tidak tersisa);
transfer fungsi(alamat ke, uint tokens) pengembalian publik (bool sukses);
fungsi menyetujui(alamat pembelanja, uint tokens) pengembalian publik (bool
sukses);
fungsi transferFrom(alamat dari, alamat ke, uint tokens) publik
kembali (bool sukses);
acara Transfer(alamat diindeks dari, alamat diindeks ke, uint tokens);
Persetujuan acara(alamat diindeks tokenPemilik, alamat pembelanja yang diindeks, uint
tokens); }
Dari sudut pandang pengembang, ada beberapa perbedaan antara TRC-10 dan TRC-20. Beberapa perbedaan utamanya adalah TRC-10 tokens dapat diakses oleh API dan smart contracts sementara TRC-20 tokens memungkinkan penyesuaian antarmuka tetapi hanya dapat diakses dalam smart contracts.
Dari sudut pandang biaya, TRC-10 tokens memiliki biaya transaksi 1000 kali lebih rendah daripada
TRC-20, tetapi menanggung biaya bandwidth untuk transfer dan deposit API. Transfer dan deposit secara cerdas
kontrak untuk TRC-10 tokens menghabiskan biaya bandwidth dan energi.
8.3 Selanjutnya
Karena TRON menggunakan versi Soliditas yang sama dengan Ethereum, lebih banyak standar token dapat segera dibuat porting ke TRON.
トークン
8.1 TRC-10トークン
TRON ネットワークでは、各アカウントは 1024 TRX を犠牲にして token を発行できます。 token を発行するには、 発行者は、token の名前、大文字の合計、TRX への為替レートを指定する必要があります。 発行期間、説明、Web サイト、アカウントごとの最大帯域幅消費量、合計 帯域幅の消費量、および凍結された token の量。 token の発行ごとに構成することもできます 各アカウントの 1 日あたりの最大転送帯域幅ポイント token、ネットワーク全体の 1 日あたりの最大転送帯域幅ポイント token 転送帯域幅ポイント、合計 token 供給量、ロック期間 (日数)、および合計金額 token 件がロックされています。 8.2 TRC-20トークン
TRC-20 は、token を実装する smart contract に使用される技術標準であり、 TRON 仮想マシン。 ERC-20と完全互換です。
インターフェースは次のとおりです。
コントラクト TRC20インターフェース {
function totalSupply() public constant returns (uint);
関数 BalanceOf (アドレス tokenOwner) パブリック定数 戻り値 (uint
バランス);
関数の許可(アドレスtoken所有者、アドレス使用者)公開定数
戻り値 (残りの単位);
関数 transfer (アドレス、uint tokens) public 戻り値 (bool 成功);
関数 approve (アドレス使用者、uint tokens) public 戻り値 (bool
成功);
関数transferFrom(アドレス元、アドレス先、uint tokens) public
戻り値 (ブール値の成功);
イベント転送(インデックス元のアドレス、インデックス先のアドレス、単位 tokens);
イベント承認(アドレスインデックス付きtoken所有者、アドレスインデックス付き支出者、uint)
tokens); }
開発者の観点から見ると、TRC-10 と TRC-20 にはいくつかの違いがあります。一部 主な違いは、TRC-10 token は API と smart contract からアクセスできるのに対し、 TRC-20 token ではインターフェイスのカスタマイズが可能ですが、smart contract 内でのみアクセス可能です。
コストの観点から見ると、TRC-10 token の取引手数料は 1000 分の 1 です。
TRC-20 ですが、API 転送とデポジットに帯域幅コストがかかります。スマートで送金と入金
TRC-10 token の契約には帯域幅とエネルギーの両方がかかります。
8.3 その先へ
TRON は Ethereum と同じ Solidity バージョンを使用しているため、より多くの token 標準を容易に使用できるようになります。 TRON に移植されました。
Tata Kelola
9.1 Perwakilan Super 9.1.1 Umum
Setiap akun di jaringan TRON dapat mendaftar dan berkesempatan menjadi Super Perwakilan (dilambangkan dengan SR). Setiap orang dapat memilih calon SR. 27 kandidat teratas dengan suara terbanyak akan menjadi SR yang mempunyai hak dan kewajiban untuk menghasilkan blok. Suaranya adalah dihitung setiap 6 jam dan SR akan berubah sesuai dengan itu.
Untuk mencegah serangan berbahaya, ada biaya untuk menjadi kandidat SR. Saat melamar, 9999 TRX akan dibakar dari akun pemohon. Setelah berhasil, akun tersebut dapat bergabung dengan SR pemilu. 9.1.2 Pemilu
TRON Kekuasaan (dilambangkan TP) diperlukan untuk memilih dan besarnya TP tergantung pada pilihan pemilih aset beku (TRX).
TP dihitung dengan cara berikut:
dll
1 TRX dibekukan untuk mendapatkan bandwidth
1
=
Setiap akun di jaringan TRON mempunyai hak untuk memilih SR mereka sendiri.
Setelah rilis (dicairkan, tersedia setelah 3 hari), pengguna tidak akan memiliki aset yang dibekukan dan kehilangan semuanya TP sesuai. Akibatnya, semua suara menjadi tidak sah untuk putaran pemungutan suara yang sedang berlangsung dan yang akan datang kecuali TRX dibekukan lagi untuk memilih.
Perhatikan bahwa jaringan TRON hanya mencatat suara terbaru, yang berarti setiap suara baru akan meniadakan semua suara sebelumnya. 9.1.3 Hadiah sebuah. Hadiah Suara
Juga dikenal sebagai Hadiah Kandidat, yang mana 127 kandidat teratas diperbarui setiap putaran (6
jam) akan membagikan 115.200 TRX yang ditambang. Hadiah akan dibagi sesuai dengan bobot suara
diterima masing-masing kandidat. Setiap tahun, total hadiah untuk kandidat adalah 168.192.000 TRX.
Total hadiah suara per putaran
Mengapa 115.200 TRX setiap putaran?
15,00TRX
total hadiah suara per putaran (V R/putaran)
1
2
=
V R/putaran = 16 T RX/blok × 20 blok/menit × 60 menit/jam × 6 jam/putaran
Perhatian: ini disetel oleh WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Lihat parameter jaringan dinamis.
Total hadiah suara per tahun
Mengapa 168.192.000 TRX setiap tahun?
168, 192, 000 T RX = total imbalan suara per tahun (V R/tahun)
V R/tahun = 115, 200 T RX/putaran × 4 putaran/hari × 365 hari/tahun
b. Blokir Hadiah
Juga dikenal sebagai Super Representative Reward, yaitu 27 kandidat (SR) teratas yang terpilih
setiap putaran (6 jam) akan membagikan sekitar 230.400 TRX yang telah ditambang. Hadiahnya akan dibagi rata
antara 27 SR (dikurangi total blok hadiah yang terlewat karena kesalahan jaringan). Sebanyak
336.384.000 TRX akan diberikan setiap tahun kepada 27 SR.
Total hadiah blok per putaran
Mengapa 230.400 TRX setiap putaran?
230, 400 T RX = total hadiah blok per putaran (BR/putaran)
BR/putaran = 32 T RX/blok × 20 blok/mnt × 60 menit/jam × 6 jam/putaran
Perhatian: hadiah blok unit ditetapkan sebesar WITNESS_PAY_PER_BLOCK = 32 TRX. Lihat jaringan dinamis
parameter.
Total hadiah blok per tahun
Mengapa 336.384.000 TRX setiap tahun?
336.384.000 T RX = total hadiah blok per tahun (BR/tahun)
BR/tahun = 230,400 T RX/putaran × 4 putaran/hari × 365 hari/tahun
1 Januari 2021
Tidak akan ada inflasi di jaringan TRON sebelum 1 Januari 2021, dan TRON DAO akan
berikan semua hadiah blok dan hadiah kandidat sebelum tanggal tersebut.
C. Perhitungan Hadiah
Perhitungan imbalan SR
imbalan total
hadiah suara (VR)
hadiah blok (BR)
t
=
+
R
jumlah VR
V
=
×
total suara
suara yang diterima calon SR
R
blok terlewatkan
2
B
=
27
jumlah BR -
× 3
Catatan: hadiah dihitung per SR per putaran (6 jam)
Peringkat 28 hingga peringkat 127 perhitungan reward calon SR imbalan total hadiah suara (VR) t =
R
jumlah VR
V
=
×
total suara
suara yang diterima calon SR
Catatan: hadiah dihitung per kandidat SR per putaran (6 jam)
9.2 Komite
9.2.1 Umum
Komite digunakan untuk mengubah TRON parameter jaringan dinamis, seperti pembuatan blok
hadiah, biaya transaksi, dll. Panitia terdiri dari 27 SR pada putaran saat ini. Setiap SR
berhak mengusulkan dan memberikan suara terhadap usul. Jika sebuah proposal mendapat 19 suara atau lebih, maka itu benar
disetujui dan parameter jaringan baru akan diterapkan pada periode pemeliharaan berikutnya (3 hari).
9.2.2 Parameter Jaringan Dinamis
0.
PEMELIHARAAN_TIME_INTERVAL
sebuah.
Deskripsi
Ubah waktu interval pemeliharaan dalam ms. Dikenal sebagai waktu interval pemungutan suara SR per
bulat.
B.
Contoh
[6 * 3600 * 1000] ms - yaitu 6 jam.
C.
Jangkauan
[3271000, 2436001000] mdtk
1.
AKUN_UPGRADE_COST
sebuah.
Deskripsi
Ubah biaya pengajuan akun SR.
B.
Contoh
[9.999.000.000] SUN - yaitu 9.999 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
2.
CREATE_ACCOUNT_FEE
sebuah.
Deskripsi
Ubah biaya pembuatan akun.B.
Contoh
[100.000] SUN - yaitu 1 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
3.
TRANSAKSI_FEE
sebuah.
Deskripsi
Ubah jumlah biaya yang digunakan untuk mendapatkan bandwidth tambahan.
B.
Contoh
[10] MATAHARI/byte.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI/byte
4.
ASSET_ISSUE_FEE
sebuah.
Deskripsi
Ubah biaya penerbitan aset.
B.
Contoh
[1024.000.000] MATAHARI - yaitu 1024 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
5.
WITNESS_PAY_PER_BLOCK
sebuah.
Deskripsi
Ubah hadiah pembuatan blok SR. Dikenal sebagai hadiah blok unit.
B.
Contoh
[32.000.000] SUN - yaitu 32 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
6.
WITNESS_STANDBY_ALLOWANCE
sebuah.
Deskripsi
Ubah hadiah yang diberikan kepada 127 kandidat SR teratas. Dikenal sebagai hadiah suara total
per putaran.
B.
Contoh
[115.200.000.000] SUN - yaitu 115.200 TRX.
C.
Jangkauan
[0,100 000 000 000 000 000] MATAHARI
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
sebuah.
Deskripsi
Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #8 untuk mendapatkan
total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Contoh [0] MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
sebuah.
Deskripsi
Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #7 untuk mendapatkan
total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. Contoh [1]. C. Jangkauan [0,100,000,000,000,000,000] 9. IZINKAN_CREATION_OF_CONTRACTS sebuah. Deskripsi Untuk mengaktifkan Mesin Virtual Tron (TVM). B. Contoh Benar - diatur untuk diaktifkan dan berlaku sejak 10/10/2018 23:47 UTC. C. Jangkauan Benar/Salah 10. HAPUS_THE_POWER_OF_THE_GR sebuah. Deskripsi Hapus suara awal GR Genesis b. Contoh Benar - berlaku pada 4/11/2018 08:46 UTC. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 11. ENERGI_FEE sebuah. Deskripsi Ubah biaya 1 energi. B. Contoh 20 MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 12. EXCHANGE_CREATE_FEE sebuah. Deskripsi Ubah biaya pembuatan pasangan perdagangan. Dikenal sebagai biaya pembuatan tatanan perdagangan. B. Contoh [1.024.000.000] MATAHARI - yaitu 1024 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 13. MAX_CPU_TIME_OF_ONE_TX sebuah. Deskripsi Ubah waktu eksekusi maksimum satu transaksi. Dikenal sebagai batas waktu habis satu transaksi. B. Contoh 50 ms. C. Jangkauan
[0, 1000] mdtk
14. IZINKAN_UPDATE_ACCOUNT_NAME
sebuah.
Deskripsi
Ubah opsi untuk mengizinkan akun memperbarui nama akunnya.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
15. IZINKAN_SAME_TOKEN_NAME
sebuah.
Deskripsi
Ubah validasi untuk mengizinkan token berbeda memiliki nama duplikat.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
16. IZINKAN_DELEGATE_RESOURCE
sebuah.
Deskripsi
Ubah validasi untuk mengizinkan penerbitan token dengan nama duplikat, sehingga
tokenID dari token, dalam tipe data bilangan bulat panjang, akan menjadi satu-satunya atomik
identifikasi token.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.
17. TOTAL_ENERGY_LIMIT
sebuah.
Deskripsi
Ubah batas energi total seluruh jaringan.
B.
Contoh
[50.000.000.000.000.000] SUN - yaitu 50.000.000.000 TRX.
C.
Jangkauan
[0,100,000,000,000,000,000] MATAHARI
18. IZINKAN_TVM_TRANSFER_TRC10
sebuah.
Deskripsi
Izinkan transfer TRC-10 token dalam smart contracts.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ALLOW_DELEGATE_RESOURCE semua proposal harus disetujui sebelum diajukan
perubahan parameter ini.
B.
Contoh
Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2.
C.
Jangkauan
Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.9.2.3 Membuat Proposal
Hanya akun SR yang berhak mengusulkan perubahan parameter jaringan dinamis. 9.2.4 Usulan Pemungutan Suara
Hanya anggota komite (SR) yang dapat memberikan suara untuk suatu proposal dan anggota yang tidak memberikan suara pada waktunya akan dianggap tidak setuju. Proposal aktif selama 3 hari setelah dibuat. Pemungutan suara bisa diubah atau diambil selama jendela pemungutan suara 3 hari. Setelah periode berakhir, proposal akan berakhir berhasil (19+ suara) atau gagal (dan berakhir). 9.2.5 Membatalkan Proposal
Pengusul dapat membatalkan usulannya sebelum menjadi efektif. 9.3 Struktur
SR adalah saksi dari blok yang baru dibuat. Seorang saksi mengandung 8 parameter:
1.
alamat: alamat saksi ini – mis. 0xu82h…7237.
2.
voteCount: jumlah suara yang diterima pada saksi ini – mis. 234234.
3.
pubKey: kunci publik untuk saksi ini – mis. 0xu82h…7237.
4.
url: url untuk saksi ini – mis. https://www.noonetrust.com.
5.
totalProducted: jumlah blok yang dihasilkan oleh saksi ini – mis. 2434.
6.
totalMissed: jumlah blok yang terlewatkan oleh saksi ini – mis. 7.
7.
lastBlockNum: ketinggian blok terbaru – mis. 4522.
8.
isjobs: bendera boolean.
Struktur data Protobuf:
pesan Saksi{
byte alamat = 1;
int64 jumlah suara = 2;
byte pubKey = 3;
string url = 4;
int64 total Diproduksi = 5;
int64 totalTerlewatkan = 6;
int64 newBlockNum = 7;
bool isJobs = 8;
}
- Pengembangan DApp 10.1 API
Jaringan TRON menawarkan beragam pilihan lebih dari 60+ gateway API HTTP untuk berinteraksi dengan jaringan melalui Node Penuh dan Soliditas. Selain itu, TronWeb adalah perpustakaan JavaScript yang komprehensif berisi fungsi API yang memungkinkan pengembang menerapkan smart contract, ubah blockchain negara bagian, kueri blockchain dan informasi kontrak, perdagangan di DEX, dan banyak lagi. API ini gateway dapat diarahkan ke privatenet lokal, testnet Shasta, atau TRON Mainnet.
10.2 Jaringan
TRON memiliki testnet Shasta dan juga Mainnet. Pengembang dapat terhubung ke jaringan dengan
menyebarkan node, berinteraksi melalui TronStudio, atau menggunakan API melalui layanan TronGrid. Jaringan Tron
layanan terdiri dari klaster simpul dengan beban seimbang yang dihosting di server AWS di seluruh dunia. Sebagai DApp
pengembangan ditingkatkan dan volume panggilan API meningkat, TronGrid berhasil melakukan peningkatan tersebut
lalu lintas API.
10.3 Alat
TRON menawarkan serangkaian alat pengembangan untuk memungkinkan pengembang membuat DApps yang inovatif.
TronBox adalah kerangka kerja yang memungkinkan pengembang menguji dan menyebarkan smart contracts melalui TronWeb
API. TronGrid adalah layanan API yang dihosting dan diseimbangkan bebannya yang memungkinkan pengembang untuk mengakses
TRON jaringan tanpa harus menjalankan nodenya sendiri. TronGrid menawarkan akses ke Shasta
testnet serta TRON Mainnet. TronStudio adalah Pengembangan Terintegrasi yang komprehensif
Lingkungan (IDE) yang memungkinkan pengembang untuk mengkompilasi, menyebarkan, dan men-debug Solidity smart mereka
kontrak. TronStudio berisi node penuh internal yang menciptakan lingkungan lokal pribadi untuk
smart contract pengujian sebelum penerapan. Pustaka TronWeb API menghubungkan pengembang ke
jaringan melalui berbagai pilihan panggilan HTTP API yang dibungkus dalam JavaScript.
10.4 Sumber Daya
Hub Pengembang TRON adalah situs dokumentasi API komprehensif yang dirancang khusus 12 pengembang yang ingin membangun jaringan TRON. Hub Pengembang menyediakan tingkat tinggi pemahaman konseptual tentang TRON dan memandu pengguna melalui detail interaksi dengan 12 Pusat Pengembang: https://developers.tron.network/
jaringan. Panduan ini memandu pengembang melalui penyiapan node, penerapan, dan interaksi dengan smart
kontrak, interaksi dan implementasi API, membuat contoh DApps, dan menggunakan masing-masingnya
alat pengembang. Selain itu, saluran komunitas pengembang tersedia melalui Discord.
13
13 Perselisihan: https://discordapp.com/invite/GsRgsTD
- Kesimpulan
TRON adalah solusi blockchain terukur yang menggunakan metode inovatif untuk mengatasi tantangan yang dihadapi oleh jaringan blockchain lama. Telah mencapai lebih dari 2 juta transaksi per hari, dengan lebih dari 700 ribu akun TRX, dan melampaui 2000 TPS, TRON telah memungkinkan komunitas dalam menciptakan jaringan yang terdesentralisasi dan demokratis.
ガバナンス
9.1 スーパー代表 9.1.1 一般
TRON ネットワーク内のすべてのアカウントが応募でき、スーパーになる機会があります。 代表者(SRと表記)。誰でもSR候補に投票できます。上位27人の候補者は、 最も多くの票がブロックを生成する権利と義務を持つ SR になります。投票数は 6時間ごとにカウントされ、それに応じてSRが変化します。
悪意のある攻撃を防ぐために、SR 候補になるにはコストがかかります。申請時は9999 TRX は申請者のアカウントから消去されます。成功すると、そのアカウントは SR に参加できるようになります 選挙。 9.1.2 選挙
TRON 投票するにはパワー (TP と表記) が必要で、TP の量は投票者の権限によって異なります。 凍結資産 (TRX)。
TP は次のように計算されます。
TP
帯域幅を確保するために 1 つの TRX がフリーズしました
1
=
TRON ネットワーク内のすべてのアカウントには、自分の SR に投票する権利があります。
リリース後 (凍結解除、3 日後に利用可能)、ユーザーは凍結されたアセットを持たず、すべてを失います。 それに応じてTPします。その結果、次の場合を除き、すべての投票は現在および将来の投票ラウンドでは無効になります。 TRX は再び投票を凍結されます。
TRON ネットワークは最新の投票のみを記録することに注意してください。つまり、新しい投票はすべて記録されます。 以前の投票はすべて無効になります。 9.1.3 報酬 a.投票報酬
候補者報酬とも呼ばれ、上位 127 人の候補者がラウンドごとに 1 回更新されます (6
時間) は、採掘された 115,200 TRX を共有します。投票重みに応じて報酬が分配されます
各候補者が受け取ります。毎年、候補者への報酬総額は 1 億 6,819 万 2,000 TRX となります。
ラウンドごとの投票報酬の合計
なぜ毎ラウンド 115,200 TRX なのでしょうか?
15, 00 TRX
ラウンドごとの投票報酬の合計 (VR/ラウンド)
1
2
=
V R/ラウンド = 16 T RX/ブロック × 20 ブロック/分 × 60 分/時間 × 6 時間/ラウンド
注意: これは、WITNESS_STANDBY_ALLOWANCE = 115,200 TRX によって設定されます。動的ネットワークパラメータを参照してください。
年間の総投票報酬
なぜ毎年 1 億 6,819 万 2,000 TRX なのでしょうか?
168, 192,000 T RX = 年間の総投票報酬 (V R/年)
V R/年 = 115、200 T RX/ラウンド × 4 ラウンド/日 × 365 日/年
b.ブロック報酬
スーパー代表報酬とも呼ばれ、選出された上位 27 人の候補者 (SR) が得られます。
各ラウンド (6 時間) で、採掘された約 230,400 TRX が共有されます。報酬は均等に分割されます
27 個の SR 間 (ネットワーク エラーにより逃した報酬ブロックの合計を差し引く)。合計
27 人の SR には年間 3 億 3,638 万 4,000 TRX が授与されます。
ラウンドごとのブロック報酬の合計
なぜ毎ラウンド 230,400 TRX なのでしょうか?
230、400 T RX = ラウンドあたりの合計ブロック報酬 (BR/ラウンド)
BR/ラウンド = 32 T RX/ブロック × 20 ブロック/分 × 60 分/時間 × 6 時間/ラウンド
注意: ユニット ブロックの報酬は WITNESS_PAY_PER_BLOCK = 32 TRX によって設定されます。 「動的ネットワーク」を参照
パラメータ。
年間のブロック報酬総額
なぜ毎年 3 億 3,638 万 4,000 TRX なのでしょうか?
336, 384, 000 T RX = 年間の合計ブロック報酬 (BR/年)
BR/年 = 230、400 T RX/ラウンド × 4 ラウンド/日 × 365 日/年
2021年1月1日
TRON ネットワークでは 2021 年 1 月 1 日までインフレは発生しませんが、TRON DAO ではインフレが発生します。
その日付より前にすべてのブロック報酬と候補者報酬を授与します。
c.報酬の計算
SR報酬計算
合計報酬
投票報酬(VR)
ブロック報酬(BR)
t
=
+
R
合計VR
V
=
×
総投票数
SR候補者の獲得票数
R
ブロックが外れました
2
B
=
27
合計BR −
×3
注: 報酬はラウンド (6 時間) ごとに SR ごとに計算されます。
ランク28~ランク127 SR候補の報酬計算 合計報酬 投票報酬(VR) t =
R
合計VR
V
=
×
総投票数
SR候補者の獲得票数
注: 報酬はラウンド (6 時間) ごとに SR 候補者ごとに計算されます。
9.2 委員会
9.2.1 一般
この委員会は、ブロック生成などの TRON 動的ネットワーク パラメーターを変更するために使用されます。
報酬、取引手数料など。委員会は現在のラウンドの 27 の SR で構成されます。各SR
提案し、提案に投票する権利を有します。提案が 19 票以上を獲得すると、
承認され、新しいネットワーク パラメータは次のメンテナンス期間 (3 日) に適用されます。
9.2.2 動的ネットワークパラメータ
0.
MAINTENANCE_TIME_INTERVAL
a.
説明
メンテナンス間隔時間をミリ秒単位で変更します。 SR 投票間隔時間として知られています。
丸い。
b.
例
[6 * 3600 * 1000] ミリ秒 - これは 6 時間です。
c.
範囲
[3 * 27 * 1000、24 * 3600 * 1000] ミリ秒
1.
ACCOUNT_UPGRADE_COST
a.
説明
SRアカウントの申請コストを変更します。
b.
例
[9,999,000,000] SUN - 9,999 TRX です。
c.
範囲
[0,100 000 000 000 000 000] 太陽
2.
CREATE_ACCOUNT_FEE
a.
説明
アカウント作成手数料を変更します。b.
例
[100,000] SUN - 1 TRX です。
c.
範囲
[0,100 000 000 000 000 000] 太陽
3.
TRANSACTION_FEE
a.
説明
追加の帯域幅を獲得するために使用される料金の額を変更します。
b.
例
[10] SUN/バイト。
c.
範囲
[0,100 000 000 000 000 000] SUN/バイト
4.
ASSET_ISSUE_FEE
a.
説明
資産発行手数料を変更します。
b.
例
[1024,000,000] SUN - 1024 TRX です。
c.
範囲
[0,100 000 000 000 000 000] 太陽
5.
WITNESS_PAY_PER_BLOCK
a.
説明
SRブロック生成報酬を変更。ユニットブロック報酬として知られています。
b.
例
[32,000,000] SUN - 32 TRX です。
c.
範囲
[0,100 000 000 000 000 000] 太陽
6.
WITNESS_STANDBY_ALLOWANCE
a.
説明
SR候補上位127名に与えられる報酬を変更します。総投票報酬として知られています
ラウンドごとに。
b.
例
[115,200,000,000] SUN - これは 115,200 TRX です。
c.
範囲
[0,100 000 000 000 000 000] 太陽
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
a.
説明
アカウント作成のコストを変更します。動的ネットワーク パラメーター #8 を結合して取得します。
アカウント作成費用の合計:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 例 [0] 日曜日。 c. 範囲 [0,100 000 000 000 000 000] 太陽 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
a.
説明
アカウント作成のコストを変更します。動的ネットワーク パラメーター #7 を結合して取得します。
アカウント作成費用の合計:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 例 [1]。 c. 範囲 [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS a. 説明 Tron 仮想マシン (TVM) をオンにします。 b. 例 True - 2018 年 10 月 10 日 23:47 UTC 以降にアクティブ化および効果が得られるように設定されています。 c. 範囲 真/偽 10. REMOVE_THE_POWER_OF_THE_GR a. 説明 GRジェネシスの初期投票を削除 b. 例 True - 2018 年 11 月 4 日 08:46 UTC に発効。 c. 範囲 True/False - 注意: True から False に戻すことはできません。 11. ENERGY_FEE a. 説明 1エネルギーの料金を変更します。 b. 例 20日 c. 範囲 [0,100 000 000 000 000 000] 太陽 12.EXCHANGE_CREATE_FEE a. 説明 取引ペア作成のコストを変更します。取引注文を作成するコストとして知られています。 b. 例 [1,024,000,000] SUN - 1024 TRX です。 c. 範囲 [0,100 000 000 000 000 000] 太陽 13. MAX_CPU_TIME_OF_ONE_TX a. 説明 1トランザクションの最大実行時間を変更します。タイムアウト制限として知られている 1つのトランザクション。 b. 例 50ミリ秒 c. 範囲
[0, 1000] ミリ秒
14. ALLOW_UPDATE_ACCOUNT_NAME
a.
説明
アカウントがアカウント名を更新できるようにオプションを変更します。
b.
例
False - java-tron Odyssey v3.2 から提案可能です。
c.
範囲
True/False - 注意: True から False に戻すことはできません。
15. ALLOW_SAME_TOKEN_NAME
a.
説明
異なる token が重複した名前を持つことを許可する検証を変更します。
b.
例
False - java-tron Odyssey v3.2 から提案可能です。
c.
範囲
True/False - 注意: True から False に戻すことはできません。
16. ALLOW_DELEGATE_RESOURCE
a.
説明
重複した名前で token を発行できるように検証を変更します。
長整数データ型の token の tokenID が唯一のアトミックになります
token の識別。
b.
例
False - java-tron Odyssey v3.2 から提案可能です。
c.
範囲
True/False - 注意: True から False に戻すことはできません。
17. TOTAL_ENERGY_LIMIT
a.
説明
ネットワーク全体の総エネルギー制限を変更します。
b.
例
[50,000,000,000,000,000] SUN - 50,000,000,000 TRX です。
c.
範囲
[0,100,000,000,000,000,000] 太陽
18. ALLOW_TVM_TRANSFER_TRC10
a.
説明
TRC-10 token の転送を smart contracts 以内に許可します。
ALLOW_UPDATE_ACCOUNT_NAME、ALLOW_SAME_TOKEN_NAME、
ALLOW_DELEGATE_RESOURCE 提案は提案する前にすべて承認される必要があります
このパラメータの変更。
b.
例
False - java-tron Odyssey v3.2 から提案可能です。
c.
範囲
True/False - 注意: True から False に戻すことはできません。9.2.3 提案の作成
SR アカウントのみが、動的ネットワーク パラメータの変更を提案する権利を持っています。 9.2.4 提案の投票
委員会メンバー (SR) のみが提案に投票でき、時間内に投票しなかったメンバーのみが投票できます。 同意しないものとみなされます。プロポーザルは作成後 3 日間有効です。投票できるのは、 3 日間の投票期間中に変更または取得できます。期間が終了すると、提案は 成功 (19 票以上) または失敗 (そして終了) のどちらかです。 9.2.5 提案のキャンセル
提案者は、提案が発効する前に提案をキャンセルすることができます。 9.3 構造
SR は、新しく生成されたブロックの証人です。証人には 8 つのパラメータが含まれます。
1.
address : この証人の住所 – 例: 0xu82h…7237。
2.
voteCount : この証人に対して受け取った投票の数 – 例: 234234。
3.
pubKey : この証人の公開鍵 – 例: 0xu82h…7237。
4.
url : この証人の URL – 例: https://www.noonetrust.com.
5.
totalProduced : この証人が生成したブロックの数 – 例: 2434。
6.
totalMissed : この証人が見逃したブロックの数 – 例: 7.
7.
最新ブロック番号: ブロックの最新の高さ – 例: 4522。
8.
isjobs : ブール値のフラグ。
Protobuf データ構造:
メッセージ証人{
バイトアドレス = 1;
int64 投票数 = 2;
バイト pubKey = 3 ;
文字列 URL = 4;
int64 totalProduced = 5 ;
int64 totalMissed = 6 ;
int64 最新ブロック番号 = 7;
bool isJobs = 8;
}
- DApp開発 10.1 API
TRON ネットワークは、 フル ノードとソリッド ノードを介したネットワーク。さらに、TronWeb は包括的な JavaScript ライブラリです 開発者が smart contracts をデプロイし、blockchain を変更できるようにする API 関数が含まれています。 状態、クエリ blockchain と契約情報、DEX での取引など。これらのAPI ゲートウェイは、ローカルのプライベートネット、Shasta テストネット、または TRON メインネットに向けることができます。
10.2 ネットワーク
TRON には、Shasta テストネットとメインネットの両方があります。開発者は次の方法でネットワークに接続できます。
ノードのデプロイ、TronStudio 経由の対話、または TronGrid サービス経由の API の使用。トロングリッド
このサービスは、世界中の AWS サーバーでホストされる負荷分散されたノード クラスターで構成されます。 DAppとして
開発がスケールアップし、API 呼び出し量が増加する中、TronGrid は増加に対処することに成功しました。
API トラフィック。
10.3 ツール
TRON は、開発者が革新的な DApp を作成できるようにする一連の開発ツールを提供します。
TronBox は、開発者が TronWeb 経由で smart contracts をテストおよび展開できるようにするフレームワークです。
API。 TronGrid は、開発者が
TRON 独自のノードを実行することなくネットワークを構築できます。 TronGrid は両方の Shasta へのアクセスを提供します
テストネットと TRON メインネット。 TronStudio は包括的な統合開発です
開発者が Solidity スマートをコンパイル、展開、デバッグできる環境 (IDE)
契約。 TronStudio には、プライベート ローカル環境を作成する内部フル ノードが含まれています。
smart contract 導入前のテスト。 TronWeb API ライブラリは、開発者を
JavaScript でラップされた幅広い HTTP API 呼び出しを介してネットワークにアクセスできます。
10.4 リソース
TRON 開発者ハブは、次の目的に向けて調整された包括的な API ドキュメント サイトです。 12 TRON ネットワーク上に構築したい開発者。 Developer Hub は、高レベルの機能を提供します。 TRON の概念的な理解を示し、ユーザーに、 12 開発者ハブ: https://developers.tron.network/
ネットワーク。このガイドでは、開発者がノードのセットアップ、展開、スマートとの対話について説明します。
契約、API インタラクションと実装、サンプル DApp の構築、およびそれぞれの使用
開発者ツール。さらに、開発者コミュニティ チャネルは Discord を通じて利用できます。
13
13 不和: https://discordapp.com/invite/GsRgsTD
- 結論
TRON は、革新的な手法を採用したスケーラブルな blockchain ソリューションです。 レガシー blockchain ネットワークが直面する課題。 1 日あたり 200 万件以上のトランザクションに達し、 70 万を超える TRX アカウントがあり、2000 TPS、TRON を超え、コミュニティが有効になりました。 分散型かつ民主化されたネットワークを構築します。