TRON ホワイトペーパー
소개
1.1 비전
TRON은 진정한 분산형 인터넷 구축을 목표로 하는 야심찬 프로젝트입니다.
인프라. TRON 프로토콜은 세계에서 가장 큰 blockchain 기반 운영 체제 중 하나입니다.
world는 높은 처리량, 높은 확장성 및 고가용성에 대한 공개 blockchain 지원을 제공합니다.
TRON 생태계의 모든 분산형 애플리케이션(DApp). 2018년 7월 인수
BitTorrent는 분산형 생태계를 추구하는 데 있어 TRON의 리더십을 더욱 확고히 했습니다.
1.2 배경
2009년 Bitcoin의 도입은 전통적인 금융에 대한 사회의 인식에 혁명을 일으켰습니다. 대불황(2007~2008) 이후의 시스템입니다. 중앙화된 헤지펀드와 은행으로서 불투명한 금융 파생상품에 대한 투기로 인해 무너졌지만, blockchain 기술은 누구나 거래 정보를 수집할 수 있는 투명한 범용 원장. 는 거래는 작업 증명(PoW) 합의 메커니즘을 사용하여 암호화 방식으로 보호되었습니다. 따라서 이중 지출 문제를 방지할 수 있습니다.
2013년 말, Ethereum 백서는 smart contract과 Turing-complete Ethereum 가상 머신(EVM)을 통해 개발자는 DApp을 통해 네트워크를 구축합니다. 그러나 Bitcoin 및 Ethereum의 거래량이 2017년에 정점에 달하면서, 낮은 거래 처리 시간과 높은 거래 수수료로 인해 분명해졌습니다. 기존 상태의 Bitcoin 및 Ethereum과 같은 암호화폐는 널리 확장 가능하지 않았습니다. 입양. 따라서 TRON은 이러한 압박에 대한 혁신적인 솔루션으로 설립되고 구상되었습니다. 확장성 문제.

1.3 역사 TRON DAO은 2017년 7월 싱가포르에서 설립되었습니다. 2017년 12월에 TRON은(는) 오픈소스 프로토콜을 출시했습니다. 테스트넷, 블록체인 익스플로러, 웹월렛이 모두 있었습니다. 2018년 3월에 출시되었습니다. TRON 메인넷은 2018년 5월에 곧 출시되어 Odyssey 2.0은 기술적 이정표로 출시되었습니다. 2018년 6월 TRON이 독립을 선언했습니다. 2018년 7월 BitTorrent 인수와 함께 Genesis 블록 생성과 함께. 에서 2018년 10월, TRON은 완전한 개발자 도구 세트인 TRON 가상 머신(TVM)을 출시했습니다. 360 지원 시스템. TRON 로드맵에는 BitTorrent의 1억 명의 사용자를 결합하는 것이 포함됩니다. Project Atlas를 통해 TRON 네트워크와 협력하고 개발자 커뮤니티를 육성하여 출시 TRON 네트워크의 흥미롭고 새로운 DApp1. 1 V1.0은 https://tron.network/static/doc/white_paper_v_1_0.pdf에서 사용 가능합니다.
1.4 용어
주소/지갑 TRON 네트워크의 계정 자격 증명으로 구성된 주소 또는 지갑은 개인 키와 공개 키로 구성된 키 쌍(후자는 전자에서 파생됨) 알고리즘을 통해. 공개키는 일반적으로 세션키 암호화, 서명 등에 사용됩니다. 해당 개인 키로 해독할 수 있는 데이터를 확인하고 암호화합니다.
ABI ABI(애플리케이션 바이너리 인터페이스)는 두 바이너리 프로그램 모듈 간의 인터페이스입니다. 보통 이 모듈 중 하나는 라이브러리 또는 운영 체제 시설이고 다른 하나는 사용자가 실행하는 모듈입니다. 프로그램.
API API(Application 프로그래밍 인터페이스)는 주로 사용자 클라이언트 개발에 사용됩니다. 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 개인 키의 보안을 보장합니다.
디앱 분산형 애플리케이션은 중앙에서 신뢰할 수 있는 당사자 없이 작동하는 앱입니다. 애플리케이션 최종 사용자 및/또는 리소스 간의 직접적인 상호 작용/합의/통신을 가능하게 하는 것 중개자 없이.
gRPC gRPC(gRPC Remote Procedure Calls)는 오픈 소스 원격 프로시저 호출(RPC) 시스템입니다. 2 처음에는 Google에서 개발했습니다. 전송에는 HTTP/2를 사용하고 인터페이스로는 프로토콜 버퍼를 사용합니다. 설명언어를 제공하며 인증, 양방향 스트리밍, 흐름 등의 기능을 제공합니다. 제어, 차단 또는 비차단 바인딩, 취소 및 시간 초과. 생성합니다 다양한 언어에 대한 크로스 플랫폼 클라이언트 및 서버 바인딩. 가장 일반적인 사용 시나리오 마이크로서비스 스타일 아키텍처의 서비스 연결 및 모바일 장치 연결이 포함됩니다. 백엔드 서비스에 대한 브라우저 클라이언트.
핫월렛 온라인 지갑이라고도 알려진 핫 지갑은 사용자의 개인 키를 온라인에서 사용할 수 있도록 해줍니다. 악의적인 행위자에 의한 잠재적인 취약성 또는 가로채기에 취약합니다.
JDK Java Development Kit는 Java 애플리케이션에 사용되는 Java SDK입니다. 자바의 핵심이다 Java 애플리케이션 환경(JVM+Java 클래스 라이브러리)과 Java로 구성된 개발 도구.
카오스DB TRON에는 새로 생성된 모든 체인을 저장할 수 있는 전체 노드 메모리에 KhaosDB가 있습니다. 특정 기간 내에 증인이 자신의 활성 체인에서 신속하게 전환할 수 있도록 지원합니다. 새로운 메인 체인으로. 자세한 내용은 2.2.2 상태 저장소를 참조하세요.
레벨DB LevelDB는 초기에 빠른 R/W 및 빠른 요구 사항을 충족하는 주요 목표로 채택되었습니다. 개발. 메인넷 출시 후 TRON은 데이터베이스를 완전히 맞춤형으로 업그레이드했습니다. 하나는 자신의 필요에 부응했습니다. 자세한 내용은 2.2.1 블록체인 저장소를 참조하세요.
머클 루트 머클 루트는 blockchain에 있는 블록의 일부로 포함된 모든 거래의 모든 hashes 중 hash입니다. 네트워크. 자세한 내용은 3.1 위임된 지분 증명(DPoS)을 참조하세요. 2 https://en.wikipedia.org/wiki/GRPC

공개 테스트넷(Shasta) 단일 노드 구성에서 실행되는 네트워크 버전입니다. 개발자는 연결하고 테스트할 수 있습니다. 경제적 손실을 걱정하지 않고 기능을 제공합니다. 테스트넷 token은 가치가 없으며 누구나 할 수 있습니다. 공개 수도꼭지에서 더 많은 것을 요청하세요.
RPC
3
분산 컴퓨팅에서 원격 프로시저 호출(RPC)은 컴퓨터 프로그램이
다른 주소 공간(일반적으로 다른 컴퓨터의 다른 주소 공간)에서 실행되는 프로시저(서브루틴)
공유 네트워크)는 일반(로컬) 프로시저 호출인 것처럼 코딩됩니다.
프로그래머는 원격 상호 작용에 대한 세부 정보를 명시적으로 코딩합니다.
확장성 확장성은 TRON 프로토콜의 기능입니다. 시스템, 네트워크 또는 프로세스의 기능입니다. 점점 늘어나는 작업량을 처리하거나 해당 성장을 수용하기 위해 확장될 가능성이 있습니다.
태양 SUN은 TRX의 가장 작은 단위로 drop을 대체했습니다. 1 TRX = 1,000,000 SUN.
처리량 높은 처리량은 TRON 메인넷의 특징입니다. 초당 트랜잭션(TPS)으로 측정됩니다. 즉, 1초당 최대 트랜잭션 용량입니다.
타임스탬프 블록 생성의 대략적인 시간은 Unix 타임스탬프로 기록됩니다. 1970년 1월 1일 UTC 00:00:00 이후 경과된 밀리초입니다.
TKC 토큰 구성.
TRC-10 TRON 플랫폼의 암호화폐 token 표준입니다. 특정 규칙과 인터페이스를 따라야 합니다. TRON blockchain에 ICO를 보유할 때.
TRX TRX는 TRON의 공식 암호화폐인 Tronix의 약자입니다.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
導入
1.1 ビジョン
TRON は、真の分散型インターネットとその構築に特化した野心的なプロジェクトです。
インフラストラクチャ。 TRON プロトコルは、世界最大の blockchain ベースのオペレーティング システムの 1 つです。
世界では、高スループット、高スケーラビリティ、高可用性のパブリック blockchain サポートを提供します。
TRON エコシステム内のすべての分散型アプリケーション (DApp)。 2018年7月の買収により、
BitTorrent は、分散型エコシステムの追求における TRON のリーダーシップをさらに強化しました。
1.2 背景
2009 年の Bitcoin の導入は、従来の金融に対する社会の認識に革命をもたらしました。 大不況 (2007 ~ 2008 年) の影響で、このシステムが導入されました。集中型ヘッジファンドおよび銀行として 不透明な金融デリバティブの投機で崩壊し、blockchain テクノロジーは 誰もが取引情報を収集できる透明なユニバーサル台帳。の トランザクションは、Proof of Work (PoW) コンセンサス メカニズムを使用して暗号的に保護されていました。 したがって、二重支払いの問題を防ぐことができます。
2013 年後半、Ethereum ホワイト ペーパーでは、smart contract と チューリング完全な Ethereum 仮想マシン (EVM) を使用すると、開発者は DAppsを介したネットワーク。ただし、Bitcoin と Ethereum の取引量は 2017 年にピークに達したため、 トランザクションのスループット時間が短く、トランザクション手数料が高いことから、 Bitcoin や Ethereum のような暗号通貨は、既存の状態では広範囲に拡張できるものではありませんでした 採用。したがって、TRON は、これらの差し迫った問題に対する革新的なソリューションとして設立され、構想されました。 スケーラビリティの課題。

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

