Sách trắng TRON

著 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

Giới thiệu

1.1 Tầm nhìn

TRON là một dự án đầy tham vọng dành riêng cho việc thiết lập một mạng Internet phi tập trung thực sự và cơ sở hạ tầng. Giao thức TRON, một trong những hệ điều hành dựa trên blockchain lớn nhất trong thế giới, cung cấp hỗ trợ công khai blockchain về thông lượng cao, khả năng mở rộng cao và tính sẵn sàng cao cho tất cả Ứng dụng phi tập trung (DApp) trong hệ sinh thái TRON. Việc mua lại vào tháng 7 năm 2018 BitTorrent củng cố thêm vai trò lãnh đạo của TRON trong việc theo đuổi hệ sinh thái phi tập trung.
1.2 Bối cảnh

Sự ra đời của Bitcoin vào năm 2009 đã cách mạng hóa nhận thức của xã hội về hệ thống tài chính truyền thống sau cuộc Đại suy thoái (2007-2008). Khi các quỹ phòng hộ và ngân hàng tập trung sụp đổ do đầu cơ vào các công cụ tài chính phái sinh không rõ ràng, công nghệ blockchain đã cung cấp một sổ cái chung minh bạch mà từ đó bất kỳ ai cũng có thể thu thập được thông tin giao dịch. các các giao dịch được bảo mật bằng mật mã bằng cơ chế đồng thuận Proof of Work (PoW), do đó ngăn chặn các vấn đề chi tiêu gấp đôi.

Vào cuối năm 2013, sách trắng Ethereum đã đề xuất một mạng trong đó smart contracts và một Turing-Complete Ethereum Máy ảo (EVM) sẽ cho phép các nhà phát triển tương tác với mạng thông qua DApps. Tuy nhiên, khi khối lượng giao dịch trong Bitcoin và Ethereum đạt đỉnh điểm vào năm 2017, rõ ràng là do thời gian thông lượng giao dịch thấp và phí giao dịch cao các loại tiền điện tử như Bitcoin và Ethereum ở trạng thái hiện tại không thể mở rộng để phổ biến nhận con nuôi. Do đó, TRON được thành lập và hình dung như một giải pháp sáng tạo cho những vấn đề cấp bách này những thách thức về khả năng mở rộng.

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

1.3 Lịch sử TRON DAO được thành lập vào tháng 7 năm 2017 tại Singapore. Vào tháng 12 năm 2017, TRON đã có đã đưa ra giao thức nguồn mở của nó. Testnet, Blockchain Explorer và Ví Web đều ra mắt vào tháng 3 năm 2018. TRON Mainnet ra mắt ngay sau đó vào tháng 5 năm 2018, đánh dấu Việc phát hành Odyssey 2.0 là một cột mốc kỹ thuật. Vào tháng 6 năm 2018, TRON tuyên bố độc lập với việc tạo ra khối Genesis, cùng với việc mua lại BitTorrent vào tháng 7 năm 2018. trong Tháng 10 năm 2018, TRON ra mắt TRON Máy ảo (TVM), một bộ công cụ hoàn chỉnh dành cho nhà phát triển, và hệ thống hỗ trợ 360. Lộ trình TRON liên quan đến việc kết hợp 100 triệu người dùng của BitTorrent với mạng TRON thông qua Project Atlas, cũng như thúc đẩy cộng đồng nhà phát triển triển khai các DApp mới thú vị trên mạng TRON1. 1 V1.0 có sẵn tại https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 Thuật ngữ

Địa chỉ/Ví Địa chỉ hoặc ví bao gồm thông tin xác thực tài khoản trên mạng TRON được tạo bởi cặp khóa, bao gồm khóa riêng và khóa chung, khóa sau được lấy từ khóa trước thông qua một thuật toán. Khóa chung thường được sử dụng để mã hóa khóa phiên, chữ ký xác minh và mã hóa dữ liệu có thể được giải mã bằng khóa riêng tương ứng.

ABI Giao diện nhị phân ứng dụng (ABI) là giao diện giữa hai mô-đun chương trình nhị phân; thường một trong những mô-đun này là thư viện hoặc cơ sở hệ điều hành và mô-đun còn lại là nơi người dùng chạy chương trình.

API Giao diện lập trình ứng dụng (API) chủ yếu được sử dụng để phát triển khách hàng người dùng. Với API hỗ trợ, token nền tảng phát hành cũng có thể do chính các nhà phát triển thiết kế.

Tài sản Trong tài liệu của TRON, nội dung giống với token, cũng được ký hiệu là TRC-10 token.

Điểm băng thông (BP) Để giữ cho mạng hoạt động trơn tru, TRON giao dịch mạng sử dụng BP làm nhiên liệu. Mỗi tài khoản nhận được 5000 BP miễn phí hàng ngày và có thể kiếm được nhiều hơn nữa bằng cách đóng băng TRX cho BP. Cả TRX và TRC-10 token chuyển khoản là các giao dịch bình thường khiến BP phải trả phí. Triển khai và thực hiện hợp đồng thông minh giao dịch tiêu thụ cả BP và Năng lượng.

Chặn Các khối chứa các bản ghi kỹ thuật số của các giao dịch. Một khối hoàn chỉnh bao gồm số ma thuật, kích thước khối, tiêu đề khối, bộ đếm giao dịch và dữ liệu giao dịch.

Khối phần thưởng Phần thưởng sản xuất khối được gửi đến một tài khoản phụ (địa chỉ/ví). Siêu đại diện có thể nhận phần thưởng của họ trên Tronscan hoặc trực tiếp thông qua API.

Tiêu đề khối Tiêu đề khối là một phần của khối. TRON tiêu đề khối chứa hash của khối trước đó, Merkle root, dấu thời gian, phiên bản và địa chỉ nhân chứng.Ví lạnh Ví lạnh hay còn gọi là ví ngoại tuyến, giữ cho khóa riêng bị ngắt kết nối hoàn toàn với bất kỳ mạng. Ví lạnh thường được cài đặt trên các thiết bị "lạnh" (ví dụ: máy tính hoặc điện thoại di động). ở chế độ ngoại tuyến) để đảm bảo tính bảo mật của khóa riêng TRX.

DApp Ứng dụng phi tập trung là Ứng dụng hoạt động mà không có bên đáng tin cậy tập trung. Một ứng dụng cho phép tương tác/thỏa thuận/giao tiếp trực tiếp giữa người dùng cuối và/hoặc tài nguyên không qua trung gian.

gRPC gRPC (GRPC Remote Protocol Calls) là một hệ thống gọi thủ tục từ xa (RPC) mã nguồn mở 2 ban đầu được phát triển tại Google. Nó sử dụng HTTP/2 để truyền tải, Bộ đệm giao thức làm giao diện ngôn ngữ mô tả và cung cấp các tính năng như xác thực, truyền phát và luồng hai chiều kiểm soát, chặn hoặc không chặn các ràng buộc cũng như hủy bỏ và hết thời gian chờ. Nó tạo ra liên kết máy khách và máy chủ đa nền tảng cho nhiều ngôn ngữ. Các tình huống sử dụng phổ biến nhất bao gồm các dịch vụ kết nối theo kiến trúc kiểu microservices và kết nối các thiết bị di động, đồng thời trình duyệt của khách hàng đến các dịch vụ phụ trợ.

Ví nóng Ví nóng hay còn gọi là ví trực tuyến cho phép sử dụng khóa riêng của người dùng trực tuyến, do đó nó có thể dễ bị tổn thương tiềm ẩn hoặc bị chặn bởi các tác nhân độc hại.

JDK Bộ công cụ phát triển Java là SDK Java được sử dụng cho các ứng dụng Java. Nó là cốt lõi của Java phát triển, bao gồm môi trường ứng dụng Java (thư viện lớp Java+JVM) và Java công cụ.

