用户意见反馈

请在下面填写您遇到的问题或意见建议,并留下您的联系方式,
我们将为您提供更好的产品和服务。

您的邮箱地址

请详细描述您的问题或建议*

上传截图支持 jpg,jpeg,png,gif等图片格式,图片小于5MB

取消提交
举报
  • 内容涉嫌抄袭,代表月亮消灭他/她
  • 发布不实消息,画个圈圈诅咒他/她
  • 诱导投资,放毛毛,揍他/她
  • 侵犯名誉、隐私,这个借一步说话
  • 其他
具体描述(选填):
取消提交
我要爆料

填写邮箱地址/手机号码(仅管理人员可见)

请详细描述您要爆料的内容*

上传截图支持 jpg,jpeg,png,gif等图片格式,图片小于5MB

取消 提交
提交网址
常用工具
取消 提交

投稿奖励Token领取申请 我的奖励

选择您要兑换的Token

填写兑换文章信息

请填写您在链向财经平台已审核通过且未申请兑换Token的文章

*兑奖信息一旦提交将无法修改,请认真核对兑换规则及接受地址

取消 提交

已成功提交审核

期待您更多优秀的作品

Token奖励领取最新状态,可前往
个人中心“我的奖励-投稿奖励”查看

后,弹窗自动关闭

扫码领取奖励 更多详情

链小象(CFOR)未来可兑换比特币、以太坊、瑞波、EOS等区块链资产;链向财经合作区块链项目资产;链向财经应用内的增值产品和服务、链向财经主办活动的奖品。

  • 14023
  • 1
  • 喜欢
  • 举报
  • 分享到
  • 微信
    打开微信“扫一扫”,打开网页后点击屏幕右上角“分享”按钮
  • 空间
  • 微博
  • twitter
  • facebook

Qtum量子链发布QIP-7:Qtum虚拟机升级,五大更新全面提升开发性能

09-25 10:28

标签: QTUM 虚拟机 QIP

来源: QtumChain



QIP-7 : Qtum虚拟机全新升级

QIP-7 集成了以太坊虚拟机的最新功能,同时进行了全面的改进,使Qtum虚拟机功能更强大。本次更新的改进包括:成本更低的密码学内置模块、新的数学运算符、存储的gas成本优化,以及部署智能合约/与智能合约交互的新方法。

有了这些更新,相信Qtum平台上的智能合约开发人员就可以构建出新型的应用程序,在Qtum去中心化的生态系统中实现更好的隐私性、信任、安全性和可用性。

虚拟机改进

本次更新添加了一些新的指令到虚拟机中,以便改进虚拟机功能并降低gas成本:

  1. 添加了位移运算符SHL和SHR,作为其他位运算符的补充;

  2. 添加了extcodehash以降低验证地址是否具有预期智能合约代码的成本;

  3. 添加了revert指令,用于向用户报告错误信息,并退还未使用的gas;

  4. 添加了staticcall指令,以便在“只读”模式下调用另一个合约;

  5. 提供了一种允许智能合约方法返回多个值的实现方式;

  6. 添加了create2指令,因此可以将智能合约部署到预先确定的地址。



值得一提的是,create2指令的添加使得“反事实合约(counterfactual contract)”的创建成为了可能。在此之前,智能合约的地址部分由它的创建者的nonce决定,因此它是不可预测的。有了Create2,开发人员可以预先确定智能合约的地址,而不用实际去部署代码。这一点是很有用的,因为一些智能合约逻辑的细节现在可能不对公众开放,除非相关参与方需要这些细节。这就好比一个公正的仲裁员,在产生争议的时候,将遵循密封信封中的指示进行操作。

反事实智能合约使Qtum上可以实现通用的状态通道(generalized state channel)[1],从而赋能链下隐私解决方案。

密码学改进

Qtum智能合约虚拟机是一个通用的计算平台。虽然开发人员可以直接在智能合约中实现任何加密算法,但这样做对于实际使用来说往往代价太高。加密算法通常需要特殊的优化才能有效地运行。

本次更新引入了高度优化的数学函数实现,大大降低了一些有意思的算法的gas成本,使它们适用于实际使用场景。

大整数算术

虚拟机针对256位整数进行了优化,可用于实现现代椭圆曲线密码(Elliptical Curve Cryptography, ECC)算法。然而,像RSA这样的较老的加密算法会依赖不同的数学实体,而这些实体又需要更多位数来实现同样的安全性。当前关于RSA的使用指南建议使用4028位长的公钥来实现与256位长的ECC公钥同等的安全性。

为了支持这些算法,本次更新引入了一些高效且成本更低的方式,实现对大于256位的数字进行数学运算。这是通过添加可支持以下这些操作(以及相关的gas成本)的预编译合约来实现的:

  1. GADDSUBBASE: 15

  2. GMULDIVBASE: 30

  3. GMODEXPBASE: 45

  4. GARITHWORD: 6

  5. GQUADDIVISOR: 32



ZK-SNARKs支持

激动人心的是,零知识证明系统使得在Qtum区块链上构建隐私相关应用成为了可能。然而,这些系统所依赖的椭圆曲线类型与Qtum使用的原生椭圆曲线不同。

本次更新增加了对alt_bn128曲线的支持,这是许多zk-snarks系统所使用的曲线。特别地,这是加密货币ZCash 所选择的曲线。

储存的gas成本优化

在区块链上存储数据的成本是高昂的,因为每个存储项会存储在网络的每个节点中,而且是永远保存的!然而,存储指令sstore的实现方式实际上是经过优化的,从而降低某些情况下的存储成本,但是系统还是会收取相同数量的gas。本次更新降低了某些特殊情况下的gas成本,在这些情况中,可以对sstore指令进行优化。

在智能合约调用中考虑使用以下这些指令,将位置0x0设置为不同的数字:

sstore 0x00 0x1

sstore 0x00 0x2

sstore 0x00 0x3

在这个序列中,实际上只有最后一个sstore指令会对成本产生影响,因为最后设置的数字才是最终上链的数字。以前所有这些指令都需要很高的gas成本。有了本次的更新,只有最后一个指令的成本是高昂的,而执行前面这几个指令的成本是很低的。

参考文献

1.https://www.counterfactual.com/statechannels/

+1

已有0人喜欢

本文经授权发布,不代表链向财经立场。如若转载请标注文章来源:链向财经(www.chainfor.com)

为了您能更及时的获取到最新热门资讯,请关注链向财经微信公众号:LXcaijing

热门文章推荐