加载中 ...

详解EOSIO 2全功能

2019-10-09 03:02 编辑:币牛牛 来源:币源

比特币10月8日讯 EOSIO 2已经正式发布,这个最新版本将重心放在了开发人员一端,旨在帮助他们在EOSIO上进行更快、更简单且更安全的开发工作。

2nVOjAAHBcBeOIKQL18hSjyIqmtlXMeTyCXrjqah.jpegEOS团队认为,目前区块链开发的最大瓶颈就是智能合约的执行速度。EOSIO是第一个使用WebAssembly(WASM)引擎来改善性能的区块链软件,但随着时间的推移,现有的通用WASM引擎在性能上同样遇到了瓶颈,因此EOS开发团队希望为开发人员做得更多一些。

实际上,EOS的解决方案非常简单,那就是自主构建解决方案,并且从头开始重新考虑EOS区块链。EOS虚拟机(EOS VM)是专门用来构建区块链WASM引擎的,而且与EOSIO 1.0同时发布的Binaryen相比,EOS Mechanics WASM的CPU基准速度提升了16倍。

接下来,EOS开发团队尝试解决新手开发人员的入门障碍,尤其是那些第一次参加#eosiohackathon,或是第一次在EOSIO上进行开发工作的开发人员。通常来说,设置区块链开发环境需要很多步骤,有时甚至需要好几个小时或数天才能完成,而这就是EOS团队为什么要推出开发工具EOSIO Quickstart Web IDE的原因,因为它能让开发人员在短短几分钟之内实现“从入门到准备就绪”。

当然,对于任何一个开发人员而言,最让他们头疼就是如何帮助刚刚加入区块链应用程序的新用户保护公钥和私钥,因为一旦操作不当就会带来安全风险。在新版本中,WebAuthn会对EOSIO提供支持,因此开发人员可以在自己的EOSIO应用程序中使用WebAuthn测试交易签名,从而给用户私钥带来更多安全性。

下面,我们将进一步解释EOSIO 2.0 Release Candidate中包含的四个关键组件:

1、EOS VM:EOS VM是一个专用于区块链应用程序的高性能WebAssembly(WASM)引擎,可以在处理智能合约时显着提高性能,并更促进系统资源被有效利用。

2、EOSIO Quickstart Web IDE:它是一个强大的、全新的、自我包含的、基于Web的集成开发环境,可用于构建EOSIO智能合约和相关Web应用程序。重要的是,EOSIO Quickstart Web IDE可以在短短几分钟之内完成设置,并且支持再任何浏览器中运行,更有助于降低EOSIO区块链新手开发人员的入门门槛。

3、支持WebAuthn:WebAuthn是一个被广泛接受的安全身份验证标准,无需浏览器扩展支持、或是附加其他软件即可进行交易签名。

4、加权阈值多签名区块生产:加权阈值多签名区块生产(Weighted Threshold Multi-Signature Block Production)是一种安全的解决方案,区块生产者可以使用不同密钥在主区块生产硬件和备份区块生成硬件上对区块进行签名。

EOS VM

针对EOSIO区块链上对安全确定执行的需求越来越多,EOS开发团队此前已经开发了一个全新的专用WebAssembly(WASM)引擎,称为EOS VM。虽然该引擎能够满足执行要求,但是Binaryen和WABT解释器依然存在不少问题,比如内存分配没有限制、加载时间过长、堆栈溢出、安装允许缺失沙盒支持等等——当这些问题叠加在一起之后,EOS VM的整体性能和可靠性就受到了限制。

作为最初的WASM解决方案,Binaryen解释器和EOSIO 1.0于2018年6月发布,同年九月被EOSIO 1.3支持的WABT所取代,性能也提升了两倍。借助这次最新发布的EOSIO 2,一个名为“EOS VM”的全新WASM引擎将会发布,该引擎由三个组件组成,每个组件都有自己的功能并提供特定的性能增强服务。

区块链WebAssembly执行的三大强力组件

1、EOS VM解释器,它其实是一个WebAssembly解释器,提供了极快的解析/加载、以及确定执行和高效时限执行功能。EOS团队这次是从头开始设计的折扣解释器,也是为将来对智能合约的调试支持腾出空间。

2、EOS VM Just In Time (JIT)编译器,它其实是一个WebAssembly编译器,采用WASM并即时生成本机代码。与WABT,Binaryen和EOS VM Interpreter之类的解释器相比,,该体系结构能够非常快速地执行WASM智能合约,并且提供显着的性能优势。这种JIT解决方案的绝对速度使开发人员能够在区块链上快速使用,而且无需像其他解决方案那样等待较长的区块编译时间。

3、EOS VM Optimized Compiler,EOS虚拟机优化编译器是EOS虚拟机的第三个组件,它使用了一个特殊的编译架构——底层虚拟机(LLVM),该架构使用了多通道编译架构。通过优化编译器生成的本机代码通常会比在WABT、Binaryen、EOS VM解释器和EOS VM JIT中执行相同代码快一个数量级。最重要的是,这个全新编译架构的速度甚至比现有WAVM引擎还要快,但是与WAVM不同的是,它可以利用分层设计在EOS区块链上更加安全地使用。

极快的执行速度

针对不同组件的基准测试,EOS团队在测试环境中发现以下区块链性能得到了增强:

nyvfyOUqXly7cNw4qkMpV5z1keIwZhsLQie9O8KV.png

EOS Mechanics Benchmarks是EOSIO社区编写的基准,而且已经在AWS z1d.metal实例上授权允许。重播基准测试(Replay benchmarks)了EOSIO系统提供的重播功能,并且比较了同一重播在WASM上和在AWS z1d.metal实例上完成所需要的时间。