KhaosDB TRON có KhaosDB trong bộ nhớ nút đầy đủ có thể lưu trữ tất cả các chuỗi mới được phân nhánh được tạo trong một khoảng thời gian nhất định và hỗ trợ các nhân chứng chuyển từ chuỗi hoạt động của chính họ một cách nhanh chóng thành một chuỗi chính mới. Xem 2.2.2 Lưu trữ trạng thái để biết thêm chi tiết.

CấpDB LevelDB ban đầu được thông qua với mục tiêu chính là đáp ứng các yêu cầu về R/W nhanh và tốc độ nhanh. sự phát triển. Sau khi khởi chạy Mainnet, TRON đã nâng cấp cơ sở dữ liệu của nó lên một cơ sở dữ liệu được tùy chỉnh hoàn toàn một phục vụ cho nhu cầu riêng của mình. Xem 2.2.1 Lưu trữ chuỗi khối để biết thêm chi tiết.

Rễ cây Merkle Gốc Merkle là hash của tất cả hashes của tất cả các giao dịch được đưa vào như một phần của khối trong blockchain mạng. Xem 3.1 Bằng chứng về cổ phần được ủy quyền (DPoS) để biết thêm chi tiết. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Mạng thử nghiệm công cộng (Shasta) Một phiên bản của mạng chạy trong cấu hình một nút. Nhà phát triển có thể kết nối và thử nghiệm các tính năng mà không phải lo lắng về thiệt hại kinh tế. Testnet token không có giá trị và bất kỳ ai cũng có thể yêu cầu nhiều hơn từ vòi công cộng.

RPC
3 Trong điện toán phân tán, lệnh gọi thủ tục từ xa (RPC) là khi một chương trình máy tính gây ra thủ tục (chương trình con) để thực thi trong một không gian địa chỉ khác (thường là trên một máy tính khác trên một mạng chia sẻ), được mã hóa như thể đó là một lệnh gọi thủ tục (cục bộ) thông thường, không có lập trình viên mã hóa rõ ràng các chi tiết cho tương tác từ xa.

Khả năng mở rộng Khả năng mở rộng là một tính năng của Giao thức TRON. Đó là khả năng của một hệ thống, mạng hoặc quy trình để xử lý khối lượng công việc ngày càng tăng hoặc khả năng mở rộng công việc để đáp ứng sự tăng trưởng đó.

CN SUN đã thay thế drop thành đơn vị nhỏ nhất của TRX. 1 TRX = 1.000.000 SUN.

Thông lượng Thông lượng cao là một tính năng của TRON Mainnet. Nó được đo bằng Số giao dịch mỗi giây (TPS), cụ thể là khả năng giao dịch tối đa trong một giây.

Dấu thời gian Thời gian gần đúng của quá trình sản xuất khối được ghi lại dưới dạng dấu thời gian Unix, là số lượng mili giây đã trôi qua kể từ 00:00:00 ngày 01 tháng 1 năm 1970 UTC.

TKC Cấu hình mã thông báo.

TRC-10 Tiêu chuẩn tiền điện tử token trên nền tảng TRON. Một số quy tắc và giao diện nhất định phải tuân theo khi nắm giữ đợt chào bán tiền xu ban đầu vào TRON blockchain.

TRX TRX là viết tắt của Tronix, là tiền điện tử chính thức của TRON.

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/

Kiến trúc

TRON áp dụng kiến ​​trúc 3 lớp được chia thành Lớp lưu trữ, Lớp lõi và Lớp ứng dụng. Giao thức TRON tuân theo Google Protobuf, về cơ bản hỗ trợ đa ngôn ngữ phần mở rộng.

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

Hình 1: TRON Kiến trúc 3 lớp

2.1 Cốt lõi

Có một số mô-đun trong lớp lõi, bao gồm smart contracts, quản lý tài khoản và sự đồng thuận. Máy ảo dựa trên ngăn xếp được triển khai trên TRON và hướng dẫn được tối ưu hóa bộ được sử dụng. Để hỗ trợ tốt hơn cho các nhà phát triển DApp, Solidity đã được chọn làm smart contract 4 ngôn ngữ, tiếp theo là sự hỗ trợ trong tương lai của các ngôn ngữ nâng cao khác. Ngoài ra, sự đồng thuận của TRON cơ chế dựa trên Bằng chứng cổ phần được ủy quyền (DPoS) và nhiều cải tiến đã được thực hiện trong nhằm đáp ứng những yêu cầu riêng biệt của nó. 2.2 Lưu trữ

TRON đã thiết kế một giao thức lưu trữ phân tán độc đáo bao gồm Lưu trữ khối và Trạng thái Lưu trữ. Khái niệm cơ sở dữ liệu đồ thị đã được đưa vào thiết kế lớp lưu trữ để đáp ứng tốt hơn nhu cầu lưu trữ dữ liệu đa dạng trong thế giới thực. 2.2.1 Lưu trữ chuỗi khối

TRON blockchain bộ lưu trữ chọn sử dụng LevelDB, được Google phát triển và đã được chứng minh thành công với nhiều công ty và dự án. Nó có hiệu suất cao và hỗ trợ byte tùy ý mảng dưới dạng cả khóa và giá trị, nhận, đặt và xóa số ít, đặt và xóa theo đợt, hai chiều các vòng lặp và nén đơn giản bằng thuật toán Snappy rất nhanh. 2.2.2 Lưu trữ trạng thái

TRON có KhaosDB trong bộ nhớ nút đầy đủ có thể lưu trữ tất cả các chuỗi mới phân nhánh được tạo trong một khoảng thời gian nhất định và hỗ trợ các nhân chứng chuyển từ chuỗi hoạt động của chính họ một cách nhanh chóng thành một chuỗi chính mới. Nó cũng có thể bảo vệ bộ nhớ blockchain bằng cách làm cho nó ổn định hơn khỏi bị chấm dứt một cách bất thường ở trạng thái trung gian. 2.3 Ứng dụng

Các nhà phát triển có thể tạo nhiều loại DApp và ví tùy chỉnh đa dạng trên TRON. Kể từ TRON cho phép smart contract được triển khai và thực thi, cơ hội của các ứng dụng tiện ích là không giới hạn. 4 Tài liệu chính thức của Solidity: https://solidity.readthedocs.io/

2.4 Giao thức

TRON giao thức tuân thủ Bộ đệm giao thức của Google , là giao thức trung lập về ngôn ngữ, nền tảng, 5 và cách mở rộng tuần tự hóa dữ liệu có cấu trúc để sử dụng trong các giao thức truyền thông, lưu trữ dữ liệu, và hơn thế nữa. 2.4.1 Bộ đệm giao thức

Bộ đệm giao thức (Protobuf) là một cơ chế tự động, linh hoạt, hiệu quả để tuần tự hóa các dữ liệu có cấu trúc. dữ liệu, tương tự như JSON hoặc XML, nhưng nhỏ hơn, nhanh hơn và đơn giản hơn nhiều.

Các định nghĩa Protobuf (.proto) có thể được sử dụng để tạo mã cho C++, Java, C#, Python, Ruby, Ngôn ngữ Golang và Objective-C thông qua các trình tạo mã chính thức. Bên thứ ba khác nhau việc triển khai cũng có sẵn cho nhiều ngôn ngữ khác. Protobuf giúp dễ dàng phát triển cho khách hàng bằng cách thống nhất các định nghĩa API và tối ưu hóa việc truyền dữ liệu. Khách hàng có thể lấy API .proto từ kho lưu trữ giao thức của TRON và tích hợp thông qua mã được tạo tự động thư viện.

Để so sánh, Bộ đệm giao thức nhỏ hơn từ 3 đến 10 lần và nhanh hơn 20 đến 100 lần so với XML, với cú pháp ít mơ hồ hơn. Protobuf tạo các lớp truy cập dữ liệu dễ sử dụng hơn theo lập trình. 2.4.2 HTTP

