译文/Translated:
随着EOSIO TM平台不断发展,Block.one和建立在EOSIO之上的开源社区之间的协作成为了软件应用的关键。在我们最近刚发布的EOSIO战略愿景中,我们提出了基于四个核心焦点原则的基础:规模化、开发者、用户、和企业家,每一个都有写根本特征让EOSIO脱颖而出。从本文开始,我们将用四篇文章讨论战略愿景的每个支柱,而本文我们着重探讨规模化以及我们如何将基于EOSIO的区块链效率做到最大化的。
当我们讨论区块链的大规模应用的时候,规模化是最重要的焦点之一。通过不断地研究和创新,我们的团队力争要开发出稳健、高效、高性能的软件环境,使它能够快速实现规模化,从而满足市场动态需求。实际上,我们的区块链发展总监Bart Wyatt最近在Cointelegraph上发表了一篇关于区块链规模化的署名文章,探讨了规模化的不同解读、以及为什么规模化是区块链应用最重要的组成部分。
出块过程的垂直扩展
WASM
智能合约业务逻辑不是总能够运行并行实例,所以,就很有必要尽可能地提高智能合约中执行WASM代码的单线程性能。EOSIO一直本着该宗旨进行,也通过推出大量WASM引擎—包括WABT, WAVM, 及我们刚刚宣布的EOS VM(区块链专用的WASM解释器,它通过相应的JIT编译器进一步加快WASM性能)—保证一流的智能合约性能。我们还在继续探索WASM引擎的解决方案,以应对区块链技术相关需求的挑战。点击这里阅读关于EOS VM的信息。
多线程
在业务逻辑这方面,智能合约一般都是单线程的,所以一般它们一次只处理一个命令。通过识别数据流中无风险并发处理的可能性,我们团队在探索是否能够通过多内核加速处理速度,同时不要求开发者改变其构建方法。
Nodeos的改进
我们团队注意到,我们有机会在平台上建立更强大的执行效率,比如我们最近刚刚宣布的EOSVM,这是一个区块链专用的WASM引擎、数据库访问、内在处理、其它许多EOSIO平台和其许多组件。为了最大化nedeos规模化的可能,我们团队会不断分析每个系统,使我们正在做的优化工作达到最好的效果。
高级数据库技术
支持现在的nodeos迭代的数据库已经经过调整,增加吞吐量、同时提供按需回滚增量的功能。未来我们还会继续关注优化和集成性能相似的数据库解决方案,把这些能够同时管理多个不冲突的交易、还能让开发者获得更大的数据索引的灵活性。
减少资源依赖
区块链开发者但凡想实现大规模推广,管理有限资源就一定是他们一个挥之不去的障碍。把区块链网络应用扩大到传统系统性能中需要更高效地使用诸如CPU,RAM,网络能够提供的带宽在内的一系列资源。我们团队努力想开拓可能性,减少资源负载、实现运营区块链应用的公司的资源共享,其中包括资源交换和软件方面的解决方案。
出块过程的水平扩展
区块链内部通信机制
跨区块链的互操作性是EOSIO区块链的核心要素。我们团队通过改进形式化的跨链通信(IBC)协议实现了更高的交易吞吐率。我们团队现在正在努力部署跨链机制,给应用提供增强的可规模化性能。我们在探索的一个方法是通过跨多条区块链、并通过形式化的IBC协议通信的各类组件实现规模化。另一个方法则是复制跨多链的应用,以管理用户请求溢出。但是,我们还考虑第三种选择,我们想让跨链的两个及两个以上应用能够相互通信,处理进程负载。我们会继续研究和识别其它的方法,让跨链的兼容性带来更大的吞吐量。
并行智能合约执行
单线程智能合约需要不断维持全局状态,这样在执行合约的过程中会导致约束执行和密集的资源利用。为了克服维护相关的这一个问题,我们在探讨更先进的内存管理技术,扩大多线程的支持,以包含交易处理,而不用多余的跨链通信。我们相信,我们有可能扩展该技术,规模化跨节点运行多线程进程。
抽象层
为了提供跨链无缝的前端体验,我们在思考如何让开发者能够更轻松地和多个区块链交互、继而开发应用。我们不会要求应用开发者处理一系列集成,而实在研究应用开发者级别的接口抽象如何简化这类应用的后端集成。
数据访问规模化
每个验证交易都带来区块链技术的增长,这种情况下,查询和读取历史和状态数据就越来越成为要给挑战。为了解决这个问题,我们在研发一系列历史工具。WASM-QL采用了客户端-服务器架构来设计和执行WASM中的查询功能,这样的应用模式让合约作者能够使用他们用来创建合约和客户端-服务器架构的工具继续设计和编程实现查询功能,这样就能简化客户端和服务器中间的数据往来需求。一旦启用,本系统就能实现在任何区块高度上检测历史状态。此外,由于本系统中的赋值功能被我们从nodeos降低到低内存密集型查询进程,这对我们的规模化又有了帮助。
规范存储库
社区一直想要建立稳定、高效、规模化的EIOSIO区块链,这个愿景还在继续,我们也会不断提供支持和资源。我们在不断提出EOSIO战略愿景的不同方面,这个紧要关头里,我们从研究者、应用开发者、和社区其他成员获得的反馈会带来重大的影响。这个工作由规范存储库进行,这个EOSIO Labs TM的想法是支持我们日渐强大的生态系统中的每个用户,实现更大的增益。如果您对此感兴趣,请参阅规范库草案,并直接在GitHub提供反馈,我们会把这些功能加入到EOSIO之中。
联系我们
Block.one一直希望能把社区反馈加入到EOSIO之中,这点从未动摇,生态系统的每个参与者提供的内容都给我们提供了意义重大的视角,最终预见了EOSIO的增长,也为EOSIO平台设定了进步的节奏。如果您想提供反馈,和我们的团队更紧密地合作,为开发者提高EOSIO,您可以给我们的开发者关系小组发邮件:developers@block.one
注意,您还可以登录EOSIO新站订阅我们,获取我们未来宣布的最新信息。我们很高兴能够不断为EOSIO开发者改进该软件的可用性,同时,我们也在不断为区块链技术的不断奠定基础。
. . .
重要事项:我们提供的所有信息都受限于本重要通知,您必须熟悉其中的条款。该通知包含了关于我们的软件、发布、商标、第三方资源和前瞻性声明的重要信息、条件和限制。您获取任何材料的时候就意味着您接受并同意该通知的条款。
原文/Original:
As the EOSIO™ platform continues to evolve, Block.one’s collaboration with the open source community building on EOSIO has become a critical component of the software’s adoption. Recently announced in the EOSIO Strategic Vision, we’ve proposed a foundation based on four core principles of focus: Scalability, Developers, Users, and Enterprises, each with fundamental features which set EOSIO apart. In this first article of a four part series to review each pillar of the Strategic Vision, we’ll take a closer look at Scalability and how we’re taking strides to maximize efficiency across EOSIO based blockchains.
When it comes to mass consumer adoption of blockchain applications, scalability remains one of the greatest focal points. Through continuous research and innovation, our team has strived to develop a robust, efficient, and highly capable software environment that can rapidly scale to meet needs determined by marketplace dynamics. In fact, Bart Wyatt, our Director of Blockchain Development, recently published a byline focused on Blockchain Scalability on Cointelegraph that discusses various interpretations of scalability and why scale is the most critical component of blockchain’s adoption.
Block Production: Vertical Scaling
WASM
Running parallel instances of smart contract business logic isn’t always possible. This factor makes it important to maximize the single threaded performance of executing WASM code in smart contracts. EOSIO has been engineered with this tenet in mind, and delivers stellar smart contract performance by leveraging a wide range of WASM engines including WABT, WAVM, and our most recent announcement of EOS VM, a blockchain specific WASM interpreter with associated JIT compilers that further accelerate WASM performance. We are continuing to explore solutions for WASM engines that can rise to the challenge of blockchain technology related needs. Read more about EOS VM in our recent developer preview release announcement.
Multi-Threading
As far as business logic is concerned, smart contracts are usually single threaded, so they generally process one command at a time. By identifying opportunities in dataflows for risk free concurrent processing our team is exploring the use of multiple cores to accelerate processing speeds without forcing developers to change builds.
Improvements In Nodeos
Our team observed opportunities to build greater execution efficiency into the platform such as our recently announced EOSVM, a blockchain specific WASM engine, database access, intrinsics handling, and various other EOSIO platform and various other components. In order to maximize the scaling potential of nodeos, the team will be continually profiling each system in order to make the most of our ongoing optimization efforts.
Advanced Database Technologies
The database supporting the current iteration of nodeos has been fine tuned to augment throughput and simultaneously offer the ability to rollback deltas on demand. Future efforts will stay focused on optimizing and integrating similarly performant database solutions capable of concurrently managing multiple non-conflicting transactions and that enable developers greater data indexing flexibility.
Reducing Resource Reliance
Managing finite resources has been a consistent obstacle for blockchain developers with sights set upon mass adoption. Scaling usage of blockchain networks to the performance of traditional systems will require more efficient use of resources like CPU, RAM, and Bandwidth a network will be able to provide. Our team has been hard at work probing possibilities, like resource exchanges and software side solutions, that can reduce the resource load and enable shared resources for companies operating blockchain applications.
Block Production: Horizontal Scaling
Inter-Blockchain Communication Mechanisms
Interoperability across blockchains remains a core facet of the EOSIO Blockchain. By improving the communication across multiple blockchains with a formalized Inter-Blockchain Communication (IBC) protocol, higher transaction throughput rates can be achieved. Our teams are working towards implementing inter-chain mechanisms that provide applications enhanced scalability capacities. One of the methods we are exploring involves scaling by diversifying components across multiple chains that communicate together via a formalized IBC. Another scaling strategy we are considering involves replicating an application across multiple chains to manage user-request overflow. Yet another option we are looking into would be to enable two or more applications across blockchains to intercommunicate in order to handle process loads. We will continue to research and identify other opportunities where cross-chain compatibility enables greater throughput.
Parallel Smart-Contract Execution
Single threaded smart contracts require a constantly maintained global state which can lead to execution constraints and intensive resource utilization to execute contracts. To overcome this state maintenance related drawback, we are exploring advanced memory management techniques that will expand multithreading support to encompass transaction processing, without superfluous cross-chain communication. We believe it is possible to extend such techniques to scale across node assemblies running multi-threaded processes.
Abstraction Layers
In order to provide seamless front-end experiences cross-chain, we are also examining the possibilities for developers to create applications with greater ease that are able to interact with multiple blockchains. Rather than requiring application developers to juggle a series integrations, we’re researching how application developer level abstractions can simplify the back-end integration of such applications.
Data Access Scalability
As the blockchain grows with each authenticated transaction, querying and reading history and state data proves to be a growing challenge. In order to tackle this challenge, we are working on a series of History Tools. WASM-QL implements a client-server architecture to design and execute queries in WASM. This implementation pattern allows contract authors to design and code queries using the same tooling they used to create their contracts and further the client-server architecture also minimizes the back-and-forth required between client and server. Once enabled, this system would make it possible to inspect historical states at any given block height. In addition, since replication in this system is relegated away from nodeos, towards low memory-intensive query processes, it is more conducive to scalability.
EOSIO Specification Repository
The community effort towards building stable, efficient, and scalable EOSIO blockchains remains ongoing and we will continue to provide support and resources. We are continuing to implement various facets of the EOSIO Strategic Vision and during this crucial stage the feedback we receive from researchers, application developers, and other members of the community makes an impact. This effort is spearheaded by the Specification Repository, an EOSIO LabsTM initiative to support greater synergy amongst stakeholders in our growing ecosystem. If interested in getting involved, please review the specifications drafted and provide feedback directly in GitHub as we work through the implementation of these features in EOSIO.
Stay Connected
As always, Block.one’s commitment to incorporate community feedback into EOSIO remains unwavering. The input from each ecosystem participant provides us valuable insights that essentially inform the growth and help set the pace of advancement for the EOSIO platform. If you would like to offer feedback and work more closely with our team to improve EOSIO for developers, you can send our developer relations team an email at developers@block.one.
Remember, you can also keep up-to-date with future announcements by subscribing to our mailing list on the new EOSIO website. We are excited to be regularly improving the usability of the software for EOSIO developers as we continue to lay a foundation for the mass adoption of blockchain technology.
. . .
Important: All material is provided subject to this important notice and you must familiarize yourself with its terms. The notice contains important information, limitations, and restrictions relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.
原文链接/Original URL: