【研报】NEO - “以太坊杀手“是怎么炼成的
原创 2018-02-02 区块链币圈
相信玩币圈的小伙伴没有不知道NEO(小蚂蚁)这个项目的,几个月暴涨百倍成为币圈神话。
传言某人因犯罪入狱之前买入大量NEO,出狱后财富自由。
当然,这可能只是个段子,但是也更加表达出NEO项目的潜力。有很多人说,NEO和以太坊很像,也有人直接认为NEO是“中国版以太坊”。
那么到底NEO为何如此受欢迎,和以太坊又有何区别,接下来就一起进入NEO的区块链世界。
NEO项目简介
NEO是由上海区块链科技公司OnChain (分布科技)开发的。分布科技的CEO就是大名鼎鼎的达叔,达鸿飞。
2016年,分布科技经过KPMG(毕马威)评定,上榜中国前50金融科技公司。NEO项目的主要目标就是为“智能经济” 提供分布式网络的基础架构。那么 “智能经济” 又是什么呢? 智能经济= 数字资产+数字身份认证+智能合约,这三者的结合也构建出了NEO的生态环境。
【研报】NEO - “以太坊杀手“是怎么炼成的如何实现
数字资产如果放在中心化的环境中,风险是很大的。例如你存在第三方服务器中,说不准哪天就可能被人盗走。所以在这方面,NEO使用区块链底层技术,提供了一个去中心化的数字资产储存环境。
同时对于数字资产,拥有可信的身份认证也非常重要,不然任何人都会进入的账户来盗取资产。NEO的身份认证功能会通过脸部识别,指纹,声音,短信以及其他多功能的方法。
关于智能合约,相信大家肯定知道。但是到底什么是智能合约呢?这里跟大家简单说一下。智能合约本质上来说,就是可以在达到某种条件的情况下而自动触发的合约。
比如你要去买房,现在都是通过中介,因为你不信任对方,万一给了钱别人不给你房呢?有了智能合约,可以约定当你把数字资产转给对方的时候,直接触发合约,房屋的所有权立刻转给你,去除了对第三方的介入,提高效率,降低成本。
【研报】NEO - “以太坊杀手“是怎么炼成的图片说明:智能合约案例
说完基础知识,接下来就是重点了。由于在区块链上,任何人都可以上传智能合约,每个智能合约可能都存在各种各样的bug,为了防止整个系统被搞瘫,就需要把每个合约都隔离。
NEO和以太坊一样,都是通过虚拟机进行智能合约的隔离,但是有个问题,在虚拟机环境下,开发人员需要学习一个新的编程语言“solidity”。这可麻烦了,如果技术人员想进入区块链,还要重新学语言,而且之前学的语言可能就没用了,这是非常不方便的。
但是NEO就此做出了巨大突破,在NEO平台可以使用Java和C++来编写智能合约,直接秒杀以太坊。想知道为什么吗?先别着急,文章后面会详细说明。
不知道大家是否有注意到,在NEO生态中,有两种代币,一个是NEO, 一个是GAS。那么这两种代币有什么区别呢?NEO代币是权益凭证,持有NEO的人可以管理社区并有决定权,比如NEO网络参数的更改等等。GAS就是使用智能合约时,所需要支付的燃料费用。两种代币属性不同,共同支撑起NEO的生态网络。
NEO共识算法
其实对于大多数的分布式系统,达成共识一直是个非常大的挑战,这个问题也被称为“拜占庭将军”问题。相信很多小伙伴都听过这个概念,那么到底什么是“拜占庭将军”问题呢?
假设现在一群“拜占庭将军”要去攻打一座城池,但是只有他们互相合作,才能获胜。
这时候城池左边的将军和右边的将军说,“嘿,咱们周三一起打。”这时右边的将军就可能会回复说,“不行,咱们周五打。”那么问题就来了,左边的将军能不能相信右边的将军呢?会不会右边的将军在说谎,会不会他已经被俘虏了,故意要说反话呢?要知道机会只有一次,失败了可就没命了。
这个故事应用到区块链上道理也一样,庞大的区块链网络,你又该不该相信他人呢?你觉得你发了4以太给你朋友,但是你又怎么知道会不会有人入侵,把发送数量改成40个以太?
所以中本聪提出了工作量证明算法(PoW),用来解决 “拜占庭将军”问题,这也成就了比特币。
但是我们知道,PoW算法特别的浪费资源,并且效率也不是很高。以太坊则打算尝试权益证明(PoS)来解决这个问题。但是NEO却提出了一种新的共识算法,dBFT (Delegated Byzantine Fault Tolerance),即改进实用拜占庭容错算法。
【研报】NEO - “以太坊杀手“是怎么炼成的图片说明:拜占庭将军问题
那么到底什么是dBFT?它又有什么用处呢?假设在一个国家有很多公民,这些公民可以通过选举产生一个代表。这个代表负责通过一系列的法律来让所有公民满意,如果你做的不好,同时也可以让你下台,并投票产生另外的代表。那么代表们怎么才能通过这项法律呢?
其中一个代表会被随机选为发言人,这个发言人的任务就是了解所有公民的需求,并制作这项法律。计算这些法律的“满意系数”是否能让公民满意。之后就会交给代表们来决定,每个代表都会检查发言人作出的法律,只有66%以上的代表同意,那么这项法律才可以通过。
那么应用到NEO区块链网络上,所有NEO的普通节点就是公民,那么记账节点就是代表,当然不是谁都能成为记账节点,需要满足特定的条件。“公民的需求”就是代币持有者发生的转账,“法律”可以认为是即将产生的区块,“满意系数”可以目前区块的哈希值。
了解了这些,我们接下来仔细看看NEO这套机制是如何运作的。
在案例1中,红色代表发言人,蓝色表示代表人。发言人如果给一个代表人发出真信息(信息A),其余两个发出假信息(信息B)。其中有一个代表人会觉得哈希值非常正确,但是另外两个却发现是错误的。所有2/3的人会投出反对票,并反对这个共识,所有这个发言人也会被移除。
【研报】NEO - “以太坊杀手“是怎么炼成的图片说明:NEO算法案例1
在案例2中,发言人发出正确的信息,但是其中一个代表人有私心,想做出欺诈行为,这时候他就故意说信息不符合,但是另外两个代表人会说这个是正确的,所有2/3的人通过,也就是之前说的66%共识达到。
【研报】NEO - “以太坊杀手“是怎么炼成的图片说明:NEO算法案例2
这就是NEO共识算法dBFT的基本原理,66%的人通过,就可以达成共识。
NEO智能
NEO智能合约总体看来是开创了智能合约2.0时代,那么为啥我们之前说在NEO智能合约上,可以用Java和C++编程呢?
这都要归功于NEO 特有的“开发工具包“,这个开发包里面有高级开发语言的编译程序,其他外部的程序语言通过它也可以编写智能合约语言。
【研报】NEO - “以太坊杀手“是怎么炼成的图片说明:NEO智能合约
NEO的未来应用
随着NEO技术的发展,在以后会出现更多的性能。例如NeoX,这将实现跨链交互操作。再比如NeoFS,和IPFS类似的去中心化的文件存储方式。
NEO技术甚至可以抗量子计算的NeoQS,量子计算机对加密计算是有威胁的,因为计算速度太快,有可能会入侵比特币和以太坊网络,Neo现在也在尝试解决这个问题。
总结
NEO有被称为 “中国版以太坊”,也有人称NEO为 “以太坊杀手”。
但是无论如何,NEO相对以太坊而言,最大的优势就是让开发者更加容易地去使用。开发人员不需要浪费时间去重新学一个编程语言。
同时,NEO的dBFT算法,也完美地解决了困扰分布式网络很久的“拜占庭将军”问题。
不论未来NEO是否可以“杀死”以太坊,它都为区块链的进步和发展提供了非常棒的平台。
【研报】NEO - “以太坊杀手“是怎么炼成的