TRON Giao thức cung cấp API HTTP RESTful thay thế cho API Protobuf. Họ chia sẻ giống nhau giao diện nhưng API HTTP có thể dễ dàng được sử dụng trong ứng dụng khách javascript. 2.5 TRON Máy ảo (TVM)

TVM là một máy ảo Turing hoàn chỉnh, gọn nhẹ được phát triển cho hệ sinh thái của TRON. các TVM kết nối liền mạch với hệ sinh thái phát triển hiện có để cung cấp hàng triệu giải pháp toàn cầu nhà phát triển có hệ thống blockchain được xây dựng tùy chỉnh hiệu quả, thuận tiện, ổn định, an toàn và có khả năng mở rộng.
2.6 Sàn giao dịch phi tập trung (DEX)

5 Tài liệu chính thức về Bộ đệm giao thức của Google: https://developers.google.com/protocol-buffers/Mạng TRON vốn hỗ trợ các chức năng trao đổi phi tập trung. Một sàn giao dịch phi tập trung bao gồm nhiều cặp giao dịch. Một cặp giao dịch (ký hiệu “Trao đổi”) là một Thị trường trao đổi giữa TRC-10 tokens hoặc giữa TRC-10 token và TRX. Bất kỳ tài khoản nào cũng có thể tạo giao dịch ghép nối giữa bất kỳ token nào, ngay cả khi cặp tương tự đó đã tồn tại trên mạng TRON. Giao dịch và biến động giá của các cặp giao dịch tuân theo Giao thức Bancor. Mạng TRON quy định rằng 6 trọng số của hai token trong tất cả các cặp giao dịch đều bằng nhau, do đó tỷ lệ số dư của chúng là giá giữa họ. Ví dụ: hãy xem xét một cặp giao dịch chứa hai token, ABC và DEF. ABC có số dư 10 triệu và DEF có số dư 1 triệu. Vì trọng lượng của chúng bằng nhau nên 10 ABC = 1 DEF. Điều này có nghĩa là tỷ lệ ABC và DEF là 10 ABC trên DEF. 2.7 Thực hiện

Mã TRON blockchain được triển khai bằng Java và ban đầu là một nhánh từ EthereumJ.

6 Trang web chính thức của Giao thức Bancor: 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 も提供します。

Sự đồng thuận

3.1 Bằng chứng về cổ phần được ủy quyền (DPoS)

Cơ chế đồng thuận sớm nhất là cơ chế đồng thuận Proof of Work (PoW). Cái này giao thức hiện được triển khai trong Bitcoin và Ethereum . Trong hệ thống PoW, các giao dịch 7 8 phát qua mạng được nhóm lại với nhau thành các khối mới để xác nhận thợ mỏ. các quá trình xác nhận bao gồm hash thực hiện các giao dịch bằng cách sử dụng thuật toán mã hóa hash cho đến khi đã đạt được gốc merkle, tạo ra cây merkle:

Hình 2: 8 giao dịch TRX được hashed vào thư mục gốc merkle. Gốc merkle này sau đó được đưa vào tiêu đề khối, được gắn vào các khối đã được xác nhận trước đó để tạo thành blockchain. Điều này cho phép theo dõi dễ dàng và minh bạch giao dịch, dấu thời gian và các thông tin liên quan khác.

7 Bitcoin báo cáo chính thức: https://bitcoin.org/bitcoin.pdf 8 Ethereum sách trắng: https://github.com/ethereum/wiki/wiki/White-Paper

Thuật toán mật mã hashing rất hữu ích trong việc ngăn chặn tấn công mạng vì chúng sở hữu một số thuộc tính:
9

● Kích thước độ dài đầu vào/đầu ra​ - Thuật toán có thể chuyển vào đầu vào có kích thước bất kỳ và xuất ra giá trị hash có độ dài cố định.
● Hiệu quả​ - Thuật toán tính toán tương đối dễ dàng và nhanh chóng.
● Điện trở tiền ảnh​ - Đối với một đầu ra ​z​ cho trước, không thể tìm thấy bất kỳ đầu vào ​x​ nào sao cho h(x) =​ ​z​. Nói cách khác, thuật toán hashing ​h(x)​ là hàm một chiều trong đó chỉ có đầu ra có thể được tìm thấy, cho trước một đầu vào. Điều ngược lại là không thể.
● Khả năng chống va chạm​ - Về mặt tính toán không thể tìm được bất kỳ cặp ​x​1 ​≠ x​2​ ​sao cho ​h(x​1​) = h(x​2​)​. Nói cách khác, xác suất tìm thấy hai đầu vào khác nhau hash đến cùng một đầu ra cực kỳ thấp. Đặc tính này cũng ngụ ý khả năng chống tiền ảnh thứ hai.
● Điện trở tiền ảnh thứ hai​ - Cho ​x​1​, và do đó ​h(x​1​),​, về mặt tính toán là không thể thực hiện được tìm ​x​2​ bất kỳ sao cho ​h(x​1​) = h(x​2​)​. Mặc dù đặc tính này tương tự như khả năng chống va chạm, nhưng thuộc tính khác ở chỗ nó nói rằng kẻ tấn công với ​x​1​ nhất định sẽ tìm thấy nó bằng máy tính không thể tìm thấy bất kỳ ​x​2​ hash nào cho cùng một đầu ra.
● Xác định - ánh xạ mỗi đầu vào thành một và chỉ một đầu ra. ● Hiệu ứng Avalanche​ - một thay đổi nhỏ ở đầu vào sẽ dẫn đến đầu ra hoàn toàn khác.

Các thuộc tính này mang lại cho mạng tiền điện tử giá trị nội tại bằng cách đảm bảo các cuộc tấn công không xảy ra. làm tổn hại mạng. Khi người khai thác xác nhận một khối, họ sẽ được thưởng token như một phần thưởng tích hợp động lực tham gia mạng lưới. Tuy nhiên, khi vốn hóa thị trường tiền điện tử toàn cầu tăng đều đặn, các thợ mỏ trở nên tập trung và tập trung tài nguyên máy tính của họ vào tích trữ token làm tài sản chứ không phải cho mục đích tham gia mạng lưới. Công cụ khai thác CPU đã nhường chỗ cho GPU, từ đó nhường chỗ cho các ASIC mạnh mẽ. Trong một nghiên cứu đáng chú ý, tổng công suất mức tiêu thụ khai thác Bitcoin được ước tính lên tới 3 GW , tương đương với mức tiêu thụ của Ireland 10 tiêu thụ điện năng. Nghiên cứu tương tự này dự kiến tổng mức tiêu thụ điện năng sẽ đạt 8 GW trong thời gian tới tương lai.

Để giải quyết vấn đề lãng phí năng lượng, cơ chế đồng thuận Proof of Stake (PoS) đã được đề xuất bởi nhiều mạng mới. Trong mạng PoS, chủ sở hữu token khóa số dư token của họ để trở thành khối validators. Các validator lần lượt đề xuất và bỏ phiếu ở khối tiếp theo. Tuy nhiên, vấn đề với PoS tiêu chuẩn là ảnh hưởng của validator tương quan trực tiếp với số lượng token bị khóa. Điều này dẫn đến việc các bên tích trữ một lượng lớn tiền tệ cơ sở của mạng bằng cách sử dụng quá mức ảnh hưởng đến hệ sinh thái mạng.

