NEO小蚁的技术特色

作为国内第一公链,NEO小蚁在2017年成为了当之无愧的千倍币、明星币,也被寄予厚望。今年市场整体滑坡,正好可以对这些公链的生态进行再分析。前文介绍了NEO小蚁与ONT签署的技术战略协作,以及分析小蚁更新计划NEO3.0的相关内容与方案。这一期再来学习一下小蚁的特色技术。

1.DBFT共识机制

NEO小蚁采用的是DBFT共识机制。DBFT是一种通过代理投票来实现大规模节点参与共识的拜占庭容错型共识机制。NEO管理代币的持有者通过投票,可以选出其所支持的记帐人。随后由被选出的记账人团体通过BFT算法,来达成共识并生成新的区块。投票在NEO网络持续实时进行,而非按照固定任期。DBFT对由n个共识节点组成的共识系统,提供 f=⌊(n-1)/3⌋的容错能力,这种容错能力同时包含安全性和可用性,可以抵抗一般性故障和拜占庭故障,并适用于任何网络环境。DBFT具有良好的最终性,一个确认即最终确认,区块无法被分叉,交易也不会发生撤销或回滚。

但是DBFT机制存在中心化风险。NEO项目于2018年7月4日发布了「NEO Entered the Era of Decentralization」,宣布投票选出了新一轮共识节点。根据官方网页显示,7个共识节点中只有一个属于外部节点,其余皆为NEO Foundation自身所有的节点。项目中心化风险仍然存在。

小蚁采用跨链互操作协议——NeoX,一种实现跨链互操作的协议。NeoX分为两个部分——“跨链资产交换协议”和“跨链分布式事务协议”。跨链资产交换协议可以让多个参与者在不同的区块链上进行资产交换,并保证整个交易过程中的所有步骤全都成功或全都失败。为了实现这个功能,需要利用NeoContract的功能,为每一个参与者创建一个合约账户。

跨链分布式事务是指,事务的多个步骤分散在不同的区块链上执行,且保证整个事务的一致性。这是对跨链资产交换的一种扩展,将资产交换的行为扩展成任意行为。通俗的说,NeoX使得跨链智能合约成为了可能,一个智能合约可以在多个不同的区块链上执行不同的部分,要么全部执行完毕,要么全部退回执行前的状态。  

2.智能合约体系

NEO小蚁采用的智能合约体系是NeoContract。NEO的智能合约体系由三部分组成,一是NeoVM即通用区块链虚拟机:NeoVM是一个轻量级的通用型虚拟机,其架构与JVM和.NET Runtime非常接近,类似于一个虚拟CPU,负责读取并按顺序执行合约中的指令,根据指令的功能进行流程控制、算数运算、逻辑运算等。它具有良好的启动速度和通用性,非常适合应用于智能合约这种小程序,也可以被移植到非区块链的场景中,或者与IDE集成从而提供良好的开发体验。

第二是InteropService即互操作服务:用于加载区块链账本、数字资产、数字身份、持久化存储区等底层服务。它们就像是为虚拟机提供的虚拟设备,使得智能合约可以在运行时访问这些服务,从而实现一些高级功能。通过这种低耦合的设计,NeoVM可以被移植到任意区块链甚至非区块链系统中使用,拓宽智能合约的适用领域。

第三是DevPack即编译器和IDE插件:DevPack包含高级语言编译器和IDE插件。由于 NeoVM的架构与JVM和.NET Runtime等高度相似,这些编译器可以将Java byte code这类中间语言编译成NeoVM的指令集。Java和C#的开发者不需要学习新的语言,在VS、Eclipse等熟悉的IDE环境中就能立即着手编写智能合约。这使得智能合约的学习成本大大降低,可以建立丰富的NeoContract智能合约生态。NeoContract可以在运行智能合约之前,就通过静态分析来建立智能合约的调用树。通过确定性的调用树,NEO节点可以对智能合约进行动态分片,实现理论上无限的扩展,克服了其他区块链系统的静态分片导致的「闹市拥堵效应」。

3.NEO的双代币机制

NEO的体系里实施双代币模型——双币经济体系,NEO和GAS,但是在现有的系统中,NEO和GAS都是不能分割的。虽然在交易所交易的时候我们可以买入零点几个NEO或者GAS,但是在转账的时候我们发现其实只能使用整数个NEO或者GAS,token并不能被分割到小数点后面。

NEO是管理代币,总量1亿份,用于实现对NEO网络的管理权。管理权包括投票进行记账人选举,NEO网络参数更改等。NEO的最小单位为1,不可再分割。GAS是燃料代币,最大总量上限为1亿,用于实现对NEO网络使用时的资源控制。NEO网络对代币转账和智能合约的运行和存储进行收费,从而实现对记账人的经济激励和防止资源滥用。在NEO网络的创世块里,1亿份NEO已经生成,而GAS尚未生成,数量为零。1亿份NEO所对应的1亿份GAS,将通过一个衰减的算法在约22年的时间内逐步生成至NEO管理代币的地址中。

NEO管理代币转入新的地址后,之后的GAS也将在新的地址生成。NEO网络将通过投票设置一个阈值,对一定量的转账交易和智能合约运行存储免收GAS,以提升使用体验。当发生大量垃圾交易时,可以通过NeoID来优先处理具有合格身份的交易和智能合约。没有合格数字身份的交易和智能合约可以通过支付GAS来获得优先处理。

这种双Token模式有较高的创新性。一方面,持有NEO会获得持续的GAS分红,促进了管理Token的持有价值,提高了NEO的增值性。另外一方面,GAS Token不仅可以作为NEO网络的燃料Token ,也可以在二级市场流通,在交易中促进更多的使用者加入生态。

NEO的双代币模型无疑是成功的,也引来了诸多效仿着。这就产生了“看起来NEO供应量少,单价高,不利于流通“这样的问题。试想,2100万个比特币不可分割必须整数转账会怎样?将会大幅削弱流动性及其本身的应用场景。目前的NEO就面临着这种关口,对NEO进行分割有两方面的好处:一是影响GAS在系统内的可分割性,便于更多的开发者使用NEO,二是提高NEO自身流动性,增加持有者,增加使用场景与支付场景。所以在NEO3.0更新计划中提出了调整计划,即每年小幅提升GAS供给量,奖励共识节点,使NEO可分割使用,用GAS支付系统费用时可精确到小数位。

NEO分割的连锁反应,接下来就会使GAS在系统内支付时变得可分割,此举的目的是降低开发费用,部署智能合约的500个GAS起步在早期来看是合理的,放到现在可能真的是巨大的门槛,对于个人开发者来讲是天文数字。

我是区块链成哥,关注市场,关注技术,挖掘价值币,咱们下期再见!

你可能感兴趣的:(NEO小蚁的技术特色)