Sách trắng TRON

作者 Justin Sun · 2017

介绍

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 和 图灵完备的 Ethereum 虚拟机 (EVM) 将允许开发人员与 通过 DApp 网络。然而,随着 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 有 推出了其开源协议。测试网、区块链浏览器和网络钱包都是 于 2018 年 3 月推出。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 应用程序二进制接口(ABI)是两个二进制程序模块之间的接口;通常 这些模块之一是库或操作系统设施,另一个是用户运行的 程序。

应用程序编程接口 应用程序编程接口(API)主要用于用户客户端开发。具有API 支持,token发行平台也可以由开发者自行设计。

资产 在TRON的文档中,资产与token相同,也表示为TRC-10 token。

带宽点 (BP) 为了保持网络平稳运行,TRON网络交易使用BP作为燃料。每个账户 每日免费获得5000BP,冻结TRX换BP还可获得更多。 TRX 和 TRC-10 token 转账是消耗 BP 的正常交易。 智能合约部署和执行 交易既消耗BP又消耗Energy。

块 区块包含交易的数字记录。一个完整的块由幻数组成, 区块大小、区块头、交易计数器和交易数据。

区块奖励 区块生产奖励发送至子账户(地址/钱包)。超级代表可以 在 Tronscan 上或直接通过 API 领取奖励。

区块头 块头是块的一部分。 TRON 块头包含前一个块的 hash, Merkle 根、时间戳、版本和见证人地址。冷钱包 冷钱包也称为离线钱包,使私钥与任何人完全断开连接。 网络。冷钱包通常安装在“冷”设备上(例如电脑或手机) 保持离线)以保证TRX私钥的安全。

去中心化应用程序 去中心化应用程序是一种在没有集中信任方的情况下运行的应用程序。申请 实现最终用户和/或资源之间的直接交互/协议/通信 没有中间人。

远程过程调用 gRPC(gRPC Remote procedure Calls)是一个开源的远程过程调用(RPC)系统 2 最初是在 Google 开发的。它使用 HTTP/2 进行传输,使用 Protocol Buffers 作为接口 描述语言,并提供身份验证、双向流和流量等功能 控制、阻塞或非阻塞绑定以及取消和超时。它生成 多种语言的跨平台客户端和服务器绑定。最常见的使用场景 包括微服务风格架构中的连接服务和连接移动设备,以及 浏览器客户端到后端服务。

热钱包 热钱包又称在线钱包,允许用户在线使用私钥,因此可以 容易受到潜在漏洞或恶意行为者拦截的影响。

JDK Java Development Kit 是用于 Java 应用程序的 Java SDK。它是Java的核心 开发,包括Java应用环境(JVM+Java类库)和Java 工具。

考斯数据库 TRON 在全节点内存中有一个 KhaosDB,可以存储所有新分叉生成的链 在一定时间内支持见证人快速从自己的活跃链切换 进入新的主链。更多详细信息请参见 2.2.2 状态存储。

水平数据库 LevelDB最初被采用的主要目标是满足快速R/W和快速读取的要求。 发展。主网启动后,TRON 将其数据库升级为完全定制的 一个满足其自身的需要。更多详情请参见2.2.1 区块链存储。

默克尔根 Merkle 根是作为 blockchain 中的块的一部分包含的所有交易的所有 hash 的 hash 网络。有关更多详细信息,请参阅 3.1 委托权益证明 (DPoS)。 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

公共测试网(Shasta) 以单节点配置运行的网络版本。开发者可以连接并测试 功能,无需担心经济损失。测试网 tokens 没有价值,任何人都可以 对公共水龙头提出更多要求。

远程过程调用
3 在分布式计算中,远程过程调用(RPC)是指计算机程序引起 在不同的地址空间(通常在另一台计算机上)执行的过程(子例程) 一个共享网络),它的编码就像一个正常的(本地)过程调用,没有 程序员明确编码远程交互的细节。

可扩展性 可扩展性是 TRON 协议的一项功能。它是系统、网络或流程的能力 处理越来越多的工作或扩大工作量以适应这种增长的潜力。

太阳 SUN取代drop成为TRX的最小单位。 1 TRX = 1,000,000 SUN。

吞吐量 高吞吐量是 TRON 主网的一个特点。它以每秒事务数 (TPS) 来衡量, 即一秒内的最大交易能力。

