Vite-Nano基础公链版,中国最强DAG项目?
Vite 是一个基于DAG区块点阵(BlockLattice)的下一代高性能去中心化应用平台。如果把Nano 比作btc/ltc 的话,那Vite 就是eth/eos 。Nano 为纯货币,Vite 则是智能合约平台。
从架构上讲,主要是在Nano区块点阵结构之上增加了快照链,增强了系统安全性,同时引入HDPoS共识,提升系统性能和扩展性。
从功能上讲,主要是引入了智能合约,是下一代高性能通用的去中心化应用平台。
Vite 采用 DAG 账本结构,账本中的交易按账户分组(账户链)。
Vite 中的快照链结构,可以弥补账本自身防篡改能力的不足,提高系统安全性。
通过分层共识算法HDPoS(分层股份授权证明机制),将交易的写入和确认解耦,并保障系统的高性能和扩展性。写入由局部的账户链完成,确认由全局的快照链完成,兼顾性能与安全。
Vite 的虚拟机部分兼容 EVM,智能合约语言在 Solidity 基础上进行了适当扩展,提供了更为强大的描述能力,使以太坊上面的dapp 可以快速迁移。但由于底层数据结构的不同,合约外的调用并不兼容,需要做特殊处理。
在 Vite 设计中,一个重要改进是采用了基于消息驱动的异步架构EDA,智能合约之间通过消息传递信息,从而极大提高了系统的吞吐率和扩展性。重点:异步。
Vite 除了内置原生代 币之外,还支持用户发行自己的数字资产,同时提供了跨链价值传输以及基于路印协议的资产互换功能。跨链仅价值传输,没有合约调用,略局限。
Vite 通过配额来实现资源分配,低频用户无需支付交易手续费。通过执行pow任务、vite 股份锁定、销毁vite 三种方式,可以分配到系统资源,而不再局限于EOS单独的股份锁定。
另外,Vite 还支持定时调度、命名服务、合约升级、区块裁剪等功能。
刘春明、王东、武鸣三人,联合撰写了Vite的白皮书,白皮书可以通过以下网址打开:
https://www.vite.org/whitepaper/zh.pdf
Vite的白皮书分析了目前以太坊公链所存在的问题、各种解决方案的优缺点,以及Vite是通过什么方法来解决这些问题。
当前公链改进方向主要有四个:
1.改进系统状态
对系统状态的主要改进思路是将全局的世界状态局部化,每个节点不再关心全部交易和状态转移,只维护整个状态机的一个子集。此类方案牺牲了状态的全局性,以换取系统的扩展性。
主要有Cosmos分区、Zilliq 分片、Lisk 侧链等。
2.改进状态迁移函数
一些项目立足于改进 EVM,提供更为丰富的智能合约编程语言。例如,RChain 定义了一种基于 π 演算的智能合约语言 Rholang;NEO 中的智能合约称为NeoContract,可以用 Java,C# 等主流编程语言开发;EOS 使用 C/C++ 来编程。
3.改进账本结构
账本结构的改进方向是构造等价类,将多个交易全局有序的线性账本规约为一个只记录部分偏序关系的非线性账本,这种非线性账本结构是一个 DAG(有向无环图)。
目前,Byteball,IOTA,Nano 等项目基于 DAG的账本结构实现了加密货币功能。Rchain, Hashgraph, hycon, DAGlabs 等则在探索使用DAG 实现智能合约。
4.改进共识算法
共识算法的改进大部分是为了提高系统的吞吐量,主要方式是减少区块生产者。此种方法一定程度上削弱了去中心化,典型的如EOS的21个超级节点,受到部分人的批评。
该类算法主要有bft共识,dpos 共识,POA 共识等。
快照链与分层共识
上图对比了几种常见的账本结构,靠近左侧的账本维护更少的偏序关系,哈斯图显得比较扁平,具有更低的伪分叉率;靠近右侧的账本维护更多的偏序关系,哈斯图比较细长,具有更高的防篡改特性。
图中,最左侧的是一种中心化系统中常见的基于集合的结构,没有任何防篡改特性;最右侧则是典型的区块链账本,具有最好的防篡改特性;而介于二者中间的是两种DAG 账本,左侧的是Nano 采用的block-lattice 账本[10],右侧是IOTA 采用的tangle 账本[9]。从特性上看,blocklattice维护了更少的偏序关系,更适合作为高性能去中心化应用平台的账本结构。但由于它的防篡改特性较差,会产生安全隐患,因此,迄今为止,除了Nano 采用了该结构之外,还没有其他项目采用。
为了追求高性能,Vite 采用该账本结构。同时,通过引入一种额外的链式结构Snapshot Chain,并且改进了共识算法引入HDPoS,成功的弥补了block-lattice 安全性方面的不足。
block-lattice 结构中,由于交易是按账户分组的,一个交易只会附加到其所属账户的账户链末端,大部分其他账户产生的交易不会自动成为该交易的后继节点。因此,采用这个结构必须合理的设计共识算法,以避免双花的隐患。
Nano 采用了一个基于投票的共识算法DPOS,由一组用户选择的代表节点对交易进行签名,每个代表节点有一个权重,当某个交易获得的签名累计起来有足够多的权重时,就认为该交易被确认。
这个算法有以下几个问题:
首先,如果需要更高的确认置信度,则需要提高投票权重的阈值,如果没有足够多的代表节点在线,就无法保证相交速度,有可能一个用户永远也搜集不到确认一个交易所必需的票数;
其次,交易被回滚的概率不随时间递减。这是因为任何时候,推翻一个历史投票的结果,所付出的成本都是一样的。
最后,历史的投票结果并没有被持久化到账本中,只保存在节点的本地存储中。当一个节点从其他节点获取账本时,没有办法可靠的量化一个历史交易被回滚的概率。
Vite中引入快照链结构,是其设计的核心,快照链是 Vite 中最重要的存储结构,它的主要作用是维护 Vite 账本的共识,弥补了blocklattice安全性缺陷。
快照链是Vite 中最重要的存储结构,它的主要作用是维护Vite 账本的共识。
(快照块和快照链) 一个快照块存储一个Vite 账本的状态快照,状态包括:账户的余额、合约状态的Merkle root,每个账户链中最后一个块的hash。快照链是由快照块组成的链式结构,后一个快照块引用前一个快照块的hash。
Vite 的共识协议称为 HDPoS(Hierarchical Delegated Proof of Stake)。基本思想是对共识函数 Φ 进行
函数分解 (functional decomposition):
Φ(l1, l2, . . . , ln) = Ψ(Λ1(l1, l2, . . . , ln),
Λ2(l1, l2, . . . , ln), . . .
Λm(l1, l2, . . . , ln))
其中,Λi
: 2L → L,称为局部共识函数,返回的结果称为局部共识;Ψ : 2L → L,称为全局共识函数,它从一组候选的局部共识中选取一个唯一结果,作为最终的共识结果。 这样拆分之后,整个系统的共识变成了两个独立的过程:
局部共识生产用户账户或合约账户中的请求交易和响应交易对应的区块,并写入账本;
全局共识对账本中的数据进行快照,生产快照块,如果账本有分叉,则选择其中一个。
这样就实现了交易的写入和确认解耦,提高了系统吞吐率。
Vite的关键设计可以归纳为以下几个方面:
安全高效的DAG账本结构
高性能的分层共识算法HDPos
消息驱动的异步架构
跨链资产交易
内置路印协议,vite即去中心化交易所(只是vite的部分)
尽量兼容以太坊合约技术,降低迁移成本,填补以太坊没有的命名服务、合约升级。
核心团队
刘春明: 创始人。毕业于中国科技大学,中科院软件所,曾任京东高级架构师,币丰港联合创始人,美团点评技术总监。
武鸣: 资深科学家。毕业于中国科技大学,中科院计算所。微软亚洲研究院Senior Research Manager,在分布式系统和AI领域发表过十余篇论文。
王东:资深区块链创业者。毕业于中国科技大学,亚利桑那州立大学。路印协议创始人,前Google美国Tech Lead,京东高级研发总监。
项目优势
团队成员具有较深的技术背景和开发经验,拥有良好的行业资源。
Vite定位明确,对已知区块链的问题提出了合理的解决方案,并在区块链中引入了区块点阵账户链、全局快照链、消息驱动的异步架构、路印协议等设计。
路印王东作为白皮书第二作者,能弥补团队区块链经验的不足,同时和路印战略合作,能获得一定的行业资源
项目不足
团队没有足够的区块链开发经验,这点顾问王东可以一定程度弥补。
智能合约平台竞争激烈,不但有2.0的eth neo ,更有3.0的EOS ada Rchain icon Ontology Hashgraph Algorand Dfinity 等强劲对手。
周期过长,预计2020.01主网才能上线。
总结
Vite 通过使用基于DAG的区块点阵技术,并引入快照链以及hdpos ,实现了高吞吐量并能兼顾安全性,技术上可行。(快照链是把双刃剑,提高安全性的同时也会降低吞吐量,最后也难逃区块链不可能三角问题)
团队核心成员有深厚的技术背景和开发经验,顾问能弥补区块链行业的不足,整体看是一只难得的优秀团队,相信有能力实现Vite 的目标。
本文首发于微信公众号:硬币研究院,扫码关注我们
加微信:li879949137,带你坐豪车。