以上性能基准显示了各种EOS VM组件的相对优势。EOSIO 2将EOS VM JIT作为大多数智能合约执行的一线编译器,而EOS VM Optimized Compiler会尝试在后台编译相同的智能合约,并将其部署以在链上以更快的速度随后执行,这种分层架构使EOSIO 2能够利用快速启动和优化的智能合约代码编译功能。

EOS VM及其组件也可以高度自定义,因此开发人员可以特定方式来实现其所需功能,如果你想了解更多信息,可以参考GitHub上的EOS VM代码存储库。

网络代码的重大改进

EOS开发团队向net_plugin添加了多线程支持,现在net_plugin几乎能够支持所有功能,比如区块传播、交易处理、区块/交易压缩/解压缩、以及其他进程,与主应用程序线程不同,这些都是由单独线程来处理的。通过隔离这些线程,EOS团队发现许多区块生产者在EOSIO网络上的交易处理和区块链处理性能有了显著改善,其他更多详细信息会在EOSIO 2.0.0-rc1发布说明中提供。

EOSIO Quickstart Web IDE

EOSIO 2的增强功能是针对开发人员的,新开发工具将使在EOSIO项目上启动、共享和协作变得更加容易。

目前,如果你想为EOSIO设置开发环境需要在开发人员的计算机上本地运行许多步骤,这对于刚刚入行的新手来说是相当复杂的。现在处于Alpha支持阶段的EOSIO Quickstart Web IDE打算消除开发人员的入门障碍,该工具是在云端运行,使新开发人员能够轻松构建智能合约、Web应用程序开发环境、以及完全集成的单节点个体测试网,短短几分钟即可实现“从入门到准备就绪”。

The EOSIO Quickstart Web IDE允许刚入行的区块链开发人员更轻松地访问EOSIO,从而简化了流程,并使他们快速而轻松地学习EOSIO开发。开发人员可以从演示应用程序开始,无缝进行更改,并实时查看更新,甚至能直接从浏览器将代码提交到Git存储库。

随着越来越多的新手开发人员使用EOSIO Quickstart Web IDE,预计后续会有很多社区反馈,这也是值得关注的一件事。

对EOSIO的WebAuthn支持

WebAuthn是一个强大的用户身份验证标准,由万维网联盟(W3C)和线上快速身份验证(FIDO)联盟协作推出,并且获得了谷歌、微软、Mozilla、Yubico等公司的帮助。WebAuthn允许你使用硬件设备在浏览器中对交易进行身份验证和签名,而无需在设备上安装扩展程序或其他软件。

WebAuthn会在YubiKey之类的设备上创建加密密钥对,并通过安全且经过身份验证的通道与远程服务器共享公共密钥。管理身份验证凭据全部都是在硬件设备中完成,WebAuthn已从本质上显示出缓解网络钓鱼等攻击类型的潜力。由于硬件设备是必不可少的,并且密码并不会存储在中央服务器上,因此实现基于WebAuthn的身份验证甚至可以帮助防止密码被盗等数据泄露问题的发生。

因为最新版本的WebAuthn能为EOSIO提供支持,开发人员可以开始在自己的EOSIO应用程序中使用WebAuthn测试交易签名。EOSIO对WebAuthn的支持是迈向安全和无缝交易签名的第一步,而无需跟踪私钥或其他帐户信息。针对WebAuthn集成调整的应用程序,EOS团队将继续研究各种机制,以支持希望面向社区的参与者和企业级参与者,并且我们鼓励应用程序开发人员加入到第一批尝试采用该技术的私人应用程序中。

加权阈值多签名区块生产(Weighted Threshold Multi-Signature Block Production)

区块生产者必须能为区块链上运行的核心服务提供高可用性,实现此目的的常用方法是冗余基础结构,在发生硬件故障或网络问题时,该基础结构可以有效地保持区块生产。加权阈值多签名区块生产算是众多功能中的一个,旨在为区块生产者提供完整的高可用性解决方案。

当前共识规则要求每个区块生产者只需一个加密区块签名密钥,无论是存储在磁盘上并通过软件加载、还是由硬件钱包保护,该密钥都代表了区块生产者操作的单点故障。如果该密钥丢失或包含该密钥的硬件模块暂时无法访问,那么此时区块生产者别无选择,只能丢掉区块,从而影响整个网络的吞吐量。

为了提高区块生产的安全性和可伸缩性,加权阈值多签名区块支持提供了一个授权层,该授权层可以灵活地使用多个区块签名密钥,这将确保冗余区块签名基础结构继续存在,同时也无需共享任何敏感数据。如果你想了解更多关于加权阈值多签名区块生产的信息,可以在GitHub上查看。

后续工作

EOS开发团队将继续定期更新功能,并迭代到EOSIO软件套件里,以便让开发人员可以访问性能更高的软件增强功能、安全的交易签名方式、以及可靠的身份验证协议。此外,该团队还会鼓励社区积极参与,及时提供反馈,帮助开发人员进一步完善工作。

本文编译自eos.io

关键词:比特币新闻 币牛牛

转载自比特币新闻网(www.btc268.com),提供比特币行情走势分析与数字货币投资炒币最新消息。

原文标题:详解EOSIO 2全功能

原文地址:http://www.btc268.com/news/btc/15993.html

本文来源:币源编辑:币牛牛

本文仅代表作者个人观点,与本网站立场无关。

本网站转载信息目的在于传递更多信息。请读者仅作参考,投资有风险,入市须谨慎!

'); })();