TRON Teknik Raporu

著 Justin Sun · 2017

導入

1.1 ビジョン

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

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

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

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

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

1.4 用語

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TRON development roadmap phase 2 timeline from July 2018 to 2019

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

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

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

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

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

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

TKC トークンの構成。

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

TRX TRX は Tronix の略で、TRON の公式暗号通貨です。

3 https://en.wikipedia.org/wiki/Remote_procedure_call

giriiş

1.1 Vizyon

TRON gerçek anlamda merkezi olmayan bir İnternet'in kurulmasına adanmış iddialı bir projedir ve altyapı. TRON Protokolü, dünyadaki en büyük blockchain tabanlı işletim sistemlerinden biri dünya, yüksek aktarım hızı, yüksek ölçeklenebilirlik ve yüksek kullanılabilirlik için genel blockchain desteği sunar. TRON ekosistemindeki tüm Merkezi Olmayan Uygulamalar (DApp'ler). Temmuz 2018'de satın alınması BitTorrent, TRON'nin merkezi olmayan bir ekosistem oluşturma konusundaki liderliğini daha da güçlendirdi.
1.2 Arka Plan

Bitcoin'nin 2009'da kullanıma sunulması, toplumun geleneksel finansal algısında devrim yarattı Büyük Durgunluğun (2007-2008) ardından sistem. Merkezi hedge fonları ve bankalar olarak Şeffaf olmayan finansal türevlerdeki spekülasyonlar nedeniyle çöken blockchain teknolojisi, herkesin işlem bilgilerini toplayabildiği şeffaf evrensel defter. işlemler, İş Kanıtı (PoW) fikir birliği mekanizması kullanılarak kriptografik olarak güvence altına alındı, böylece çift harcama sorunlarının önüne geçilir.

2013'ün sonlarında, Ethereum teknik incelemesi, smart contracts ve bir Turing-complete Ethereum Sanal Makine (EVM), geliştiricilerin DApp'ler aracılığıyla ağ. Ancak Bitcoin ve Ethereum'deki işlem hacimleri 2017'de zirveye ulaştığından, düşük işlem çıkış süreleri ve yüksek işlem ücretlerinden açıkça görülüyordu ki Bitcoin ve Ethereum gibi kripto para birimleri mevcut halleriyle yaygın olarak ölçeklenebilir değildi evlat edinme. Böylece TRON kuruldu ve bu acil ihtiyaçlara yenilikçi bir çözüm olarak tasarlandı ölçeklenebilirlik zorlukları.

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

1.3 Tarih TRON DAO Temmuz 2017'de Singapur'da kuruldu. Aralık 2017'de TRON vardı açık kaynak protokolünü başlattı. Testnet, Blockchain Explorer ve Web Cüzdanının hepsi Mart 2018'de kullanıma sunuldu. TRON Mainnet bundan kısa bir süre sonra Mayıs 2018'de kullanıma sunuldu. Teknik bir dönüm noktası olarak Odyssey 2.0 sürümü. Haziran 2018'de TRON bağımsızlığını ilan etti Genesis bloğunun oluşturulması ve Temmuz 2018'de BitTorrent'in satın alınmasıyla birlikte. içinde Ekim 2018, TRON, geliştiricilere yönelik eksiksiz bir araç seti olan TRON Sanal Makineyi (TVM) piyasaya sürdü. ve 360 destek sistemi. TRON yol haritası, BitTorrent'in 100 milyon kullanıcısını birleştirmeyi içeriyor Project Atlas aracılığıyla TRON ağıyla bağlantı kurmanın yanı sıra geliştirici topluluğunun lansmanı teşvik etmesi TRON ağında1 heyecan verici yeni DApp'ler. 1 V1.0 https://tron.network/static/doc/white_paper_v_1_0.pdf adresinde mevcuttur

1.4 Terminoloji

Adres/Cüzdan TRON ağındaki hesap kimlik bilgilerinden oluşan bir adres veya cüzdan, bir kişi tarafından oluşturulur. bir özel anahtar ve bir genel anahtardan oluşan anahtar çifti; ikincisi birincisinden türetilir bir algoritma aracılığıyla. Genel anahtar genellikle oturum anahtarı şifrelemesi, imza için kullanılır. doğrulama ve ilgili özel anahtarla şifresi çözülebilecek verilerin şifrelenmesi.

Abi Uygulama ikili arayüzü (ABI), iki ikili program modülü arasındaki bir arayüzdür; genellikle Bu modüllerden biri bir kütüphane veya işletim sistemi tesisi, diğeri ise kullanıcı tarafından çalıştırılan bir modüldür. programı.

API'si Bir uygulama programlama arayüzü (API) esas olarak kullanıcı istemcilerinin geliştirilmesi için kullanılır. API'li destek, token düzenleme platformları geliştiricilerin kendileri tarafından da tasarlanabilir.

Varlık TRON'nin belgelerinde varlık, TRC-10 token olarak da gösterilen token ile aynıdır.

Bant Genişliği Noktaları (BP) Ağın sorunsuz çalışmasını sağlamak için, TRON ağ işlemleri yakıt olarak BP'yi kullanır. Her hesap 5000 ücretsiz günlük BP alır ve daha fazlası, BP için TRX'i dondurarak elde edilebilir. Hem TRX hem de TRC-10 token transferler BP'ye mal olan normal işlemlerdir. Akıllı sözleşme dağıtımı ve yürütülmesi işlemler hem BP hem de Enerji tüketir.

Blok Bloklar işlemlerin dijital kayıtlarını içerir. Tam bir blok sihirli sayıdan oluşur, blok boyutu, blok başlığı, işlem sayacı ve işlem verileri.

Ödülü Engelle Blok üretim ödülleri bir alt hesaba (adres/cüzdan) gönderilir. Süper Temsilciler şunları yapabilir: ödüllerini Tronscan'den veya doğrudan API aracılığıyla talep edebilirsiniz.

Blok Başlığı Bir blok başlığı bir bloğun parçasıdır. TRON blok başlıkları önceki bloğun hash öğesini içerir, Merkle kökü, zaman damgası, sürüm ve tanık adresi.Soğuk Cüzdan Çevrimdışı cüzdan olarak da bilinen soğuk cüzdan, özel anahtarın herhangi bir cihazla bağlantısının tamamen kesilmesini sağlar. ağ. Soğuk cüzdanlar genellikle "soğuk" cihazlara (örneğin bilgisayarlar veya cep telefonları) yüklenir. TRX özel anahtarının güvenliğini sağlamak için çevrimdışı kalmak).

DUygulaması Merkezi Olmayan Uygulama, merkezi olarak güvenilen bir taraf olmadan çalışan bir Uygulamadır. Bir uygulama Son kullanıcılar ve/veya kaynaklar arasında doğrudan etkileşimi/anlaşmaları/iletişimi mümkün kılan aracı olmadan.

gRPC gRPC (gRPC Uzaktan Prosedür Çağrıları), açık kaynaklı bir uzaktan prosedür çağrısı (RPC) sistemidir 2 başlangıçta Google'da geliştirildi. Aktarım için HTTP/2'yi, arayüz olarak Protokol Tamponlarını kullanır açıklama dili ve kimlik doğrulama, çift yönlü akış ve akış gibi özellikler sağlar kontrol, engelleme veya engellemeyen bağlamalar ve iptal ve zaman aşımları. Üretir Birçok dil için platformlar arası istemci ve sunucu bağlantıları. En yaygın kullanım senaryoları mikro hizmet tarzı mimarideki bağlantı hizmetlerini ve mobil cihazların bağlanmasını içerir ve tarayıcı istemcilerinden arka uç hizmetlerine.