时间戳 区块生产的大致时间记录为Unix时间戳,即区块生产的数量 自 UTC 时间 1970 年 1 月 1 日 00:00:00 起经过的毫秒数。

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采用三层架构,分为存储层、核心层和应用层。 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的共识 机制基于委托权益证明 (DPoS),并在以下方面做出了许多创新 以满足其独特的要求。 2.2 存储

TRON 设计了一种独特的分布式存储协议,由块存储和状态组成 存储。在存储层的设计中引入了图数据库的概念 更好地满足现实世界多样化数据存储的需求。 2.2.1 区块链存储

TRON blockchain 存储选择使用LevelDB,由Google开发并经过验证 与许多公司和项目取得成功。高性能,支持任意字节 数组作为键和值,单一获取、放置和删除,批量放置和删除,双向 迭代器,以及使用非常快的 Snappy 算法的简单压缩。 2.2.2 状态存储

TRON 在全节点内存中有一个 KhaosDB,可以存储所有新分叉的链 在一定时间内支持见证人快速从自己的活跃链切换 进入新的主链。它还可以通过使其更加稳定来保护 blockchain 存储。 在中间状态异常终止。 2.3 应用

开发者可以在TRON上创建各种DApp和定制钱包。自 TRON 起 使 smart contracts 能够被部署和执行,实用程序应用程序的机会是 无限。 4 Solidity 官方文档:https://solidity.readthedocs.io/

2.4 协议

TRON 协议遵循 Google Protocol Buffers ,这是一种语言中立、平台中立的协议, 5 以及序列化结构化数据的可扩展方式,用于通信协议、数据存储、 等等。 2.4.1 协议缓冲区

Protocol Buffers (Protobuf) 是一种灵活、高效、自动化的机制,用于序列化结构化数据 data,类似于 JSON 或 XML,但更小、更快、更简单。

Protobuf (.proto) 定义可用于生成 C++、Java、C#、Python、Ruby、 通过官方代码生成器生成 Golang 和 Objective-C 语言。各种第三方 还可以用于许多其他语言的实现。 Protobuf 简化了开发 通过统一 API 定义并优化数据传输来为客户端提供服务。客户可以使用API 来自 TRON 协议存储库的 .proto 并通过自动生成的代码进行集成 图书馆。

相比之下,Protocol Buffers 比 XML 小 3 到 10 倍,速度快 20 到 100 倍, 具有更少歧义的语法。 Protobuf 生成更易于使用的数据访问类 以编程方式。 2.4.2 超文本传输协议

TRON 协议提供了 Protobuf API 的 RESTful HTTP API 替代方案。他们有共同点 接口,但 HTTP API 可以很容易地在 javascript 客户端中使用。 2.5 TRON 虚拟机 (TVM)

TVM 是为 TRON 生态系统开发的轻量级图灵完备虚拟机。的 TVM与现有开发生态系统无缝连接,为全球数百万用户提供 为开发者定制高效、便捷、稳定、安全的blockchain系统 可扩展。
2.6 去中心化交易所(DEX)

5 Google Protocol Buffers 官方文档:https://developers.google.com/protocol-buffers/TRON网络原生支持去中心化交易功能。去中心化交易所 由多个交易对组成。交易对(符号“交易所”)是一个交易市场 TRC-10 token 之间,或 TRC-10 token 和 TRX 之间。任何账户都可以创建交易 任何 token 之间的对,即使 TRON 网络上已存在相同的对。贸易和 交易对的价格波动遵循Bancor协议。 TRON 网络规定 6 所有交易对中两个token的权重相等,所以它们的余额之比就是价格 他们之间。例如,考虑一个包含两个 token、ABC 和 DEF 的交易对。 ABC 有 余额为1000万,DEF余额为100万。由于它们的权重相等,因此 10 ABC = 1 防御。这意味着 ABC 与 DEF 的比率为 10 ABC/DEF。 2.7 实施

TRON blockchain 代码是用 Java 实现的,最初是 EthereumJ 的分支。

6 Bancor协议官网: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)

最早的共识机制是工作量证明(PoW)共识机制。这个 协议目前在 Bitcoin 和 Ethereum 中实现。在 PoW 系统中,交易 7 8 通过网络广播的数据被分组为新生块以供矿工确认。的 确认过程涉及使用加密 hashing 算法进行 hashing 交易,直到 已达到默克尔根,创建默克尔树:

