EKT,又一个以太坊的挑战者?


EKT,又一个以太坊的挑战者?_第1张图片


现在在区块链公有链市场,以太坊如日中天,但不得不说,以太坊确实存在着这样那样的不足,比如说以太坊虚拟机的性能问题,共识算法问题,跨链交易问题等等。因此,有许多怀揣梦想的青年才俊和组织机构,都想要开发出一条能够克服以太坊诸多缺点的公链,从而在”区块链“的江湖占据一席之地。


EKT通用积分项目,就是诸多挑战者中的一个,EKT是一条多链多共识的高性能公链,提供基于DPOS+Paxos共识的DApp开发平台。 通过 EKT 提供的智能合约开发语言 AWM 以及运行环境 AWM VM,开发者可以很容易地开发出一个完整的 DApp。


EKT 的多链架构可以表述为“多链多共识,一链一主币”,基于 EKT 主链延伸出来的多链都可以有自己的主币和共识算法。 EKT 还提供跨链的报文协议,基于此协议可以完成跨公链的资产交换。而年轻的CEO,90后的周迅,正是这个EKT通用积分项目的主导设计者和开发者。


在2018区块链技术及应用峰会上,老孙有幸采访到了这位年轻的CEO,并与他就EKT通用积分项目进行了深入的探讨。



什么是EKT


CSDN:您当初设计EKT的初衷是什么?


周迅:EKT是一个方便开发者开发DApp的公有链,我们在设计EKT的时候是把EKT分为了Token链和DApp链,Token链就是一个多主链并行的架构。多链多共识,就是每一条链都可以有自己的共识机制,一链一主币,就是每一条链都有一个自己的主币,当一个Token进行交易的时候,当前链的主币作为交易费,不同币的资产可以在整个EKT网络中流通,因此,EKT是一个内部多条链天然支持跨链的一个结构。而这些都是为了DApp服务的,我们设计的核心就是为了DApp的开发。


DApp开发目前有三个难点,第一个难点就是共识效率的问题,我们使用了DPOS+Paxos作为共识机制,可以实现大部分交易的秒级确认、全局时序一致性事件的3秒确认,这与当前互联网应用性能已经没有太大差异。第二个难点就是开发语言,目前以太坊的EVM提供的开发语言是不适合现在的互联网开发者去开发DApp的,因为Solidity对数据库的存储和对象的定义和传统的数据库都是不一样的,不利于开发者去学习和理解。因此,我们推出了一个全新语言AWM,和现有的语言有很大的相似性,可以非常容易上手。


另外我们还会对主流语言底层的VM进行修改,如Java,Python和Node.js等,方便开发者在EKT上开发自己的DApp。最后一个难点就是数据库,因为开发一个DApp数据库非常重要,开源数据库是很难支持大型应用的。所以我们会支持嵌入式的SQL数据库,后期也会加入对网络数据库的支持。



EKT的优势


CSDN:就目前来说,以太坊应该说是最成功的一条公有链,那您觉得EKT在哪些方面做得比以太坊更好?


周迅:以太坊作为第一个智能合约开发平台,当然是推动了区块链的发展,以太坊是个非常伟大的项目,但是以太坊在共识效率上,比如说它是把所有的事件都在打包的时候进行处理,所以会有一个共识效率的问题,这是以太坊的TPS不到20的重要原因。在这一点上,EKT是有绝对优势的,EKT单链的峰值应该是9500TPS,这是因为我们使用了DPOS加Paxos作为共识机制,用户数量越多,TPS的上限也就越高,所以在理论上,TPS是没有上限的。


其次,是语言的问题,作为一个智能合约的开发语言,一定是事件驱动的语言,在这一点上,EKT的设计跟以太坊基本上是相同的,并且EKT的语言有良好的模块化设计,在设计这个语言的时候,我们清楚的划分了每一部分的功能,比如说什么是内存变量,什么是类,什么是方法,什么是函数,包括怎么对数据库进行操作,然后我们也有对面向对象的支持,而相比以太坊最大的不同就是以太坊的文件通常只有一个包,而我们的语言是可以有不同的包的,就像GO或者Java一样,你可以把不同功能模块的代码放在不同的包中,方便自己的功能模块化。最后是数据库,以太坊只提供了KV数据库,我们还会提供SQL数据库,后期还会有网络数据库,比如说TiDB,MogoDB这些比较流行的分布式数据库。


从通用链的设计上来说,EKT是一个多链多共识的结构,每一条链都是一个主链,在主链上可以选择自己的共识机制,每条链之间并没有主次关系,但所有主链都会依靠一个主干链。主干链维护一套统一的用户系统。基于这套用户系统,无论是主链、多链还是 DApp 应用,都可以快速的利用已有的用户体系进行开发并获取用户,从而降低了用户在不同 DApp 间的切换成本。此外,我们还有个黑科技,叫做GP,可以帮助开发者在一周之内迅速开发一个大型的应用。


