当前位置:首页 > 区块链新闻 > 正文

能防止95%的智能合约错误,Lity是怎么做到的?

来源: 互联网时间:2019-01-11 10:30:01

正如我们在第一篇文章中提到的那样,Lity由动态可扩展语言、编译器LityC和CyberMiles 自己的虚拟机CVM组成,这些都存在于CyberMiles 区块链。作为Solidity语言的超集,Lity更加灵活、性能更好并且更加安全。怎么会这样?

  1. LibENI(以太坊本地接口库)动态虚拟机扩展允许在CVM上即时添加本地函数,无需停止、升级或分叉区块链参考网站:https://www.litylang.org/performance/
  2. 即将发布的Lity规则引擎会把正式的商业规则嵌入到智能合约中,这将大幅提高开发人员的效率并且极大降低错误出现的可能性。参考网站:https://www.litylang.org/business_rules/
  3. ERC 检查器不仅可以检查并且能够自动修复智能合约上的常见安全bug。参考网站:https://www.litylang.org/security/#erc-checker

让我们深入探索Lityc(编译器)和CVM是如何让编程更安全的吧

640

利用更好的安全性

对已知的由以太坊Solidity智能合约引起的安全问题,CyberMiles 团队分类提取了常见模式,并在Lity 语言编译器和CVM中针对这些模式安装了检查器。我们采取了积极主动的措施来防止95%的智能合约错误,这些错误曾经造成了以太坊资产丢失。但他们极有可能压根儿不会发生在CyberMiles上。

使用Lity编译器(Lityc)来保护你的智能合约

ERC检查器是Lity编译器的一个工具,用来确保智能合约符合他们所要实施的ERC标准。

在ERC的世界里:

ERC20 是最常见的token/coin发行合约标准。

1

这个示例展示了ERC20 检查器如何工作

ERC223是ERC20的增强版,可以阻止无意中将资产转移到合约地址的行为,这是以太坊上常见的资金流失的常见原因。(多说一句,为了更加安全,我们建议CyberMiles 上所有的ERC20合约都能符合ERC223标准。)

2

这个示例展示了ERC 223检查器如何工作

○ERC827是ERC20、ERC223的增强版,使ERC20 更安全并且易于使用,同时也能和ERC20工具保持兼容。简单来说,ERC827可以实现ERC20、ERC827的所有功能,但是相较于ERC223的改进,ERC827还有更多新玩法。比如,可以通过代码设置接收token的范围,如果设置为只接受1000个以上CMT的转账,那么低于1000的转账就不会成功。

2

这个示例展示了ERC 827检查器如何工作

ERC721是用来发行不可替代token的智能合约标准,举个例子,风靡一时的加密猫游戏使用的就是ERC721合约。

4

这个示例展示了ERC 721检查器如何工作

ERC884是用来发行美国股票证书的证券token标准。

5

这个示例展示了ERC 884检查器如何工作

点击查看视频:Lity编译器工具:ERC20、ERC223、ERC827、ERC721、ERC884检查器

(ERC20、ERC223、ERC827、ERC721、ERC884检查器示例合集)

整数溢出是以太坊智能合约常见安全问题之一。Lity可以主动消除智能合约代码发生整数溢出的几率,这是怎么做到的呢?

  1. Lity编译器(Lityc)会检查是否在整数中使用SafetMath。如果整数操作中没有设置SafeMath,Lity编译器会发出警告。
  2. CVM会在运行时检测是否存在整数溢出问题,并且停止执行含有错误的合约,而不是让合约带着整数溢出问题继续执行。

点击查看视频:Lity 使用教程:溢出保护

(CyberMiles 如何帮助避免溢出问题)

Lity由CyberMiles基金会开发,并作为免费软件在GPL下发布。 参阅我们最新的文档来使用Lity吧。

相关阅读

CyberMiles虚拟机和高级编程语言Lity发布!为智能合约赋能

治愈以太坊Solidity顽疾的正确姿势

Lity 入门开发指南,拿走不谢

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。

你可能感兴趣

    error