Cơ chế đồng thuận TRON sử dụng hệ thống Bằng chứng cổ phần được ủy quyền cải tiến trong đó 27 Siêu đại diện (SR) tạo ra các khối cho mạng. Cứ sau 6 giờ, chủ tài khoản TRX những người đóng băng tài khoản của họ có thể bỏ phiếu cho một số ứng cử viên SR, với 27 ứng cử viên hàng đầu được coi là SR. Cử tri có thể chọn SR dựa trên các tiêu chí như các dự án do SR tài trợ để 9 PAAR, C., PELZL, J., ​Tìm hiểu về mật mã: Sách giáo khoa dành cho sinh viên và người thực hành​, 2010 ed. Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776tăng cường áp dụng TRX và phân phối phần thưởng cho cử tri. Điều này cho phép một nền dân chủ hơn và hệ sinh thái phi tập trung. Tài khoản của SR là tài khoản bình thường nhưng số phiếu tích lũy của họ cho phép họ sản xuất khối. Với tốc độ thông lượng thấp Bitcoin và Ethereum do Cơ chế đồng thuận PoW và các vấn đề về khả năng mở rộng, hệ thống DPoS của TRON cung cấp một giải pháp cải tiến cơ chế dẫn đến 2000 TPS so với 3 TPS của Ethereum và 15 TPS của Bitcoin.

Mạng giao thức TRON tạo ra một khối cứ sau ba giây, với mỗi khối trao 32 TRX đến Siêu đại diện. Tổng cộng 336.384.000 TRX sẽ được trao hàng năm cho 27 SR. Mỗi khi SR hoàn thành việc sản xuất khối, phần thưởng sẽ được gửi đến tài khoản phụ trong siêu sổ cái. SR có thể kiểm tra nhưng không trực tiếp sử dụng các TRX token này. Mỗi người có thể thực hiện việc rút tiền SR cứ sau 24 giờ một lần, chuyển phần thưởng từ tài khoản phụ sang SR được chỉ định tài khoản.

Ba loại nút trên mạng TRON là Nút Nhân chứng, Nút Đầy đủ và Nút Solidity. Các nút chứng kiến được thiết lập bởi các SR và chịu trách nhiệm chính về việc sản xuất và đề xuất khối tạo/bỏ phiếu. Các nút đầy đủ cung cấp API cũng như các giao dịch và khối phát sóng. Đồng bộ hóa các nút vững chắc khối từ các Nút đầy đủ khác và cũng cung cấp các API có thể lập chỉ mục.

アカウント

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

Tài khoản

4.1 Các loại

Ba loại tài khoản trong mạng TRON là tài khoản thông thường, tài khoản token và tài khoản hợp đồng.

1. Tài khoản thông thường được sử dụng cho các giao dịch tiêu chuẩn.
2. Tài khoản mã thông báo được sử dụng để lưu trữ TRC-10 tokens.
3. Tài khoản hợp đồng là smart contract tài khoản được tạo bởi tài khoản thông thường và có thể cũng được kích hoạt bởi các tài khoản thông thường. 4.2 Sáng tạo

Có ba cách để tạo tài khoản TRON:

1. Tạo tài khoản mới thông qua API 2. Chuyển TRX sang địa chỉ tài khoản mới 3. Chuyển bất kỳ TRC-10 token nào sang địa chỉ tài khoản mới

Một cặp khóa ngoại tuyến bao gồm một địa chỉ (khóa chung) và khóa riêng và không được ghi lại bởi TRON mạng, cũng có thể được tạo. Thuật toán tạo địa chỉ người dùng bao gồm tạo cặp khóa và sau đó trích xuất khóa chung (mảng byte 64 byte biểu thị x, y tọa độ). Băm khóa chung bằng hàm SHA3-256 (giao thức SHA3 được áp dụng là KECCAK-256) và trích xuất 20 byte cuối cùng của kết quả. Thêm 41 vào đầu mảng byte và đảm bảo độ dài địa chỉ ban đầu là 21 byte. Băm địa chỉ hai lần bằng hàm SHA3-256 và lấy 4 byte đầu tiên làm mã xác minh. Thêm mã xác minh vào cuối mã ban đầu địa chỉ và lấy địa chỉ ở định dạng base58check thông qua mã hóa base58. Một mã hóa Địa chỉ Mainnet bắt đầu bằng T và có độ dài 34 byte. 4.3 Cấu trúc

Ba loại tài khoản khác nhau là Thông thường, Phát hành tài sản và Hợp đồng. Một tài khoản chứa 7 thông số:

1. account_name​: tên của tài khoản này – ví dụ: Tài khoản Hóa đơn.
2. type​: loại tài khoản này là gì – ví dụ: 0 (viết tắt của loại ‘Bình thường’).
3. số dư​ : số dư của tài khoản này – ví dụ: 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 } } }

Khối

Một khối thường chứa tiêu đề khối và một số giao dịch.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Tiêu đề khối

Tiêu đề khối chứa ​raw_data​, ​witness_signature​ và ​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 Dữ liệu thô

Dữ liệu thô được ký hiệu là ​raw_data​ trong Protobuf. Nó chứa dữ liệu thô của một tin nhắn, chứa 6 thông số:

1. timestamp​ : dấu thời gian của tin nhắn này – ví dụ: 1543884429000. 2. txTrieRoot​: Gốc của Cây Merkle – ví dụ: 7 dacsa…3ed. 3. parentHash​: hash của khối cuối cùng – ví dụ: 7 dacsa…3ed. 4. number​: chiều cao khối – ví dụ: 4638708. 5. phiên bản​: dành riêng – ví dụ: 5.

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

6. nhân chứng_address​: địa chỉ của nhân chứng được đóng gói trong khối này – ví dụ: 41928c...4d21. 5.1.2 Chữ ký của nhân chứng

Chữ ký của nhân chứng được ký hiệu là ​witness_signature​ trong Protobuf, đây là chữ ký cho việc này tiêu đề khối từ nút nhân chứng. 5.1.3 ID khối

Block ID được ký hiệu là ​blockID​ trong Protobuf. Nó chứa nhận dạng nguyên tử của một khối. một khối ID chứa 2 tham số: 1. hash​: hash của khối. 2. số​: hash và chiều cao của khối. 5.2 Giao dịch 5.2.1 Ký kết

Quá trình ký giao dịch của TRON tuân theo thuật toán mã hóa ECDSA tiêu chuẩn, với Đường cong lựa chọn SECP256K1. Khóa riêng là một số ngẫu nhiên và khóa chung là một điểm trên đường cong elip. Quá trình tạo khóa công khai bao gồm việc tạo ra một số ngẫu nhiên đầu tiên dưới dạng khóa riêng, sau đó nhân điểm cơ sở của đường cong elip với khóa riêng để thu được khóa công khai. Khi một giao dịch xảy ra, dữ liệu thô của giao dịch trước tiên được chuyển đổi thành định dạng byte. Sau đó, dữ liệu thô sẽ trải qua SHA-256 hashing. Khóa riêng tương ứng với hợp đồng sau đó ký vào kết quả của SHA256 hash. Kết quả chữ ký sau đó được thêm vào giao dịch.
5.2.2 Mô hình băng thông

Các giao dịch thông thường chỉ tiêu tốn điểm băng thông, nhưng các hoạt động smart contract tiêu tốn cả hai điểm năng lượng và băng thông. Có hai loại điểm băng thông có sẵn. Người dùng có thể đạt được điểm băng thông từ việc đóng băng TRX, trong khi 5000 điểm băng thông miễn phí cũng có sẵn hàng ngày.

Khi một giao dịch TRX được phát sóng, nó sẽ được truyền và lưu trữ dưới dạng một mảng byte trên mạng lưới. Điểm băng thông được tiêu thụ bởi một giao dịch = số byte giao dịch nhân với tốc độ điểm băng thông. Ví dụ: nếu độ dài mảng byte của giao dịch là 200, sau đó giao dịch tiêu tốn 200 điểm băng thông. Tuy nhiên, nếu việc chuyển TRX hoặc token dẫn đến tài khoản mục tiêu đang được tạo, sau đó chỉ sử dụng điểm băng thông để tạo tài khoản sẽ bị trừ, điểm băng thông bổ sung sẽ không bị trừ. Trong quá trình tạo tài khoản kịch bản, trước tiên mạng sẽ sử dụng điểm băng thông mà người khởi tạo giao dịch đạt đượckhỏi việc đóng băng TRX. Nếu số tiền này không đủ thì mạng sẽ tiêu thụ giao dịch TRX của người khởi xướng.

