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的主要内容,如果未能解决你的问题,请参考以下文章

在 jooq 的条件表达式中使用自定义数据类型