EVOLAB Benchmark丨波场项目技术评测

栏目: 编程工具 · 发布时间: 5年前

内容简介:Tron是币圈网红孙宇晨发起的一个公链项目,核心共识机制是类似BTS和EOS的DPoS共识机制,智能合约平台使用高度类似以太坊虚拟机EVM的Tron虚拟机TVM,可以使用solidity语言开发智能合约。根据白皮书的描述,Tron项目的主要特性在于性能好,同时提供了与以太坊虚拟机EVM同样的智能合约系统。

EVOLAB Benchmark丨波场项目技术评测

EVOLAB Benchmark丨波场项目技术评测

一、 概述

Tron是币圈网红孙宇晨发起的一个公链项目,核心共识机制是类似BTS和EOS的DPoS共识机制,智能合约平台使用高度类似以太坊虚拟机EVM的Tron虚拟机TVM,可以使用solidity语言开发智能合约。

根据白皮书的描述,Tron项目的主要特性在于性能好,同时提供了与以太坊虚拟机EVM同样的智能合约系统。

二、 分析

测试环境说明

我们在AWS上部署了约100个Kubernetes节点,用以模拟Tron测试网络,具体测试环境如下:

EVOLAB Benchmark丨波场项目技术评测

(一) 共识

根据白皮书及其他公开资料,Tron采用类似BTS和EOS的DPoS共识机制,并把它命名为TPoS。区别于BTS与EOS用C/C++实现,TPoS 使用 Java 实现DPoS共识机制。

具体来说,在Tron的网络中,每个账户都可以参与竞选超级代表,也可以给他们支持的超级代表候选人投票,最终选出27个超级代表作为主节点。主节点拥有打包权,轮流负责把交易数据打包成区块,并验证区块,一旦2/3的主节点确认该区块,则交易不可逆转。

DPoS这种适度民主的中间方案提高了系统效率,是目前一种较平衡的兼顾了性能与安全的方案,但其不可避免的缺点是由于实际控制节点减少,导致被攻击的可能性增加。

系统工作原理图示如下:

EVOLAB Benchmark丨波场项目技术评测

(二) 智能合约

Tron的智能合约使用solidity编程语言开发,运行在Tron的虚拟机,即TVM。TVM和EVM环境兼容,开发人员可以在具有solidity的混合环境中构建、调试和执行智能合约。 这使得原先在以太坊EVM环境下进行开发的应用,可以方便地转换到TVM上。

(三) 安全

通过Benchmark公链测试工具,我们对Tron进行了一系列安全测试,并从中选取了我们认为对DPoS机制的公链来说,有参考意义的几个攻击指标。

我们的测试方法如下:

1.建立Tron测试网;

2.发送RPC,让测试网部分节点对其他节点发起攻击;

3.得到测试结果如下

EVOLAB Benchmark丨波场项目技术评测

测试结果:从DDos攻击测试结果可知,攻击者可以向全部或51%的主节点发送DDos攻击并使Tron 网络无法使用;从网络分裂攻击测试结果可知,在发生网络分裂攻击后,在网络恢复正常之前,在较小的链上进行的任何重复交易都将丢失。

(四) 性能

通过Benchmark公链测试工具,对Tron进行性能测试,我们的测试方法如下:

1.建立Tron测试网

2.发送RPC, 让测试网部分节点发起交易(每秒N笔交易,线性增长);

3.节点检测交易同步的时间,直到检测到超过一定时间(一般是出块时间)。

表- 安全测试结果

EVOLAB Benchmark丨波场项目技术评测

根据Tron官方宣传,Tron主网上线后性能达到2000 TPS,未来会达到10000TPS。 根据 测试,目前在理想网络情况下性能只能达到1200TPS。

(五) 技术管理

1 代码更新

Tron 的Github仓库 一共有36个public repositories,主要repositories的具体数据如下:

表- Tron Github 数据

EVOLAB Benchmark丨波场项目技术评测

根据Tron的java-tron的commits数据,得到java-tron的代码更新,如下:

EVOLAB Benchmark丨波场项目技术评测

java-tron的代码更新情况

说明:Tron的代码更新频繁,属于一直有持续代码贡献与进展的项目。

2 .   代码相似

通过Benchmark公链测试工具,对Tron进行代码相似度检查,因为Tron的技术栈是Java,选择以ethereumj作为标准。

具体测试方法如下:

(1)建立代码索引库

(2)把java-tron的源代码放进Elasticsearch

(3)把java-tron的源代码和ethereumj作比较。

从测试结果可知 java-tron一共976个java文件,和ethereumj相似的文件有64个。

我们从代码机制分析, Tron的机制为DPoS,但由于与BTS/EOS的程序语言不同,是用Java重新实现了这一机制,所以代码独创性高(不意味着机制创新)。与ETH的智能合约高度类似,所以这一部分与ETH的重复度高。

(六) 激励模型

Tron采用类似BTS和EOS的DPoS共识机制,用户需要支付一定TRX成为超级代表候选,每6小时统计一次票数,由全体用户投票选择票数最高的127名候选作为代表,其中票数最高的27名作为超级代表,并由超级代表负责出块。代表会获得一部分竞选奖励,超级代表还会获得出块奖励。

(七) DApp生态

表- Tron 24H 用户活跃度前 10 DApp 数据

EVOLAB Benchmark丨波场项目技术评测

EVOLAB Benchmark丨波场项目技术评测

图1

EVOLAB Benchmark丨波场项目技术评测

图2

EVOLAB Benchmark丨波场项目技术评测

图3

EVOLAB Benchmark丨波场项目技术评测

图4

Tron DApp生态基本是以OCDApp、TRONbet为代表的博彩DApp。 4月份Tron DApp生态的活跃用户、交易数量并没有太大的变化,但是DApp的数量和交易额都有明显上升。

三、 总结

Tron 想要打造一个高TPS的智能合约平台。

其共识机制采用了DPoS共识算法,由27个超级代表完成出块,通过部分中心化的手段,牺牲了一定安全性,来提高系统性能, 这与BTS与EOS的机制是相同的;智能合约则是借鉴了ETH的思路,并参考了其代码。

项目的主要特性在于性能好,即每秒处理事务的数量多。 根据测试,目前的系统在理想情况下的速度,比宣传的主网TPS要低约一半。

同时项目提供了与以太坊虚拟机EVM同样的智能合约系统,便于原本在以太坊上运行的DApp可以被轻松转移到性能更好的Tron智能合约TVM上。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言深度解剖

C语言深度解剖

陈正冲 / 北京航空航天大学出版社 / 2010-7 / 29.00元

《C语言深度解剖:解开程序员面试笔试的秘密》由作者结合自身多年嵌入式c语言开发经验和平时讲解C语言的心得体会整理而成,其中有很多作者独特的见解或看法。由于并不是从头到尾讲解C语言的基础知识,所以《C语言深度解剖:解开程序员面试笔试的秘密》并不适用于C语言零基础的读者,其内容要比一般的C语言图书深得多、细致得多,其中有很多问题是各大公司的面试或笔试题。 《C语言深度解剖:解开程序员面试笔试的秘......一起来看看 《C语言深度解剖》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码