图 2:8 个 TRX 交易被 hash 写入 Merkle 根中。然后这个默克尔根被包含在区块头中, 附加到之前确认的块上,形成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)​ 是一种单向函数,其中仅 给定输入,可以找到输出。反过来是不可能的。
● 抗碰撞性 - 在计算上无法找到任何对 ​x​1 ​≠ x​2​ ​使得​h(x​1​) = h(x​2​)​.换句话说,找到两个不同输入 hashing 到同一输入的概率 产量极低。该属性还意味着​第二原像抵抗​。
● 第二原像抗性 - 给定​x​1​,因此​h(x​1​)​,在计算上是不可行的 找到任意​x​2​,使得​h(x​1​) = h(x​2​)​。虽然此属性类似于​防撞​性​,但 属性的不同之处在于,它表示具有给定​x​1​的攻击者将通过计算找到它 无法找到任何​x​2​ hashing 到相同的输出。
● 确定性​ - 将每个输入映射到一个且仅一个输出。 ● Avalanche 效果​ - 输入的微小变化会导致完全不同的输出。

这些特性确保加密货币网络不会受到攻击,从而赋予其内在价值。 危害网络。当矿工确认一个区块时,他们将获得 tokens 作为内置奖励 网络参与的激励。然而,随着全球加密货币市值 稳步增长,矿工变得中心化,将计算资源集中在 囤积 token 作为资产,而不是用于网络参与目的。 CPU矿工让位于 GPU 又让位于强大的 ASIC。在一项著名的研究中,总功率 Bitcoin 采矿消耗量估计高达 3 吉瓦,与爱尔兰的消耗量相当 10 功耗。该研究预计不久的将来总功耗将达到 8 GW 未来。

为了解决能源浪费问题,权益证明(PoS)共识机制被提出 许多新网络。在 PoS 网络中,token 持有者锁定其 token 余额以成为区块 validators。 validator 轮流对下一个区块进行提议和投票。然而,问题 对于标准 PoS 来说,validator 的影响力与锁定的 token 数量直接相关。 这导致各方囤积大量网络基础货币并过度使用 在网络生态系统中的影响力。

TRON 共识机制采用创新的委托权益证明系统,其中 27 超级代表(SR)为网络生产区块。每 6 小时,TRX 账户持有者 冻结账户的人可以投票选出 SR 候选人,其中排名前 27 的候选人 视为 SR。选民可以根据 SR 赞助的项目等标准来选择 SR 9 PAAR, C., PELZL, J.,《理解密码学:学生和从业者教科书》,2010 年版。 柏林施普林格出版社海德堡,2010。
10https://www.sciencedirect.com/science/article/pii/S2542435118301776提高 TRX 的采用率,并向选民分配奖励。这使得更加民主化和 去中心化的生态系统。 SR的账户是普通账户,但是他们的投票是累积的 允许他们生产区块。由于 Bitcoin 和 Ethereum 的吞吐率较低, PoW共识机制和可扩展性问题,TRON的DPoS系统提供了一种创新的 机制导致 2000 TPS 与 Bitcoin 的 3 TPS 和 Ethereum 的 15 TPS 相比。

TRON 协议网络每三秒生成一个区块,每个区块奖励 32 TRX 给超级代表。每年将向 27 名 SR 奖励总计 336,384,000 TRX。 每次SR完成区块生产时,奖励都会发送到超级账本的子账户中。 SR 可以检查,但不能直接使用这些 TRX token。每人均可提款 每24小时SR一次,将子账号的奖励转入指定SR 帐户。

TRON网络上的三种类型的节点是见证节点、完整节点和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 网络中的三种帐户类型是常规帐户、token 帐户和 合约账户。

1. 常规账户用于标准交易。
2. 令牌账户用于存储 TRC-10 tokens。
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 结构

三种不同的账户类型是普通账户、资产发行账户和合约账户。一个账户包含 7 个 参数:

1. account_name​:此帐户的名称 – 例如账单帐户。
2. 类型​:该帐户的类型 - 例如0(代表“正常”类型)。
3. 余额​:该账户的余额 – 例如4213312。