Sıcak Cüzdan Çevrimiçi cüzdan olarak da bilinen sıcak cüzdan, kullanıcının özel anahtarının çevrimiçi olarak kullanılmasına olanak tanır. potansiyel güvenlik açıklarına veya kötü niyetli aktörlerin müdahalesine karşı hassastır.

JDK Java Geliştirme Kiti, Java uygulamaları için kullanılan Java SDK'dır. Java'nın çekirdeğidir Java uygulama ortamını (JVM+Java sınıf kitaplığı) ve Java'yı içeren geliştirme araçlar.

KhaosDB TRON tam düğüm belleğinde, oluşturulan tüm yeni çatallanmış zincirleri saklayabilen bir KhaosDB'ye sahiptir belirli bir süre içerisinde tanıkların kendi aktif zincirlerinden hızlı bir şekilde geçiş yapmalarına destek olur yeni bir ana zincire dönüşür. Daha fazla ayrıntı için bkz. 2.2.2 Durum Depolama.

SeviyeDB LevelDB başlangıçta hızlı R/W ve hızlı veri gereksinimlerini karşılamak amacıyla benimsendi. gelişme. Ana Ağı başlattıktan sonra TRON veritabanını tamamen özelleştirilmiş bir sürüme yükseltti biri kendi ihtiyaçlarını karşılıyordu. Daha fazla ayrıntı için bkz. 2.2.1 Blok Zinciri Depolama.

Merkle Kökü Merkle kökü, blockchain içindeki bir bloğun parçası olarak dahil edilen tüm işlemlerin hash'larının hash'sidir. ağ. Daha fazla ayrıntı için 3.1 Yetki Verilen Hisse Kanıtı'na (DPoS) bakın. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Herkese Açık Test Ağı (Shasta) Ağın tek düğümlü yapılandırmada çalışan bir sürümü. Geliştiriciler bağlanıp test edebilir Ekonomik kayıp konusunda endişelenmeden özellikler. Testnet token'lerin hiçbir değeri yoktur ve herkes bunu yapabilir halka açık musluktan daha fazlasını isteyin.

RPC
3 Dağıtılmış hesaplamada, uzaktan prosedür çağrısı (RPC), bir bilgisayar programının bir soruna neden olduğu zamandır. farklı bir adres alanında (genellikle başka bir bilgisayarda) yürütülecek prosedür (alt program) normal (yerel) bir prosedür çağrısıymış gibi kodlanan, paylaşılan bir ağ programcı uzaktan etkileşimin ayrıntılarını açıkça kodluyor.

Ölçeklenebilirlik Ölçeklenebilirlik, TRON Protokolünün bir özelliğidir. Bir sistemin, ağın veya sürecin, Artan miktardaki işin üstesinden gelmek veya bu büyümeye uyum sağlayacak şekilde genişletilme potansiyeli.

GÜNEŞ SUN, TRX'in en küçük birimi olarak drop'un yerini aldı. 1 TRX = 1.000.000 PAZAR.

Verim Yüksek verim, TRON Mainnet'in bir özelliğidir. Saniyedeki İşlem Sayısı (TPS) cinsinden ölçülür, yani bir saniyedeki maksimum işlem kapasitesi.

Zaman damgası Blok üretiminin yaklaşık süresi, Unix zaman damgası olarak kaydedilir; 01 Ocak 1970 UTC 00:00:00'dan bu yana geçen milisaniye.

TKC Jeton yapılandırması.

TRC-10 TRON platformunda token kripto standardı. Uyulması gereken belirli kurallar ve arayüzler vardır TRON blockchain tarihinde ilk para arzını tutarken.

TRX TRX, TRON resmi kripto para birimi olan Tronix'i temsil eder.

3 https://en.wikipedia.org/wiki/Remote_procedure_call

アーキテクチャ

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

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

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

2.1 コア

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

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

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

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

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

2.4 プロトコル

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

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

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

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

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

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

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

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

6 Bancor プロトコルの公式 Web サイト: https://about.bancor.network/protocol/

Mimari

TRON, Depolama Katmanı, Çekirdek Katmanı ve Uygulama Katmanı'na bölünmüş 3 katmanlı bir mimariyi benimser. TRON protokolü, doğası gereği çoklu dili destekleyen Google Protobuf'a uygundur Uzantı.

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

Şekil 1: TRON 3 Katmanlı Mimari

2.1 Çekirdek

Çekirdek katmanda smart contracts, hesap yönetimi ve fikir birliği. TRON üzerinde yığın tabanlı bir sanal makine ve optimize edilmiş bir talimat uygulandı seti kullanılır. DApp geliştiricilerini daha iyi desteklemek amacıyla Solidity smart contract olarak seçildi 4 dil ve ardından diğer gelişmiş dillerin gelecekte desteklenmesi gelecektir. Ayrıca TRON'nin fikir birliği mekanizma, Yetki Verilen Hisse Kanıtı'na (DPoS) dayanmaktadır ve birçok yenilik yapılmıştır. benzersiz gereksinimlerini karşılamak için. 2.2 Depolama

TRON, Blok Depolama ve Durumdan oluşan benzersiz bir dağıtılmış depolama protokolü tasarladı Depolama. Grafik veritabanı kavramı, depolama katmanının tasarımına dahil edildi. gerçek dünyada çeşitlendirilmiş veri depolama ihtiyacını daha iyi karşılar. 2.2.1 Blok Zinciri Depolaması

TRON blockchain depolama, Google tarafından geliştirilen ve kanıtlanmış LevelDB'yi kullanmayı tercih ediyor birçok şirket ve projede başarılı oldu. Yüksek performansa sahiptir ve isteğe bağlı baytı destekler hem anahtar hem de değer olarak diziler, tekil alma, koyma ve silme, toplu koyma ve silme, çift yönlü yineleyiciler ve çok hızlı Snappy algoritmasını kullanarak basit sıkıştırma. 2.2.2 Durum Depolama

TRON, tam düğüm belleğinde, oluşturulan tüm yeni çatallanmış zincirleri saklayabilen bir KhaosDB'ye sahiptir belirli bir süre içerisinde tanıkların kendi aktif zincirlerinden hızlı bir şekilde geçiş yapmalarına destek olur yeni bir ana zincire dönüşür. Ayrıca blockchain depolama alanını, bozulmaya karşı daha kararlı hale getirerek koruyabilir bir ara durumda anormal şekilde sonlanıyor. 2.3 Uygulama

Geliştiriciler TRON üzerinde çok çeşitli DApp'ler ve özelleştirilmiş cüzdanlar oluşturabilirler. TRON tarihinden beri smart contracts'nin konuşlandırılmasına ve yürütülmesine olanak tanır, yardımcı program uygulamalarının fırsatları sınırsız. 4 Solidity'nin resmi belgeleri: https://solidity.readthedocs.io/

2.4 Protokol

TRON protokolü, dilden bağımsız, platformdan bağımsız bir Google Protokol Arabelleklerine uygundur. 5 ve iletişim protokollerinde, veri depolamada kullanılmak üzere yapılandırılmış verileri serileştirmenin genişletilebilir yolu, ve daha fazlası. 2.4.1 Protokol Tamponları

Protokol Tamponları (Protobuf), yapılandırılmış serileştirmeye yönelik esnek, verimli, otomatik bir mekanizmadır JSON veya XML'e benzer ancak çok daha küçük, daha hızlı ve daha basit veriler.

Protobuf (.proto) tanımları C++, Java, C#, Python, Ruby için kod üretmek amacıyla kullanılabilir. Golang ve Objective-C dilleri resmi kod oluşturucular aracılığıyla. Çeşitli üçüncü taraf diğer birçok dil için de uygulamalar mevcuttur. Protobuf geliştirmeyi kolaylaştırıyor API tanımlarını birleştirerek ve ayrıca veri aktarımlarını optimize ederek istemciler. Müşteriler API'yi alabilir TRON'nin protokol deposundan .proto alın ve otomatik olarak oluşturulan kod aracılığıyla entegre edin kütüphaneler.

