内容简介:Tron是币圈网红孙宇晨发起的一个公链项目,核心共识机制是类似BTS和EOS的DPoS共识机制,智能合约平台使用高度类似以太坊虚拟机EVM的Tron虚拟机TVM,可以使用solidity语言开发智能合约。根据白皮书的描述,Tron项目的主要特性在于性能好,同时提供了与以太坊虚拟机EVM同样的智能合约系统。
一、 概述
Tron是币圈网红孙宇晨发起的一个公链项目,核心共识机制是类似BTS和EOS的DPoS共识机制,智能合约平台使用高度类似以太坊虚拟机EVM的Tron虚拟机TVM,可以使用solidity语言开发智能合约。
根据白皮书的描述,Tron项目的主要特性在于性能好,同时提供了与以太坊虚拟机EVM同样的智能合约系统。
二、 分析
测试环境说明
我们在AWS上部署了约100个Kubernetes节点,用以模拟Tron测试网络,具体测试环境如下:
(一) 共识
根据白皮书及其他公开资料,Tron采用类似BTS和EOS的DPoS共识机制,并把它命名为TPoS。区别于BTS与EOS用C/C++实现,TPoS 使用 Java 实现DPoS共识机制。
具体来说,在Tron的网络中,每个账户都可以参与竞选超级代表,也可以给他们支持的超级代表候选人投票,最终选出27个超级代表作为主节点。主节点拥有打包权,轮流负责把交易数据打包成区块,并验证区块,一旦2/3的主节点确认该区块,则交易不可逆转。
DPoS这种适度民主的中间方案提高了系统效率,是目前一种较平衡的兼顾了性能与安全的方案,但其不可避免的缺点是由于实际控制节点减少,导致被攻击的可能性增加。
系统工作原理图示如下:
(二) 智能合约
Tron的智能合约使用solidity编程语言开发,运行在Tron的虚拟机,即TVM。TVM和EVM环境兼容,开发人员可以在具有solidity的混合环境中构建、调试和执行智能合约。 这使得原先在以太坊EVM环境下进行开发的应用,可以方便地转换到TVM上。
(三) 安全
通过Benchmark公链测试工具,我们对Tron进行了一系列安全测试,并从中选取了我们认为对DPoS机制的公链来说,有参考意义的几个攻击指标。
我们的测试方法如下:
1.建立Tron测试网;
2.发送RPC,让测试网部分节点对其他节点发起攻击;
3.得到测试结果如下
测试结果:从DDos攻击测试结果可知,攻击者可以向全部或51%的主节点发送DDos攻击并使Tron 网络无法使用;从网络分裂攻击测试结果可知,在发生网络分裂攻击后,在网络恢复正常之前,在较小的链上进行的任何重复交易都将丢失。
(四) 性能
通过Benchmark公链测试工具,对Tron进行性能测试,我们的测试方法如下:
1.建立Tron测试网 ;
2.发送RPC, 让测试网部分节点发起交易(每秒N笔交易,线性增长);
3.节点检测交易同步的时间,直到检测到超过一定时间(一般是出块时间)。
表- 安全测试结果
根据Tron官方宣传,Tron主网上线后性能达到2000 TPS,未来会达到10000TPS。 根据 测试,目前在理想网络情况下性能只能达到1200TPS。
(五) 技术管理
1 . 代码更新
Tron 的Github仓库 一共有36个public repositories,主要repositories的具体数据如下:
表- Tron 的 Github 数据
根据Tron的java-tron的commits数据,得到java-tron的代码更新,如下:
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 数据
图1
图2
图3
图4
Tron DApp生态基本是以OCDApp、TRONbet为代表的博彩DApp。 4月份Tron DApp生态的活跃用户、交易数量并没有太大的变化,但是DApp的数量和交易额都有明显上升。
三、 总结
Tron 想要打造一个高TPS的智能合约平台。
其共识机制采用了DPoS共识算法,由27个超级代表完成出块,通过部分中心化的手段,牺牲了一定安全性,来提高系统性能, 这与BTS与EOS的机制是相同的;智能合约则是借鉴了ETH的思路,并参考了其代码。
项目的主要特性在于性能好,即每秒处理事务的数量多。 根据测试,目前的系统在理想情况下的速度,比宣传的主网TPS要低约一半。
同时项目提供了与以太坊虚拟机EVM同样的智能合约系统,便于原本在以太坊上运行的DApp可以被轻松转移到性能更好的Tron智能合约TVM上。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。