パブリックテストネット(シャスタ) 単一ノード構成で実行されるネットワークのバージョン。開発者は接続してテストできる 経済的損失を心配することなく機能を利用できます。テストネット token には価値がなく、誰でも実行できます。 公共の蛇口にさらにリクエストしてください。
RPC
3
分散コンピューティングでは、コンピュータ プログラムがリモート プロシージャ コール (RPC) を実行します。
別のアドレス空間 (通常は、別のコンピュータ上で実行) で実行するプロシージャ (サブルーチン)
共有ネットワーク)、あたかも通常の (ローカル) プロシージャ コールであるかのようにコード化されます。
プログラマーはリモート対話の詳細を明示的にコーディングします。
スケーラビリティ スケーラビリティは、TRON プロトコルの機能です。システム、ネットワーク、またはプロセスの機能です。 増大する作業量に対応できるか、またはその増大に対応して拡大する可能性がある。
太陽 SUN は TRX の最小単位として Drop を置き換えました。 1 TRX = 1,000,000 SUN。
スループット 高スループットは TRON メインネットの機能です。 1 秒あたりのトランザクション数 (TPS) で測定されます。 つまり、1秒間の最大トランザクション容量です。
タイムスタンプ ブロック生成のおおよその時間が Unix タイムスタンプとして記録されます。 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒。
TKC トークンの構成。
TRC-10 TRON プラットフォーム上の暗号 token の標準。特定のルールとインターフェイスに従う必要があります TRON blockchain に新規コインオファリングを開催する場合。
TRX TRX は Tronix の略で、TRON の公式暗号通貨です。
3 https://en.wikipedia.org/wiki/Remote_procedure_call
아키텍처
TRON은 Storage Layer, Core Layer, Application Layer로 구분된 3계층 아키텍처를 채택합니다. TRON 프로토콜은 본질적으로 다국어를 지원하는 Google Protobuf를 준수합니다. 확장.

그림 1: TRON 3계층 아키텍처
2.1 코어
핵심 계층에는 smart contracts, 계정 관리 및 합의. 스택 기반 가상 머신은 TRON에 구현되어 있으며 최적화된 명령어 세트가 사용됩니다. DApp 개발자를 더 잘 지원하기 위해 Solidity가 smart contract로 선택되었습니다. 4 언어에 이어 향후 다른 고급 언어도 지원됩니다. 또한 TRON의 합의 메커니즘은 위임된 지분 증명(DPoS)을 기반으로 하며 많은 혁신이 이루어졌습니다. 고유한 요구 사항을 충족하기 위해. 2.2 저장
TRON은 Block Storage와 State로 구성된 고유한 분산 스토리지 프로토콜을 설계했습니다. 저장. 그래프 데이터베이스라는 개념이 스토리지 계층 설계에 도입되었습니다. 현실 세계에서 다양한 데이터 스토리지에 대한 요구를 더 잘 충족합니다. 2.2.1 블록체인 스토리지
TRON blockchain 스토리지는 Google에서 개발하고 검증된 LevelDB를 사용하기로 선택합니다. 많은 회사와 프로젝트에서 성공했습니다. 고성능이며 임의 바이트를 지원합니다. 키와 값 모두로 배열, 단일 가져오기, 넣기 및 삭제, 일괄 넣기 및 삭제, 양방향 반복자 및 매우 빠른 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 언어. 다양한 제3자 다른 많은 언어에서도 구현이 가능합니다. Protobuf는 다음을 위한 개발을 용이하게 합니다. API 정의를 통합하고 데이터 전송을 최적화하여 클라이언트를 지원합니다. 클라이언트는 API를 사용할 수 있습니다 TRON의 프로토콜 저장소에서 .proto를 가져와 자동 생성된 코드를 통해 통합합니다. 도서관.
이에 비해 프로토콜 버퍼는 XML보다 3~10배 작고 20~100배 빠릅니다. 덜 모호한 구문을 사용합니다. Protobuf는 사용하기 쉬운 데이터 액세스 클래스를 생성합니다. 프로그래밍 방식으로. 2.4.2 HTTP
TRON 프로토콜은 Protobuf API 대신 RESTful HTTP API를 제공합니다. 그들은 같은 것을 공유합니다 인터페이스이지만 HTTP API는 자바스크립트 클라이언트에서 쉽게 사용할 수 있습니다. 2.5 TRON 가상 머신(TVM)
TVM은 TRON의 생태계를 위해 개발된 경량의 Turing 완전 가상 머신입니다. 는
TVM은 기존 개발 생태계와 원활하게 연결되어 수백만 개의 글로벌
효율적이고 편리하며 안정적이고 안전하며 맞춤 제작된 blockchain 시스템을 갖춘 개발자
확장 가능합니다.
2.6 탈중앙화 거래소(DEX)
5 Google 프로토콜 버퍼 공식 문서: https://developers.google.com/protocol-buffers/TRON 네트워크는 기본적으로 분산형 교환 기능을 지원합니다. 분산형 거래소 여러 거래 쌍으로 구성됩니다. 거래 쌍(“Exchange”로 표기)은 거래소 시장입니다. TRC-10 tokens 사이 또는 TRC-10 token과 TRX 사이. 모든 계정에서 거래를 생성할 수 있습니다. TRON 네트워크에 동일한 쌍이 이미 존재하는 경우에도 token 사이의 쌍입니다. 거래 및 거래 쌍의 가격 변동은 Bancor 프로토콜을 따릅니다. TRON 네트워크는 다음을 규정합니다. 6 모든 거래 쌍에서 두 token의 가중치는 동일하므로 잔고 비율이 가격입니다. 그들 사이. 예를 들어, ABC와 DEF라는 두 개의 token을 포함하는 거래 쌍을 생각해 보세요. ABC는 잔액은 1천만이고 DEF의 잔액은 100만입니다. 가중치가 동일하므로 10 ABC = 1 방어. 즉, ABC와 DEF의 비율은 DEF당 ABC 10개입니다. 2.7 구현
TRON blockchain 코드는 Java로 구현되었으며 원래 EthereumJ의 포크였습니다.
6 Bancor 프로토콜 공식 웹사이트: https://about.bancor.network/protocol/
アーキテクチャ
TRON は、ストレージ層、コア層、アプリケーション層に分かれた 3 層アーキテクチャを採用しています。 TRON プロトコルは、本質的に多言語をサポートする Google Protobuf に準拠しています。 拡張子。

