NEO是一个由社区驱动的开源平台,利用区块链技术与数字身份,开发者可以通过智能合约实现资产管理数字化与自动化。NEO致力于通过分布式网络建设下一代互联网基础设施,为区块链技术大规模落地奠定基础,以实现智能经济的宏大愿景。
1.项目介绍
NEO基于区块链技术,将现实中的资产转化为数字资产,通过智能合约实现智能管理,用户选定数字证书认证机构实现身份认证。NEO用于实现对 NEO 网络的管理权。NEO是国内外社群热度比较高的公链项目之一。
NEO区块链通过将点对点网络、拜占庭容错、数字证书、智能合约、超导交易、跨链互操作协议等一系列技术相结合,让你快速、高效、安全、合法地管理你的智能资产。
共识机制:DBFT
DBFT 全称为 Delegated Byzantine Fault Tolerant,是一种通过代理投票来实现大规模节点参与共识的拜占庭容错型共识机制。NEO 管理代币的持有者通过投票,可以选出其所支持的记账人。随后由被选出的记账人团体通过 BFT 算法,来达成共识并生成新的区块。投票在 NEO 网络持续实时进行,而非按照固定任期。
DBFT 对由 n 个共识节点组成的共识系统,提供 f=⌊(n-1)/3⌋ 的容错能力,这种容错能力同时包含安全性和可用性,可以抵抗一般性故障和拜占庭故障,并适用于任何网络环境。DBFT 具有良好的最终性,一个确认即最终确认,区块无法被分叉,交易也不会发生撤销或回滚。
在 NEO 的 DBFT 共识机制下,每 15~20 秒生成一个区块,交易吞吐量实测可达到约 1000tps,在公有链中性能优秀。通过适当优化,有能力到达 10000TPS,可以支持大规模的商业化应用。
DBFT 结合数字身份技术,使得记账人可以是实名的个人或机构。从而使得冻结、撤销、继承、找回、司法判决过户等非常规操作成为可能。这有利于合规性金融资产在 NEO 网络中的登记发行。NEO 网络计划在必要的时候支持此类操作。
智能合约体系:NeoContract
NEO 的智能合约体系由三部分组成:
NeoVM - 通用区块链虚拟机:NeoVM 是一个轻量级的通用型虚拟机,其架构与 JVM 和 .NET Runtime 非常接近,类似于一个虚拟 CPU,负责读取并按顺序执行合约中的指令,根据指令的功能进行流程控制、算数运算、逻辑运算等。它具有良好的启动速度和通用性,非常适合应用于智能合约这种小程序,也可以被移植到非区块链的场景中,或者与 IDE 集成从而提供良好的开发体验。可以对 NeoVM 的功能进行扩展,引入 JIT(即时编译器)机制,从而提高指令的执行效率。
InteropService - 互操作服务:用于加载区块链账本、数字资产、数字身份、持久化存储区等底层服务。它们就像是为虚拟机提供的虚拟设备,使得智能合约可以在运行时访问这些服务,从而实现一些高级功能。通过这种低耦合的设计,NeoVM 可以被移植到任意区块链甚至非区块链系统中使用,使得智能合约的适用领域大大扩宽。
DevPack - 编译器和 IDE 插件:DevPack 包含高级语言编译器和 IDE 插件。由于 NeoVM 的架构与 JVM、.NET Runtime 等高度相似,这些 DevPack 里的编译器可以将 Java byte code 和 .NET MSIL 这类中间语言编译成 NeoVM 的指令集。Java / Kotlin、C#的开发者不需要学习新的语言,在 VS、Eclipse 等熟悉的 IDE 环境中就能立即着手编写智能合约。这使得智能合约的学习成本大大降低,可以建立丰富的 NeoContract 智能合约生态。
NeoContract 可以在运行智能合约之前,就通过静态分析来建立智能合约的调用树。通过确定性的调用树,NEO 节点可以对智能合约进行动态分片,实现理论上无限的扩展,克服了其他区块链系统的静态分片导致的“闹市拥堵效应”。
跨链互操作协议:NeoX
NeoX 是实现跨链互操作的协议。NeoX 分为两个部分:“跨链资产交换协议”和“跨链分布式事务协议”。
跨链资产交换协议:
NeoX 在已有的双链原子资产交换协议上进行了扩展,可以让多个参与者在不同的区块链上进行资产交换,并保证整个交易过程中的所有步骤全都成功或全都失败。为了实现这个功能,我们需要利用 NeoContract 的功能,为每一个参与者创建一个合约账户。对于其它的区块链,如果它不兼容 NeoContract,但是只要能够提供简单的智能合约功能,也能够与 NeoX 相兼容。
跨链分布式事务协议:
跨链分布式事务是指,事务的多个步骤分散在不同的区块链上执行,且保证整个事务的一致性。这是对跨链资产交换的一种扩展,将资产交换的行为扩展成任意行为。通俗的说,NeoX 使得跨链智能合约成为了可能,一个智能合约可以在多个不同的区块链上执行不同的部分,要么全部执行完毕,要么全部退回执行前的状态。这赋予了跨链协作极大的想象力,我们正在探索跨链智能合约的应用场景。
分布式存储协议:NeoFS
NeoFS 是一套利用了 Distributed Hash Table 技术的分布式存储协议。NeoFS 通过文件内容(Hash)而非文件路径(URI)来对数据进行索引。大文件将被分割为固定大小的数据块分布式地存储在众多节点中。
该类系统的主要问题是需要在冗余度和可靠性之间寻找平衡点。NeoFS 计划通过代币激励机制和建立骨干节点的方式来解决这一矛盾。用户可以选择文件的可靠性要求,低可靠性的文件可以免费或几乎免费的被存储和访问,高可靠性的文件将由骨干节点提供稳定可靠的服务。
NeoFS 将作为 NeoContract 体系下的 InteropService 互操作服务之一,使得智能合约可以在区块链上存放大型文件,并为这些文件设定访问权限。此外,NeoFS 可以与数字身份相结合,使记录数字身份的数字证书可以点对点签发、传送、吊销,而无需中心化服务器来管理。未来可以将陈旧的区块数据存放在 NeoFS 中,使得大部分的全节点可以释放旧数据,获得更高的扩展性,并保证历史数据的完整性。
抗量子密码学机制:NeoQS
量子计算机的出现将对基于 RSA 和 ECC 的密码学机制产生重大挑战。量子计算机能够在极短的时间内解决 RSA 所依赖的大数分解问题和 ECC 所依赖的椭圆曲线离散对数问题。NeoQS 是一种基于格的密码学机制,QS 是 Quantum Safe 的缩写。目前,量子计算机尚无快速解决最短向量问题(SVP)和最近向量问题(CVP)的能力,格密码学被认为是抵御量子计算机的最可靠算法。
2.评述
Neo是由社区推动的开源平台。 它利用区块链技术和数字身份,使用智能合约将资产管理数字化和自动化。 它旨在使用分布式网络,通过构建下一代互联网的基础设施并为大规模采用区块链奠定坚实的基础,从而创造智慧的经济。
Neo MainNet于2016年启动,已稳定运行了3年以上。 Neo预计将在2020年推出Neo3,这是一种稳健的实现方式,具有高吞吐量,增强的稳定性和安全性,优化的智能合约系统以及功能齐全的基础架构,旨在推动开发人员采用并加速企业级区块链创新。