中继链(atlas)

Atlas 是 MAPO Protocol中的Mapo-Relay-Chain的名字,它是一条EVM(Ethereum Virtual Machine)兼容的区块链,一种开放的加密协议,允许应用程序以安全和去中心化的方式进行交易并运行智能合约。Atlas 区块链代码与以太坊有着共同的祖先,并保持智能合约的完全 EVM 兼容性。然而,它使用拜占庭容错(BFT)共识机制(权益证明)而不是工作量证明,并且具有不同的块格式、交易格式以及天然气支付和定价机制。Atlas主要基于geth节点实现。Atlas兼容EVM,支持web3.js,remix,hardhat等应用开发工具。

其主要模块如下:

Atlas BlockChain

Atlas节点的区块链(BlockChain)是atlas区块链的本地数据库,是一个包含区块、交易、账户状态和配置信息的数据库。这个数据库不仅支持数据的持久化存储,还支持高效的数据查询和更新,以确保节点能够与atlas网络保持同步、处理交易和执行智能合约。它是atlas网络的核心数据存储组件,用于存储整个区块链的数据,。

  • 区块链数据库是 Atlas 节点的核心组件之一,它负责存储整个atlas区块链的数据,且数据库以 LevelDB 作为后端存储引擎,用于高效地管理和检索区块链数据。

  • 区块是atlas区块链中的基本数据单元。每个区块包含了一定数量的交易、时间戳、父区块的哈希等信息。这些区块按照时间顺序链接在一起,形成区块链。更多信息请参考

  • 交易是区块中包含的一系列交易,这些交易包括了atlas网络中的价值转移和智能合约调用。每个交易都有发送者、接收者、数额、智能合约调用数据等信息。更多信息请参考

  • 状态存储是一个关键的数据结构,它跟踪了atlas区块链中每个账户的状态。这包括账户的余额、智能合约代码、存储数据等。状态存储是基于MPT(Merkle Patricia Trie)树的数据结构实现的,用于高效地检索和更新账户状态。

  • 交易池是 atlas 节点维护的一个缓冲区,用于存储待处理的交易。交易池中的交易等待被打包到新的区块中。

  • 账户:区块链数据库存储了所有atlas账户的信息。这包括外部账户(由私钥控制)和智能合约账户(由智能合约代码控制)。更多信息请参考.

  • 账户状态是账户的当前状态,包括余额、智能合约代码、存储数据和其他相关信息。账户状态是状态存储的一部分。

  • 区块链索引:为了提高查询性能,atlas 节点通常会创建各种索引,例如交易索引、日志索引、账户余额索引等。这些索引允许快速检索特定数据而无需扫描整个区块链。

共识机制

Atlas区块链采用的共识机制是 IBFT(Istanbul Byzantine Fault Tolerance),这是一种 BFT(拜占庭容错)共识算法的变体。IBFT 是 Atlas 区块链的共识层,是基于权益证明(PoS)和拜占庭容错的原理,旨在确保网络的去中心化和安全性。拜占庭容错是指系统能够继续正常运行,即使其中的一部分节点出现了错误或恶意行为;Atlas共识层主要由BFT协议和一组系统合约共同组成。以下是对 Atlas 的 IBFT 共识机制以及与 Atlas 系统合约的内容和功能的详细解释。

IBFT 共识机制:

IBFT 共识机制的核心思想是,一组验证人(validators)负责验证交易和生成新的区块。这些验证人被选中并有权参与共识过程。共识的核心是投票机制,其中每个验证人对区块的有效性进行投票。只有在获得足够多的验证人的认可时,新的区块才能被接受。这种方法确保了快速终结(Fast Finality),一旦达成共识,区块和交易就被确认,无需等待多个确认块。

  • Validator验证人: Atlas 区块链中的验证人是网络参与者,负责生成区块和验证交易。他们被选中并有权产生新的区块。Atlas通过在系统合约中质押并通过共识算法选出一组验证人,这些验证人轮流产生区块。

  • 投票机制: IBFT 共识使用投票机制来达成共识。验证人在区块的有效性上进行投票,包括验证交易和确定下一个区块的提议者。这种投票机制有助于防止拜占庭式错误,确保共识的可靠性(一个validator一票)。

  • 快速终结: IBFT 共识允许快速终结(Fast Finality),这意味着一旦达成共识,交易就会立即被确认,而无需等待多个区块的确认。

  • 去中心化: IBFT 共识机制通过轮流产生区块的方式保持了去中心化,没有单一的中心节点负责生成所有区块。

系统合约:

Atlas系统合约是一组智能合约,用于管理和控制 Atlas 区块链的各个方面。以下是一些重要的 Atlas 系统合约以及它们的功能:

  • Election合约: Election 合约定义了验证人选举的规则,包括验证人候选人的资格、选举时间表和相关参数。它与 IBFT 共识机制紧密相关,因为它确定了哪些验证人有资格参与共识。

  • LockedGold 合约: LockedGold 合约管理用户的抵押品,这些抵押品被用于参与网络治理、验证工作和其他目的。它与 IBFT 共识机制有关,因为它确保了验证人有足够的抵押品来履行他们的职责。

  • Governance合约: Governance 合约支持 Atlas 社区的治理。持有者可以通过治理合约参与投票,提出和批准提案,以影响网络的规则和参数。这些提案可能会与 IBFT 共识机制相关,如改变验证人列表或共识规则。

总的来说,Atlas 的 IBFT 共识机制确保网络的安全性和共识,而 Atlas 系统合约定义了网络的规则、治理、抵押品管理等方面的功能。这两者共同构建了 Atlas 区块链共识机制,支持稳定币系统和去中心化金融应用的发展。

网络层

Atlas 的网络层负责与Atlas网络中的其他节点通信。它使用 以太坊的P2P模块来传输数据和消息。网络层允许节点之间进行握手、交换区块、交易和状态信息,允许节点在网络中广播、接收和处理消息,以保持整个网络的同步。

Last updated