Trong các kịch bản chuyển TRX tiêu chuẩn từ tài khoản TRX này sang tài khoản TRX khác, trước tiên mạng sẽ tiêu thụ điểm băng thông mà người khởi tạo giao dịch đạt được để đóng băng TRX. Nếu điều đó vẫn chưa đủ thì tiêu thụ từ 5000 điểm băng thông hàng ngày miễn phí. Nếu vẫn chưa đủ thì mạng tiêu thụ TRX của người khởi tạo giao dịch. Số lượng được tính bằng số byte trong giao dịch nhân với 10 SUN. Do đó, đối với hầu hết những người nắm giữ TRX, những người có thể không nhất thiết phải đóng băng TRX của họ tham gia bỏ phiếu SR, bước đầu tiên sẽ tự động bị bỏ qua (vì số dư TRX Frozen = 0) và 5000 băng thông miễn phí hàng ngày hỗ trợ giao dịch.

Đối với các lần truyền TRC-10 token, trước tiên mạng sẽ xác minh xem tổng số điểm băng thông miễn phí của nội dung token đã phát hành là đủ. Nếu không, điểm băng thông thu được từ việc đóng băng TRX sẽ là tiêu thụ. Nếu vẫn không đủ điểm băng thông thì sẽ tiêu tốn TRX của giao dịch người khởi xướng.

5.2.3 Phí

Tuy nhiên, mạng TRON thường không tính phí đối với hầu hết các giao dịch do hệ thống các hạn chế và sự công bằng, việc sử dụng băng thông và các giao dịch đều phải trả một số khoản phí nhất định.

Lệ phí được chia thành các loại sau: 1. Giao dịch thông thường tốn điểm băng thông. Người dùng có thể sử dụng điểm băng thông miễn phí hàng ngày (5000) hoặc đóng băng TRX để kiếm thêm. Khi điểm băng thông không đủ, TRX sẽ được sử dụng trực tiếp từ tài khoản gửi. TRX cần có là số byte * 10 SUN. 2. Hợp đồng thông minh tiêu tốn năng lượng (Phần 6) nhưng cũng sẽ cần điểm băng thông cho giao dịch sẽ được phát sóng và xác nhận. Chi phí băng thông cũng giống như trên. 3. Tất cả các giao dịch truy vấn đều miễn phí. Nó không tốn năng lượng hoặc băng thông.

Mạng TRON cũng xác định một tập hợp phí cố định cho các giao dịch sau: 1. Tạo nút chứng kiến: 9999 TRX 2. Phát hành TRC-10 token: 1024 TRX 3. Tạo tài khoản mới: 0,1 TRX 4. Tạo cặp trao đổi: 1024 TRX 5.2.4 Giao dịch dưới dạng Bằng chứng cổ phần (TaPoS)

TRON sử dụng TaPoS để đảm bảo tất cả các giao dịch đều xác nhận blockchain chính trong khi thực hiện khó làm giả dây chuyền giả. Trong TaPoS, mạng yêu cầu mỗi giao dịch bao gồm một phần hash của tiêu đề khối gần đây. Yêu cầu này ngăn chặn các giao dịch được thực hiện lại trên các nhánh không bao gồm khối được tham chiếu và cũng báo hiệu cho mạng rằng một người dùng cụ thể và của họcổ phần nằm trên một ngã ba cụ thể. Cơ chế đồng thuận này bảo vệ mạng khỏi việc từ chối Dịch vụ, 51%, khai thác ích kỷ và tấn công chi tiêu gấp đôi.
5.2.5 Xác nhận giao dịch

Một giao dịch được đưa vào khối tương lai sau khi được phát lên mạng. Sau 19 khối là được khai thác trên TRON (bao gồm khối riêng của nó), giao dịch được xác nhận. Mỗi khối được sản xuất bởi một trong 27 Siêu đại diện hàng đầu theo thể thức vòng tròn một lượt. Mỗi khối mất ~3 giây để được khai thác trên blockchain. Thời gian có thể thay đổi một chút đối với mỗi Siêu đại diện do mạng lưới tình trạng và cấu hình máy. Nói chung, một giao dịch được coi là đã được xác nhận đầy đủ sau khi ~1 phút. 5.2.6 Cấu trúc

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 Máy ảo

6.1 Giới thiệu

TRON Máy ảo (TVM) là một máy ảo hoàn chỉnh, nhẹ, được phát triển cho Hệ sinh thái của TRON. Mục tiêu của nó là cung cấp một hệ thống blockchain được xây dựng tùy chỉnh hiệu quả, thuận tiện, ổn định, an toàn và có thể mở rộng.

TVM ban đầu được phân nhánh từ EVM và có thể kết nối liền mạch với độ bền vững hiện có smart contract 11 hệ sinh thái phát triển. Dựa vào đó, TVM còn hỗ trợ thêm sự đồng thuận DPoS.

TVM sử dụng khái niệm Năng lượng. Khác với cơ chế Gas trên EVM, hoạt động của các giao dịch và smart contract trên TVM đều miễn phí và không tiêu thụ TRX. Về mặt kỹ thuật, có thể thực hiện được khả năng tính toán trên TVM không bị hạn chế bởi tổng lượng nắm giữ tokens. 6.2 Quy trình làm việc

