NEO的下一步发展计划 | Whats Next for NEO

NEONEO智能经济2018-07-15 12:40:18  阅读 -评论 0

去年,我们在NEO社区的支持下完成了NEO 2.x的开发,NEO 2.x主要为NEO智能经济提供核心架构机制。现在又到了向前看的时候了,该考虑下一步计划了。下一步要做什么呢?简而言之,就是NEO 3.0,NEO 3.0的开发工作从上个季度(2018年第二季度)就开始了,已持续至今。

In the past year, together with the NEO community, we accomplished the development of NEO 2.x. NEO 2.x provided essential infrastructure mechanics of the NEO Smart Economy. Now, it's time to look ahead. What's next? The short answer is NEO 3.0, of which development started in the last quarter (Q2 2018).

NEO 3.0到底是什么?又包含哪些关键功能?今天就由NEO创始人兼核心开发者张铮文与大家分享NEO 3.0的最新功能与改进之处。

What is NEO 3.0? What are the key features of NEO 3.0? Today, NEO founder and core developer Erik Zhang shares with us the latest features and improvements of NEO 3.0. 

张铮文:

NEO3.0是一个全新版本的NEO平台,专门服务于企业级大规模应用。NEO 3.0具有较高TPS与稳定性,并提供智能合约扩展API与优化的经济与定价模型。最重要的是,NEO 3.0将彻底整改NEO的核心模块设计。

Erik Zhang: 

NEO 3.0 will be an entirely new version of the NEO platform, built for large scale enterprise use cases. It will provide higher TPS and stability, expanded APIs for smart contracts, optimized economic and pricing models, and much more. Most importantly, we will entirely redesign NEO's core modules.

1. 多方位改进

1. Various Improvements

1.1 提升TPS

1.1. Increasing TPS

要想在NEO上大规模运行分布式应用,就得提升TPS。我们将通过以下方式提升NEO 3.0的TPS。

Increasing the TPS is important if we want to run large-scale distributed applications on NEO. In NEO 3.0, we will increase the TPS in the following ways:

重构代码与核心模块

优化网络协议

实现NeoContract的功能清单与权限系统

进行动态分片准备

离状态数据持久存储与区块数据持久存储

Refactor the code and core modules

Optimize the network protocol

Implement the feature manifest and permission system for NeoContract

Prepare for dynamic sharding

Detach state persistence and block persistence

1.2 漏洞修复

1.2. Bug fixes

在NEO 3.0中,我们将修复某些已知漏洞,并大幅提升系统的稳定性。

In NEO 3.0, we will fix some known bugs and significantly improve system stability.

2. 协议 

2. Protocol

2.1 调整经济模型

2.1. Adjusting the economic model

过去,NEO使用的是双币经济模型,该模型显然是成功的,但仍然存在以下问题,如NEO不可被分割使用,且GAS在支付系统费用时也不可被分割使用。这些问题阻碍了NEO和GAS代币效用的发挥。为了解决这个问题,需要对这一经济模型进行调整。下面是一些可能的调整方案:

We designed a dual-token economic model for NEO, which has proven to be a very successful model. However, there were also problems: NEO was indivisible, and GAS could not be divided when paying for system fees (sys_fee). These issues were roadblocks for the utility of NEO and GAS tokens. To solve this problem, some adjustments to the economic model need to be applied. Some of the possible adjustments are:

每年小幅提升GAS的供给量

奖励共识节点

使NEO可分割使用

用GAS支付系统费用时允许精确到小数位

A small increase in the supply of gas every year

Reward consensus nodes

Make NEO divisible

Allow gas to use the decimal part when being used for system fees

