专业开发15年,丰富的开发经验!贴心的私人订制服务,为您打造合适的平台。

无界区块链虚拟币钱包开发咨询电话

咨询电话:13386501543

联系方式

电 话:13386501543

邮箱:1203125@qq.com

地址:浙江省杭州市江干区下沙街道万亚金沙湖1号3幢

当前位置:无界区块链开发 > 新闻资讯 > EOS区块链软件开发公司

EOS区块链软件开发公司

文章出处:6 阅读量:6 发表时间:21-01-02 11:40
区块链100问

Block.One , 一家EOS区块链软件开发公司 ,正式发布了EOS块链网络基础软件EOSIO 2.0版本 .

在1月10日发布给Twitter的声明中,Block.One声称更新使EOS块链更快、 更简单,甚至更安全。

智能契约虚拟机做出重大更改

关于该软件新版本的官方博客文章解释说 , EOS.io 2.0包含一个专门的WebAssembly(WASM)引擎, 可以在该引擎上运行EOS智能合同 .根据其官方网站 , WASM使用了一种指令格式 , 用于在Web和服务器上实现部署 .

这一变化预计将提高智能合同执行的性能,因为据说它比以前版本中使用的引擎快16倍 .

此主要版本更新还引入了WebAuthn支持. 据官方网站介绍 , WebAuthn是一种基于公钥密码体制的Web认证标准.本公告解释了EOS开发人员如何使用此标准:

有了这个版本的WebAuthn对EOSIO的支持, 开发人员就可以开始在他们的EOSIO应用程序中签名WebAuthn测试事务 .

然而 ,消息人士说, 目前还没有确定通过更新的日期 .

网络代码多线程支持

Block.One还声称通过增加多线程支持 ,大大改进了块链的网络代码 。多线程是中央处理单元同时执行多个执行线程的能力 .

多线程支持应该改善块传播,事务处理,块和事务打包和解压缩以及其他进程的性能 , 因为这些进程现在由单独的线程处理 . 公告内容如下:

通过对这些过程的隔离, 我们发现在多生产者EOSIO网络中, 事务处理和块处理性能有了显著的改善 。

此外 , 与专用集成开发环境(IDE)一起发布的更新据说加速了开发人员的引入。

这是Block最近发布的第二项重大声明, 其中一项很可能对EOS生态系统产生重大影响 . 根据12月底的一份报告, Block最近还提出了对网络资源分配制度的重大修改 , 要求用户租用而不是购买网络资源 .

以下是布洛克发布的公告全文:

EOSIO已经更新为稳定版本2.0的EOSIO, 具有安全性、 稳定性和其他修复功能.更多信息和发布说明可在GitHub上获得 .

EOSIO2.0的构建考虑了开发人员.我们的重点是:在EOSIO上使其更快、 更简单和更安全 。

我们认为 , 区块链开发的最大瓶颈是它们执行智能合同的速度 .

EOSIO是第一个使用WebAssembly(WASM)引擎来提高性能的块链软件 ,但随着时间的推移, 我们已经超越了现有的通用WASM引擎, 并且知道我们可以做得更多 .

我们的解决方案:构建我们自己的解决方案, 并从零开始考虑块链. Eos VM是我们专门构建的块链WASM引擎, 它运行EOSMachics WASM CPU基准, 比EOSIO1.0发布的Binaryen快16倍。

接下来, 我们要解决新开发人员的进入障碍--第一次参加#eosiohackathon或第一次在EOSIO上开发的开发人员. 通常, 建立块链开发环境是一个多步骤的过程,需要几个小时甚至几天才能完成.这就是为什么我们构建EOSIOQuickstartWebIDE, 这是一个开发工具 ,允许新开发人员在几分钟内启动并准备就绪.

最后,对于所有开发人员来说 ,吸引新用户阻止链式应用程序的主要难点之一是保护私钥和公钥, 如果处理不当 ,这会带来安全风险 .有了这个版本的WebAuthn对EOSIO的支持, 开发人员可以在他们的EOSIO应用程序中开始使用WebAuthn测试事务签名,为今天的块链中不存在的私钥提供一定程度的安全性 .