Trước tiên, trình biên dịch sẽ dịch Solidity smart contract thành mã byte có thể đọc và thực thi được trên TVM. TVM sau đó xử lý dữ liệu thông qua opcode, tương đương với việc vận hành logic của một máy trạng thái hữu hạn dựa trên ngăn xếp. Cuối cùng, TVM truy cập dữ liệu blockchain và gọi Giao diện dữ liệu ngoài thông qua lớp tương tác. 11 EVM: Ethereum Máy ảo (https://github.com/ethereum/ethereumj)

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

Hình 3: Quy trình làm việc TVM

6.3 Hiệu suất 6.3.1 Kiến trúc nhẹ

TVM áp dụng kiến trúc gọn nhẹ với mục đích giảm mức tiêu thụ tài nguyên để đảm bảo hiệu suất hệ thống. 6.3.2 Mạnh mẽ

Việc truyền TRX và smart contract chỉ tốn điểm băng thông, thay vì TRX. miễn cho TRON khỏi bị tấn công. Mức tiêu thụ băng thông có thể dự đoán được và tĩnh vì mỗi chi phí bước tính toán là cố định. 6.3.3 Khả năng tương thích cao

TVM tương thích với EVM và sẽ tương thích với nhiều máy ảo phổ thông hơn trong tương lai. Do đó, tất cả smart contract trên EVM đều có thể thực thi được trên TVM. 6.3.4 Chi phí thấp

Nhờ thiết lập băng thông của TVM, chi phí phát triển sẽ giảm và các nhà phát triển có thể tập trung vào phát triển logic của mã hợp đồng của họ. TVM cũng cung cấp giao diện tất cả trong một cho hợp đồng triển khai, kích hoạt và xem để mang lại sự thuận tiện cho các nhà phát triển.

スマートコントラクト

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

Hợp đồng thông minh

7.1 Giới thiệu

smart contract là giao thức xác minh kỹ thuật số việc đàm phán hợp đồng. Họ xác định các quy tắc và các hình phạt liên quan đến một thỏa thuận và cũng tự động thực thi các nghĩa vụ đó. thông minh mã hợp đồng tạo điều kiện thuận lợi, xác minh và thực thi việc đàm phán hoặc thực hiện một thỏa thuận hoặc giao dịch. Từ góc độ tokenization, smart contract cũng tạo điều kiện cho việc nạp tiền tự động chuyển giao giữa các bên tham gia nếu đáp ứng được các tiêu chí nhất định.

TRON smart contract được viết bằng ngôn ngữ Solidity. Sau khi được viết và kiểm tra, chúng có thể được được biên dịch thành mã byte, sau đó được triển khai trên mạng TRON cho Máy ảo TRON. Một lần đã triển khai, smart contract có thể được truy vấn thông qua địa chỉ hợp đồng của chúng. Ứng dụng hợp đồng Giao diện nhị phân (ABI) hiển thị các chức năng gọi của hợp đồng và được sử dụng để tương tác với mạng. 7.2 Mô hình năng lượng

Giới hạn năng lượng tối đa để triển khai và kích hoạt smart contract là hàm của một số biến:

● Năng lượng động từ việc đóng băng 1 TRX là 50.000.000.000 (Tổng giới hạn năng lượng) / (Tổng năng lượng Trọng lượng) ● Giới hạn năng lượng là giới hạn năng lượng hàng ngày của tài khoản từ việc đóng băng TRX ● Năng lượng còn lại trong tài khoản hàng ngày từ việc đóng băng TRX được tính là Giới hạn năng lượng - Năng lượng đã qua sử dụng ● Giới hạn phí trong TRX được đặt trong smart contract lệnh gọi triển khai/kích hoạt ● TRX còn lại có thể sử dụng trong tài khoản ● Năng lượng trên mỗi TRX nếu mua trực tiếp (10 SUN = 1 Năng lượng) = 100.000, SR có thể bỏ phiếu điều chỉnh

Có hai kịch bản tiêu thụ để tính toán giới hạn năng lượng tối đa cho việc triển khai và kích hoạt. Logic có thể được biểu diễn như sau:
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 Triển khai

Khi một TRON độ rắn smart contract được biên dịch, Máy ảo TRON sẽ đọc nội dung đã biên dịch mã byte. Mã byte bao gồm một phần để triển khai mã, mã hợp đồng và Auxdata. Auxdata là dấu vân tay mật mã của mã nguồn, được sử dụng để xác minh. Việc triển khai mã byte chạy hàm xây dựng và thiết lập các biến lưu trữ ban đầu. Việc triển khai code cũng tính toán mã hợp đồng và trả về TVM. ABI là một tệp JSON mô tả chức năng của TRON smart contract. Tệp này xác định tên chức năng, khả năng thanh toán của chúng, hàm trả về các giá trị và khả năng thay đổi trạng thái của chúng. 7.4 Chức năng kích hoạt

Khi TRON smart contract được triển khai, các chức năng của chúng có thể được kích hoạt riêng lẻ thông qua TronStudio hoặc thông qua lệnh gọi API. Các hàm thay đổi trạng thái yêu cầu Năng lượng trong khi các hàm chỉ đọc thực hiện mà không cần năng lượng. 7.5 TRON Độ rắn chắc

TRON Solidity là một nhánh từ ngôn ngữ Solidity của Ethereum. TRON sửa đổi dự án ban đầu thành hỗ trợ các đơn vị TRX và SUN (1 TRX = 1.000.000 SUN). Phần còn lại của cú pháp ngôn ngữ là tương thích với Solidity ^0.4.24. Do đó, Máy ảo Tron (TVM) gần như tương thích 100% với hướng dẫn EVM.

トークン

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 Mã thông báo TRC-10

Trong mạng TRON, mỗi tài khoản có thể phát hành token với chi phí là 1024 TRX. ​Để phát hành tokens, nhà phát hành cần chỉ định tên token, tổng vốn hóa, tỷ giá hối đoái đối với TRX, thời lượng lưu hành, mô tả, trang web, mức tiêu thụ băng thông tối đa trên mỗi tài khoản, tổng cộng mức tiêu thụ băng thông và lượng token bị đóng băng. Mỗi bản phát hành token cũng có thể định cấu hình Số băng thông tối đa hàng ngày của mỗi tài khoản token chuyển Điểm băng thông, số điểm băng thông tối đa hàng ngày của toàn bộ mạng token chuyển Điểm băng thông, tổng nguồn cung cấp token, thời gian khóa theo ngày và tổng số tiền trong số token giây đã bị khóa. 8.2 Mã thông báo TRC-20

TRC-20 là tiêu chuẩn kỹ thuật được sử dụng để smart contract triển khai token được hỗ trợ bởi TRON Máy ảo. Nó hoàn toàn tương thích với ERC-20.

Giao diện như sau:
hợp đồng TRC20Interface { ​hàm​ ​totalSupply​() ​công khai​ ​hằng​ ​trả về​ (uint); ​function​ ​balanceOf​(địa chỉ tokenOwner) ​công khai​ ​hằng​ ​trả về​ (uint cân bằng); ​hàm​ ​phụ cấp​(địa chỉ tokenChủ sở hữu, địa chỉ người chi tiêu) ​công khai​ ​hằng số trả về​ (uint còn lại); ​chức năng​ ​chuyển​(địa chỉ tới, uint tokens) ​trả về công khai​ (bool thành công); ​hàm​ ​phê duyệt​(người chi tiêu địa chỉ, uint tokens) ​trả về công khai ​ (bool thành công); ​function​ ​transferFrom​(địa chỉ từ, địa chỉ tới, uint tokens) ​ công khai trả về (bool thành công);

​sự kiện​ ​Transfer​(địa chỉ được lập chỉ mục từ, địa chỉ được lập chỉ mục tới, uint tokens); 
​sự kiện​ ​Phê duyệt​(địa chỉ được lập chỉ mục tokenChủ sở hữu, địa chỉ người chi tiêu được lập chỉ mục, uint

tokens); }

Từ quan điểm của nhà phát triển, có một số điểm khác biệt giữa TRC-10 và TRC-20. Một số điểm khác biệt chính là TRC-10 token có thể truy cập được bằng API và smart contract trong khi TRC-20 token cho phép tùy chỉnh giao diện nhưng chỉ có thể truy cập được trong smart contract giây.

Từ góc độ chi phí, TRC-10 token có phí giao dịch thấp hơn 1000 lần so với TRC-20, nhưng tốn chi phí băng thông cho việc truyền và gửi API. Chuyển khoản và gửi tiền thông minh hợp đồng cho TRC-10 token tốn cả băng thông và năng lượng.
8.3 Ngoài ra

Vì TRON sử dụng cùng một phiên bản Solidity như Ethereum nên có thể dễ dàng có thêm nhiều tiêu chuẩn token được chuyển tới TRON.

ガバナンス

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 を超え、コミュニティが有効になりました。 分散型かつ民主化されたネットワークを構築します。

Quản trị

9.1 Siêu đại diện 9.1.1 Khái quát

Mọi tài khoản trong mạng TRON đều có thể đăng ký và có cơ hội trở thành Siêu nhân Người đại diện (ký hiệu là SR). Mọi người đều có thể bỏ phiếu cho ứng cử viên SR. 27 ứng cử viên hàng đầu với nhiều phiếu bầu nhất sẽ trở thành SR với quyền và nghĩa vụ tạo khối. Số phiếu bầu là được tính 6 giờ một lần và SR sẽ thay đổi tương ứng.

Để ngăn chặn các cuộc tấn công độc hại, bạn phải trả giá khi trở thành ứng cử viên SR. Khi nộp đơn, 9999 TRX sẽ bị đốt khỏi tài khoản của người nộp đơn. Sau khi thành công, tài khoản đó có thể tham gia SR cuộc bầu cử. 9.1.2 Bầu cử

TRON Cần có quyền lực (ký hiệu là TP) để bỏ phiếu và số lượng TP tùy thuộc vào cử tri tài sản bị đóng băng (TRX).

TP được tính như sau:
TP 1 TRX bị đóng băng để lấy băng thông 1 =

Mọi tài khoản trong mạng TRON đều có quyền bỏ phiếu cho SR của riêng mình.

Sau khi phát hành (giải phóng, khả dụng sau 3 ngày), người dùng sẽ không còn tài sản bị đóng băng nào và mất tất cả TP tương ứng. Kết quả là tất cả các phiếu bầu sẽ không hợp lệ cho vòng bỏ phiếu đang diễn ra và trong tương lai trừ khi TRX lại bị đóng băng để bỏ phiếu.

Lưu ý rằng mạng TRON chỉ ghi lại phiếu bầu gần đây nhất, nghĩa là mỗi phiếu bầu mới sẽ phủ nhận tất cả các phiếu bầu trước đó. 9.1.3 Phần thưởng một. Phần thưởng bầu chọn

Còn được gọi là Phần thưởng Ứng viên, được 127 ứng viên hàng đầu cập nhật mỗi vòng một lần (6 giờ) sẽ chia sẻ 115.200 TRX được khai thác. Phần thưởng sẽ được chia theo trọng lượng phiếu bầu mỗi ứng viên nhận được. Mỗi năm, tổng phần thưởng cho ứng viên sẽ là 168.192.000 TRX. Tổng phần thưởng bình chọn mỗi vòng Tại sao 115.200 TRX mỗi vòng? 15, 00 TRX tổng phần thưởng phiếu bầu mỗi vòng (V R/vòng) 1 2 =
V R/vòng = 16 T RX/khối × 20 khối/phút × 60 phút/giờ × 6 giờ/vòng Lưu ý: số tiền này được đặt theo WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Xem thông số mạng động. Tổng phần thưởng bình chọn mỗi năm Tại sao 168.192.000 TRX mỗi năm? 168, 192.000 T RX = tổng phần thưởng phiếu bầu mỗi năm (V R/năm) V R/năm = 115, 200 T RX/vòng × 4 vòng/ngày × 365 ngày/năm b. Khối phần thưởng Còn được gọi là Phần thưởng Siêu đại diện, dành cho 27 ứng cử viên (SR) hàng đầu được bầu mỗi vòng (6 giờ) sẽ chia sẻ khoảng 230.400 TRX được khai thác. Phần thưởng sẽ được chia đều giữa 27 SR (trừ đi tổng số khối phần thưởng bị bỏ lỡ do lỗi mạng). Tổng cộng 336.384.000 TRX sẽ được trao hàng năm cho 27 SR. Tổng phần thưởng khối mỗi vòng Tại sao 230.400 TRX mỗi vòng? 230, 400 T RX = tổng phần thưởng khối mỗi vòng (BR/vòng) BR/vòng = 32 T RX/khối × 20 khối/phút × 60 phút/giờ × 6 giờ/vòng Lưu ý: phần thưởng khối đơn vị được đặt theo WITNESS_PAY_PER_BLOCK = 32 TRX. Xem mạng động các thông số. Tổng phần thưởng khối mỗi năm Tại sao 336.384.000 TRX mỗi năm? 336, 384, 000 T RX = tổng phần thưởng khối mỗi năm (BR/năm) BR/năm = 230, 400 T RX/vòng × 4 vòng/ngày × 365 ngày/năm Ngày 1 tháng 1 năm 2021 Sẽ không có lạm phát trên mạng TRON trước ngày 1 tháng 1 năm 2021 và TRON DAO sẽ trao tất cả phần thưởng khối và phần thưởng ứng viên trước ngày đó. c. Tính toán phần thưởng

Tính toán phần thưởng SR tổng phần thưởng phần thưởng phiếu bầu (V R) phần thưởng khối (BR) t =
+

R tổng V R V. =
×
tổng số phiếu bầu số phiếu ứng cử viên SR nhận được
R

khối bị bỏ lỡ 2 B =
27 tổng BR − × 3
Lưu ý: phần thưởng được tính trên mỗi SR mỗi vòng (6 giờ)

Xếp hạng 28 để tính phần thưởng ứng viên xếp hạng 127 SR tổng phần thưởng phần thưởng phiếu bầu (V R) t =

R tổng V R V. =
×
tổng số phiếu bầu số phiếu ứng cử viên SR nhận được
Lưu ý: phần thưởng được tính cho mỗi ứng viên SR mỗi vòng (6 giờ) 9.2 Ủy ban 9.2.1 Khái quát

Ủy ban được sử dụng để sửa đổi các tham số mạng động TRON, chẳng hạn như tạo khối phần thưởng, phí giao dịch, v.v. Ủy ban bao gồm 27 SR trong vòng hiện tại. Mỗi SR có quyền đề xuất và biểu quyết các đề xuất. Khi một đề xuất nhận được 19 phiếu bầu trở lên thì đó là đã được phê duyệt và các thông số mạng mới sẽ được áp dụng trong kỳ bảo trì tiếp theo (3 ngày). 9.2.2 Tham số mạng động 0. MAINTENANCE_TIME_INTERVAL một. Mô tả
Sửa đổi khoảng thời gian bảo trì tính bằng ms. Được biết đến là khoảng thời gian bỏ phiếu SR cho mỗi tròn.
b. Ví dụ [6 * 3600 * 1000] ms - tức là 6 giờ. c. Phạm vi [3 * 27* 1000, 24 * 3600 * 1000] mili giây 1. ACCOUNT_UPGRADE_COST một. Mô tả Sửa đổi chi phí đăng ký tài khoản SR. b. Ví dụ [9.999.000.000] SUN - tức là 9.999 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 2. TẠO_ACCOUNT_FEE một. Mô tả Sửa đổi phí tạo tài khoản.b. Ví dụ [100.000] SUN - tức là 1 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 3. TRANSACTION_FEE một. Mô tả Sửa đổi mức phí được sử dụng để có thêm băng thông. b. Ví dụ [10] CN/byte. c. Phạm vi [0,100 000 000 000 000 000] SUN/byte 4. TÀI SẢN_ISSUE_FEE một. Mô tả Sửa đổi phí phát hành tài sản. b. Ví dụ [1024.000.000] SUN - tức là 1024 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 5. WITNESS_PAY_PER_BLOCK một. Mô tả Sửa đổi phần thưởng tạo khối SR. Được biết đến như phần thưởng khối đơn vị. b. Ví dụ [32.000.000] SUN - tức là 32 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 6. WITNESS_STANDBY_ALLOWANCE một. Mô tả Sửa đổi phần thưởng được trao cho 127 ứng cử viên SR hàng đầu. Được biết đến như là phần thưởng tổng số phiếu bầu mỗi vòng. b. Ví dụ [115.200.000.000] SUN - tức là 115.200 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 7. TẠO_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT một. Mô tả Sửa đổi chi phí tạo tài khoản. Kết hợp các tham số mạng động #8 để có được tổng chi phí tạo tài khoản:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Ví dụ [0] CN. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

một. Mô tả Sửa đổi chi phí tạo tài khoản. Kết hợp các tham số mạng động #7 để có được tổng chi phí tạo tài khoản:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Ví dụ [1]. c. Phạm vi [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS một. Mô tả Để bật Máy ảo Tron (TVM). b. Ví dụ Đúng - được thiết lập để kích hoạt và có hiệu lực kể từ ngày 10/10/2018 23:47 UTC. c. Phạm vi Đúng/Sai 10. REMOVE_THE_POWER_OF_THE_GR một. Mô tả Xóa phiếu bầu GR ban đầu b. Ví dụ Đúng - có hiệu lực vào ngày 4/11/2018 08:46 UTC. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng. 11. NĂNG LƯỢNG_FEE một. Mô tả Sửa đổi mức phí của 1 năng lượng. b. Ví dụ 20 CN. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 12. TRAO ĐỔI_CREATE_FEE một. Mô tả Sửa đổi chi phí tạo cặp giao dịch. Được biết đến như là chi phí tạo ra một lệnh giao dịch. b. Ví dụ [1.024.000.000] SUN - tức là 1024 TRX. c. Phạm vi [0,100 000 000 000 000 000] MẶT TRỜI 13. MAX_CPU_TIME_OF_ONE_TX một. Mô tả Sửa đổi thời gian thực hiện tối đa của một giao dịch. Được biết đến như là giới hạn thời gian chờ của một giao dịch. b. Ví dụ 50 mili giây. c. Phạm vi

[0, 1000] mili giây 14. ALLOW_UPDATE_ACCOUNT_NAME một. Mô tả Sửa đổi tùy chọn để cho phép tài khoản cập nhật tên tài khoản của họ.
b. Ví dụ Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng. 15. ALLOW_SAME_TOKEN_NAME một. Mô tả Sửa đổi xác thực cho phép token khác có tên trùng lặp.
b. Ví dụ Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng. 16. ALLOW_DELEGATE_RESOURCE một. Mô tả Sửa đổi xác thực cho phép phát hành token với tên trùng lặp, do đó tokenID​ của token, ở kiểu dữ liệu số nguyên dài, sẽ là nguyên tử duy nhất nhận dạng token.
b. Ví dụ Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng. 17. TOTAL_ENERGY_LIMIT một. Mô tả Sửa đổi tổng giới hạn năng lượng của toàn mạng. b. Ví dụ [50.000.000.000.000.000] SUN - tức là 50.000.000.000 TRX. c. Phạm vi [0,100,000,000,000,000,000] MẶT TRỜI 18. ALLOW_TVM_TRANSFER_TRC10 một. Mô tả Cho phép truyền TRC-10 token trong vòng smart contract giây. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, Tất cả các đề xuất ALLOW_DELEGATE_RESOURCE đều phải được phê duyệt trước khi đề xuất sự thay đổi thông số này.
b. Ví dụ Sai - có sẵn để đề xuất từ java-tron Odyssey v3.2. c. Phạm vi Đúng/Sai - Lưu ý: không thể đặt lại thành Sai từ Đúng.9.2.3 Tạo đề xuất

Chỉ tài khoản SR mới có quyền đề xuất thay đổi các tham số mạng động. 9.2.4 Bỏ phiếu đề xuất

Chỉ các thành viên ủy ban (SR) mới có thể bỏ phiếu cho một đề xuất và thành viên không bỏ phiếu kịp thời sẽ được coi là không đồng ý. Đề xuất có hiệu lực trong 3 ngày sau khi được tạo. Việc bỏ phiếu có thể được thay đổi hoặc truy xuất trong thời gian bỏ phiếu 3 ngày. Khi thời hạn kết thúc, đề xuất sẽ hoặc thành công (hơn 19 phiếu bầu) hoặc thất bại (và kết thúc). 9.2.5 Hủy bỏ đề xuất

Người đề xuất có thể hủy đề xuất trước khi nó có hiệu lực. 9.3 Cấu trúc

SR là nhân chứng của các khối mới được tạo. Một nhân chứng chứa 8 tham số:
1. address​ : địa chỉ của nhân chứng này – ví dụ: 0xu82h…7237.
2. voteCount​: số phiếu bầu nhận được cho nhân chứng này – ví dụ: 234234.
3. pubKey​: khóa chung cho nhân chứng này – ví dụ: 0xu82h…7237.
4. url​: url cho nhân chứng này – ví dụ: https://www.noonetrust.com.
5. TotalProduced​: số khối mà nhân chứng này đã tạo ra – ví dụ: 2434.
6. TotalMissed​: số khối mà nhân chứng này đã bỏ lỡ – ví dụ: 7.
7. mới nhấtBlockNum​: chiều cao mới nhất của khối – ví dụ: 4522. 8. isjobs​ : một cờ boolean.

Cấu trúc dữ liệu Protobuf: tin nhắn​ ​Nhân chứng​{
​địa chỉ​ byte​ = ​1​;
​int64​ voteCount = ​2​;
​byte​ pubKey = ​3​;
​chuỗi​ url = ​4​;
​int64​ TotalProduced = ​5​;
​int64​ TotalMissed = ​6​;
​int64​ mới nhấtBlockNum = ​7​; ​bool​ isJobs = ​8​; }

  1. Phát triển DApp API 10.1

Mạng TRON cung cấp nhiều lựa chọn gồm hơn 60 cổng API HTTP để tương tác với mạng thông qua các nút đầy đủ và vững chắc. Ngoài ra, TronWeb là một thư viện JavaScript toàn diện chứa các hàm API cho phép nhà phát triển triển khai smart contracts, hãy thay đổi blockchain trạng thái, truy vấn blockchain và thông tin hợp đồng, giao dịch trên DEX, v.v. Các API này các cổng có thể được hướng tới mạng riêng cục bộ, mạng thử nghiệm Shasta hoặc TRON Mainnet.

10.2 Mạng

TRON có cả mạng thử nghiệm Shasta cũng như Mainnet. Các nhà phát triển có thể kết nối với mạng bằng cách triển khai các nút, tương tác qua TronStudio hoặc sử dụng API thông qua dịch vụ TronGrid. TronGrid dịch vụ bao gồm các cụm nút cân bằng tải được lưu trữ trên các máy chủ AWS trên toàn thế giới. Là DApp quy mô phát triển tăng lên và số lượng cuộc gọi API tăng lên, TronGrid đã thành công trong việc tăng Lưu lượng truy cập API.
10.3 Công cụ

TRON cung cấp một bộ công cụ phát triển để cho phép các nhà phát triển tạo DApps sáng tạo.
TronBox là một framework cho phép các nhà phát triển thử nghiệm và triển khai smart contract thông qua TronWeb API. TronGrid là dịch vụ API được lưu trữ và cân bằng tải cho phép các nhà phát triển truy cập vào TRON mạng mà không cần phải chạy nút riêng. TronGrid cung cấp quyền truy cập vào cả Shasta testnet cũng như TRON Mainnet. TronStudio là một công cụ phát triển tích hợp toàn diện Môi trường (IDE) cho phép các nhà phát triển biên dịch, triển khai và gỡ lỗi thông minh Solidity của họ hợp đồng. TronStudio chứa một nút đầy đủ bên trong tạo ra môi trường cục bộ riêng tư cho smart contract thử nghiệm trước khi triển khai. Thư viện API TronWeb kết nối các nhà phát triển với mạng thông qua nhiều lựa chọn lệnh gọi API HTTP được gói trong JavaScript.
10.4 Tài nguyên

Trung tâm nhà phát triển TRON là trang tài liệu API toàn diện được thiết kế theo hướng 12 các nhà phát triển mong muốn xây dựng trên mạng TRON. Trung tâm nhà phát triển cung cấp giải pháp cấp cao hiểu biết khái niệm về TRON và hướng dẫn người dùng chi tiết về cách tương tác với 12 Trung tâm nhà phát triển: https://developers.tron.network/

mạng. Hướng dẫn hướng dẫn các nhà phát triển cách thiết lập, triển khai và tương tác với nút thông minh hợp đồng, tương tác và triển khai API, xây dựng DApp mẫu và sử dụng từng công cụ phát triển. Ngoài ra, các kênh cộng đồng nhà phát triển có sẵn thông qua Discord.
13

13 Bất hòa: https://discordapp.com/invite/GsRgsTD

  1. Kết luận

TRON là giải pháp blockchain có thể mở rộng sử dụng các phương pháp cải tiến để giải quyết những thách thức mà mạng blockchain cũ phải đối mặt. Đã đạt hơn 2 triệu giao dịch mỗi ngày, với hơn 700 nghìn tài khoản TRX và vượt qua 2000 TPS, TRON đã hỗ trợ cộng đồng trong tạo ra một mạng lưới phi tập trung và dân chủ hóa.