BLOG April 30, 2019
NEO 3.0 开发路线图
关于NEO 3.0
感谢NEO的所有忠实开发者和社区成员,我们在过去几年中见证了NEO技术基础设施和生态系统的巨大增长。2019年,NEO将向前迈出一大步,继续努力实现区块链技术大规模商业应用的愿景。
作为我们前进的基石,NEO 3.0将是一个强大的区块链实施,具有高吞吐量,增强的稳定性和安全性,优化的智能合约系统以及针对不同业务应用场景的功能丰富的基础架构集。
另一方面,我们敏锐地认识到治理在区块链的长期演变中的关键作用,作为利益相关者和更广泛的整个周边社区共同拥有的共同利益。2019年,我们将积极与学术界,工业界和社区的专家合作,探索各种治理机制,包括流动民主,预测市场,以及未来和最近出现的其他一些治理机制。在许多情况下,经济模型与治理机制紧密交织,因此它们将被视为一个综合系统。如果经过广泛的研究和模拟后达到令人满意的结果,将公布关于链上治理改进的NEP(NEO改进提案)。
接下来,我们先来看一下NEO3.0中计划包含哪些新功能。
NEO3.0中的新功能
dBFT 2.0
dBFT是专门为区块链设计的共识机制。它通过投票的方式在网络中选择一组共识节点,并且这些共识节点联合生成并验证区块。由于共识节点需要在新区块提交到区块链之前达成共识,因此dBFT提供单区块最终性,这意味着NEO区块链不能分叉,交易也是不可逆转的。一旦区块链确认了交易,就无法撤消或取消。对于金融应用,交易的最终性是必要的。
在dBFT 2.0中,我们添加了一种恢复机制,大大提高了共识算法的稳定性。当偶尔发生网络故障或节点故障时,网络会快速恢复。
dBFT 2.0的开发始于2018年第四季度,并于2019年第一季度完成。它将很快部署到NEO 2.x的主网。
价格模型
如我们所知,NEO区块链上有两种原生代币,即neo和gas。Gas用于支付交易费和智能合约执行费用。
目前,部署和运行智能合约的成本相对较高,导致人们不愿意使用和开发智能合约。目前的定价模型成为gas应用场景的一个重大障碍,从而阻碍了DApp在NEO平台上的开发和使用的持续增长。
在NEO 3.0中,我们将通过显著降低智能合约的部署和执行费用来解决此问题,从而扩展gas的应用场景并增加DApp的数量。在NEO 3.0实施之前,如果优质的项目想要在NEO平台上开发,NEO Foundation可以承担部署成本(需通过申请)。
互联网资源访问
NEO 3.0将具有内置的预言机实现,允许智能合约在执行期间访问互联网资源。得益于dBFT 2.0的安全性和效率,在访问互联网资源时不同节点间的不一致性问题可以被轻松解决。
借助此功能,开发人员可以轻松地开发基于NEO的更复杂或特定于场景的预言机应用,并开发更多种依赖外部数据的DApp。
P2P协议
在NEO 3.0中,我们将重新设计P2P协议,添加对UDP的支持并启用压缩选项。这有望大大提高网络的TPS和稳定性。
NeoVM
NeoVM是一个用于执行智能合约的轻量级虚拟机。它具有快速启动、低资源消耗等特点,并支持多种高级编程语言,允许开发人员使用熟悉的工具构建合约。
在NEO 3.0中,NeoVM将与区块链完全解耦,成为纯虚拟机。这有几个好处:
- 轻松实现原生合约。
- 区块链之外的NeoVM应用场景。
- 将NeoVM平滑集成到任何IDE中,轻松调试智能合约,无需加载区块链数据。
此外,NeoVM还将包括一些新功能,例如对静态成员的支持,异常处理等。
精简架构
目前,有两种方法可以在NEO上创建资产。第一种是通过RegisterTransaction创建全局资产,第二种是通过智能合约创建合约资产。但实际上,全局资产很少被使用,绝大多数应用为了灵活性和功能性而创建合约资产。由于全局资产难以与智能合约整合,因此在智能合约中管理全局资产非常困难。
基于以上原因,我们没有必要在NEO 3.0中继续支持全局资产。在NEO 3.0中,所有资产必须在智能合约中创建,即使是neo和gas也不例外。
通过移除全局资产,统一所有的交易类型变为可能。目前NEO 2.x中有9种不同的交易类型。这些交易类型与特定的应用场景相关或具有特定功能。例如,RegisterTransaction和IssueTransaction与全局资产的创建和分发相关。由于全局资产不再存在,这些相关交易类型也就显得过时了。
处理复杂应用场景的其他交易也将被删除,并替换为智能合约中的互操作服务。因此,NEO 3.0中只需要一种交易类型,它用于执行智能合约。
我们还提出了一种简化的验证模型,它将大大提高交易验证的速度,并允许同时执行这些验证。
通过这些架构调整,NEO 3.0底层的性能将提高多个数量级。但是这种新架构可能导致与NEO 2.x不兼容。为了尽量减少这种不兼容性的影响,我们计划延迟开发任何不兼容的功能,直到开发出所有与NEO 2.x相兼容的功能。
NeoFS
NeoFS是一个与NEO集成的分布式分散对象存储平台。NeoFS主要用于分布式应用程序(DApp)作为数据存储和内容交付网络。此外,NeoFS可用于为中小企业创建专用分布式存储系统,这些系统使用常规服务器或集群(数据中心),并用于存储大量非结构化物联网数据。
建议使用智能合约来控制从数据所有者和发布者到托管数据的参与者的奖励分配。未来可以扩展NEO的协议,以便与NeoFS进行更深入的集成,以将任何数据存储在分布式网络中,而不是区块链账本中。未来的一个研究课题是研究降低智能合约部署成本以及为智能合约存储数据和文件的可能性。此外,旧的区块数据可以由NeoFS存储,而不是像现在一样由完整节点存储,从而增加NEO的可伸缩性。
NeoFS包含可扩展的数据放置方法。通过使用网络映射的子集和用于对象放置的存储策略规则以及用于节点选择的Rendezvous哈希来实现存储节点失败的情况下对对象位置的精细控制和最小的数据移动。
此外,所提出的平台使用新颖的基于同态散列的零知识数据验证方法来最小化数据传输。这有助于通过最小化存储节点和验证节点上的计算成本来维护网络可伸缩性,并确保大量并行交互。
NeoID
数字身份是指以电子形式存在的个人、组织和其他实体的身份信息。区块链带来了一种新方法来定义身份以及它们之间的关系。
NeoID是一种基于NEO的分布式身份协议,它使用户和组织能够更好地控制其身份,并为智能经济提供更高程度的信任和安全性。
它由三个主要部分组成:信任模型,隐私模型和博弈模型。信任模型描述了该分布式网络中的信任规则。隐私模型描述了用户在线数据的隐私保护方案。博弈模型描述了信任网络中行为的激励和惩罚。这三个部分共同提供了抽象现实世界的数学模型,是NeoID的基础。
NeoID不仅支持分布式标识颁发模型,还将与X.509级证书颁发模型兼容。
开发计划
NEO 3.0的开发始于2018年第四季度,预计将在2020年第二季度完成。出于质量保证的目的,将建立一个审查阶段,在此期间,不完善的功能将被删除,一些新的必要功能将被测试。由于这种以安全为重点的方法,在NEO 3.0正式发布之前可能会延迟几个月。
NEO 3.0的路线图包括一些架构改进,将大大提高NEO的性能和稳定性。其中一些改进与NEO 2.x不兼容。因此,NEO 3.0将从创世块开始一个新的区块链网络。但是,在推出NEO 3.0主网之前,我们将为NEO 2.x和NEO 3.0提供两个平行的开发分支。
NEO 3.0中的大多数新功能都是向后兼容的,因此将被移植到NEO 2.x,这保证了为NEO 2.x开发的DApp的大部分开发工作在NEO 3.0中也是有效的。 在推出NEO 3.0主网之后,我们还将提供资金和技术支持,以帮助开发人员将他们的DApp从NEO 2.x迁移到NEO 3.0。
在2019年第二季度,我们将推出一个用于NEO 3.0开发目的的测试网络。每当一个新功能被开发完成,它都将部署到测试网,开发人员可以在其上测试他们的DApp。在NEO 3.0开发完成后,该测试网将被关闭,并被与主网完全相同的新测试网代替。
在2020年第一季度,我们将启动迁移计划。
关于迁移
将DApp和用户从NEO 2.x迁移到NEO 3.0是不可避免的。目前,NEO 3.0的功能仍在开发中,可能会有改进和微小的修改。因此,在现阶段制定全面的迁移计划是不合逻辑的。但有一些主要的原则:
- NEO 2.x的数据和交易记录将永久保留。
- 将在测试网中模拟迁移以确保平稳过渡。
- 迁移过程中产生的费用,如合同重新部署和测试,将由NEO基金会报销。
- NGD团队将为DApp的迁移提供全面的技术支持。
- 代币持有者需要进行代币兑换以便在NEO 3.0上激活新的代币。
- 交易所的用户不会受到影响。
- 为了鼓励用户和DApp进行迁移,将制定并实施早期采用者激励计划。