EOSIO2.0候选版本中包含的四个主要组件:

Eos VM:用于阻塞链应用程序的高性能WebAssembly(WASM)引擎在处理智能合同时促进了更有效地使用系统资源, 并显著提高了性能。

EOSIO快速启动Web IDE:一个强大的 、新的,独立的、 基于Web的集成开发环境,用于构建EOSIO智能契约和相关的Web应用程序 .它可以在几分钟内设置 ,可以在任何浏览器中运行 , 并有助于降低新的EOSIO块链开发人员的入门门槛 。

WebAuthn支持:一种广泛接受的安全认证标准,不需要浏览器扩展或附加软件来签署事务.

加权门限多签名块生产支持:一种用于块生产者使用不同密钥在主 、备用块的生产硬件上使用安全密钥对块进行签名的安全方法 。

EOS虚拟机

我们开发了一个名为EOSVM的新的专用WebAssembly(WASM)引擎, 以满足对EOSIO块链上安全确定性执行的日益增长的需求 。虽然这个用途非常适合 ,但是Binaryen和WABT解释器在内存分配不受限制、 加载时间延长和堆栈溢出方面存在问题 , 并且在运行时缺少沙箱。 综合考虑,这些问题限制了总体性能和可靠性 .

作为最初的WASM解决方案 ,Binaryen解释器于2018年6月用EOSIO1.0发布 ,同年9月被EOSIO1.3对WABT的支持取代 ,性能提高了三倍.使用EOSIO2.0,我们将发布一个名为EOSVM的新WASM引擎, 它由三个组件组成, 每个组件都有自己的功能和特定的性能增强。

块链WebAssembly执行的强大组件三重

EOSVM解释器是一个WebAssembly解释器, 它提供极快的解析/加载、 确定性和高效的时间限制执行 。从零开始设计解释器 , 这样我们就可以为智能合同的未来调试提供空间。

EOSVM即时(JIT)编译器是WebAssembly编译器,它使用WASM并立即生成本机代码 . 与诸如WABT、 Binaryen和EOSVM解释器等解释器相比 ,该体系结构能够非常快地执行WASM智能契约 ,并提供了显著的性能优势 .这个JIT解决方案的绝对速度使我们能够在区块链上使用它 , 而无需其他解决方案在很长时间内编译块 .

EOSVM优化编译器是EOSVM的第三个组件 ,它使用一个使用多个编译模式的专用编译器框架(LLVM).通过优化编译器生成的本机代码通常比在WABT,Binaryen 、EOSVM解释器和EOSVM JIT中执行的相同代码快一个数量级.最重要的是 ,它甚至比现有的WAVM引擎更快 ,但是与WAVM不同, 它可以使用我们的分层设计在块链上安全地使用 .

执行得很快 .

我们对不同组件的基准测试在我们的测试环境中实现了以下性能增强:

1.EOS力学基准来自EOSIO社区编写的基准 , 并运行在AWS z1d.ME实例上 . 2.重放基准比较EOSIO系统提供的重放功能 ,以便在指定的WASM引擎上完成相同的重放, 并在AWS z1d金属实例上执行.

上述性能基准显示了各种EOSVM组件的相对优势.EOSIO2.0使用EOSVM JIT作为大多数智能契约执行的第一行编译器, 而EOSVM优化编译器试图在后台编译相同的智能契约, 并将其部署到链上以极快的速度执行. 这种分层架构使EOSIO2.0能够利用快速启动和优化的智能契约代码编译功能.

Eos VM及其组件也可以高度定制 , 因此开发人员可以以适合他们需要的功能的特定方式实现它的所有方面 .通过参考GitHub上的EOSVM存储库了解更多信息.

网络代码的主要改进