4. 投票​:收到此帐户的投票 – 例如{(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}。
5. 资产​:此账户中预期 TRX 的其他资产 – 例如{<“WishToken”, 66666>, <“Dogie”, 233>}。 6. latest_operation_time​:该账户的最新操作时间。

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. 时间戳​:该消息的时间戳 – 例如1543884429000。 2. txTrieRoot​:Merkle 树的根 – 例如7dacsa…3ed。 3. ParentHash​:最后一个块的 hash – 例如7dacsa…3ed。 4. number​:区块高度 – 例如4638708。 5. 版本​:保留 – 例如5.

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

6. 证人地址​:包含在该块中的证人的地址 - 例如41928c...4d21。 5.1.2 见证人签名

见证人签名在 Protobuf 中表示为​witness_signature​,即为此的签名 来自见证节点的块头。 5.1.3 区块ID

块 ID 在 Protobuf 中表示为​blockID​。它包含块的原子标识。一个街区 ID包含2个参数: 1. hash​:区块的hash。 2. number​:块的 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 持有者来说 自己的TRX参与SR投票,第一步会自动跳过(因为TRX余额 freeze = 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 } } }

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 上的 Gas 机制不同, TVM 上的交易和 smart contract 是免费的,不消耗 TRX。技术上可行 TVM的计算能力不受tokens总持有量的限制。 6.2 工作流程

编译器首先将 Solidity smart contract 转换为可读且可执行的字节码 TVM。然后TVM通过opcode处理数据,相当于操作逻辑 基于堆栈的有限状态机。最后,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的能量限额 ● 每日账户冻结TRX剩余能量计算为Energy Limit - Energy 二手 ● 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 是源代码的加密指纹,用于验证。部署情况 字节码运行构造函数并设置初始存储变量。部署情况 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网络中,每个账户可以发行tokens,费用为1024 TRX。​要发行 tokens, 发行人需要指定token名称、总资本、与TRX的汇率、 流通时长、描述、网站、每个账户最大带宽消耗、总计 带宽消耗和 token 冻结量。每个token发行还可以配置 每个账户每日最大token转账带宽点,全网每日最大 token 转移带宽积分、token 供应总量、锁定时长(天)以及总量 token 已锁定。 8.2 TRC-20 代币

TRC-20 是用于 smart contracts 实现 tokens 的技术标准,由 TRON 虚拟机。它与ERC-20完全兼容。

界面如下:
合约TRC20接口{ ​函数​ ​totalSupply​() ​公共​ ​常量​ ​返回​ (uint); ​函数​ ​balanceOf​(地址tokenOwner)​公共​ ​常量​ ​返回​(uint 平衡); ​功能​ ​津贴​(地址token所有者,地址支出者)​公共​ ​常量 返回(剩余 uint); ​函数​ ​传输​(地址,uint tokens)​public​ ​返回​(布尔成功); ​函数​ ​批准​(地址支出者,uint tokens)​公共​ ​返回​(bool 成功); ​函数​ ​transferFrom​(地址来自,地址至,uint tokens)​公共 返回(布尔成功);

​事件​ ​传输​(索引地址,索引地址,uint tokens); 
​事件​ ​批准​(地址索引 tokenOwner,地址索引支出者,uint

tokens); }

从开发人员的角度来看,TRC-10 和 TRC-20 之间存在一些差异。一些 主要区别在于 TRC-10 token 可以通过 API 和 smart contract 访问,而 TRC-20 tokens 允许界面定制,但只能在 smart contracts 内访问。

从成本角度来看,TRC-10 token 的交易费用比 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 投票需要Power(记为TP),TP的数量取决于投票者的投票权 冻结资产(TRX)。

TP的计算方法如下:
TP 冻结 1 TRX 以获得带宽 1 =

TRON 网络中的每个帐户都有权为自己的 SR 投票。

发布后(解冻,3天后可用),用户不会有任何冻结的资产,并失去所有 相应地TP。因此,所有投票对于当前和未来的投票轮均无效,除非 TRX再次被冻结投票。

请注意,TRON 网络仅记录最近的投票,这意味着每一次新投票 将否定之前所有的投票。 9.1.3 奖励 a.投票奖励

也称为候选人奖励,前 127 名候选人每轮更新一次(6 小时)将分享开采的 115,200 TRX。奖励将按照投票权重进行瓜分 每位候选人都会收到。每年,候选人的总奖励为168,192,000 TRX。 每轮总投票奖励 为什么每轮 115,200 TRX? 15, 00 TRX 每轮总投票奖励(V R/轮) 1 2 =
VR/轮 = 16 T RX/块 × 20 块/分钟 × 60 分钟/小时 × 6 小时/轮 注意:这是由 WITNESS_STANDBY_ALLOWANCE = 115,200 TRX 设置的。请参阅动态网络参数。 每年总投票奖励 为什么每年168,192,000 TRX? 168, 192, 000 T RX = 每年总投票奖励(VR/年) VR/年 = 115, 200 T RX/轮 × 4 轮/天 × 365 天/年 b.区块奖励 也称为超级代表奖励,当选的前27名候选人(SR) 每轮(6小时)将分享大约230,400个已开采的TRX。奖励将平分 27 个 SR 之间(减去由于网络错误而错过的总奖励块)。总共有 每年将向 27 名 SR 奖励 336,384,000 TRX。 每轮总区块奖励 为什么每轮 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 将 在此日期之前授予所有区块奖励和候选人奖励。 c.奖励计算