Karşılaştırma yapmak gerekirse, Protokol Tamponları XML'den 3 ila 10 kat daha küçük ve 20 ila 100 kat daha hızlıdır. daha az belirsiz sözdizimi ile. Protobuf, kullanımı daha kolay veri erişim sınıfları oluşturur programlı olarak. 2.4.2 HTTP

TRON Protokolü, Protobuf API'sine alternatif bir RESTful HTTP API'si sağlar. Aynı şeyi paylaşıyorlar arayüz ancak HTTP API, javascript istemcilerinde kolaylıkla kullanılabilir. 2.5 TRON Sanal Makine (TVM)

TVM, TRON ekosistemi için geliştirilmiş hafif, Turing eksiksiz bir sanal makinedir. TVM, milyonlarca küresel destek sağlamak için mevcut geliştirme ekosistemine sorunsuz bir şekilde bağlanıyor verimli, kullanışlı, istikrarlı, güvenli ve özel olarak oluşturulmuş bir blockchain sistemine sahip geliştiriciler ölçeklenebilir.
2.6 Merkezi Olmayan Borsa (DEX)

5 Google Protokol Tamponları resmi belgeleri: https://developers.google.com/protocol-buffers/TRON ağı yerel olarak merkezi olmayan değişim işlevlerini destekler. Merkezi olmayan bir borsa birden fazla işlem çiftinden oluşur. Bir işlem çifti (“Borsa” notasyonu) bir Borsa Piyasasıdır TRC-10 tokens arasında veya TRC-10 token ve TRX arasında. Herhangi bir hesap bir ticaret oluşturabilir aynı çift TRON ağında zaten mevcut olsa bile herhangi bir token arasında çift oluşturabilirsiniz. Ticaret ve işlem çiftlerindeki fiyat dalgalanmaları Bancor Protokolünü takip eder. TRON ağı şunu şart koşuyor: 6 tüm işlem çiftlerindeki iki token'nin ağırlıkları eşittir, dolayısıyla bakiyelerinin oranı fiyattır aralarında. Örneğin, iki tokens, ABC ve DEF içeren bir işlem çiftini düşünün. ABC'nin sahip olduğu bakiyesi 10 milyon, DEF'in bakiyesi ise 1 milyondur. Ağırlıkları eşit olduğundan 10 ABC = 1DEF. Bu, ABC'nin DEF'e oranının DEF başına 10 ABC olduğu anlamına gelir. 2.7 Uygulama

TRON blockchain kodu Java'da uygulanmıştır ve orijinal olarak EthereumJ'den gelen bir çataldır.

6 Bancor Protokolü resmi web sitesi: https://about.bancor.network/protocol/

コンセンサス

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 も提供します。

Konsensüs

3.1 Yetki Verilen Hisse Kanıtı (DPoS)

En eski fikir birliği mekanizması, İş Kanıtı (PoW) fikir birliği mekanizmasıdır. Bu protokol şu anda Bitcoin ve Ethereum'de uygulanmaktadır. PoW sistemlerinde işlemler 7 8 Ağ üzerinden yapılan yayınlar, madenci onayı için yeni oluşan bloklar halinde gruplandırılır. onay süreci, kriptografik hashing algoritmalarını kullanarak hashing işlemlerini içerir. Merkle köküne ulaşıldı ve bir merkle ağacı oluşturuldu:

Şekil 2: 8 TRX işlemi merkle köküne hashişlenmiştir. Bu merkle kökü daha sonra blok başlığına dahil edilir. blockchain oluşturmak için önceden onaylanmış bloklara eklenir. Bu, kolay ve şeffaf bir şekilde takip edilmesini sağlar. işlemler, zaman damgaları ve diğer ilgili bilgiler.

7 Bitcoin teknik inceleme: https://bitcoin.org/bitcoin.pdf 8 Ethereum teknik inceleme: https://github.com/ethereum/wiki/wiki/White-Paper

Kriptografik hashing algoritmaları, ağ saldırılarının önlenmesinde faydalıdır çünkü birkaç özellik:
9

● Giriş/Çıkış uzunluğu boyutu - Algoritma herhangi bir uzunluktaki girişi geçebilir ve sabit uzunluklu bir hash değeri verir.
● Verimlilik - Algoritmanın hesaplanması nispeten kolay ve hızlıdır.
● Öngörüntü direnci​ - Belirli bir z çıkışı için herhangi bir x girişi bulmak imkansızdır; h(x) =​ ​z​. Başka bir deyişle, hashing algoritması ​h(x)​ tek yönlü bir fonksiyondur ve burada yalnızca Bir girdi verildiğinde çıktı bulunabilir. Bunun tersi mümkün değildir.
● Çarpışma direnci - h(x​1​) olacak şekilde herhangi bir x​1 ​≠ x​2​ çiftini bulmak hesaplama açısından mümkün değildir. = h(x​2​)​. Başka bir deyişle, aynı hashing iki farklı giriş bulma olasılığı çıktı son derece düşüktür. Bu özellik aynı zamanda ikinci ön görüntü direncini de ifade eder.
● İkinci ön görüntü direnci​ - Verilen x​1​ ve dolayısıyla ​h(x​1​)​, hesaplama açısından mümkün değildir h(x​1​) = h(x​2​)​ olacak herhangi bir x​2​ bulun. Bu özellik çarpışma direncine benzer olsa da, özelliği, belirli bir x​1​ değerine sahip bir saldırganın onu hesaplamalı olarak bulacağını söylemesi bakımından farklılık gösterir aynı çıktıya yönelik herhangi bir ​x​2​ hashing bulmak mümkün değil.
● Deterministik – her girdiyi tek ve yalnızca bir çıktıyla eşler. ● Avalanche etkisi​ - girdideki küçük bir değişiklik tamamen farklı bir çıktıyla sonuçlanır.

Bu özellikler, saldırıların engellenmesini sağlayarak kripto para birimi ağına gerçek değerini verir. ağı tehlikeye atmak. Madenciler bir bloğu onayladığında, yerleşik olarak tokens ile ödüllendirilirler. Ağ katılımı için teşvik. Ancak küresel kripto para birimi piyasası kapitalizasyonu arttıkça istikrarlı bir şekilde arttı, madenciler merkezileşti ve bilgi işlem kaynaklarını token'leri ağa katılım amaçları yerine varlık olarak biriktirmek. CPU madencileri yol verdi GPU'lar yerini güçlü ASIC'lere bıraktı. Önemli bir çalışmada toplam güç Bitcoin madencilik tüketiminin İrlanda'nınkiyle kıyaslandığında 3 GW kadar yüksek olduğu tahmin ediliyor 10 güç tüketimi. Aynı çalışma, toplam güç tüketiminin yakın gelecekte 8 GW'a ulaşacağını öngördü. gelecek.

Enerji israfı sorununu çözmek için Proof of Stake (PoS) fikir birliği mekanizması önerildi. birçok yeni ağ. PoS ağlarında, token sahipleri blok haline gelmek için token bakiyelerini kilitler validators. validator'lar bir sonraki blokta sırayla teklifte bulunur ve oy verir. Ancak sorun standart PoS ile validator etkisinin, kilitlenen token miktarıyla doğrudan ilişkili olmasıdır. Bu, tarafların ağın temel para biriminin büyük miktarlarını gereksiz yere kullanarak istiflemelerine neden olur ağ ekosistemindeki etkisi.