図 1: TRON 3 層アーキテクチャ
2.1 コア
コア層には、smart contracts、アカウント管理、 コンセンサス。スタックベースの仮想マシンは TRON と最適化された命令に実装されています セットが使われます。 DApp 開発者をより適切にサポートするために、Solidity が smart contract として選択されました。 4 言語、その後に他の高度な言語の将来のサポートが続きます。さらに、TRON の総意 このメカニズムは Delegated Proof of Stake (DPoS) に基づいており、多くの革新が行われました。 独自の要件を満たすため。 2.2 保管
TRON は、ブロック ストレージとステートで構成される独自の分散ストレージ プロトコルを設計しました。 保管。グラフ データベースの概念は、ストレージ レイヤーの設計に導入されました。 現実世界における多様なデータストレージのニーズをより適切に満たします。 2.2.1 ブロックチェーンストレージ
TRON blockchain ストレージは、Google によって開発され実績のある LevelDB の使用を選択します。 多くの企業やプロジェクトで成功を収めています。高性能で任意のバイトをサポート キーと値の両方としての配列、単数の get、put および delete、バッチされた put および delete、双方向 イテレータ、および非常に高速な Snappy アルゴリズムを使用した単純な圧縮。 2.2.2 状態ストレージ
TRON は、フルノード メモリに KhaosDB を持ち、生成されたすべての新しくフォークされたチェーンを保存できます。 一定期間内に監視者が自分のアクティブなチェーンから迅速に切り替えることをサポートします。 新しいメインチェーンに組み込まれます。また、blockchain ストレージをより安定して保護することもできます。 途中の状態で異常終了します。 2.3 アプリケーション
開発者は、TRON でさまざまな DApp やカスタマイズされたウォレットを作成できます。 TRON 以降 smart contracts をデプロイして実行できるようにすると、ユーティリティ アプリケーションの機会が広がります。 無制限。 4 Solidity 公式ドキュメント: https://solidity.readthedocs.io/
2.4 プロトコル
TRON プロトコルは、言語中立、プラットフォーム中立の Google プロトコル バッファーに準拠しています。 5 通信プロトコル、データストレージ、 などなど。 2.4.1 プロトコルバッファ
プロトコル バッファー (Protobuf) は、構造化されたデータをシリアル化するための柔軟で効率的な自動メカニズムです。 JSON や XML に似たデータですが、はるかに小さく、高速で、シンプルです。
Protobuf (.proto) 定義を使用して、C++、Java、C#、Python、Ruby、 Golang および Objective-C 言語は、公式コード ジェネレーターを介して利用できます。さまざまなサードパーティ製 実装は他の多くの言語でも利用できます。 Protobuf により開発が容易になります API 定義を統一し、データ転送を最適化することで、クライアントの機能を強化します。クライアントはAPIを利用できる TRON のプロトコル リポジトリから .proto を取得し、自動生成されたコードを通じて統合します 図書館。
比較すると、プロトコル バッファーは XML よりも 3 ~ 10 倍小さく、20 ~ 100 倍高速です。 曖昧さの少ない構文で。 Protobuf は、より使いやすいデータ アクセス クラスを生成します プログラム的に。 2.4.2 HTTP
TRON プロトコルは、Protobuf API の代替となる RESTful HTTP API を提供します。彼らは同じことを共有しています インターフェイスですが、HTTP API は JavaScript クライアントで簡単に使用できます。 2.5 TRON 仮想マシン (TVM)
TVM は、TRON のエコシステム用に開発された軽量のチューリング完全仮想マシンです。の
TVM は既存の開発エコシステムとシームレスに接続し、何百万ものグローバルなサービスを提供します。
効率的、便利、安定性、安全性を備えたカスタム構築の blockchain システムを使用する開発者
スケーラブル。
2.6 分散型取引所 (DEX)
5 Google プロトコル バッファーの公式ドキュメント: https://developers.google.com/protocol-buffers/TRON ネットワークは、分散型交換機能をネイティブにサポートします。分散型取引所 複数の取引ペアで構成されます。取引ペア(「取引所」と表記)は取引所市場です TRC-10 tokens の間、または TRC-10 token と TRX の間。どのアカウントでも取引を作成できます 同じペアが TRON ネットワーク上にすでに存在する場合でも、任意の token 間のペア。取引と 取引ペアの価格変動は Bancor プロトコルに従います。 TRON ネットワークでは次のように規定されています。 6 すべての取引ペアの 2 つの token の重みは等しいため、それらの残高の比率が価格になります 彼らの間で。たとえば、ABC と DEF という 2 つの token を含む取引ペアについて考えてみましょう。 ABCには 残高1000万、DEF残高100万です。それらの重みは等しいため、10 ABC = 防御力1これは、ABC と DEF の比率が DEF あたり 10 ABC であることを意味します。 2.7 実装
TRON blockchain コードは Java で実装されており、元々は EthereumJ からのフォークでした。
6 Bancor プロトコルの公式 Web サイト: https://about.bancor.network/protocol/
합의
3.1 위임된 지분 증명(DPoS)
최초의 합의 메커니즘은 작업 증명(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(x1)이 되는 x1 ≠ x2 쌍을 찾는 것은 계산상 불가능합니다.
= h(x2). 즉, 동일한 두 개의 서로 다른 입력 hash을 찾을 확률입니다.
출력이 매우 낮습니다. 이 속성은 또한 두 번째 사전 이미지 저항을 의미합니다.
●
두 번째 사전 이미지 저항 - x1, 즉 h(x1)이 주어지면 다음이 계산적으로 불가능합니다.
h(x1) = h(x2)가 되는 x2를 찾으세요. 이 속성은 충돌 저항과 유사하지만,
속성은 주어진 x1을 가진 공격자가 계산적으로 그것을 찾을 것이라는 점에서 다릅니다.
동일한 출력에 대한 x2 hashing을 찾는 것은 불가능합니다.
●
결정론적 - 각 입력을 하나의 출력에만 매핑합니다.
●
Avalanche 효과 - 입력의 작은 변화로 인해 완전히 다른 출력이 발생합니다.
이러한 속성은 공격이 발생하지 않도록 보장함으로써 암호화폐 네트워크에 본질적인 가치를 부여합니다. 네트워크를 손상시킵니다. 채굴자가 블록을 확인하면 기본 제공되는 tokens 보상을 받습니다. 네트워크 참여에 대한 인센티브. 그러나 글로벌 암호화폐 시가총액으로는 꾸준히 증가하면서 채굴자들은 중앙 집중화되었고 컴퓨팅 리소스를 다음 분야에 집중했습니다. 네트워크 참여 목적이 아닌 자산으로 token을 비축합니다. CPU 채굴자들은 GPU는 강력한 ASIC으로 대체되었습니다. 한 주목할만한 연구에서 총 전력은 Bitcoin 채굴 소비량은 아일랜드와 비슷한 수준인 3GW에 달하는 것으로 추산됩니다. 10 전력 소비. 동일한 연구에서는 가까운 미래에 총 전력 소비가 8GW에 도달할 것으로 예상했습니다. 미래.
에너지 낭비 문제를 해결하기 위해 PoS(Proof of Stake) 합의 메커니즘이 제안되었습니다. 많은 새로운 네트워크. PoS 네트워크에서 token 보유자는 token 잔액을 잠궈 블록이 됩니다. validators. validator은 차례로 다음 블록을 제안하고 투표합니다. 그러나 문제는 표준 PoS의 경우 validator 영향력은 잠겨 있는 token의 양과 직접적으로 연관되어 있습니다. 이로 인해 당사자들이 네트워크의 기본 통화를 대량으로 보유하고 부당하게 사용하게 됩니다. 네트워크 생태계에 영향을 미칩니다.
TRON 합의 메커니즘은 혁신적인 위임 지분 증명 시스템을 사용합니다.
슈퍼 대표(SR)는 네트워크에 대한 블록을 생성합니다. 6시간마다 TRX 계정 보유자
자신의 계정을 동결한 사람은 상위 27명의 후보자와 함께 SR 후보자를 선택하기 위해 투표할 수 있습니다.
SR로 간주됩니다. 유권자는 SR이 후원하는 프로젝트와 같은 기준에 따라 SR을 선택할 수 있습니다.
9 PAAR, C., PELZL, J., 암호화 이해: 학생 및 실무자를 위한 교과서, 2010년 에디션.
Springer-Verlag 베를린 하이델베르그, 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초마다 하나의 블록을 생성하며 각 블록은 32개를 부여합니다. 슈퍼 대표자에게 TRX를 보냅니다. 매년 총 336,384,000 TRX가 27개의 SR에게 지급됩니다. SR이 블록 생성을 완료할 때마다 슈퍼원장의 하위 계정으로 보상이 전송됩니다. SR은 확인할 수 있지만 이러한 TRX token을 직접 사용할 수는 없습니다. 출금은 각자 할 수 있습니다. 24시간마다 1회 SR, 서브 계정의 보상이 지정된 SR로 이전됩니다. 계정.
TRON 네트워크의 세 가지 유형의 노드는 Witness Node, Full Node 및 Solidity Node입니다. 증인 노드는 SR에 의해 구성되며 주로 블록 생성 및 제안을 담당합니다. 생성/투표. 풀 노드는 API와 브로드캐스트 트랜잭션 및 블록을 제공합니다. Solidity 노드 동기화 다른 풀 노드를 차단하고 인덱싱 가능한 API도 제공합니다.
コンセンサス
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 も提供します。
계정
4.1 종류
TRON 네트워크의 세 가지 유형의 계정은 일반 계정, token 계정 및 계약 계좌.
1.
일반 계정은 표준 거래에 사용됩니다.
2.
토큰 계정은 TRC-10 token을 저장하는 데 사용됩니다.
3.
계약 계정은 일반 계정에서 생성된 smart contract 계정이며
일반 계정에서도 발생합니다.
4.2 생성
TRON 계정을 만드는 방법에는 세 가지가 있습니다.
1. API를 통해 새 계정 만들기 2. TRX를 새 계정 주소로 이체 3. TRC-10 token을 새 계정 주소로 이전하세요.
주소(공개키)와 개인키로 구성된 오프라인 키 쌍으로, TRON 네트워크도 생성될 수 있습니다. 사용자 주소 생성 알고리즘은 다음과 같이 구성됩니다. 키 쌍을 생성한 후 공개 키(x, y를 나타내는 64바이트 바이트 배열) 추출 좌표). SHA3-256 기능을 사용하여 공개 키를 해시합니다(채택된 SHA3 프로토콜은 KECCAK-256) 결과의 마지막 20바이트를 추출합니다. 바이트 배열의 시작 부분에 41을 추가합니다. 초기 주소 길이가 21바이트인지 확인합니다. SHA3-256 기능을 사용하여 주소를 두 번 해시합니다. 처음 4바이트를 인증 코드로 사용하세요. 이니셜 끝에 인증코드를 추가하세요. base58 인코딩을 통해 base58check 형식의 주소를 얻고 획득합니다. 인코딩된 메인넷 주소는 T로 시작하며 길이는 34바이트입니다. 4.3 구조
세 가지 다른 계정 유형은 Normal, AssetIssue 및 Contract입니다. 계정에는 7개가 포함됩니다. 매개변수:
1.
account_name: 이 계정의 이름 – 예: 청구서계정.
2.
type: 이 계정의 유형입니다. 예: 0('일반' 유형을 나타냄).
3.
잔액: 이 계좌의 잔액 – 예: 4213312.
4.
vote: 이 계정에서 투표를 받았습니다. – 예: {(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5.
자산: 이 계정에서 TRX가 예상되는 다른 자산 – 예: {<“WishToken”, 66666>, <”Dogie”,
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;
}
アカウント
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;
}
블록
블록에는 일반적으로 블록 헤더와 여러 트랜잭션이 포함됩니다.
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에는 2개의 매개변수가 포함되어 있습니다. 1. hash: 블록의 hash. 2. 번호: hash 및 블록의 높이. 5.2 거래 5.2.1 서명
TRON의 거래 서명 프로세스는 표준 ECDSA 암호화 알고리즘을 따릅니다.
SECP256K1 선택 곡선. 개인키는 난수이고, 공개키는 숫자이다.
타원 곡선. 공개 키 생성 프로세스는 먼저 난수를 생성하는 것으로 구성됩니다.
개인 키를 얻은 다음 타원 곡선의 기준점에 개인 키를 곱하여
공개 키. 트랜잭션이 발생하면 먼저 트랜잭션 원시 데이터가 바이트 형식으로 변환됩니다.
그런 다음 원시 데이터는 SHA-256 hashing을 거칩니다. 계약에 해당하는 개인 키
그런 다음 주소는 SHA256 hash의 결과에 서명합니다. 그런 다음 서명 결과가
거래.
5.2.2 대역폭 모델
일반 트랜잭션은 대역폭 포인트만 소비하지만 smart contract 작업은 대역폭 포인트를 모두 소비합니다. 에너지 및 대역폭 포인트. 두 가지 유형의 대역폭 포인트를 사용할 수 있습니다. 사용자는 얻을 수 있습니다 TRX 동결로 인한 대역폭 포인트와 매일 5000개의 무료 대역폭 포인트도 사용할 수 있습니다.
TRX 트랜잭션이 브로드캐스트되면 바이트 배열 형태로 전송되어 저장됩니다. 네트워크. 한 번의 트랜잭션에 소비된 대역폭 포인트 = 트랜잭션 바이트 수 대역폭 포인트 비율을 곱합니다. 예를 들어 트랜잭션의 바이트 배열 길이가 200인 경우 그러면 트랜잭션은 200 대역폭 포인트를 소비합니다. 그러나 TRX 또는 token 전송 결과가 다음과 같은 경우 생성되는 대상 계정, 계정 생성에 소비된 대역폭 포인트만 차감되며 추가 대역폭 포인트는 차감되지 않습니다. 계정 생성에서 시나리오에서 네트워크는 먼저 트랜잭션 개시자가 얻은 대역폭 포인트를 소비합니다.TRX 동결에서. 이 금액이 충분하지 않으면 네트워크는 트랜잭션을 소비합니다. 개시자의 TRX.
하나의 TRX 계정에서 다른 TRX 계정으로의 표준 TRX 전송 시나리오에서 네트워크는 먼저 다음을 소비합니다. TRX를 동결하기 위해 트랜잭션 개시자가 얻은 대역폭 포인트. 그게 부족하면 그럼 무료 일일 5000 대역폭 포인트를 소모합니다. 그래도 충분하지 않다면 네트워크가 거래 개시자의 TRX를 소비합니다. 금액은 바이트 수로 계산됩니다. 거래에 10 SUN을 곱합니다. 따라서 반드시 동결되지 않을 수 있는 대부분의 TRX 보유자의 경우 SR 투표에 참여하기 위한 TRX의 경우 첫 번째 단계는 자동으로 건너뜁니다. 고정 = 0) 일일 무료 대역폭 5000이 거래를 지원합니다.
TRC-10 token 전송의 경우 네트워크는 먼저 총 여유 대역폭 포인트가 있는지 확인합니다. 발행된 token 자산이면 충분합니다. 그렇지 않은 경우 TRX를 동결하여 얻은 대역폭 포인트는 다음과 같습니다. 소비되었습니다. 여전히 대역폭 포인트가 충분하지 않으면 거래의 TRX를 소비합니다. 개시자.
5.2.3 수수료
TRON 네트워크는 일반적으로 시스템으로 인해 대부분의 거래에 대해 수수료를 부과하지 않습니다. 제한 및 공정성, 대역폭 사용량 및 거래에는 특정 수수료가 부과됩니다.
수수료 요금은 다음 범주로 분류됩니다. 1. 일반 거래에는 대역폭 포인트가 필요합니다. 사용자는 일일 무료 대역폭 포인트를 사용할 수 있습니다. (5000) 또는 더 많은 것을 얻으려면 TRX를 동결하세요. 대역폭 포인트가 충분하지 않으면 TRX는 보내는 계정에서 직접 사용됩니다. 필요한 TRX는 바이트 수 * 10 SUN입니다. 2. 스마트 계약에는 에너지 비용이 들지만(섹션 6) 다음을 위한 대역폭 포인트도 필요합니다. 거래가 방송되고 확인됩니다. 대역폭 비용은 위와 동일합니다. 3. 모든 쿼리 트랜잭션은 무료입니다. 에너지나 대역폭 비용이 들지 않습니다.
TRON 네트워크는 또한 다음 거래에 대한 고정 수수료 세트를 정의합니다. 1. 감시 노드 생성: 9999 TRX 2. TRC-10 token 발행: 1024 TRX 3. 새 계정 만들기: 0.1 TRX 4. 교환 쌍 생성: 1024 TRX 5.2.4 지분 증명 거래(TaPoS)
TRON은 TaPoS를 사용하여 거래가 모두 기본 blockchain을 확인하도록 보장합니다.
위조 체인을 위조하기가 어렵습니다. TaPoS에서 네트워크는 각 거래에 다음의 일부를 포함해야 합니다.
최근 블록 헤더의 hash. 이 요구 사항은 트랜잭션이 재생되는 것을 방지합니다.
참조된 블록을 포함하지 않고 포크하고 특정 사용자와 그들의스테이크는 특정 포크에 있습니다. 이 합의 메커니즘은 거부로부터 네트워크를 보호합니다.
서비스, 51%, 이기적인 채굴, 이중 지출 공격.
5.2.5 거래 확인
트랜잭션은 네트워크에 브로드캐스트된 후 미래 블록에 포함됩니다. 19블록이 지나면 TRON(자체 블록 포함)에서 채굴되면 거래가 확인됩니다. 각 블록은 다음과 같이 생성됩니다. 라운드 로빈 방식으로 상위 27명의 슈퍼 대표자 중 한 명입니다. 각 블록은 최대 3초 정도 소요됩니다. blockchain에서 채굴됩니다. 네트워크 상황에 따라 각 슈퍼대표마다 시간이 조금씩 다를 수 있습니다. 조건 및 기계 구성. 일반적으로 거래는 다음 이후에 완전히 확정된 것으로 간주됩니다. ~1분. 5.2.6 구조
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair

ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
ブロック
通常、ブロックにはブロック ヘッダーといくつかのトランザクションが含まれます。
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 ブロックヘッダー
ブロックヘッダーには、raw_data、witness_signature、blockID が含まれます。
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 生データ
生データは、Protobuf では raw_data と表されます。メッセージの生データが含まれており、6 つのメッセージが含まれています。 パラメータ:
1. timestamp : このメッセージのタイムスタンプ – 例: 1543884429000。 2. txTrieRoot: マークル ツリーのルート – 例: 7dacsa…3ed。 3. parentHash : 最後のブロックの hash – 例: 7dacsa…3ed。 4. 数値: ブロックの高さ – 例: 4638708。 5. バージョン: 予約済み – 例: 5.
6. Witness_address : このブロックに詰め込まれた証人のアドレス – 例: 41928c...4d21。 5.1.2 証人の署名
証人の署名は、Protobuf では witness_signature として示されます。これは、この署名です。 監視ノードからのブロックヘッダー。 5.1.3 ブロックID
ブロック ID は、Protobuf では blockID として表されます。これには、ブロックのアトミック ID が含まれます。ブロック ID には 2 つのパラメータが含まれます。 1. hash : ブロックの hash 。 2. 番号: hash とブロックの高さ。 5.2 トランザクション 5.2.1 署名
TRON のトランザクション署名プロセスは、標準の ECDSA 暗号化アルゴリズムに従います。
SECP256K1の選択曲線。秘密キーは乱数であり、公開キーは
楕円曲線。公開鍵の生成プロセスは、最初に乱数を生成することから構成されます。
秘密鍵を取得し、楕円曲線の基点に秘密鍵を乗算して、
公開鍵。トランザクションが発生すると、トランザクションの生データがまずバイト形式に変換されます。
次に、生データは SHA-256 hash 処理されます。契約に対応する秘密鍵
次に、アドレスは SHA256 hash の結果に署名します。署名結果は、
取引。
5.2.2 帯域幅モデル
通常のトランザクションは帯域幅ポイントのみを消費しますが、smart contract オペレーションは両方の帯域幅ポイントを消費します。 エネルギーと帯域幅のポイント。使用可能な帯域幅ポイントは 2 種類あります。ユーザーが得られるメリット TRX の凍結により帯域幅ポイントが獲得できるほか、毎日 5,000 の無料帯域幅ポイントも利用できます。
TRX トランザクションがブロードキャストされると、トランザクションはバイト配列の形式で送信され、保存されます。 ネットワーク。 1 つのトランザクションで消費される帯域幅ポイント = トランザクションのバイト数 帯域幅ポイント率を乗算します。たとえば、トランザクションのバイト配列の長さが 200 の場合、 この場合、トランザクションは 200 帯域幅ポイントを消費します。ただし、TRX または token 転送の結果、 ターゲット アカウントが作成されると、アカウントの作成に消費される帯域幅ポイントのみが消費されます。 が差し引かれますが、追加の帯域幅ポイントは差し引かれません。アカウント作成時 シナリオでは、ネットワークは最初にトランザクション開始者が獲得した帯域幅ポイントを消費します。TRXの凍結から。この量が不十分な場合、ネットワークはトランザクションを消費します。 イニシエーターの TRX。
ある TRX アカウントから別の TRX アカウントへの標準的な TRX 転送シナリオでは、ネットワークは最初に TRX を凍結するためにトランザクション開始者が獲得した帯域幅ポイント。それが不十分な場合は、 無料の 1 日あたり 5000 帯域幅ポイントを消費します。それでも不十分な場合は、ネットワーク トランザクション開始者の TRX を消費します。量はバイト数によって計算されます。 トランザクションに 10 SUN を掛けます。したがって、必ずしも凍結する必要はないほとんどの TRX 保有者にとって、 彼らの TRX が SR 投票に参加する場合、最初のステップは自動的にスキップされます (TRX 残高があるため) 凍結 = 0)、1 日あたり 5000 の無料帯域幅がトランザクションを強化します。
TRC-10 token 転送の場合、ネットワークは最初に、合計空き帯域幅ポイントが 発行された token 資産で十分です。そうでない場合、TRX をフリーズすることで取得される帯域幅ポイントは次のようになります。 消費された。それでも十分な帯域幅ポイントがない場合は、トランザクションの TRX が消費されます。 イニシエーター。
5.2.3 料金
TRON ネットワークは通常、ほとんどのトランザクションに手数料を請求しませんが、システム上の理由により、 制限と公平性、帯域幅の使用およびトランザクションには一定の手数料がかかります。
手数料は次のカテゴリに分類されます。 1. 通常のトランザクションには帯域幅ポイントがかかります。ユーザーは無料の毎日の帯域幅ポイントを使用できます (5000) または TRX を凍結してさらに入手します。帯域幅ポイントが十分でない場合、TRX は 送信アカウントから直接使用されます。必要な TRX は、バイト数 * 10 SUN です。 2. スマート コントラクトにはエネルギーがかかります (セクション 6) が、そのための帯域幅ポイントも必要になります。 トランザクションをブロードキャストして確認する必要があります。帯域幅コストは上記と同じです。 3. すべてのクエリ トランザクションは無料です。エネルギーや帯域幅はかかりません。
TRON ネットワークは、次のトランザクションに対する一連の固定料金も定義します。 1. 監視ノードの作成: 9999 TRX 2. TRC-10 token の発行: 1024 TRX 3. 新しいアカウントの作成: 0.1 TRX 4. 交換ペアの作成: 1024 TRX 5.2.4 プルーフ・オブ・ステークとしてのトランザクション (TaPoS)
TRON は TaPoS を使用して、すべてのトランザクションがメインの blockchain を確実に確認するようにします。
偽造チェーンを偽造するのは困難です。 TaPoS では、ネットワークは各トランザクションに次の一部が含まれることを必要とします。
最近のブロックヘッダーの hash。この要件により、トランザクションが再実行されなくなります。
参照されたブロックを含まないフォークを実行し、特定のユーザーとそのユーザーがステークは特定のフォークにあります。このコンセンサス メカニズムは、ネットワークを拒否から保護します。
サービス、51%、利己的なマイニング、二重支払い攻撃。
5.2.5 トランザクションの確認
トランザクションは、ネットワークにブロードキャストされた後、将来のブロックに含まれます。 19ブロック後 TRON (独自のブロックを含む) でマイニングされた場合、トランザクションは確認されます。各ブロックは次のように生成されます。 ラウンドロビン方式で上位 27 人のスーパー代表の 1 人。各ブロックには約 3 秒かかります blockchain で採掘されます。ネットワークの関係により、各スーパー代表の時間は若干異なる場合があります 条件とマシン構成。一般に、トランザクションは次の後に完全に確認されたとみなされます。 ~1分。 5.2.6 構造
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair

ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
TRON 가상 머신
6.1 소개
TRON TVM(Virtual Machine)은 경량의 Turing 완전한 가상 머신입니다. TRON의 생태계. 그 목표는 효율적인 맞춤형 blockchain 시스템을 제공하는 것입니다. 편리하고 안정적이며 안전하고 확장 가능합니다.
TVM은 처음에 EVM에서 분기되었으며 기존 견고성 smart contract과 원활하게 연결할 수 있습니다. 11 개발 생태계. 이를 바탕으로 TVM은 DPoS 합의를 추가로 지원합니다.
TVM은 에너지라는 개념을 사용합니다. EVM의 가스 메커니즘과 다른 작동 방식은 다음과 같습니다. TVM의 거래 및 smart contract은 무료이며 TRX가 소비되지 않습니다. 기술적으로 실행 가능 TVM의 계산 용량은 총 보유량 tokens에 의해 제한되지 않습니다. 6.2 작업 흐름
컴파일러는 먼저 Solidity smart contract을 읽기 가능하고 실행 가능한 바이트 코드로 변환합니다. TVM. 그런 다음 TVM은 논리 연산과 동일한 opcode를 통해 데이터를 처리합니다. 스택 기반의 유한 상태 기계. 마지막으로 TVM은 blockchain 데이터에 액세스하고 상호 운용 계층을 통한 외부 데이터 인터페이스. 11 EVM: Ethereum 가상 머신(https://github.com/ethereum/ethereumj)

그림 3: TVM 워크플로
6.3 성능 6.3.1 경량 아키텍처
TVM은 리소스 소비를 줄이기 위해 경량 아키텍처를 채택합니다. 시스템 성능. 6.3.2 견고함
TRX 전송 및 smart contract 실행 비용 대역폭 포인트만 TRX 대신에 발생합니다. TRON을 공격으로부터 면제합니다. 대역폭 소비는 예측 가능하며 정적입니다. 계산 단계 비용은 고정되어 있습니다. 6.3.3 높은 호환성
TVM은 EVM과 호환되며 앞으로 더 많은 주류 VM과 호환될 예정입니다. 따라서 EVM의 모든 smart contract은 TVM에서 실행 가능합니다. 6.3.4 저렴한 비용
TVM의 대역폭 설정으로 인해 개발 비용이 절감되고 개발자는 개발에만 집중할 수 있습니다. 계약 코드의 논리 개발. TVM은 계약을 위한 올인원 인터페이스도 제공합니다. 배포, 트리거링 및 보기를 통해 개발자에게 편의성을 제공합니다.
TRON 仮想マシン
6.1 はじめに
TRON 仮想マシン (TVM) は、 TRON のエコシステム。その目標は、効率的でカスタム構築された blockchain システムを提供することです。 便利、安定、安全、スケーラブル。
TVM は当初 EVM からフォークされ、既存の Solidity smart contract とシームレスに接続できます 11 開発エコシステム。これに基づいて、TVM は DPoS コンセンサスを追加でサポートします。
TVM はエネルギーの概念を採用しています。 EVM のガス機構とは異なり、 TVM 上のトランザクションと smart contract は無料であり、TRX は消費されません。技術的には実行可能 TVM 上の計算能力は、tokens の合計保持量によって制限されません。 6.2 ワークフロー
コンパイラーはまず、Solidity smart contract を読み取り可能で実行可能なバイトコードに変換します。 TVM。その後、TVM はオペコードを通じてデータを処理します。これはロジックを操作するのと同じです。 スタックベースの有限状態マシンの。最後に、TVM は blockchain データにアクセスし、 相互運用層を介した外部データ インターフェイス。 11 EVM: Ethereum 仮想マシン (https://github.com/ethereum/ethereumj)

図 3: TVM ワークフロー
6.3 パフォーマンス 6.3.1 軽量アーキテクチャ
TVM は、リソース消費を削減して確実なパフォーマンスを実現することを目的とした軽量アーキテクチャを採用しています。 システムのパフォーマンス。 6.3.2 堅牢性
TRX 転送と smart contract 実行では、TRX ではなく帯域幅ポイントのみがかかります。 TRON は攻撃から免除されます。帯域幅の消費量は予測可能で静的です。 計算ステップコストは固定です。 6.3.3 高い互換性
TVM は EVM と互換性があり、将来的にはより主流の VM と互換性があるようになる予定です。 これにより、EVM 上のすべての smart contract が TVM 上で実行可能になります。 6.3.4 低コスト
TVM の帯域幅設定により、開発コストが削減され、開発者は開発に集中できます。 契約コードのロジック開発。 TVM は契約用のオールインワン インターフェイスも提供します 導入、トリガー、表示を可能にし、開発者に利便性を提供します。
스마트 계약
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 동결로 인한 일일 계정 에너지 한도입니다. ● TRX 동결로 인해 남은 일일 계정 에너지는 에너지 한도 - 에너지로 계산됩니다. 중고 ● TRX의 수수료 한도는 smart contract 배포/트리거 호출에 설정되어 있습니다. ● 계정에 남은 사용 가능한 TRX ● 직접 구매한 경우 TRX당 에너지(10 SUN = 1 에너지) = 100,000, SR은 투표 가능 조정
배포를 위한 최대 에너지 한도를 계산하는 두 가지 소비 시나리오가 있습니다.
방아쇠. 논리는 다음과 같이 표현될 수 있습니다.
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 배포
TRON solidity smart contract이 컴파일되면 TRON 가상 머신은 컴파일된 내용을 읽습니다. 바이트코드. 바이트코드는 코드 배포, 계약 코드 및 Auxdata 섹션으로 구성됩니다. Auxdata는 검증에 사용되는 소스 코드의 암호화 지문입니다. 배포 바이트코드는 생성자 함수를 실행하고 초기 저장 변수를 설정합니다. 배포 code는 또한 계약 코드를 계산하여 TVM에 반환합니다. ABI는 JSON 파일입니다. TRON smart contract의 기능을 설명합니다. 이 파일은 함수 이름, 지불 가능성, 함수 반환 값 및 상태 변경 가능성. 7.4 트리거 기능
TRON smart contract이 배포되면 해당 기능은 다음 중 하나를 통해 개별적으로 트리거될 수 있습니다. TronStudio 또는 API 호출을 통해. 상태 변경 기능에는 에너지가 필요하지만 읽기 전용 기능에는 에너지가 필요합니다. 에너지 없이 실행합니다. 7.5 TRON 견고성
TRON Solidity는 Ethereum의 Solidity 언어에서 나온 포크입니다. TRON은 원본 프로젝트를 다음으로 수정합니다. TRX 및 SUN 단위를 지원합니다(1 TRX = 1,000,000 SUN). 나머지 언어 구문은 다음과 같습니다. Solidity ^0.4.24와 호환됩니다. 따라서 TVM(Tron Virtual Machine)은 거의 100% 호환됩니다. EVM 지침으로.
スマートコントラクト
7.1 はじめに
smart contract は、契約交渉をデジタル的に検証するプロトコルです。彼らはルールを定義し、 契約に関連する罰則が適用され、それらの義務も自動的に強制されます。賢い 契約コードは、契約の交渉や履行を促進、検証、強制します。 取引。 token化の観点から見ると、smart contractは自動資金調達も容易にします 参加当事者間の転送には、特定の基準が満たされる必要があります。
TRON smart contract は Solidity 言語で書かれています。作成してテストすると、次のことが可能になります。 バイトコードにコンパイルされ、TRON 仮想マシンの TRON ネットワークにデプロイされます。一度 導入すると、smart contract はコントラクト アドレスを介してクエリできるようになります。契約申込書 バイナリ インターフェイス (ABI) はコントラクトの呼び出し関数を示し、コントラクトとの対話に使用されます。 ネットワーク。 7.2 エネルギーモデル
smart contract を展開およびトリガーするための最大エネルギー制限は、いくつかの関数によって決まります。 変数:
● 1 TRX の凍結による動的エネルギーは 50,000,000,000 (総エネルギー制限) / (総エネルギー) 重量) ● エネルギー制限は、TRX の凍結による 1 日あたりのアカウントのエネルギー制限です。 ● TRX の凍結による毎日のアカウントの残りのエネルギーは、エネルギー制限 - エネルギーとして計算されます。 中古品 ● TRX の料金制限は smart contract デプロイ/トリガー呼び出しで設定されます ● アカウント内の使用可能な TRX の残り ● 直接購入した場合の TRX あたりのエネルギー (10 SUN = 1 エネルギー) = 100,000、SR は投票可能 調整
導入の最大エネルギー制限を計算するには、2 つの消費シナリオがあります。
トリガー。ロジックは次のように表現できます。
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 展開
TRON Solidity smart contract がコンパイルされると、TRON 仮想マシンはコンパイルされた バイトコード。バイトコードは、コード展開のセクション、コントラクト コード、および Auxdata で構成されます。 Auxdata はソース コードの暗号化フィンガープリントであり、検証に使用されます。導入 bytecode はコンストラクター関数を実行し、初期ストレージ変数を設定します。導入 code はコントラクト コードも計算し、それを TVM に返します。 ABI は JSON ファイルです。 TRON smart contract の機能について説明します。このファイルは、関数名、その支払い可能性、 関数の戻り値とその状態の可変性。 7.4 トリガー機能
TRON smart contract がデプロイされると、それらの機能は次のいずれかの方法で個別にトリガーできます。 TronStudio または API 呼び出し経由。状態変更関数はエネルギーを必要としますが、読み取り専用関数は必要です エネルギーなしで実行します。 7.5 TRON 堅牢性
TRON Solidity は、Ethereum の Solidity 言語からのフォークです。 TRON は、元のプロジェクトを次のように変更します。 TRX および SUN ユニットをサポートします (1 TRX = 1,000,000 SUN)。残りの言語構文は次のとおりです。 Solidity ^0.4.24 と互換性があります。したがって、Tron 仮想マシン (TVM) はほぼ 100% 互換性があります。 EVM 命令付き。
토큰
8.1 TRC-10 토큰
TRON 네트워크에서 각 계정은 1024 TRX를 희생하여 token을 발행할 수 있습니다. token을 발행하려면, 발행자는 token 이름, 총 자본금, TRX에 대한 환율, 순환 기간, 설명, 웹사이트, 계정당 최대 대역폭 소비, 총계 대역폭 소비 및 동결된 token 양. 각 token 발행은 또한 구성할 수 있습니다 각 계정의 일일 최대 token 전송 대역폭 포인트, 전체 네트워크의 일일 최대 token 전송 대역폭 포인트, 총 token 공급량, 잠금 기간(일) 및 총 금액 token 중 잠겼습니다. 8.2 TRC-20 토큰
TRC-20은 smart contract이 지원하는 token을 구현하는 데 사용되는 기술 표준입니다. TRON 가상 머신. ERC-20과 완벽하게 호환됩니다.
인터페이스는 다음과 같습니다:
계약 TRC20인터페이스 {
함수 totalSupply() 공개 상수 반환 (단위);
함수 balanceOf(주소 tokenOwner) 공개 상수 반환 (단위
균형);
함수 허용(주소 token소유자, 주소 지출자) 공용 상수
반환 (남은 단위);
기능 전송(주소, 단위 tokens) 공개 반환 (부울 성공);
기능 승인(주소 지출자, 단위 tokens) 공개 반환 (bool
성공);
함수 transferFrom(주소, 주소, 단위 tokens) 공개
반환 (부울 성공);
이벤트 전송(인덱스된 주소, 인덱싱된 주소, 단위 tokens);
이벤트 승인(주소 색인 tokenOwner, 주소 색인 지출자, 단위
tokens); }
개발자의 관점에서 볼 때 TRC-10과 TRC-20에는 몇 가지 차이점이 있습니다. 일부 주요 차이점 중 하나는 TRC-10 token은 API와 smart contract을 통해 액세스할 수 있다는 것입니다. TRC-20 token은 인터페이스 사용자 정의를 허용하지만 smart contract 내에서만 액세스할 수 있습니다.
비용 측면에서 TRC-10 token은 거래 수수료가 1000배 낮습니다.
TRC-20이지만 API 전송 및 예금에 대한 대역폭 비용이 발생합니다. 스마트로 이체 및 입금
TRC-10 token에 대한 계약에는 대역폭과 에너지 비용이 모두 듭니다.
8.3 너머
TRON은 Ethereum과 동일한 Solidity 버전을 사용하므로 더 많은 token 표준을 쉽게 사용할 수 있습니다. TRON로 이식되었습니다.
トークン
8.1 TRC-10トークン
TRON ネットワークでは、各アカウントは 1024 TRX を犠牲にして token を発行できます。 token を発行するには、 発行者は、token の名前、大文字の合計、TRX への為替レートを指定する必要があります。 発行期間、説明、Web サイト、アカウントごとの最大帯域幅消費量、合計 帯域幅の消費量、および凍結された token の量。 token の発行ごとに構成することもできます 各アカウントの 1 日あたりの最大転送帯域幅ポイント token、ネットワーク全体の 1 日あたりの最大転送帯域幅ポイント token 転送帯域幅ポイント、合計 token 供給量、ロック期間 (日数)、および合計金額 token 件がロックされています。 8.2 TRC-20トークン
TRC-20 は、token を実装する smart contract に使用される技術標準であり、 TRON 仮想マシン。 ERC-20と完全互換です。
インターフェースは次のとおりです。
コントラクト TRC20インターフェース {
function totalSupply() public constant returns (uint);
関数 BalanceOf (アドレス tokenOwner) パブリック定数 戻り値 (uint
バランス);
関数の許可(アドレスtoken所有者、アドレス使用者)公開定数
戻り値 (残りの単位);
関数 transfer (アドレス、uint tokens) public 戻り値 (bool 成功);
関数 approve (アドレス使用者、uint tokens) public 戻り値 (bool
成功);
関数transferFrom(アドレス元、アドレス先、uint tokens) public
戻り値 (ブール値の成功);
イベント転送(インデックス元のアドレス、インデックス先のアドレス、単位 tokens);
イベント承認(アドレスインデックス付きtoken所有者、アドレスインデックス付き支出者、uint)
tokens); }
開発者の観点から見ると、TRC-10 と TRC-20 にはいくつかの違いがあります。一部 主な違いは、TRC-10 token は API と smart contract からアクセスできるのに対し、 TRC-20 token ではインターフェイスのカスタマイズが可能ですが、smart contract 内でのみアクセス可能です。
コストの観点から見ると、TRC-10 token の取引手数料は 1000 分の 1 です。
TRC-20 ですが、API 転送とデポジットに帯域幅コストがかかります。スマートで送金と入金
TRC-10 token の契約には帯域幅とエネルギーの両方がかかります。
8.3 その先へ
TRON は Ethereum と同じ Solidity バージョンを使用しているため、より多くの token 標準を容易に使用できるようになります。 TRON に移植されました。
거버넌스
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
대역폭 확보를 위해 TRX 1개 동결
1
=
TRON 네트워크의 모든 계정은 자신의 SR에 투표할 권리가 있습니다.
출시 후(고정 해제, 3일 후 사용 가능) 사용자는 동결된 자산을 가지지 않으며 모두 잃게 됩니다. 그에 따라 TP. 결과적으로 모든 투표는 진행 중인 투표와 향후 투표 라운드에서 무효가 됩니다. TRX는 투표를 위해 다시 동결되었습니다.
TRON 네트워크는 가장 최근 투표만 기록합니다. 즉, 모든 새로운 투표는 이전 투표를 모두 무효화합니다. 9.1.3 보상 가. 투표 보상
후보자 보상이라고도 하며 상위 127명의 후보자가 라운드마다 한 번씩 업데이트됩니다(6
시간)은 채굴 시 115,200 TRX를 공유합니다. 보상은 투표 가중치에 따라 분할됩니다.
각 후보자는 받습니다. 매년 후보자의 총 보상은 168,192,000 TRX입니다.
라운드당 총 투표 보상
매 라운드마다 115,200 TRX가 필요한 이유는 무엇입니까?
15, 00 TRX
라운드당 총 투표 보상(V R/라운드)
1
2
=
V R/라운드 = 16 T RX/블록 × 20 블록/분 × 60분/시간 × 6시간/라운드
주의 사항: 이는 WITNESS_STANDBY_ALLOWANCE = 115,200 TRX로 설정됩니다. 동적 네트워크 매개변수를 참조하세요.
연간 총 투표 보상
왜 매년 168,192,000 TRX가 발생하나요?
168, 192, 000 T RX = 연간 총 투표 보상(V R/년)
V R/년 = 115, 200 T RX/회 × 4회/일 × 365일/년
b. 블록 보상
슈퍼 대표 보상이라고도 하며, 당선된 상위 27명의 후보자(SR)에게 지급됩니다.
매 라운드(6시간)마다 대략 230,400 TRX가 채굴됩니다. 보상은 균등하게 분배됩니다.
27개 SR 사이(네트워크 오류로 인해 놓친 총 보상 블록 제외) 총
336,384,000 TRX는 매년 27명의 SR에게 지급됩니다.
라운드당 총 블록 보상
왜 매 라운드마다 230,400 TRX가 필요합니까?
230, 400 T RX = 라운드당 총 블록 보상(BR/라운드)
BR/라운드 = 32 T RX/블록 × 20블록/분 × 60분/시간 × 6시간/라운드
주의 사항: 단위 블록 보상은 WITNESS_PAY_PER_BLOCK = 32 TRX로 설정됩니다. 동적 네트워크 보기
매개변수.
연간 총 블록 보상
왜 매년 336,384,000 TRX가 발생하나요?
336, 384, 000 T RX = 연간 총 블록 보상(BR/년)
BR/년 = 230, 400 T RX/라운드 × 4라운드/일 × 365일/년
2021년 1월 1일
2021년 1월 1일 이전에는 TRON 네트워크에 인플레이션이 없으며 TRON DAO은(는)
해당 날짜 이전에 모든 블록 보상과 후보 보상을 지급합니다.
기음. 보상 계산
SR 보상 계산
총 보상
투표 보상(V R)
블록 보상(BR)
티
=
+
R
총 VR
뷔
=
×
총 투표수
SR 후보가 받은 표 수
R
블록 놓침
2
비
=
27
총 BR -
× 3
참고: 보상은 라운드(6시간)당 SR별로 계산됩니다.
28위 ~ 127위 SR 후보 보상 계산 총 보상 투표 보상(V R) 티 =
R
총 VR
뷔
=
×
총 투표수
SR 후보가 받은 표 수
참고: 보상은 라운드(6시간)당 SR 후보자별로 계산됩니다.
9.2 위원회
9.2.1 일반사항
위원회는 블록 생성과 같은 TRON 동적 네트워크 매개변수를 수정하는 데 사용됩니다.
보상, 거래 수수료 등. 위원회는 현재 라운드의 27개 SR로 구성됩니다. 각 SR
제안에 대해 제안하고 투표할 권리가 있습니다. 제안이 19표 이상을 얻은 경우
승인되며 새로운 네트워크 매개변수는 다음 유지관리 기간(3일)에 적용됩니다.
9.2.2 동적 네트워크 매개변수
0.
MAINTENANCE_TIME_INTERVAL
가.
설명
유지 관리 간격 시간을 ms 단위로 수정합니다. SR 투표 간격 시간으로 알려져 있음
라운드.
비.
예
[6 * 3600 * 1000] ms - 6시간입니다.
기음.
범위
[3 * 27* 1000, 24 * 3600 * 1000] ms
1.
ACCOUNT_UPGRADE_COST
가.
설명
SR 계좌 신청 비용을 수정합니다.
비.
예
[9,999,000,000] SUN - 9,999 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
2.
CREATE_ACCOUNT_FEE
가.
설명
계정 생성 수수료를 수정하세요.비.
예
[100,000] SUN - 1 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
3.
TRANSACTION_FEE
가.
설명
추가 대역폭을 얻기 위해 사용되는 수수료 금액을 수정합니다.
비.
예
[10] SUN/바이트.
기음.
범위
[0,100 000 000 000 000 000] SUN/바이트
4.
ASSET_ISSUE_FEE
가.
설명
자산 발행 수수료를 수정합니다.
비.
예
[1024,000,000] SUN - 1024 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
5.
WITNESS_PAY_PER_BLOCK
가.
설명
SR 블록 생성 보상을 수정합니다. 단위 블록 보상으로 알려져 있습니다.
비.
예
[32,000,000] SUN - 32 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
6.
WITNESS_STANDBY_ALLOWANCE
가.
설명
상위 127명의 SR 후보자에게 제공되는 보상을 수정합니다. 총 투표 보상으로 알려져 있음
라운드당.
비.
예
[115,200,000,000] SUN - 115,200 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
가.
설명
계정 생성 비용을 수정합니다. 동적 네트워크 매개변수 #8을 결합하여 다음을 얻습니다.
총 계정 생성 비용:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 예 [0] 일요일. 기음. 범위 [0,100 000 000 000 000 000] 일 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
가.
설명
계정 생성 비용을 수정합니다. 동적 네트워크 매개변수 #7을 결합하여 다음을 얻습니다.
총 계정 생성 비용:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 예 [1]. 기음. 범위 [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS 가. 설명 TVM(Tron Virtual Machine)을 켜려면 비. 예 True - 2018년 10월 10일 23:47 UTC부터 활성화되고 적용되도록 설정되었습니다. 기음. 범위 참/거짓 10. REMOVE_THE_POWER_OF_THE_GR 가. 설명 초기 GR 제네시스 투표 제거 b. 예 사실 - 2018년 11월 4일 08:46 UTC에 적용되었습니다. 기음. 범위 True/False - 참고: True에서 False로 다시 설정할 수 없습니다. 11. 에너지 요금 가. 설명 1 에너지의 수수료를 수정합니다. 비. 예 20일 기음. 범위 [0,100 000 000 000 000 000] 일 12. EXCHANGE_CREATE_FEE 가. 설명 거래 쌍 생성 비용을 수정합니다. 거래 주문 생성 비용으로 알려져 있습니다. 비. 예 [1,024,000,000] SUN - 1024 TRX입니다. 기음. 범위 [0,100 000 000 000 000 000] 일 13. MAX_CPU_TIME_OF_ONE_TX 가. 설명 한 트랜잭션의 최대 실행 시간을 수정합니다. 시간 초과 제한으로 알려져 있습니다. 하나의 거래. 비. 예 50ms 기음. 범위
[0, 1000]밀리초
14. ALLOW_UPDATE_ACCOUNT_NAME
가.
설명
계정이 계정 이름을 업데이트할 수 있도록 옵션을 수정합니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
15. ALLOW_SAME_TOKEN_NAME
가.
설명
다른 token이 중복된 이름을 가질 수 있도록 유효성 검사를 수정합니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
16. ALLOW_DELEGATE_RESOURCE
가.
설명
중복된 이름으로 token을 발행할 수 있도록 검증을 수정하여
긴 정수 데이터 유형의 token 중 tokenID는 유일한 원자입니다.
token의 식별입니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
17. TOTAL_ENERGY_LIMIT
가.
설명
전체 네트워크 총 에너지 제한을 수정합니다.
비.
예
[50,000,000,000,000,000] SUN - 50,000,000,000 TRX입니다.
기음.
범위
[0,100,000,000,000,000,000] 일
18. ALLOW_TVM_TRANSFER_TRC10
가.
설명
smart contract초 내에 TRC-10 token 전송을 허용합니다.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ALLOW_DELEGATE_RESOURCE 제안은 제안하기 전에 모두 승인되어야 합니다.
이 매개변수 변경.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.9.2.3 제안서 작성
SR 계정만이 동적 네트워크 매개변수의 변경을 제안할 수 있는 권한을 갖습니다. 9.2.4 투표 제안
위원회 구성원(SR)만이 제안에 투표할 수 있으며 기한 내에 투표하지 않은 구성원은 동의하지 않는 것으로 간주됩니다. 제안서는 생성된 후 3일 동안 활성화됩니다. 투표는 할 수 있다 3일 투표 기간 동안 변경하거나 검색할 수 있습니다. 기간이 종료되면 제안서는 다음과 같습니다. 성공(19표 이상)하거나 실패(및 종료)합니다. 9.2.5 제안 취소
제안자는 제안이 발효되기 전에 제안을 취소할 수 있습니다. 9.3 구조
SR은 새로 생성된 블록의 증인입니다. 감시에는 8개의 매개변수가 포함됩니다.
1.
주소: 이 증인의 주소 – 예: 0xu82h…7237.
2.
voteCount: 이 증인에 대해 받은 투표 수 – 예: 234234.
3.
pubKey: 이 증인의 공개 키 – 예: 0xu82h…7237.
4.
url: 이 증인의 URL – 예: https://www.noonetrust.com.
5.
totalProduced: 이 증인이 생성한 블록 수 – 예: 2434.
6.
totalMissed: 이 증인이 놓친 블록 수 – 예: 7.
7.
latestBlockNum: 블록의 최신 높이 – 예: 4522.
8.
isjobs: 부울 플래그입니다.
프로토부프 데이터 구조:
메시지 증인{
바이트 주소 = 1;
int64 voteCount = 2;
바이트 pubKey = 3;
문자열 url = 4;
int64 totalProduced = 5;
int64 totalMissed = 6;
int64 최신BlockNum = 7;
bool isJobs = 8;
}
- DApp 개발 10.1 API
TRON 네트워크는 60개 이상의 HTTP API 게이트웨이와 상호 작용할 수 있는 다양한 선택 항목을 제공합니다. Full 및 Solidity 노드를 통한 네트워크. 또한 TronWeb은 포괄적인 JavaScript 라이브러리입니다. 개발자가 smart contract을 배포할 수 있도록 하는 API 기능이 포함되어 있으면 blockchain을 변경하세요. 상태, blockchain 및 계약 정보 쿼리, DEX 거래 등을 할 수 있습니다. 이러한 API 게이트웨이는 로컬 프라이빗넷, Shasta 테스트넷 또는 TRON 메인넷으로 연결될 수 있습니다.
10.2 네트워크
TRON에는 Shasta 테스트넷과 메인넷이 모두 있습니다. 개발자는 다음을 통해 네트워크에 연결할 수 있습니다.
노드 배포, TronStudio를 통한 상호 작용 또는 TronGrid 서비스를 통한 API 사용. 트론그리드
서비스는 전 세계 AWS 서버에서 호스팅되는 로드 밸런싱된 노드 클러스터로 구성됩니다. DApp으로
개발 규모가 확장되고 API 호출량이 증가함에 따라 TronGrid는 증가하는 양을 성공적으로 처리했습니다.
API 트래픽.
10.3 도구
TRON은 개발자가 혁신적인 DApp을 만들 수 있도록 지원하는 개발 도구 모음을 제공합니다.
TronBox는 개발자가 TronWeb을 통해 smart contract을 테스트하고 배포할 수 있는 프레임워크입니다.
API. TronGrid는 개발자가
TRON 자체 노드를 실행할 필요 없이 네트워크를 사용할 수 있습니다. TronGrid는 Shasta와
테스트넷과 TRON 메인넷. TronStudio는 포괄적인 통합 개발입니다.
개발자가 Solidity를 스마트하게 컴파일, 배포 및 디버깅할 수 있는 환경(IDE)
계약. TronStudio에는 개인 로컬 환경을 생성하는 내부 전체 노드가 포함되어 있습니다.
smart contract 배포 전 테스트. TronWeb API 라이브러리는 개발자를
JavaScript로 래핑된 다양한 HTTP API 호출을 통해 네트워크에 연결됩니다.
10.4 자원
TRON 개발자 허브는 다음에 맞춰진 포괄적인 API 문서 사이트입니다. 12 TRON 네트워크를 구축하려는 개발자. 개발자 허브는 높은 수준의 TRON에 대한 개념적 이해를 제공하고 사용자에게 12 개발자 허브: https://developers.tron.network/
네트워크. 가이드는 개발자에게 노드 설정, 배포 및 스마트와의 상호 작용을 안내합니다.
계약, API 상호 작용 및 구현, 샘플 DApp 구축 및 각 기능 사용
개발자 도구. 또한 개발자 커뮤니티 채널은 Discord를 통해 제공됩니다.
13
13 불화: https://discordapp.com/invite/GsRgsTD
- 결론
TRON은(는) 혁신적인 방법을 사용하여 문제를 해결한 확장 가능한 blockchain 솔루션입니다. 레거시 blockchain 네트워크가 직면한 문제. 일일 거래 건수 200만건 돌파, 700,000개 이상의 TRX 계정을 보유하고 2000개가 넘는 TPS을 보유한 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;
}
- DApp開発 10.1 API
TRON ネットワークは、 フル ノードとソリッド ノードを介したネットワーク。さらに、TronWeb は包括的な JavaScript ライブラリです 開発者が smart contracts をデプロイし、blockchain を変更できるようにする API 関数が含まれています。 状態、クエリ blockchain と契約情報、DEX での取引など。これらのAPI ゲートウェイは、ローカルのプライベートネット、Shasta テストネット、または TRON メインネットに向けることができます。
10.2 ネットワーク
TRON には、Shasta テストネットとメインネットの両方があります。開発者は次の方法でネットワークに接続できます。
ノードのデプロイ、TronStudio 経由の対話、または TronGrid サービス経由の API の使用。トロングリッド
このサービスは、世界中の AWS サーバーでホストされる負荷分散されたノード クラスターで構成されます。 DAppとして
開発がスケールアップし、API 呼び出し量が増加する中、TronGrid は増加に対処することに成功しました。
API トラフィック。
10.3 ツール
TRON は、開発者が革新的な DApp を作成できるようにする一連の開発ツールを提供します。
TronBox は、開発者が TronWeb 経由で smart contracts をテストおよび展開できるようにするフレームワークです。
API。 TronGrid は、開発者が
TRON 独自のノードを実行することなくネットワークを構築できます。 TronGrid は両方の Shasta へのアクセスを提供します
テストネットと TRON メインネット。 TronStudio は包括的な統合開発です
開発者が Solidity スマートをコンパイル、展開、デバッグできる環境 (IDE)
契約。 TronStudio には、プライベート ローカル環境を作成する内部フル ノードが含まれています。
smart contract 導入前のテスト。 TronWeb API ライブラリは、開発者を
JavaScript でラップされた幅広い HTTP API 呼び出しを介してネットワークにアクセスできます。
10.4 リソース
TRON 開発者ハブは、次の目的に向けて調整された包括的な API ドキュメント サイトです。 12 TRON ネットワーク上に構築したい開発者。 Developer Hub は、高レベルの機能を提供します。 TRON の概念的な理解を示し、ユーザーに、 12 開発者ハブ: https://developers.tron.network/
ネットワーク。このガイドでは、開発者がノードのセットアップ、展開、スマートとの対話について説明します。
契約、API インタラクションと実装、サンプル DApp の構築、およびそれぞれの使用
開発者ツール。さらに、開発者コミュニティ チャネルは Discord を通じて利用できます。
13
13 不和: https://discordapp.com/invite/GsRgsTD
- 結論
TRON は、革新的な手法を採用したスケーラブルな blockchain ソリューションです。 レガシー blockchain ネットワークが直面する課題。 1 日あたり 200 万件以上のトランザクションに達し、 70 万を超える TRX アカウントがあり、2000 TPS、TRON を超え、コミュニティが有効になりました。 分散型かつ民主化されたネットワークを構築します。