SR奖励计算 总奖励 投票奖励(VR) 区块奖励(BR) t =
+

右 总VR V =
×
总票数 SR 候选人收到的票数

块错过了 2 乙 =
27 号 总BR - × 3
注:奖励按每轮(6小时)SR计算

排名28~排名127 SR候选人奖励计算 总奖励 投票奖励(VR) t =

右 总VR V =
×
总票数 SR 候选人收到的票数
注:奖励按每个SR候选人每轮(6小时)计算 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. 范围 [3271000, 2436001000] 毫秒 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. 交易费 a. 描述 修改用于获得额外带宽的费用金额。 b. 示例 [10] 太阳/字节。 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. 描述 修改前127名SR候选人的奖励。称为总投票奖励 每轮。 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_SYSTEM_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_SYSTEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. 示例 [1]。 c. 范围 [0,100,000,000,000,000,000] 9. 允许创建合同 a. 描述 打开 Tron 虚拟机 (TVM)。 b. 示例 True - 设置为自 10/10/2018 23:47 UTC 起激活并生效。 c. 范围 对/错 10. 删除_THE_POWER_OF_THE_GR a. 描述 删除最初的 GR 创世投票 b. 示例 正确 - 于 11/4/2018 08:46 UTC 生效。 c. 范围 True/False - 注意:不能从 True 设置回 False。 11.能源费 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. 描述 修改一笔交易的最大执行时间。称为超时限制 一笔交易。 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. 描述 允许在 smart contract 秒内传输 TRC-10 token。 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. 地址​:该证人的地址 – 例如0xu82h…7237。
2. voteCount​:收到的对该见证人的投票数 – 例如234234。
3. pubKey​:该见证人的公钥 - 例如0xu82h…7237。
4. url​:该证人的 url – 例如https://www.noonetrust.com.
5. TotalProduced​:该见证人生成的区块数量 – 例如2434.
6. TotalMissed​:该见证人错过的区块数量 – 例如7.
7. latestBlockNum​:区块的最新高度 – 例如4522. 8. isjobs​:布尔标志。

Protobuf数据结构: 留言​​见证​{
​字节​地址 = ​1​;
​int64​ voteCount = ​2​;
​字节​ pubKey = ​3​;
​字符串​ url = ​4​;
​int64​ 总生产量 = ​5​;
​int64​ 总丢失数 = ​6​;
​int64​latestBlockNum = ​7​; ​布尔​ isJobs = ​8​; }

10.DApp开发 10.1 API

TRON 网络提供了 60 多个 HTTP API 网关的广泛选择,用于与 通过完整节点和 Solidity 节点的网络。此外,TronWeb 是一个综合性的 JavaScript 库 包含使开发人员能够部署 smart contracts 的 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 contracts 的框架 API。 TronGrid 是一个负载平衡和托管的 API 服务,允许开发人员访问 TRON 网络无需运行自己的节点。 TronGrid 提供对 Shasta 的访问 测试网以及 TRON 主网。 TronStudio是一个综合性的集成开发 使开发人员能够编译、部署和调试 Solidity smart 的环境 (IDE) 合同。 TronStudio 包含一个内部完整节点,可创建私有本地环境 smart contract 在部署之前进行测试。 TronWeb API 库将开发人员连接到 网络通过封装在 JavaScript 中的多种 HTTP API 调用进行选择。
10.4 资源

TRON 开发人员中心是一个综合性 API 文档网站,专为 12 希望在 TRON 网络上进行开发的开发人员。开发者中心提供了高水平的 TRON 的概念性理解,并引导用户完成与 TRON 交互的细节 12 开发者中心:https://developers.tron.network/

网络。该指南引导开发人员完成节点设置、部署以及与智能交互 合约、API 交互和实现、构建示例 DApp 以及使用每个 开发者工具。此外,还可以通过 Discord 获得开发者社区渠道。
13

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

  1. 结论

TRON 是一个可扩展的 blockchain 解决方案,采用创新方法来解决 传统 blockchain 网络面临的挑战。每日交易量已超过 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.