TRON fikir birliği mekanizması yenilikçi bir Yetkilendirilmiş Hisse Kanıtı sistemi kullanır; Süper Temsilciler (SR'ler) ağ için bloklar üretir. TRX hesap sahipleri her 6 saatte bir hesaplarını donduranlar, ilk 27 adayın yer aldığı bir dizi SR adayına oy verebilir SR'ler olarak kabul edildi. Seçmenler, SR'lerin sponsor olduğu projeler gibi kriterlere dayalı olarak SR'leri seçebilirler. 9 PAAR, C., PELZL, J., ​Kriptografiyi Anlamak: Öğrenciler ve Uygulayıcılar için Bir Ders Kitabı​, 2010 ed. Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776TRX'in benimsenmesini ve seçmenlere dağıtılan ödülleri artırın. Bu, daha demokratik ve merkezi olmayan ekosistem. SR'lerin hesapları normal hesaplardır ancak oy birikimleri blok üretmelerine olanak sağlar. Bitcoin ve Ethereum gibi düşük aktarım hızları nedeniyle PoW mutabakat mekanizması ve ölçeklenebilirlik sorunları, TRON'nin DPoS sistemi yenilikçi bir çözüm sunuyor Bitcoin'nın 3 TPS ve Ethereum'nin 15 TPS'sine kıyasla 2000 TPS ile sonuçlanan mekanizma.

TRON protokol ağı her üç saniyede bir blok üretir ve her blok 32 puan verir. TRX'ten Süper Temsilcilere. 27 SR'ye yıllık toplam 336.384.000 TRX verilecek. Bir SR blok üretimini her tamamladığında, ödüller süper defterdeki bir alt hesaba gönderilir. SR'ler kontrol edebilir ancak bu TRX token'leri doğrudan kullanamaz. Her biri tarafından para çekme işlemi yapılabilir 24 saatte bir SR, ödüllerin alt hesaptan belirtilen SR'ye aktarılması hesap.

TRON ağındaki üç düğüm türü Tanık Düğümü, Tam Düğümü ve Sağlamlık Düğümü'dür. Tanık düğümler SR'ler tarafından kurulur ve esas olarak blok üretimi ve tekliften sorumludur oluşturma/oylama. Tam düğümler, API'ler ve yayın işlemleri ve blokları sağlar. Sağlamlık düğümleri senkronizasyonu diğer Tam Düğümlerden bloklar oluşturur ve ayrıca dizine eklenebilir API'ler sağlar.

アカウント

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

Hesap

4.1 Türler

TRON ağındaki üç hesap türü; normal hesaplar, token hesaplar ve sözleşme hesapları

1. Standart işlemler için normal hesaplar kullanılır.
2. Token hesapları TRC-10 token'leri depolamak için kullanılır.
3. Sözleşme hesapları, normal hesaplar tarafından oluşturulan smart contract hesaplardır ve normal hesaplar tarafından da tetiklenir. 4.2 Yaratılış

TRON hesabı oluşturmanın üç yolu vardır:

1. API aracılığıyla yeni bir hesap oluşturun 2. TRX'i yeni bir hesap adresine aktarın 3. Herhangi bir TRC-10 token'yi yeni bir hesap adresine aktarın

Bir adres (genel anahtar) ve bir özel anahtardan oluşan ve kuruluş tarafından kaydedilmeyen bir çevrimdışı anahtar çifti. TRON ağı da oluşturulabilir. Kullanıcı adresi oluşturma algoritması aşağıdakilerden oluşur: bir anahtar çifti oluşturmak ve ardından genel anahtarı çıkarmak (x, y'yi temsil eden 64 baytlık bayt dizisi) koordinatlar). SHA3-256 işlevini kullanarak genel anahtarı karma hale getirin (benimsenen SHA3 protokolü KECCAK-256) ve sonucun son 20 baytını çıkartın. Bayt dizisinin başına 41 ekleyin ve ilk adres uzunluğunun 21 bayt olduğundan emin olun. SHA3-256 işlevini kullanarak adresi iki kez karmalayın ve ilk 4 baytı doğrulama kodu olarak alın. Doğrulama kodunu ilk satırın sonuna ekleyin adresine gidin ve adresi base58 kodlaması yoluyla base58check formatında edinin. Kodlanmış Ana ağ adresi T ile başlar ve 34 byte uzunluğundadır. 4.3 Yapı

Üç farklı hesap türü Normal, AssetIssue ve Contract'tır. Bir Hesap 7 içerir parametreler:

1. hesap_adı​: bu hesabın adı – ör. Fatura Hesabı.
2. tür​: bu hesabın türü – ör. 0 ("Normal" tipi anlamına gelir).
3. bakiye: bu hesabın bakiyesi – ör. 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 生データ

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

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

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

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

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

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

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

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

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

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

5.2.3 料金

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

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

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

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

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

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

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

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

Blok

Bir blok genellikle bir blok başlığı ve birkaç işlem içerir.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Blok Başlığı

Bir blok başlığı, ​raw_data​, ​witness_signature​ ve ​blockID​ içerir.

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 Ham Veri

Ham veriler Protobuf'ta ​raw_data​ olarak gösterilir. 6 içeren bir mesajın ham verilerini içerir. parametreler:

1. zaman damgası​: bu mesajın zaman damgası – ör. 1543884429000. 2. txTrieRoot​: Merkle Ağacının Kökü – ör. 7dacsa…3ed. 3. parentHash​: son bloğun hash değeri – ör. 7dacsa…3ed. 4. sayı​: blok yüksekliği – ör. 4638708. 5. sürüm​: ayrılmış – ör. 5.

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

6. tanık_adresi​: bu blokta paketlenmiş tanığın adresi – ör. 41928c...4d21. 5.1.2 Tanık İmzası

Tanık imzası, bunun imzası olan Protobuf'ta ​witness_signature​ olarak belirtilir. tanık düğümünden blok başlığı. 5.1.3 Blok Kimliği

Block ID, Protobuf'ta ​blockID​ olarak belirtilir. Bir bloğun atomik kimliğini içerir. Bir Blok Kimlik 2 parametre içerir: 1. hash​: bloğun hash'si. 2. sayı​: hash ve bloğun yüksekliği. 5.2 İşlem 5.2.1 İmzalama

TRON'nin işlem imzalama süreci, standart bir ECDSA şifreleme algoritmasını izler. SECP256K1 seçim eğrisi. Özel anahtar rastgele bir sayıdır ve genel anahtar ise üzerinde bir noktadır. eliptik eğri. Açık anahtar oluşturma süreci ilk olarak rastgele bir sayının üretilmesinden oluşur. özel anahtarı elde etmek için eliptik eğrinin taban noktası özel anahtarla çarpılır. ortak anahtar. Bir işlem gerçekleştiğinde, işlem ham verileri ilk olarak bayt formatına dönüştürülür. Ham veriler daha sonra SHA-256 hashing işlemine tabi tutulur. Sözleşmeye karşılık gelen özel anahtar adresi daha sonra SHA256 hash sonucunu imzalar. Daha sonra imza sonucu şuna eklenir: işlem.
5.2.2 Bant Genişliği Modeli

Sıradan işlemler yalnızca bant genişliği noktalarını tüketir, ancak smart contract işlemleri her ikisini de tüketir enerji ve bant genişliği noktaları. İki tür bant genişliği noktası mevcuttur. Kullanıcılar kazanabilir TRX'in donmasından bant genişliği noktalarının yanı sıra günlük 5000 ücretsiz bant genişliği noktası da mevcuttur.

Bir TRX işlemi yayınlandığında, bir bayt dizisi biçiminde iletilir ve saklanır. ağ. Bir işlem tarafından tüketilen Bant Genişliği Puanları = işlem baytlarının sayısı bant genişliği puan oranıyla çarpılır. Örneğin bir işlemin bayt dizisi uzunluğu 200 ise, daha sonra işlem 200 bant genişliği puanı tüketir. Ancak bir TRX veya token aktarımı aşağıdakilerle sonuçlanırsa oluşturulan hedef hesap, ardından yalnızca hesabı oluşturmak için tüketilen bant genişliği noktaları düşülecek ve ek bant genişliği puanları düşülmeyecektir. Hesap oluşturmada senaryoda, ağ öncelikle işlem başlatıcısının kazandığı bant genişliği noktalarını tüketecektir.TRX'in dondurulmasından. Bu miktar yetersizse ağ işlemi tüketir başlatıcının TRX'i.

Bir TRX hesabından diğerine standart TRX aktarım senaryolarında ağ öncelikle TRX'i dondurmak için işlem başlatıcısı tarafından kazanılan bant genişliği puanları. Eğer bu yeterli değilse o zaman Ücretsiz 5000 günlük bant genişliği noktasından tüketir. Bu hala yeterli değilse, ağ İşlem başlatıcının TRX'ini tüketir. Tutar, bayt sayısına göre hesaplanır. işlem 10 PAZAR ile çarpılır. Bu nedenle, mutlaka dondurulması gerekmeyen çoğu TRX sahibi için TRX'lerinin SR oylamasına katılması durumunda ilk adım otomatik olarak atlanır (TRX bakiyesi dondurulmuş = 0) ve 5000 günlük ücretsiz bant genişliği işleme güç verir.

TRC-10 token aktarımları için, ağ öncelikle toplam boş bant genişliği noktalarının olup olmadığını doğrular. verilen token varlık yeterlidir. Değilse, TRX'in dondurulmasından elde edilen bant genişliği noktaları tüketildi. Hala yeterli bant genişliği noktası yoksa işlemin TRX'ini tüketir başlatıcı.

5.2.3 Ücret

TRON ağı genellikle çoğu işlem için ücret almaz, ancak sistem nedeniyle kısıtlamalar ve adalet, bant genişliği kullanımı ve işlemler belirli ücretler gerektirir.

Ücret ücretleri aşağıdaki kategorilere ayrılmıştır: 1. Normal işlemler bant genişliği puanlarına mal olur. Kullanıcılar ücretsiz günlük bant genişliği noktalarını kullanabilir (5000) veya daha fazlasını elde etmek için TRX'i dondurun. Bant genişliği noktaları yeterli olmadığında TRX doğrudan gönderen hesaptan kullanılır. İhtiyaç duyulan TRX bayt sayısı * 10 SUN'dur. 2. Akıllı sözleşmeler enerjiye mal olur (Bölüm 6), ancak aynı zamanda bant genişliği noktalarına da ihtiyaç duyacaktır. işlemin yayınlanması ve onaylanması. Bant genişliği maliyeti yukarıdakiyle aynıdır. 3. Tüm sorgulama işlemleri ücretsizdir. Enerjiye veya bant genişliğine mal olmaz.

TRON ağı ayrıca aşağıdaki işlemler için bir dizi sabit ücret tanımlar: 1. Tanık düğümü oluşturma: 9999 TRX 2. TRC-10 token verilmesi: 1024 TRX 3. Yeni bir hesap oluşturma: 0,1 TRX 4. Değişim çifti oluşturma: 1024 TRX 5.2.4 Hisse Kanıtı Olarak İşlem (TaPoS)

TRON, tüm işlemlerin ana blockchain doğrulamasını sağlamak için TaPoS'u kullanıyor sahte zincirler oluşturmak zordur. TaPoS'ta ağlar, her işlemin bir kısmını içermesini gerektirir. son blok başlığının hash'si. Bu gereksinim, işlemlerin tekrar oynatılmasını engeller. başvurulan bloğu içermeyen çatallar ve aynı zamanda belirli bir kullanıcının ve onunhisseler belirli bir çatal üzerindedir. Bu fikir birliği mekanizması ağı Reddedilmeye karşı korur Hizmet, %51, bencil madencilik ve çift harcama saldırıları.
5.2.5 İşlem Onayı

Bir işlem, ağa yayınlandıktan sonra gelecekteki bir bloğa dahil edilir. 19 blok tamamlandıktan sonra TRON tarihinde kazılmış (kendi bloğu dahil), işlem onaylanmıştır. Her blok tarafından üretilir dönüşümlü olarak en iyi 27 Süper Temsilciden biri. Her bloğun tamamlanması ~3 saniye sürer blockchain üzerinde çıkarılacak. Ağ nedeniyle her Süper Temsilci için süre biraz değişebilir koşullar ve makine konfigürasyonları. Genel olarak, bir işlem şu tarihten sonra tamamen onaylanmış sayılır: ~1 dakika. 5.2.6 Yapı

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

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

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

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

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

図 3: TVM ワークフロー

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

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

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

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

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

TRON Sanal Makine

6.1 Giriş

TRON Sanal Makine (TVM), aşağıdakiler için geliştirilmiş hafif, Turing eksiksiz bir sanal makinedir TRON'in ekosistemi. Amacı, verimli, özel olarak oluşturulmuş bir blockchain sistemi sağlamaktır. kullanışlı, istikrarlı, güvenli ve ölçeklenebilir.

TVM başlangıçta EVM'den çatallanmıştır ve mevcut sağlamlık smart contract ile sorunsuz bir şekilde bağlantı kurabilir 11 kalkınma ekosistemi. Buna dayanarak TVM ayrıca DPoS fikir birliğini de destekler.

TVM Enerji kavramını kullanır. EVM üzerindeki Gaz mekanizmasından farklı olarak, TVM'deki işlemler ve smart contract'ler ücretsizdir ve TRX kullanılmaz. Teknik olarak yürütülebilir TVM'deki hesaplama kapasitesi tokens tutarındaki toplam tutma miktarıyla sınırlı değildir. 6.2 İş Akışı

Derleyici ilk olarak Solidity smart contract'yi okunabilir ve yürütülebilir bayt koduna çevirir. TVM. TVM daha sonra verileri, mantığı çalıştırmaya eşdeğer olan işlem kodu aracılığıyla işler. yığın tabanlı sonlu durum makinesinin Son olarak TVM, blockchain verilerine erişir ve Birlikte Çalışma katmanı aracılığıyla Harici Veri Arayüzü. 11 EVM: Ethereum Sanal Makine (https://github.com/ethereum/ethereumj)

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

Şekil 3: TVM İş Akışı

6.3 Performans 6.3.1 Hafif Mimari

TVM, garanti etmek için kaynak tüketimini azaltmak amacıyla hafif bir mimariyi benimsiyor sistem performansı. 6.3.2 Sağlam

TRX aktarımları ve smart contract yürütmesi, TRX yerine yalnızca bant genişliği puanlarına mal olur; TRON adlı kişiyi saldırıya uğramaktan muaf tutar. Bant genişliği tüketimi tahmin edilebilir ve statiktir, çünkü her hesaplama adımı maliyeti sabittir. 6.3.3 Yüksek Uyumluluk

TVM, EVM ile uyumludur ve gelecekte daha yaygın VM'lerle uyumlu olacaktır. Dolayısıyla, EVM üzerindeki tüm smart contract'ler TVM'de yürütülebilir. 6.3.4 Düşük Maliyet

TVM'nin bant genişliği kurulumu sayesinde geliştirme maliyetleri azalır ve geliştiriciler sözleşme kodlarının mantıksal gelişimi. TVM ayrıca sözleşme için hepsi bir arada arayüzler sunar Geliştiricilere kolaylık sağlamak için dağıtım, tetikleme ve görüntüleme.

スマートコントラクト

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 命令付き。

Akıllı Sözleşme

7.1 Giriş

smart contract, sözleşme görüşmelerini dijital olarak doğrulayan bir protokoldür. Kuralları belirlerler ve Bir anlaşmayla ilgili cezalar ve ayrıca bu yükümlülüklerin otomatik olarak uygulanması. Akıllı sözleşme kodu, bir anlaşmanın müzakere edilmesini veya yerine getirilmesini kolaylaştırır, doğrular ve uygular veya işlem. tokenizasyon perspektifinden bakıldığında, smart contract'ler aynı zamanda otomatik fonlamayı da kolaylaştırır Katılımcı taraflar arasındaki transferlerin belirli kriterlerin karşılanması gerekmektedir.

TRON smart contract'ler Solidity dilinde yazılmıştır. Yazıldıktan ve test edildikten sonra, bunlar bayt kodu halinde derlendi, ardından TRON Sanal Makine için TRON ağına dağıtıldı. Bir kez dağıtıldığında, smart contract'ler sözleşme adresleri aracılığıyla sorgulanabilir. Sözleşme Başvurusu İkili Arayüz (ABI), sözleşmenin çağrı işlevlerini gösterir ve sözleşmeyle etkileşimde bulunmak için kullanılır. ağ. 7.2 Enerji Modeli

smart contract'yi dağıtmak ve tetiklemek için maksimum enerji sınırı birkaç fonksiyonun bir fonksiyonudur değişkenler:

● 1 TRX'in donmasından kaynaklanan dinamik enerji 50.000.000.000 (Toplam Enerji Limiti) / (Toplam Enerji Ağırlık) ● Enerji limiti, TRX'in dondurulmasından kaynaklanan günlük hesap enerji limitidir ● TRX'in dondurulması sonucu kalan günlük hesap enerjisi, Enerji Limiti - Enerji olarak hesaplanır. Kullanılmış ● TRX'teki ücret sınırı smart contract konuşlandırma/tetikleme çağrısında ayarlanır ● Hesapta kalan kullanılabilir TRX ● Doğrudan satın alınırsa TRX başına enerji (10 SUN = 1 Enerji) = 100.000, SR'ler oy kullanabilir ayar

Dağıtım için maksimum enerji sınırını hesaplamak için iki tüketim senaryosu vardır ve tetikleyin. Mantık şu şekilde ifade edilebilir:
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 Dağıtım

Bir TRON sağlamlık smart contract derlendiğinde, TRON Sanal Makine derlenmiş olanı okur bayt kodu. Bayt kodu, kod dağıtımı, sözleşme kodu ve Yardımcı veriler için bir bölümden oluşur. Auxdata, doğrulama için kullanılan kaynak kodun kriptografik parmak izidir. Dağıtım bytecode yapıcı işlevini çalıştırır ve ilk depolama değişkenlerini ayarlar. Dağıtım kod aynı zamanda sözleşme kodunu da hesaplar ve TVM'ye geri gönderir. ABI bir JSON dosyasıdır. TRON smart contract'nin işlevlerini açıklar. Bu dosya fonksiyon adlarını, ödenebilirliklerini, işlevin dönüş değerleri ve bunların durum değişkenliği. 7.4 Tetikleme Fonksiyonu

TRON smart contract'ler konuşlandırıldıktan sonra işlevleri, aşağıdaki yollarla ayrı ayrı tetiklenebilir: TronStudio veya API çağrıları aracılığıyla. Durum değiştiren işlevler Enerji gerektirirken salt okunur işlevler Enerji olmadan çalıştırın. 7.5 TRON Sağlamlık

TRON Solidity, Ethereum'nin Solidity dilinden bir çataldır. TRON orijinal projeyi şu şekilde değiştirir: TRX ve SUN birimlerini destekler (1 TRX = 1.000.000 SUN). Dil sözdiziminin geri kalanı Sağlamlık ^0.4.24 ile uyumludur. Böylece Tron Sanal Makinesi (TVM) neredeyse %100 uyumludur EVM talimatlarıyla.

トークン

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 に移植されました。

Token

8.1 TRC-10 Jetonu

TRON ağında, her hesap 1024 TRX pahasına tokens düzenleyebilir. ​tokens'yi yayınlamak için, ihraççının bir token adını, toplam kapitalizasyonu, TRX döviz kurunu belirtmesi gerekir, dolaşım süresi, açıklama, web sitesi, hesap başına maksimum bant genişliği tüketimi, toplam bant genişliği tüketimi ve dondurulan token miktarı. Her token düzenlemesi de yapılandırılabilir her hesabın maksimum günlük token aktarım Bant Genişliği Puanı, tüm ağın maksimum günlük puanı token aktarım Bant Genişliği Noktaları, toplam token arzı, gün cinsinden kilitleme süresi ve toplam tutar tokens tanesi kilitlendi. 8.2 TRC-20 Jetonu

TRC-20, tokens'yi uygulayan smart contracts için kullanılan ve tokens tarafından desteklenen teknik bir standarttır. TRON Sanal Makine. ERC-20 ile tamamen uyumludur.

Arayüz aşağıdaki gibidir:
sözleşme​ TRC20Arayüz { ​fonksiyon​ ​totalSupply​()​​genel​​sabit​​​​​​ (uint); ​işlev​ ​balanceOf​(adres tokenOwner) ​genel​ ​sabit​ ​gelir​ (uint denge); ​işlev​ ​ödenek​(adres tokenSahip, adres harcayan) ​kamusal​ ​sabit geri dönüşler (kalan miktar); ​işlev​ ​transfer​(adres, uint tokens) ​genel​ dönüşler​ (bool başarısı); ​işlev​ ​onayla​(adres harcayan, uint tokens) ​genel​ dönüşler​ (bool başarı); ​işlev​ ​transferFrom​(adres gelen, adrese, uint tokens) ​public geri dönüşler (çok başarılı);

​olay​ ​Aktarım​(adres dizine eklendi, adres dizine eklendi, uint tokens); 
​olay​ ​Onay​(adres indekslendi tokenSahip, adres indekslendi harcama yapan kişi, uint

tokens); }

Geliştiricinin bakış açısına göre TRC-10 ile TRC-20 arasında birçok fark vardır. Bazıları Temel farklardan biri TRC-10 token'lere API'ler ve smart contract'ler tarafından erişilebilmesidir. TRC-20 tokens, arayüz özelleştirmesine izin verir ancak yalnızca smart contracts dahilinde erişilebilir.

Maliyet açısından bakıldığında, TRC-10 token'lerin işlem ücretleri 1000 kat daha düşüktür. TRC-20, ancak API aktarımları ve yatırmaları için bant genişliği maliyetleri taşır. Smart'ta transferler ve para yatırma TRC-10 tokens için yapılan sözleşmeler hem bant genişliğine hem de enerjiye mal olur.
8.3 Ötesi

TRON, Ethereum ile aynı Solidity sürümünü kullandığından, daha fazla token standardı kolaylıkla oluşturulabilir TRON adresine taşındı.

ガバナンス

9.1 スーパー代表 9.1.1 一般

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. DApp開発 10.1 API

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

10.2 ネットワーク

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

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

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

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

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

  1. 結論

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

Yönetişim

9.1 Süper Temsilci 9.1.1 Genel

TRON ağındaki her hesap başvurabilir ve Süper olma fırsatına sahip olabilir Temsilci (SR olarak gösterilir). Herkes SR adaylarına oy verebilir. İlk 27 aday arasında En çok oy alan SR'ler blok oluşturma hakkı ve yükümlülüğüne sahip olacak. Oylar her 6 saatte bir sayılır ve SR'ler buna göre değişir.

Kötü niyetli saldırıları önlemek için SR adayı olmanın bir maliyeti vardır. Başvururken, 9999 TRX, başvuranın hesabından yakılacaktır. Başarılı olduktan sonra bu hesap SR'ye katılabilir seçim. 9.1.2 Seçim

TRON Oy vermek için güç (TP olarak gösterilir) gereklidir ve TP miktarı seçmenin tercihine bağlıdır dondurulmuş varlıklar (TRX).

TP aşağıdaki şekilde hesaplanır:
TP Bant genişliği elde etmek için 1 TRX donduruldu 1 =

TRON ağındaki her hesap kendi SR'lerine oy verme hakkına sahiptir.

Sürümün yayınlanmasından sonra (dondurulmadan kaldırılır, 3 gün sonra kullanılabilir), kullanıcılar dondurulmuş varlıklara sahip olmayacak ve tüm varlıklarını kaybedecektir. Buna göre TP. Sonuç olarak, devam eden ve gelecek oylama turlarında tüm oylar geçersiz sayılacaktır. TRX oy vermek için tekrar donduruldu.

TRON ağının yalnızca en son oyları kaydettiğini, yani her yeni oyun önceki tüm oyları geçersiz kılacaktır. 9.1.3 Ödül a. Oy Ödülü

En iyi 127 adayın her turda güncellediği Aday Ödülü olarak da bilinir (6 saat) madenciliği yapılan 115.200 TRX'i paylaşacak. Ödül oy ağırlığına göre bölünecek her aday alır. Her yıl adaylara verilecek toplam ödül 168.192.000 TRX olacaktır. Tur başına toplam oy ödülü Neden her turda 115.200 TRX? 15, 00 TRX tur başına toplam oy ödülü (V R/tur) 1 2 =
VR/dönem = 16 T RX/blok × 20 blok/dak × 60 dakika/saat × 6 saat/dönem Uyarı: Bu, WITNESS_STANDBY_ALLOWANCE = 115.200 TRX ile ayarlanır. Dinamik ağ parametrelerine bakın. Yıllık toplam oy ödülü Neden her yıl 168.192.000 TRX? 168, 192, 000 T RX = yıllık toplam oy ödülü (V R/yıl) VR/yıl = 115, 200 T RX/tur × 4 tur/gün × 365 gün/yıl b. Ödülü Engelle Seçilen en iyi 27 adaya (SR) verilen Süper Temsilci Ödülü olarak da bilinir. Her turda (6 saat) kabaca 230.400 TRX çıkarılacak. Ödül eşit olarak paylaştırılacak 27 SR arasında (ağ hatası nedeniyle kaçırılan toplam ödül blokları hariç). Toplam 27 SR'ye yıllık olarak 336.384.000 TRX verilecek. Tur başına toplam blok ödülü Neden her turda 230.400 TRX? 230, 400 T RX = tur başına toplam blok ödülü (BR/tur) BR/tur = 32 T RX/blok × 20 blok/dak × 60 dakika/saat × 6 saat/tur Dikkat: Birim blok ödülü WITNESS_PAY_PER_BLOCK = 32 TRX ile belirlenir. Dinamik ağı görün parametreler. Yıllık toplam blok ödülü Neden her yıl 336.384.000 TRX? 336, 384, 000 T RX = yıllık toplam blok ödülü (BR/yıl) BR/yıl = 230, 400 T RX/tur × 4 tur/gün × 365 gün/yıl 1 Ocak 2021 1 Ocak 2021'den önce TRON ağında enflasyon olmayacak ve TRON DAO tüm blok ödüllerini ve aday ödüllerini bu tarihten önce verin. C. Ödül Hesaplama

SR ödül hesaplaması toplam ödül oy ödülü (V R) blok ödülü (BR) t =
+

R toplam VR V =
×
toplam oy SR adayının aldığı oylar
R

kaçırılan blok 2 B =
27 toplam BR – × 3
Not: Ödül, tur başına SR başına hesaplanır (6 saat)

  1. sıradan 127. sıraya kadar SR adayı ödül hesaplaması toplam ödül oy ödülü (V R) t =

R toplam VR V =
×
toplam oy SR adayının aldığı oylar
Not: Ödül, tur başına SR adayı başına hesaplanır (6 saat) 9.2 Komite 9.2.1 Genel

Komite, blok oluşturma gibi TRON dinamik ağ parametrelerini değiştirmek için kullanılır ödüller, işlem ücretleri vb. Komite mevcut turdaki 27 SR'den oluşur. Her bir SR tekliflerde bulunma ve oylama hakkına sahiptir. Bir öneri 19 veya daha fazla oy aldığında, onaylanacak ve yeni ağ parametreleri bir sonraki bakım döneminde (3 gün) uygulanacaktır. 9.2.2 Dinamik Ağ Parametreleri 0. MAINTENANCE_TIME_INTERVAL a. Açıklama
Bakım aralığı süresini ms cinsinden değiştirin. SR oy aralığı süresi olarak bilinir yuvarlak.
B. Örnek [6 * 3600 * 1000] ms - yani 6 saat. C. Aralık [3 * 27* 1000, 24 * 3600 * 1000] ms 1. ACCOUNT_UPGRADE_COST a. Açıklama SR hesabına başvuru maliyetini değiştirin. B. Örnek [9.999.000.000] SUN - yani 9.999 TRX. C. Aralık [0,100 000 000 000 000 000] PAZ 2. CREATE_ACCOUNT_FEE a. Açıklama Hesap oluşturma ücretini değiştirin.B. Örnek [100.000] SUN - 1 TRX'tir. C. Aralık [0,100 000 000 000 000 000] PAZ 3. TRANSACTION_FEE a. Açıklama Ekstra bant genişliği kazanmak için kullanılan ücret miktarını değiştirin. B. Örnek [10] SUN/bayt. C. Aralık [0,100 000 000 000 000 000] SUN/bayt 4. ASSET_ISSUE_FEE a. Açıklama Varlık ihraç ücretini değiştirin. B. Örnek [1024.000.000] SUN - yani 1024 TRX. C. Aralık [0,100 000 000 000 000 000] PAZ 5. WITNESS_PAY_PER_BLOCK a. Açıklama SR blok oluşturma ödülünü değiştirin. Birim blok ödülü olarak bilinir. B. Örnek [32.000.000] SUN - yani 32 TRX. C. Aralık [0,100 000 000 000 000 000] PAZ 6. WITNESS_STANDBY_ALLOWANCE a. Açıklama En iyi 127 SR adayına verilen ödülleri değiştirin. Toplam oy ödülü olarak bilinir tur başına. B. Örnek [115.200.000.000] PAZAR - ki bu 115.200 TRX'tir. C. Aralık [0,100 000 000 000 000 000] PAZ 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT a. Açıklama Hesap oluşturma maliyetini değiştirin. Elde etmek için dinamik ağ parametreleri #8'i birleştirin toplam hesap oluşturma maliyeti:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
Ç × Ç

b. Örnek [0] PAZ. C. Aralık [0,100 000 000 000 000 000] PAZ 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

a. Açıklama Hesap oluşturma maliyetini değiştirin. Elde etmek için dinamik ağ parametreleri #7'yi birleştirin toplam hesap oluşturma maliyeti:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
Ç × C

b. Örnek [1]. C. Aralık [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS a. Açıklama Tron Sanal Makinesini (TVM) açmak için. B. Örnek Doğru - 10/10/2018 23:47 UTC'den itibaren etkinleşecek ve geçerli olacak şekilde ayarlandı. C. Aralık Doğru/Yanlış 10. REMOVE_THE_POWER_OF_THE_GR a. Açıklama İlk GR oluşum oylarını kaldırın b. Örnek Doğru - 4/11/2018 08:46 UTC itibarıyla yürürlüğe girmiştir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez. 11. ENERGY_FEE a. Açıklama 1 enerji ücretini değiştirin. B. Örnek 20 PAZ. C. Aralık [0,100 000 000 000 000 000] PAZ 12. EXCHANGE_CREATE_FEE a. Açıklama Ticaret çifti oluşturma maliyetini değiştirin. Ticari sipariş oluşturmanın maliyeti olarak bilinir. B. Örnek [1.024.000.000] SUN - yani 1024 TRX. C. Aralık [0,100 000 000 000 000 000] PAZ 13. MAX_CPU_TIME_OF_ONE_TX a. Açıklama Bir işlemin maksimum yürütme süresini değiştirin. Zaman aşımı sınırı olarak bilinir bir işlem. B. Örnek 50 ms. C. Aralık

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME a. Açıklama Bir hesabın, hesap adını güncellemesine izin verme seçeneğini değiştirin.
B. Örnek Yanlış - Java-tron Odyssey v3.2'den önerilebilir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez. 15. ALLOW_SAME_TOKEN_NAME a. Açıklama Farklı token öğelerinin yinelenen ada sahip olmasına izin verecek şekilde doğrulamayı değiştirin.
B. Örnek Yanlış - Java-tron Odyssey v3.2'den önerilebilir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez. 16. ALLOW_DELEGATE_RESOURCE a. Açıklama token verilmesine izin verme doğrulamasını yinelenen bir adla değiştirin, böylece Uzun tamsayı veri türündeki token'nin tokenID'si tek atomik olabilir token'nin kimliği.
B. Örnek Yanlış - Java-tron Odyssey v3.2'den önerilebilir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez. 17.TOTAL_ENERGY_LIMIT a. Açıklama Tüm ağın toplam enerji limitini değiştirin. B. Örnek [50.000.000.000.000.000] SUN - 50.000.000.000 TRX'tir. C. Aralık [0,100,000,000,000,000,000] PAZAR 18. ALLOW_TVM_TRANSFER_TRC10 a. Açıklama smart contracts içinde TRC-10 token aktarımına izin verin. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, ALLOW_DELEGATE_RESOURCE tekliflerinin tümü teklif verilmeden önce onaylanmalıdır bu parametre değişir.
B. Örnek Yanlış - Java-tron Odyssey v3.2'den önerilebilir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez.9.2.3 Teklif Oluşturma

Yalnızca SR hesapları dinamik ağ parametrelerinde değişiklik önerme hakkına sahiptir. 9.2.4 Oy Önerisi

Bir öneriye yalnızca komite üyeleri (SR'ler) oy verebilir ve zamanında oy kullanmayan üye katılmıyorum olarak kabul edilecektir. Teklif, oluşturulduktan sonra 3 gün boyunca etkindir. Oy verebilir 3 günlük oylama süresi içerisinde değiştirilebilir veya geri alınabilir. Teklif, sürenin bitiminden sonra ya başarılı olur (19+ oy) ya da başarısız olur (ve biter). 9.2.5 Teklifi İptal Et

Teklif sahibi, teklifin yürürlüğe girmesinden önce teklifini iptal edebilir. 9.3 Yapı

SR'ler yeni oluşturulan blokların tanıklarıdır. Bir tanık 8 parametre içerir:
1. adres​: bu tanığın adresi – ör. 0xu82h…7237.
2. voteCount​: bu tanığın aldığı oyların sayısı – ör. 234234.
3. pubKey​: bu tanığın genel anahtarı – ör. 0xu82h…7237.
4. url​: bu tanığın URL'si – ör. https://www.noonetrust.com.
5. totalProduced: bu tanığın ürettiği blokların sayısı – ör. 2434.
6. totalMissed: bu tanığın kaçırdığı blok sayısı – ör. 7.
7. en sonBlockNum​: bloğun en son yüksekliği – ör. 4522. 8. isjobs: bir boole bayrağı.

Protobuf veri yapısı: mesaj ​Tanık​{
bayt adresi = ​1​;
​int64​ oySayısı = ​2​;
Bayt pubKey = ​3​;
​dize​ URL'si = ​4​;
​int64​ toplam Üretilen = ​5​;
​int64​ toplam Kaçırılan = ​6​;
​int64​ en sonBlockNum = ​7​; ​bool​ İşler = ​8​; }

  1. DApp Geliştirme 10.1 API'ler

TRON ağı, etkileşim için 60'tan fazla HTTP API ağ geçidinden oluşan geniş bir seçim sunar. Tam ve Sağlamlık Düğümleri aracılığıyla ağ. Ayrıca TronWeb kapsamlı bir JavaScript kütüphanesidir geliştiricilerin smart contracts dağıtımını yapmasına olanak tanıyan API işlevlerini içeren, blockchain değerini değiştirin durumu, blockchain sorgusu ve sözleşme bilgileri, DEX'te ticaret ve çok daha fazlası. Bu API'ler ağ geçitleri yerel bir özel ağa, Shasta test ağına veya TRON Ana Ağa yönlendirilebilir.

10.2 Ağlar

TRON hem Shasta test ağına hem de Mainnet'e sahiptir. Geliştiriciler ağlara şu yollarla bağlanabilir: düğümleri dağıtmak, TronStudio aracılığıyla etkileşimde bulunmak veya TronGrid hizmeti aracılığıyla API'leri kullanmak. TronGrid hizmet, dünya çapındaki AWS sunucularında barındırılan yük dengeli düğüm kümelerinden oluşur. DApp olarak geliştirme ölçekleri büyür ve API çağrı hacimleri artar, TronGrid bu artışı başarılı bir şekilde karşılar API trafiği.
10.3 Araçlar

TRON, geliştiricilerin yenilikçi DApp'ler oluşturmasına olanak tanıyan bir geliştirme araçları paketi sunar.
TronBox, geliştiricilerin TronWeb aracılığıyla smart contracts'yi test etmesine ve dağıtmasına olanak tanıyan bir çerçevedir API'dir. TronGrid, geliştiricilerin TRON kendi düğümlerini çalıştırmaya gerek kalmadan ağ kurabilirler. TronGrid hem Shasta'ya erişim sunuyor testnet'in yanı sıra TRON Ana Ağ. TronStudio kapsamlı bir Entegre Geliştirmedir Geliştiricilerin Solidity smart'larını derlemelerine, dağıtmalarına ve hata ayıklamalarına olanak tanıyan ortam (IDE) sözleşmeler. TronStudio, özel bir yerel ortam oluşturan dahili bir tam düğüm içerir. Dağıtımdan önce smart contract test ediliyor. TronWeb API kütüphanesi geliştiricileri JavaScript'e sarılmış çok çeşitli HTTP API çağrıları aracılığıyla ağ.
10.4 Kaynaklar

TRON Geliştirici Merkezi, aşağıdakilere yönelik olarak tasarlanmış kapsamlı bir API dokümantasyon sitesidir: 12 TRON ağı üzerinde kurulum yapmak isteyen geliştiriciler. Geliştirici Merkezi üst düzey bir TRON kavramsal olarak anlaşılmasını sağlar ve kullanıcılara uygulamayla etkileşimin ayrıntıları konusunda yol gösterir. 12 Geliştirici Merkezi: https://developers.tron.network/

ağ. Kılavuzlar, geliştiricilere düğüm kurulumu, dağıtımı ve akıllı yazılımlarla etkileşimi konusunda yol gösterir. sözleşmeler, API etkileşimi ve uygulaması, örnek DApp'ler oluşturma ve bunların her birini kullanma geliştirici araçları. Ek olarak geliştirici topluluğu kanallarına Discord üzerinden ulaşılabilir.
13

13 Anlaşmazlık: https://discordapp.com/invite/GsRgsTD

  1. Sonuç

TRON, sorunların üstesinden gelmek için yenilikçi yöntemler kullanan, ölçeklenebilir bir blockchain çözümüdür eski blockchain ağlarının karşılaştığı zorluklar. Günde 2 milyondan fazla işleme ulaşan 700.000'den fazla TRX hesabıyla ve 2.000'i aşan TPS, TRON topluluğa şu konularda olanak sağladı: merkezi olmayan ve demokratikleştirilmiş bir ağ oluşturmak.