(以上仅为建议,该议题目前仍在讨论中,详见 https://github.com/neo-project/neo/issues/285)

(This is suggestion only. This issue is being discussed at: https://github.com/neo-project/neo/issues/285)

2.2 调整系统定价模型

2.2. Adjusting the system pricing model

对于开发者来说,昂贵的系统费用是其主要担忧。我们将对NEO 3.0的定价模型进行调整,这样可以大幅削减智能合约的运行与部署费用。

For developers, expensive system fees have become a primary concern. In NEO 3.0 we will make adjustments to the pricing model so that the cost of running and deploying smart contracts will be significantly cheaper.

3. 智能合约

3. Smart Contract

3.1 跨平台智能合约

3.1. Cross-platform smart contracts

如果智能合约能与NEO 3.0兼容,应该就能跨区块链平台执行。为了达到这一目标,我们不仅需要NeoVM的支持,也需要统一的智能合约API。此外,还需要一个专门的API进行平台检测。

Smart contracts should be able to be executed on different blockchain platforms, if they're made compatible with NEO 3.0. To achieve this, we need not only NeoVM support, but also unified smart contract APIs. In addition, we also provide an API for platform detection.

System.Runtime.Platform

System.Runtime.Platform

便于智能合约在运行时检测当前的平台。

This allows the smart contract to detect the current platform at runtime.

3.2 功能清单与权限系统

3.2. Feature manifest and permission system

部署智能合约时,必须清楚地阐述它可以调用的功能和权限。智能合约在运行时可访问的功能与权限仅限于其所展示的功能与权限清单中所列的内容,且不得执行任何清单之外的行为。

When a smart contract is deployed, it must explicitly declare the features and permissions it will use. When it is running, it will be limited by its declared list of features and permissions, and cannot make any behavior beyond the scope of the list.

3.3 原生合约

3.3. Native contracts

原生合约指不能在虚拟机上运行的智能合约。但原生合约可直接嵌入区块链代码,且仍可向其他合约展示其脚本,供其他合约调用。

Native contracts are smart contracts that are not run in a virtual machine. Instead, it's built directly into the blockchain code. Native contracts can still expose their script hashes to other contracts, so that other contracts can invoke them.

原生合约的一个用途是把NEO、GAS(和所有全局资产)变成NEP-5标准的资产。

Native contracts can allow for the interaction with NEO and GAS (and all global assets) as NEP-5 tokens. This introduces a unified approach for sending and receiving assets in smart contracts.

3.4 回调API

3.4. Callback APIs

为智能合约创建回调函数或系统调用指令,并允许其他合约通过回调函数执行任务,可与迭代器兼容。

Create callback functions for smart contracts or SYSCALL, and allow other contracts to perform tasks through callback functions, which can work with iterators.

3.5 其他新的API

3.5. Other new APIs

我们还将给NEO 3.0添加一些新的API,如下所示:

We will add some new APIs to NEO 3.0. Some APIs that may be added:

• System.Account.IsStandard

• System.Runtime.GetEntryContract

• System.Runtime.GetCallingContract

• System.Runtime.GetExecutingContract

• System.Runtime.GetInvocationCounter

• System.Runtime.GetNotifications

4. NeoVM

4. NeoVM

4.1 全解耦

4.1. Fully decoupled

目前只能通过APPCALL指令(与相应的栈隔离指令)调用合约,并由NeoVM直接寻找目标合约。这是不合理的,因为无法在NeoVM上查看区块链上的智能合约清单。我们需要创建一个新的API通过系统调用指令来调用合约,并同时丢弃最初的系统调用指令。这样做还有两个额外的好处:

Currently, contract invocations are made with the APPCALL instruction (and the corresponding stack isolation instruction), and NeoVM will directly look for the target contract. This is unreasonable because the list of smart contracts on the blockchain should not be directly visible to NeoVM. We need to create a new API to invoke contracts with SYSCALL, and discard the original APPCALL instructions. This would introduce two additional benefits:

实现栈隔离不需要额外的步骤,因为通过系统调用指令调用新的合约时就会启动一个新的虚拟机。

We do not need to do extra work to implement stack isolation, because invoking a new contract in SYSCALL will start a new virtual machine.

这样便于实现原生合约。

We can easily implement native contracts.

4.2 全局变量支持

4.2. Support for global variables

NeoVM目前还不支持全局变量,有全局变量的代码无法编译。这是因为NeoVM是基于栈的虚拟机,没有适用于全局变量的存储方法。因此就很难编译用高级语言编写的智能合约。为了解决这个问题,我们需要为虚拟机添加全局数组以存储所有全局变量。我们还需要添加一个新的(“全局”)操作码,该操作码可将全局数组压入计算堆栈。然后我们就可以使用PICKTEM和SETITEM来访问全局变量了。

Currently, NeoVM does not support global variables. The code with global variables will fail to compile. This is because NeoVM is a stack based virtual machine, with no storage methods for global variables. This makes it difficult to compile smart contracts written in high-level languages. To solve this problem, we need to add a global array for the virtual machine to store all the global variables. We also need to add a new opcode (“GLOBAL”) which pushes the global array to the evaluation stack. Then we can use PICKITEM and SETITEM to access global variables.

5. 结论

5. Conclusion

NEO 3.0将焕然一新,且会更有利于智能经济的发展。未来我会介绍NEO 3.0的更多功能,并且还会发布一系列深层次技术分析文章。

NEO will be reborn in 3.0 and will better serve the Smart Economy. In the future I will present more features of NEO 3.0, and publish a series of articles detailing technical points more in-depth.

目前所有NEO 3.0的改进提案都已经在GitHub上开源 (GitHub链接:https://github.com/neo-project/neo/milestone/1),欢迎社区对这些提案进行讨论并提出宝贵建议。

You can see all the current improvement proposals for NEO 3.0 on the GitHub. (Github link: https://github.com/neo-project/neo/milestone/1) And we warmly welcome discussions and suggestions from the community on these proposals.

点击【阅读原文】或访问neo.org查看原文

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

Nerve 持续吸引众多 ETH 持有者,与 NULS 协同发展

Nerve 持续吸引众多 ETH 持有者,与 NULS 协同发展

POCM 平台上目前获得 NULS 委托最多的 ALEPH 和 MXT,分别参与质押的 NULS 为 810 多万和 260 多万。其次,Nerve 跨链 Staking 一旦开放,NULS 生态内部将形成协同效应、全面开花。随着 ETH 用户的陆续加入, Nerve 网络价值将会显著提高,从而促进整个 NULS 生态。

中国央行前副行长推动数字货币发展

中国央行前副行长推动数字货币发展

暴走时评:据报道,中国银行前副行长、海峡区块链研究院院长王永利力推央行数字货币定位为流通中现金的替代品。

BSN发展联盟秘书长谭敏:区块链从业者如何抓住新基建红利?

BSN发展联盟秘书长谭敏:区块链从业者如何抓住新基建红利?

作者 | Joyce2020年,新基建红利滚滚而来。作为互联网领域的新兴技术,区块链从根本上改变了数据管理方式,目前已应用在金融、医疗、制造等多个行业中。在被纳入新基建范畴后,区块链技术也将赋能更多产业,行业也将来迎来百亿级别的投资增长。区块链服务网络发展联盟秘书长谭敏做客InfoQ《大咖说》,与我们分享在新基建风口下,区块链如何"挑大梁"?(可点击"阅读原文"查看视频回放)新基建为什么需要区块链

亦来 Talk—CR委员专题 ▏践行竞选宣言,推动亦来云高质量发展

亦来 Talk—CR委员专题 ▏践行竞选宣言,推动亦来云高质量发展

接下来的"亦来 Talk-CR 委员"专题活动,我们将邀请各位 CR 委员做客亦来云中文社区,他们将与大家分享当任 CR 委员以来的感想、将来的工作计划、如何推动亦来云及 CR 的发展等内容。7月26日的第一期活动,我们很荣幸邀请到了 Ela Cloud(亦来云盘)委员跟大家见面,CR 现有的提案有多个都出自于亦来云盘,可以说从他们上任的那一刻,就开始马不停蹄的推进亦来云的相关事项。在此我们衷心感

融资2.5亿美元的明星波卡,现在生态发展得怎么样了?

融资2.5亿美元的明星波卡,现在生态发展得怎么样了?

若此次融资顺利结束,则意味着波卡融资总额将超 2.5 亿美元。截至目前,Kusama 有超过 300 个验证人和众多提名人参与整个网络运行,按照规划,即便波卡上线后,Kusama 会与波卡并行存在。

区块链智能合约技术概述及发展趋势

基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。

挖矿是不是 DeFi 发展的一段弯路?

挖矿是不是 DeFi 发展的一段弯路?

当 DeFi 出现了 YFI 这样的产品,故事已经达到一个高潮了。DeFi 的想象空间和 DeFi 项目方也探讨过发币是否是 DeFi 发展的弯路,在项目方看来,发币当然有好处,屯粮过冬,同时还能带来流量。

FTX创始人:从信任,中心化和可用性谈DeFi的发展与瓶颈

FTX创始人:从信任,中心化和可用性谈DeFi的发展与瓶颈

第一篇文章《FTX 创始人 SBF:流动性挖矿催生的「泡沫」,让 DeFi 正面临「生死抉择」》第二篇主要从信任,中心化和可用性对 DeFi 进行分析。中心化和可用性之间的权衡无处不在。从这里开始切入整个加密领域,尤其是 DeFi。

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