Polygon
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Polygon相关的知识,希望对你有一定的参考价值。
1. 引言
Polygon早期名为Matic。
Polygon为一条sidechain 侧链,为公链扩容方案,其基于 Plasma MoreVP 框架——采用的为account模型,而不是UTXO模型。Polygon支持现有所有的以太坊工具,并具有更快、更便宜的交易。
以太坊主网的资产,如Dapps/Tokens/Protocols都可迁移至Polygon side chain(s)上,同时也可根据需要将资产取回主链上。
Polygon支持DEX(如0x)、Liquidity pools(如Kyber Network)、借款协议(如Dharma Protocol)等。
Polygon一般可分为四层:
-
Ethereum层:可使用以太坊来host and execute any mission-critical component of their logic。该层由以太坊智能合约来实现,主要功能类似有:
- Finality/checkpointing
- Staking
- Dispute resolving
- Message relaying
-
安全层:为可选层,非强制需要。用于管理一组validators,validators会周期性地检查任何Polygon chain的可用性,并收取一定的费用。安全层是完全抽象的,可由不同的主体实现不同的特征。改成可直接实现在以太坊上,此时,以太坊的矿工承担了validation的工作。该层可 以平行于以太坊的meta-blockchain方式运行,负责的主要功能有:
- Validator management(注册/反注册、激励、shuffuling等)
- Polygon chains validation
-
Polygon networks层:为一群主权区块链网络。这个网络可利用Polygon协议来相互连接并交换任意消息。每个区块链网络服务于其各自的社区,维护一下功能:
- 整理交易
- 本地共识
- 产生区块
-
执行层:该层可解析并运行 已在Polygon网络中达成共识的交易,主要分为2个子层:
- 执行环境(实现可插拔的虚拟机)
- 执行逻辑(某一特定Polygon网络的状态转换函数,通常写成以太坊智能合约)
Polygon(matic)总体架构为:
Polygon PoS为a Layer2 commit chain to 以太坊网络。
PoS中实际内容又可划分为3个子层:
- 对于以太坊主网层:部署了一组智能合约。
- 对于Heimdall层:为平行于以太坊运行的一组proof-of-stake Heimdall节点,并会监控以太坊网络中的合约。Heimdall fork自 Tenedermint。
- 对于Bor层:Heimdall节点会shuffle a set of block-producing Bor nodes。Bor fork自Go Ethereum。
在以太坊主网上的合约中进行质押,Heimdall节点会监听以太坊网络上合约中质押的token,并选择相应的Bor节点来产块。Bor节点会基于Heimdall节点选择的spans轮流产块。spans与以太坊上的质押量大小相关。
Checkpoint有2个作用:
- 1)Provide finality on the Root Chain:以太坊主链根据提交过来的checkpoint来决定侧链上块的最终性。
- 2)Provide proof of burn in withdrawal of assets:在用户提现资产到主链上时,提交燃烧证明。
1.1 Polygon VS Plasma
Polygon与Plasma主要有2处不同:
- Polygon实现的Plasma是基于EVM运行的state-based sidechains。而其它Plasma实现主要基于UTXO——仅支持特定的支付。Polygon具有state-based sidechains,使得Polygon可提供通用的智能合约扩容性。
- Polygon采用的public checkpointing layer,会定期发布checkpoints——不像Plasma Cash在每个区块之后都要发布checkpoints。通过支持checkpoints的批量发布,可支持侧链以更快的速度运行。checkpoints+fraud proofs 机制,可保证Polygon侧链的安全性,同时,任何欺诈行为都可由以太坊主网发现,并通过罚没质押的token来惩罚作弊者。该主链安全性是对侧链PoS协议安全性的补充。
1.2 Polygon VS Loom
Polygon致力于去中心化扩容。Polygon采用了Plasma架构中周期性的checkpoints和fraud proofs。当用户需要取回资产时:
- 使用checkpoints来证明其在侧链上的资产。
- 使用fraud proofs来挑战fraud or any bad behavior and slash tokens。
Loom也提供L2扩容方案,其提出的Zombiechain与Polygon类似,但有2点不同:
- 关注点不同。Loom主要啊关注游戏和社交APP,其对去中心化的诉求相对没那么高。而Polygon关注金融交易、游戏等Dapp。同时计划提供全面的金融服务,如借贷Dapp(token swaps,margin trade等等)。
- Loom未来可能会使用的Plasma Cash,由于其需要将侧链的每个区块都推送到主链上,具有的block times要大于以太坊的block times。而Polygon使用的checkpoints for 1-second block times (with PoS layer)。
Plasma Cash+NFT,特别适合用于表示游戏卡和社交状态转换。但是对于普通的token transfers,其需要在plasma cash上进行token swap,用户体验不够好。
1.3 Polygon VS POA/Go-Chain
POA项目的产块者由Goverment公证确认,Go-Chain则依赖于多个国家的组织。这样的public block producers将有很大概率会受powerful external agencies and self-interest影响。同时侧链的交易仅由侧链的共识来保证,其共识参与者仅由3~25个。
而Polygon中,所有侧链交易的安全性将由侧链以及主链等多重机制保证。
在侧链端,Block producer layer中的任何交易都将通过高度去中心化的checkpointing layer verified and checkpointed to 主链。侧链端的任何欺诈交易都可通过checkpoiting layer来探测和处理。极端情况下,即使block producer layer和checkpoiting layer串通作弊,主链端还有fraud proofs,任何人都可公开来挑战其认为在侧链端是作弊的任何交易,如果挑战成功,colluding parties的质押将slash从而造成巨大的经济惩罚。同时,公开挑战者可获得the slashed stakes of the fraudulent sidechain actors。
此外, Polygon sidechains的容量和TPS要远远高于POA和Go-chain。Polygon tps可达数千,而POA和Go-chain仅有小一两千。
2. Polygon的主要特征
3. matic protocol
matic protocol 代码实现参见:
其fork自Go Ethereum,并兼容EVM。
参考资料
[1] maticnetwork 白皮书
[2] polygon lightpaper
[3] Polygon technology
[4] Polygon PoS
[5] Polygon docs
以上是关于Polygon的主要内容,如果未能解决你的问题,请参考以下文章