概述
Polkadot和Avalanche都有一个架构,允许特定于应用程序的区块链设计并连接到主网络。
在Polkadot中,主要网络是中继链,而Avalanche通过3条主链——P链、X链和C链来做到这一点。
类似于Polkadot有与中继链连接的平行链,Avalanche也有所谓的子网。
与Polkadot类似,Avalanche还使用PoS机制来实现共识。
验证者抵押他们的AVAX通证以参与PoS系统并保护网络的安全。
结构
Avalanche的架构将Layer1智能合约平台的责任分为三个链。这样可以分离验证者和共识、交易以及智能合约执行的关注点。
Avalanche在其中一条链中使用了一个非线性的DAG(有向无环图)结构。Polkadot使用类似于比特币和以太坊的线性链结构。
Polkadot上的智能合约是在平行链上实现的。
作为Layer0区块链,Polkadot不是智能合约平台,并且没有计划初始支持它们。
P链(平台)
P链负责维护验证者集和保护网络。
AVAX通证持有者可以通过质押他们的通证来启动自己的节点并成为验证者。
类似于Polkadot使用的NPoS系统,Avalanche使用委托PoS,允许通证持有者也将他们的通证权益委托给现有的验证者,而不是运行他们自己的节点。
X链(交易所链)
X链负责Avalanche区块链的交易层。
它采用了类似于比特币的UTXO模型,而Polkadot则采用了类似于以太坊的账户模型。
这是唯一一个在其区块链中实现DAG(有向无环图)模型的链,使其成为Avalanche网络上最快的链。该链不支持智能合约执行。
C链(合约链)
C链是Avalanche网络上最活跃的区块链。
它允许不同的虚拟机执行智能合约代码。
即开即用,它支持EVM和AVM(Avalanche VM)。
C链运行了一个名为coreth的go-ethereum分支,其中网络和共识部分被替换为Avalanche等效部分。
由于Polkadot没有即开即用的智能合约层,EVM和WASM智能合约功能位于平行链层中。
这是Polkadot和Avalanche之间的主要区别。Avalanche的智能合约功能被融入到其三链模型中。
子网或子网络
Avalanche将子网定义为一组动态的验证者,他们在一组区块链上达成共识。
在Polkadot的术语中,子网可以被视为公共或私有的区块链Runtime,可以构建在主网络之上,并允许子集的验证者验证这些Runtime。
与Polkadot上的平行链类似,子网提供了选择交易费用模型、通证经济学和自定义编译规则的自由。一个或多个验证者可以开始验证子网Runtime,有效地成为主网络的全体验证者集合的子集。
共识机制
Avalanche共识使用一系列协议来实现安全、活跃性和最终性。这些协议被称为Snow协议。
这组协议通常结合了经典的共识算法、中本聪共识以及为其区块创建者提供的委托权益证明系统。
Snow系列是用于在Avalanche上达成最终性的层次结构集合:
Slush
Snowflake
Snowball
Avalanche
Snowman
Slushie
与Polkadot相比,Avalanche使用基于经典和中本聪方法的异步混合系统。
Polkadot使用同步混合模型,其中BABE是用于概率地构建区块的算法,GRANDPA是一种最终确定性方法,用于将区块添加到最长链中的最终化机制。
最终,验证者会对整个链达成一致,而不是单个新块。
Snowball
Snowball协议是节点用来达成共识的一种算法。
每个节点连续查询x个验证者,并采取多数共识作为自己的共识。
在正常情况下,这种方法将导致网络达成共识。
Snowball协议的可扩展性很有前途,随着网络参与者的增加,传递的共识消息数量保持不变。
每个节点最多查询不超过20个节点。
DAG(有向无环图)
DAG(有向无环图)是由顶点和边组成的图形。
在Avalanche中,它们用于决策的部分排序,例如交易。
顶点使用边相互指向,当按拓扑序排序时,顶点和边会创建一个序列。
在Avalanche中,边缘可能会发生冲突,节点将使用Snowball算法来决定保留哪些决策,不保留哪些决策。
质押机制
Avalanche使用一种没有惩罚的委托权益证明机制。成为全节点验证者的质押门槛为2500 AVAX,成为委托者的门槛为25 AVAX。
对于验证者和委托人来说,最短的质押期限为两周,最长期限为一年。
从Avalanche文档中不能确定一年后会发生什么,但很可能验证者将需要重新质押并开始新的周期。
验证者获得的点数取决于他们的在线时间和工作正确性,奖励的报酬也取决于此。
在Polkadot中,成为验证者所需的最低质押数量是可变的,虽然成为提名人需要10个DOT来设置储藏池和控制者账户以开始提名。
要达到足够高的竞争力成为活跃验证者,或成功地被选为提名人,需要根据网络上特定时刻的最低质押金额来确定。
有关更多信息,请参阅质押页面,详情请参见:
https://wiki.polkadot.network/docs/learn-staking
信息传递
Avalanche没有原生的去信任消息传递机制。相反,它依赖于桥梁。
但是,由于它是与EVM兼容的协议,因此能够在通证层面进行互操作。而子网没有现成的消息传递层。
Polkadot及其XCM和XCMP消息传递协议允许使用原生和无信任的消息传递方案,从而支持链的可组合性并实现开发强大的跨链应用程序。
治理
根据其白皮书,Avalanche计划具有链上治理机制。目前它没有在制作中的链上或链下系统。它的治理系统将仅限于更新一些关键协议参数,包括:
质押金额:该值定义了在参与系统之前必须放置作为押金(bond)的最小质押金额。
节点最小质押时间:节点在系统中进行质押所需的最短时间。
节点最大质押时间:节点可以进行质押的最长时间。
铸币率:奖励率函数也称为铸币率,在连续t个最小质押时间框架内,给定其拥有的x个公开披露节点的数量,确定参与者可以获得的奖励,作为其质押金额的函数,使得t最小质押时间≤最大质押时间。
交易费用金额:费用结构,它是一组可管理的费用参数,用于指定各种交易的成本。
限制治理功能是一种设计选择,旨在增加预测性和安全性。
Polkadot的治理机制从一开始就投入使用,并被用来逐渐释放功能并使初始网络去中心化。
它也不限于一些参数,事实上,整个Runtime都可以通过协议进行更改,使Polkadot成为一种元协议。
升级
Avalanche的升级由Ava Labs的协议开发人员管理。
在Polkadot上,无分叉升级通过链上治理进行管理和部署。
在执行升级时,Subnet上的每个验证者都需要执行相同的升级。
这需要Subnet验证者之间的协调努力。
在Polkadot上,可以自动部署平行链的升级,而无需与中继链上的验证者进行任何协调。
结论
Avalanche做出了一些设计决策,允许改进智能合约开发环境。
在其中协议工程师可以自由创建自己的区块链,并通过子网将它们包含在Avalanche生态系统中。
权衡的是,设计的自主权是受到限制的,区块链必须买入Avalanche主链的设计决策。
与Polkadot上的平行链不同,Subnet无法共享主链的安全性。
除了利用中继链的区块最终性和安全性外,Polkadot上的平行链使用XCM传递原生的无需信任的消息,而不是依赖于多个桥接解决方案。
然而,与平行链相比,Subnet易于启动,因为它们仅需要推荐的最低5个验证者,这使得启动成本可预测。
Avalanche计划实现与Polkadot已经提供的共享安全性、互操作性、可组合性和链上治理功能。
相关引用
The Avalanche Platform Whitepaper,详情请参见:
assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche Platform Whitepaper.pdf)
The Avalanche Consensus Whitepaper,详情请参见:
assets.website-files.com/5d80307810123f5ffbb34d6e/6009805681b416f34dcae012_Avalanche Consensus Whitepaper.pdf
The AVAX Token Dynamics Paper,详情请参见:
6008d7bc56430d6b8792b8d1_Avalanche Native Token Dynamics.pdf (website-files.com
Nakomoto vs Snow consensus,详情请参见:
Nakamoto(Bitcoin) vs. Snow(Avalanche): consensus - Learn (gyuho.dev)