CSDN:EKT是第一个多链多共识的区块链项目,那您能不能解释一下多链多共识?


周迅:在我们的EKT中分为两种链,一种是Token链,一种是DApp链。Token链是专门用于用户价值存储与交换的一条链,Token链是一个多链多共识的架构,什么是多链多共识呢?就是有很多并行的主链,每一条链都可以自由选择选用工作量证明共识机制POW,还是选用股份授权证明机制DPOS,这就是多链多共识。多链其实是一个并行主链,类似于并行的结构,所有的链都会在一条主干链上,并在主干链上进行注册,所以所有的链都是共享同一套用户基础的,这跟其他的链不一样,比如说做侧链的,它其实是与用户系统分开的,而我们所有的主链都是共享同一套用户系统的,也就说在这个EKT生态中,所有的链里面的Token都是可以自由交易的。因此,EKT是天然支持跨链的,当然这里面的自由跨链交易指的是在EKT的多链之间。


CSDN:那EKT又是如何支持和以太坊这种其他公链的跨链交易的呢?


周迅:相对于其他公链,我们有两种方法实现跨链,第一种方法就是跨链协议,跨链协议也是我们比较推荐的,就是说先达成Token的共识,然后达成用户的共识,这个外部的Token地址和外部的用户地址,通过跨链协议来操作,因此对计算资源消耗是比较低的。第二种方式是侧链机制,如果通过侧链机制,比如说要去跑一个比特币的侧链,你就要跑很多节点,比如在EKT,既要对接EKT的工程算法或者协议,也要对接比特币的协议,这是非常消耗计算资源的,因此,我们推荐通过协议跨链。



AWM能给开发者带来什么?


CSDN:咱们谈谈AWM吧,您为什么要设计这种语言,它对开发者来讲最主要的优势是什么?


周迅:AWM是专门为编写智能合约而设计的,它基于事件驱动,与C语言,C++、Java不一样的是AWM没有函数,它所有代码都是围绕着事件去执行的,这是它的第一个特点。其次,AWM基于模块化设计,这是因为我们在前期也考虑过以太坊去做DApp,但是发现用EVM进行开发其实非常不容易入手,它的官方的文档里甚至没有对内存中的变量,数据库的存储,类的解释,AWM在这方面会有比较详细的文档,而在设计这种语言的时候就考虑与现有的主流语言,比如Java,C++、Python具有相同的设计思路,从总体上来说,AWM对开发者来说是比较友好的,其次,我们会对数据库底层进行封装,开发人员可以方便的分流数据库,而且不同DApp的数据库是隔离的,分片的。


CSDN:EKT主要针对于开发DApp,但是现在的以太坊上面的DApp应用已经超过1252个,已经是一个非常大的数量,EKT准备如何把DApps的开发者吸引到EKT上来?


周迅:首先我们会为开发者提供一些技术服务,比如说我们可以每周做一个DApp,放到社区供开发者研究、共享,其次,我们会联合类似CSDN这样的开发者社区,定期举办一些DApp编程马拉松,做一些比较趣味的应用,另外,我们可以在CSDN上提供一些入门的资料,以及智能合约开发语言AWM的一些介绍,然后帮助开发者去理解我们的核心观点。



区块链技术的未来


CSDN:EKT和其他的一些公链确实是有一定的差别,您觉得这种差别对于EKT和区块链的未来发展有何影响?


周迅:这种差别有好有坏,我们是在共识机制上第一个吃螃蟹的人,我们第一个提出多链多共识,第一个提出把Token和DApp分出去,第一个提出用DPOS+Paxos算法作为DApp的共识机制的,前两点未来的发展待验证,但采用DPOS+Paxos作为共识机制这一点,我认为是一个比较明智的选择,因为DPOS+Paxos确实是一个非常高效的共识机制。它可以让DApp和传统的互联网应用在体验上没有太大的差距。


CSDN:请您再结合着谈一谈对区块链未来的发展,比方说,未来区块链真的需要一个操作系统吗?


周迅:我认为是需要的,因为无论区块链怎么发展,它其实都是为了用户而服务的,区块链最大的作用就是可被监督,它的去中心化是让一个中心的权利被削弱了,所以我认为区块链发展是需要一个底层平台的,因为它可以帮我们开发一些能让所有人都公平的一些软件。而对于区块链的去中心化,我认为未来应该是在中心化和去中心化间的折衷,去中心化化不是目的,而是为了让中心化的机构不做恶,不作乱,可被监督,这是未来区块链发展的一个重点。



640?wx_fmt=gif


想跟区块链大咖蒋涛和孟岩一起工作吗?

快来快来,CSDN区块链大本营招采编 2 名 (待遇不低于行业水平)

邮件发送:[email protected](注明:姓名+区块链+采编应聘


640?wx_fmt=png

扫码加入区块链大本营读者群,群满加微信 17600222208 入群

你可能感兴趣的:(EKT,又一个以太坊的挑战者?)