原力元宇宙MetaForce佛萨奇马蹄莲系统开发技术详细及代码分析

2022-11-24 16:13:02 浏览数 (2)

什么是原力元宇宙MetaForce?

原力元宇宙MetaForce是在Polygon马蹄链上部署的一个智能合约,Polygon马蹄链,是基于ETH开发的一个独立公链,用于构建和连接与以太坊兼容的区块链网络,智能合约可以直接在马蹄链上部署,百分百开源,百分百去中心化,一旦运行,不可篡改。

6.1. 共识算法简介

共识算法是指在分布式场景中,多个节点为了达成相同的数据状态而运行的一种分布式算法。 在分布式场景中,可能出现网络丢包、时钟漂移、节点宕机、节点作恶等等故障情况,共识算法需要能够容忍这些错误,保证多个节点取得相同的数据状态。

根据可容忍的故障类型的不同,可以将共识算法分为两类:

  • 容忍宕机错误类算法(crash fault tolerant consensus algorithm),可以容忍网络丢包、时钟漂移、部分节点宕机这种节点为良性的错误。常见算法有 Paxos、Raft。
  • 容忍拜占庭错误类算法(byzantine fault tolerant consensus algorithm),可以容忍部分节点任意类型错误,包括节点作恶的情况。常见算法有 PBFT、PoW、PoS等。

根据使用场景的不同,又可将共识算法分为公链共识、联盟链共识两类。

6.1.1. 公链共识

公链的特点是节点数量多且节点分布分散,主要使用的共识算法有PoW和PoS,这两种共识的优点是可以支持的节点数量多,缺点是TPS较低和交易确认时间长。

6.1.2. 联盟链共识

联盟链的特点是节点之间网络较为稳定且节点有准入要求,根据需要容忍的错误类型可以选择Raft和PBFT类算法,这类算法的优点是TPS较高且交易可以在毫秒级确认,缺点是支持的节点数量有限,通常不多于100个节点。

6.1.3. 公链共识和联盟链共识的对比

共识

支持的节点数量

TPS

交易时延

公有链共识

10000

10

10min

联盟链共识

100

1000

1s

6.1.4. 长安链中的共识

长安链自v1.1.0开源版本起支持Solo,Raft,TBFT,Maxbft,DPoS 五种共识类型。四种共识对比如下:

共识类型

故障节点数为n(n>=0)时,网络中最少节点数

使用场景

Solo

Solo只支持1个节点

主要用于测试及搭建demo

Raft

2n 1

联盟链中不需要考虑恶意节点,且需要性能较高的场景

TBFT

3n 1

联盟链中需要考虑恶意节点的场景

Maxbft

3n 1

联盟链中需要考虑恶意节点的场景

DPoS

3n 1

公链、联盟链中存在大量参与方,又希望在考虑恶意节点情况下保持较高tps的场景

流程图如下:

0 人点赞