我们向net_plugin添加了多线程支持。 现在 ,netplugin中的几乎所有进程 ,包括块传播、 事务处理 、块/事务打包/解压缩以及其他进程 , 都由与主应用程序线程不同的单独线程处理 . 通过对这些过程的隔离 , 我们发现在多生产者EOSIO网络中, 事务处理和块处理的性能有了明显的提高 。更多细节见EOSIO2.0.0发行说明 .

EOSIO快速启动Web IDE

对EOSIO2.0的增强是针对开发人员的 ,这个新工具将使EOSIO项目更容易共享和协作.

为EOSIO建立一个开发环境目前需要一个多步骤的过程来在开发人员的计算机上本地运行 ,对于刚接触到的人来说 ,这可能是相当复杂的。 虽然现在处于Alpha阶段, 但EOSIO快速启动WebIDE的设计目的是消除开发人员入门的障碍 . 该工具运行在云服务中, 使新开发人员能够构建智能契约和Web应用程序开发环境,以及完全集成的单节点个人测试网络 , 这样他们就可以在几分钟内开始构建.

EOSIO快速启动Web IDE使新的块链开发人员更容易访问EOSIO , 简化了流程,并使其快速和容易地开始学习EOSIO开发. 开发人员可以从演示应用程序开始, 无缝地进行更改 ,实时查看更新 ,并直接从浏览器向GIT存储库提交代码.

随着新开发人员开始使用EOSIO快速启动Web IDE进行构建, 我们期待收到来自社区的反馈 .

WebAuthn对EOSIO的支持

WebAuthn是一个强大的用户身份验证标准 ,它得到了Google,Mozilla,Microsoft,Yubico和其他公司 、万维网联盟(W3C)和在线快速认证(FIDO)联盟的帮助.WebAuthn允许您使用硬件设备在浏览器中对事务进行身份验证和签名 ,而无需在设备上安装扩展程序或其他软件 。

WebAuthn在YubiKey等设备上创建加密密钥对, 并且只通过安全和经过身份验证的通道与远程服务器共享公钥 . 通过完全在硬件设备中管理身份验证凭据 ,WebAuthn已经表明它实际上减轻了整个类型的攻击 ,例如钓鱼 . 由于硬件设备是必不可少的, 并且密码不存储在中央服务器上, 实现基于WebAuthn的身份验证甚至可以帮助防止密码被盗时的大数据泄露.

有了这个版本的WebAuthn对EOSIO的支持 ,开发人员可以在他们的EOSIO应用程序中开始使用WebAuthn测试事务签名.EOSIO对WebAuthn的支持是实现安全和无缝事务签名的一步, 无需跟踪私钥或其他帐户信息.我们将继续研究支持面向社区和企业级参与者的机制, 这些参与者希望为WebAuthn集成调整他们的应用程序 ,我们鼓励应用程序开发人员加入第一个私有应用程序的第一批采用者的行列, 尝试采用这种技术.

加权门限多签名块产生

块生产者必须能够为其运行块链的核心服务提供高可用性 .实现这一目标的常用方法是冗余基础设施 ,在发生硬件故障或网络问题时 ,可以有效地维护块生产 . 加权门限多签名块生产是许多功能中的第一项 ,旨在为块生产者提供一个完整的高可用性解决方案 .

当前的协商一致规则只要求每个块生产者加密一个块签名密钥 。无论是存储在磁盘上 、由软件加载还是由硬件钱包保护的密钥, 对于块生成器操作来说都是一个单一的故障点. 如果密钥丢失或暂时无法访问包含密钥的硬件模块 ,则块生产者别无选择, 只能丢失该块 ,从而影响整个网络的吞吐量 。

为了提高区域生成的安全性和可扩展性, 加权门限多签名块支持提供了一个权限层,允许在灵活的方案中使用多个块签名密钥 ,这使得冗余块签名基础设施能够在不共享任何敏感数据的情况下存在.了解更多关于加权门限多签名块生产的GitHub。

cache
Processed in 0.012020 Second.