第2课

架构元素

本模块深入探讨 Lisk 的架构组件,详细介绍其主要元素、共识机制和可扩展性特性。本模块的目的是让大家全面了解 Lisk 的结构如何支持其功能和开发目标。

Core Components of Lisk

Lisk Core

Lisk Core 是负责管理所有区块链操作的核心组件,包括交易处理、区块创建和网络同步。它确保区块链的完整性和安全性。关键模块包括用于点对点连接的网络模块、用于达成区块链状态共识的共识模块以及用于区块链交互的 API 模块。

Core 运行在网络参与者运营的节点上,这些节点验证交易并保护网络安全。软件定期更新以包含新功能和改进。它使用 JavaScript 和 TypeScript 编写,符合 Lisk 使区块链开发更易于访问的广泛受众的目标。转向 TypeScript 提高了代码可维护性并降低了错误的可能性。核心包含几个关键子系统:

  • 交易池:管理在包含到区块中之前的待处理交易。
  • 区块池:处理已收到但尚未处理的区块。
  • 锻造者:负责创建新区块的模块。在 Lisk 中,区块创建被委托给一组选举产生的代表。
  • 共识:确保网络中的所有节点对区块链的状态达成一致。
    Lisk Core 的更新过程涉及定期发布协议改进、安全补丁和性能增强,这些更新在部署到主网之前会在测试网环境中进行彻底测试。

Lisk SDK

Lisk SDK(软件开发套件)是用于构建自定义区块链应用程序的工具包。SDK 使开发人员能够创建侧链,这些侧链是连接到 Lisk 主区块链的独立区块链。这些侧链可以针对特定用例进行定制,并在不影响主网络性能的情况下独立运行。

Lisk 框架(Framework)

它提供模块化架构,开发者可以通过插件和自定义模块进行扩展。它管理应用程序的生命周期以及不同模块之间的交互。

Lisk 元素(Elements)

一组工具库,提供与 Lisk 区块链交互的工具。这些包括加密函数、交易创建工具以及用于管理帐户和密钥的实用程序。使用 JavaScript 和 TypeScript 使这些库可供更广泛的开发人员使用。

Lisk Commander

一个命令行工具,简化了区块链应用程序的开发和管理。它包括用于设置开发环境、创建新区块链应用程序和将它们部署到网络的命令。它还提供用于管理节点和与区块链交互的工具。

SDK 还包括对开发智能合约的支持,这些智能合约可以部署在 Lisk 侧链上。这些合约是用 JavaScript 编写的,可供广泛的开发人员使用。

Lisk Service(服务)

Lisk Service作为区块链与用户界面(如 Lisk 桌面端 和 Lisk 移动端)之间的中间件。它聚合区块链数据并提供访问这些信息的 API。主要功能包括数据聚合、查询区块链数据的 API 端点以及增强的数据访问功能。Lisk Service确保应用程序和钱包能够高效地与区块链交互,提供实时数据访问并改善用户体验。

Lisk Service包括:

  • 网关:管理 API 请求并将其路由到相应的服务。
  • 数据聚合器:从区块链收集并处理数据,通过 API 提供这些数据。
  • 索引器:对区块链数据进行索引,以实现快速、高效的查询。
  • 缓存:存储经常访问的数据,以提高性能。

这些组件协同工作,为开发人员和用户提供无缝的体验。该服务设计为高度可扩展,能够处理大量数据和高流量负载。

侧链与主链架构

Lisk 使用侧链来增强可扩展性和灵活性。主链处理基本操作并确保网络安全,而侧链则处理它们自己的交易和操作,这种分离带来了:

  • 可扩展性:侧链独立处理交易,减少主链的负载。
  • 定制化:开发者可以创建针对特定应用程序量身定制的侧链。
  • 互操作性:侧链可以通过跨链消息与主链和其他侧链进行通信,实现数据和价值的传输。

侧链的工作原理

Lisk 的侧链是完全独立的区块链,可以运行自己的一套规则和共识机制。它们连接到 Lisk 的主区块链,主区块链提供安全性和协调功能。侧链可以用于多种用途,例如运行去中心化应用(dApp)、管理数字资产或实现专业的区块链解决方案。

为了创建侧链,开发者使用 Lisk SDK 来创建和配置侧链。SDK 提供了定义侧链共识机制、交易类型和其他参数的工具。侧链创建完成后,通过一组互操作性协议连接到主链。

在 Lisk 的互操作性解决方案中,侧链能够有效地相互通信以及与主链通信。这是通过跨链更新(CCU,Cross-Chain Update)交易实现的,CCU 交易携带状态变化和链间数据。例如,侧链可以发送 CCU 到主链以更新其状态或转移资产。主链对 CCU 进行验证并应用这些变化。

侧链通过使用加密证明和验证机制继承主链的安全性,确保侧链操作的安全性和防篡改性。主链还提供了最终确定层,确保侧链上的交易一旦确认就不能被撤销。

共识机制:委托权益证明 (DPoS)

Lisk 使用委托权益证明 (DPoS,Delegated Proof of Stake) 共识机制,其中持有 LSK 代币的利益相关者投票选出代表,这些代表负责验证交易并创建新区块。Lisk 的 DPoS 系统的特点包括:

  • 代表(Delegates):101 名活跃代表由利益相关者选举产生,负责维护区块链。
  • 投票权:利益相关者通过锁定他们的 LSK 代币来为代表投票。
  • 激励机制:代表通过验证交易获得奖励,这些奖励通常会与他们的投票者分享。

DPoS 的工作原理

在 DPoS 中,创建区块和验证交易的权力被委托给一组被称为代表(Delegates)的信任节点,这些代表由 LSK 代币持有者通过投票过程选举产生。每个 LSK 代币代表一票,代币持有者可以将他们的票分配给多个代表。

代表选举

选举过程是持续进行的,代币持有者可以随时更改他们的投票。得票最多的前 101 名代表负责创建区块和验证交易。这确保了网络的去中心化,并且权力分布在多个参与者之间。

区块创建

代表轮流以循环方式创建区块。每个代表会被分配一个时间段,在此期间他们可以创建区块。如果一个代表未能在其时间段内创建区块,则下一个代表将接管。这一过程确保区块定期创建,网络保持高效。

验证

一旦区块创建完成,它会广播到网络并由其他节点进行验证。如果区块是有效的,它将被添加到区块链中。如果不是,它将被拒绝,并且创建此区块的代表可能会受到惩罚。这个验证过程确保只有合法的交易被包含在区块链中。

拜占庭容错 (BFT, Byzantine Fault Tolerance)

Lisk 采用拜占庭容错 (BFT, Byzantine Fault Tolerance) 机制以确保网络的可靠性和安全性。BFT 解决了在包含潜在故障节点的分布式系统中实现共识的挑战。Lisk 的 BFT 实现确保了最终性、一致性和弹性。一旦区块添加,它被认为是最终的,不能被回滚,并且所有诚实节点都同意区块链的状态。

网络可以容忍一定数量的故障节点而不影响安全性和功能。

BFT 的工作原理

Lisk 中的 BFT 是通过一个称为预投票和预承诺的过程实现的。这个过程涉及多个验证阶段,以确保区块被网络接受。

预投票:当一个区块被提议时,网络中的节点进行预投票,表示他们是否认为该区块是有效的。这些预投票被收集和统计。如果收到足够数量的预投票,区块进入下一个阶段。

预承诺:预投票节点接着进行预承诺。这些预承诺也被收集和统计。如果收到足够数量的预承诺,区块被认为是最终的,并被添加到区块链中。

最终性:一旦区块最终化,它不能被回滚。这确保了交易的永久性,并且区块链保持一致。预投票和预承诺的使用确保即使在存在故障节点的情况下也能实现共识。

可扩展性特性

Lisk 的架构通过以下特性解决了可扩展性挑战:

  • 侧链:允许独立的交易处理。
  • 高效共识:DPoS 和 BFT 确保快速且安全的交易验证。
  • 互操作性:促进侧链与主链之间的通信。

性能提升

Lisk 实施了多项特性来提升网络的性能和可扩展性。交易费用根据网络状况动态调整,帮助防止拥堵并确保交易高效处理。

Lisk 增强了其点对点层,以处理更高的连接量和数据吞吐量。这种优化提升了网络快速高效处理交易的能力。Lisk SDK 的模块化设计允许开发者创建定制化的区块链应用程序。每个应用程序可以独立运行,减轻主链的负载并提升整体网络性能。

互操作性解决方案

Lisk 的互操作性框架旨在促进不同区块链之间的通信。这通过多种机制实现:

跨链消息 (CCM): CCM 用于在侧链和主链之间传输数据和状态更改。这允许 Lisk 生态系统中不同链之间的无缝交互。

联邦双向锚定(Federated 2-Way Peg): 该机制支持侧链和主链之间的代币转移。一组可信的中介(组成联邦)管理代币的铸造和销毁,确保安全高效的转移。

通用跨链消息传递: Lisk 的互操作性解决方案支持传输各种类型的数据,而不仅仅是代币。这种灵活性允许广泛的应用程序,从代币转移到更复杂的数据交互。

未来路线图和更新

Lisk 的路线图包括几个关键里程碑,旨在增强平台的功能并扩展其生态系统。即将推出的开发包括计划启动一个与以太坊 Sepolia 测试网连接的 Layer 2 测试网。这个测试网将作为新功能和改进的试验场,在它们部署到主网之前进行测试。

引入质押和治理机制将赋予社区决策权。这些功能将促进去中心化,并鼓励 LSK 代币持有者的积极参与。对 Lisk SDK 的持续改进将提升开发体验,并使创建更复杂和可扩展的应用程序成为可能。

组件详细说明

Lisk 框架(Framework)

Lisk 框架是 Lisk SDK 的核心,为构建区块链应用程序提供了基本基础设施。框架基于模块化系统构建,允许开发人员通过自定义模块扩展功能,可以实现区块链功能,例如自定义交易类型或共识算法。

类似于模块系统,插件系统允许开发人员向其区块链应用程序添加额外功能。插件可以包括监控工具、分析工具或其他增强应用程序功能的辅助功能。

Lisk 框架管理区块链应用程序的生命周期,包括初始化、执行和关闭过程,确保应用程序平稳运行并易于维护。

Lisk 元素(Elements)

Lisk 元素是一组 JavaScript 库,提供与 Lisk 区块链交互的工具。这些库包括一套加密工具,用于保护交易和管理密钥,包括数字签名、哈希函数和加密机制。

这些库包括创建和管理区块链交易的工具,简化了开发与 Lisk 区块链交互的应用程序的过程。Lisk 元素包括用于管理区块链账户的实用程序,包括密钥生成、账户恢复和余额查询。

Lisk Commander

Lisk Commander 是一个命令行界面 (CLI, Command-Line Interface) 工具,简化了区块链应用程序的开发和管理。它包括用于设置和管理区块链节点的命令,包括启动、停止和监控节点操作。与区块链交互的工具包括查询状态、提交交易和检索区块数据。

部署和管理区块链应用程序的命令,包括创建新应用程序、更新现有应用程序和管理应用程序配置。

亮点

  • Lisk Core:管理所有区块链操作,包括交易处理、区块创建和网络同步。
  • Lisk SDK:一个用于构建定制区块链应用的工具包,包括Lisk 框架、Lisk 元素和Lisk Commander。
  • Lisk Service:在区块链和用户界面之间充当中间件,聚合并提供区块链数据访问。
  • 侧链架构:通过允许独立区块链与主链并行运行来增强可扩展性和灵活性。
  • 共识和安全性:使用委托权益证明(DPoS)和拜占庭容错(BFT)来确保网络的安全和高效运行。
免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
目录
第2课

架构元素

本模块深入探讨 Lisk 的架构组件,详细介绍其主要元素、共识机制和可扩展性特性。本模块的目的是让大家全面了解 Lisk 的结构如何支持其功能和开发目标。

Core Components of Lisk

Lisk Core

Lisk Core 是负责管理所有区块链操作的核心组件,包括交易处理、区块创建和网络同步。它确保区块链的完整性和安全性。关键模块包括用于点对点连接的网络模块、用于达成区块链状态共识的共识模块以及用于区块链交互的 API 模块。

Core 运行在网络参与者运营的节点上,这些节点验证交易并保护网络安全。软件定期更新以包含新功能和改进。它使用 JavaScript 和 TypeScript 编写,符合 Lisk 使区块链开发更易于访问的广泛受众的目标。转向 TypeScript 提高了代码可维护性并降低了错误的可能性。核心包含几个关键子系统:

  • 交易池:管理在包含到区块中之前的待处理交易。
  • 区块池:处理已收到但尚未处理的区块。
  • 锻造者:负责创建新区块的模块。在 Lisk 中,区块创建被委托给一组选举产生的代表。
  • 共识:确保网络中的所有节点对区块链的状态达成一致。
    Lisk Core 的更新过程涉及定期发布协议改进、安全补丁和性能增强,这些更新在部署到主网之前会在测试网环境中进行彻底测试。

Lisk SDK

Lisk SDK(软件开发套件)是用于构建自定义区块链应用程序的工具包。SDK 使开发人员能够创建侧链,这些侧链是连接到 Lisk 主区块链的独立区块链。这些侧链可以针对特定用例进行定制,并在不影响主网络性能的情况下独立运行。

Lisk 框架(Framework)

它提供模块化架构,开发者可以通过插件和自定义模块进行扩展。它管理应用程序的生命周期以及不同模块之间的交互。

Lisk 元素(Elements)

一组工具库,提供与 Lisk 区块链交互的工具。这些包括加密函数、交易创建工具以及用于管理帐户和密钥的实用程序。使用 JavaScript 和 TypeScript 使这些库可供更广泛的开发人员使用。

Lisk Commander

一个命令行工具,简化了区块链应用程序的开发和管理。它包括用于设置开发环境、创建新区块链应用程序和将它们部署到网络的命令。它还提供用于管理节点和与区块链交互的工具。

SDK 还包括对开发智能合约的支持,这些智能合约可以部署在 Lisk 侧链上。这些合约是用 JavaScript 编写的,可供广泛的开发人员使用。

Lisk Service(服务)

Lisk Service作为区块链与用户界面(如 Lisk 桌面端 和 Lisk 移动端)之间的中间件。它聚合区块链数据并提供访问这些信息的 API。主要功能包括数据聚合、查询区块链数据的 API 端点以及增强的数据访问功能。Lisk Service确保应用程序和钱包能够高效地与区块链交互,提供实时数据访问并改善用户体验。

Lisk Service包括:

  • 网关:管理 API 请求并将其路由到相应的服务。
  • 数据聚合器:从区块链收集并处理数据,通过 API 提供这些数据。
  • 索引器:对区块链数据进行索引,以实现快速、高效的查询。
  • 缓存:存储经常访问的数据,以提高性能。

这些组件协同工作,为开发人员和用户提供无缝的体验。该服务设计为高度可扩展,能够处理大量数据和高流量负载。

侧链与主链架构

Lisk 使用侧链来增强可扩展性和灵活性。主链处理基本操作并确保网络安全,而侧链则处理它们自己的交易和操作,这种分离带来了:

  • 可扩展性:侧链独立处理交易,减少主链的负载。
  • 定制化:开发者可以创建针对特定应用程序量身定制的侧链。
  • 互操作性:侧链可以通过跨链消息与主链和其他侧链进行通信,实现数据和价值的传输。

侧链的工作原理

Lisk 的侧链是完全独立的区块链,可以运行自己的一套规则和共识机制。它们连接到 Lisk 的主区块链,主区块链提供安全性和协调功能。侧链可以用于多种用途,例如运行去中心化应用(dApp)、管理数字资产或实现专业的区块链解决方案。

为了创建侧链,开发者使用 Lisk SDK 来创建和配置侧链。SDK 提供了定义侧链共识机制、交易类型和其他参数的工具。侧链创建完成后,通过一组互操作性协议连接到主链。

在 Lisk 的互操作性解决方案中,侧链能够有效地相互通信以及与主链通信。这是通过跨链更新(CCU,Cross-Chain Update)交易实现的,CCU 交易携带状态变化和链间数据。例如,侧链可以发送 CCU 到主链以更新其状态或转移资产。主链对 CCU 进行验证并应用这些变化。

侧链通过使用加密证明和验证机制继承主链的安全性,确保侧链操作的安全性和防篡改性。主链还提供了最终确定层,确保侧链上的交易一旦确认就不能被撤销。

共识机制:委托权益证明 (DPoS)

Lisk 使用委托权益证明 (DPoS,Delegated Proof of Stake) 共识机制,其中持有 LSK 代币的利益相关者投票选出代表,这些代表负责验证交易并创建新区块。Lisk 的 DPoS 系统的特点包括:

  • 代表(Delegates):101 名活跃代表由利益相关者选举产生,负责维护区块链。
  • 投票权:利益相关者通过锁定他们的 LSK 代币来为代表投票。
  • 激励机制:代表通过验证交易获得奖励,这些奖励通常会与他们的投票者分享。

DPoS 的工作原理

在 DPoS 中,创建区块和验证交易的权力被委托给一组被称为代表(Delegates)的信任节点,这些代表由 LSK 代币持有者通过投票过程选举产生。每个 LSK 代币代表一票,代币持有者可以将他们的票分配给多个代表。

代表选举

选举过程是持续进行的,代币持有者可以随时更改他们的投票。得票最多的前 101 名代表负责创建区块和验证交易。这确保了网络的去中心化,并且权力分布在多个参与者之间。

区块创建

代表轮流以循环方式创建区块。每个代表会被分配一个时间段,在此期间他们可以创建区块。如果一个代表未能在其时间段内创建区块,则下一个代表将接管。这一过程确保区块定期创建,网络保持高效。

验证

一旦区块创建完成,它会广播到网络并由其他节点进行验证。如果区块是有效的,它将被添加到区块链中。如果不是,它将被拒绝,并且创建此区块的代表可能会受到惩罚。这个验证过程确保只有合法的交易被包含在区块链中。

拜占庭容错 (BFT, Byzantine Fault Tolerance)

Lisk 采用拜占庭容错 (BFT, Byzantine Fault Tolerance) 机制以确保网络的可靠性和安全性。BFT 解决了在包含潜在故障节点的分布式系统中实现共识的挑战。Lisk 的 BFT 实现确保了最终性、一致性和弹性。一旦区块添加,它被认为是最终的,不能被回滚,并且所有诚实节点都同意区块链的状态。

网络可以容忍一定数量的故障节点而不影响安全性和功能。

BFT 的工作原理

Lisk 中的 BFT 是通过一个称为预投票和预承诺的过程实现的。这个过程涉及多个验证阶段,以确保区块被网络接受。

预投票:当一个区块被提议时,网络中的节点进行预投票,表示他们是否认为该区块是有效的。这些预投票被收集和统计。如果收到足够数量的预投票,区块进入下一个阶段。

预承诺:预投票节点接着进行预承诺。这些预承诺也被收集和统计。如果收到足够数量的预承诺,区块被认为是最终的,并被添加到区块链中。

最终性:一旦区块最终化,它不能被回滚。这确保了交易的永久性,并且区块链保持一致。预投票和预承诺的使用确保即使在存在故障节点的情况下也能实现共识。

可扩展性特性

Lisk 的架构通过以下特性解决了可扩展性挑战:

  • 侧链:允许独立的交易处理。
  • 高效共识:DPoS 和 BFT 确保快速且安全的交易验证。
  • 互操作性:促进侧链与主链之间的通信。

性能提升

Lisk 实施了多项特性来提升网络的性能和可扩展性。交易费用根据网络状况动态调整,帮助防止拥堵并确保交易高效处理。

Lisk 增强了其点对点层,以处理更高的连接量和数据吞吐量。这种优化提升了网络快速高效处理交易的能力。Lisk SDK 的模块化设计允许开发者创建定制化的区块链应用程序。每个应用程序可以独立运行,减轻主链的负载并提升整体网络性能。

互操作性解决方案

Lisk 的互操作性框架旨在促进不同区块链之间的通信。这通过多种机制实现:

跨链消息 (CCM): CCM 用于在侧链和主链之间传输数据和状态更改。这允许 Lisk 生态系统中不同链之间的无缝交互。

联邦双向锚定(Federated 2-Way Peg): 该机制支持侧链和主链之间的代币转移。一组可信的中介(组成联邦)管理代币的铸造和销毁,确保安全高效的转移。

通用跨链消息传递: Lisk 的互操作性解决方案支持传输各种类型的数据,而不仅仅是代币。这种灵活性允许广泛的应用程序,从代币转移到更复杂的数据交互。

未来路线图和更新

Lisk 的路线图包括几个关键里程碑,旨在增强平台的功能并扩展其生态系统。即将推出的开发包括计划启动一个与以太坊 Sepolia 测试网连接的 Layer 2 测试网。这个测试网将作为新功能和改进的试验场,在它们部署到主网之前进行测试。

引入质押和治理机制将赋予社区决策权。这些功能将促进去中心化,并鼓励 LSK 代币持有者的积极参与。对 Lisk SDK 的持续改进将提升开发体验,并使创建更复杂和可扩展的应用程序成为可能。

组件详细说明

Lisk 框架(Framework)

Lisk 框架是 Lisk SDK 的核心,为构建区块链应用程序提供了基本基础设施。框架基于模块化系统构建,允许开发人员通过自定义模块扩展功能,可以实现区块链功能,例如自定义交易类型或共识算法。

类似于模块系统,插件系统允许开发人员向其区块链应用程序添加额外功能。插件可以包括监控工具、分析工具或其他增强应用程序功能的辅助功能。

Lisk 框架管理区块链应用程序的生命周期,包括初始化、执行和关闭过程,确保应用程序平稳运行并易于维护。

Lisk 元素(Elements)

Lisk 元素是一组 JavaScript 库,提供与 Lisk 区块链交互的工具。这些库包括一套加密工具,用于保护交易和管理密钥,包括数字签名、哈希函数和加密机制。

这些库包括创建和管理区块链交易的工具,简化了开发与 Lisk 区块链交互的应用程序的过程。Lisk 元素包括用于管理区块链账户的实用程序,包括密钥生成、账户恢复和余额查询。

Lisk Commander

Lisk Commander 是一个命令行界面 (CLI, Command-Line Interface) 工具,简化了区块链应用程序的开发和管理。它包括用于设置和管理区块链节点的命令,包括启动、停止和监控节点操作。与区块链交互的工具包括查询状态、提交交易和检索区块数据。

部署和管理区块链应用程序的命令,包括创建新应用程序、更新现有应用程序和管理应用程序配置。

亮点

  • Lisk Core:管理所有区块链操作,包括交易处理、区块创建和网络同步。
  • Lisk SDK:一个用于构建定制区块链应用的工具包,包括Lisk 框架、Lisk 元素和Lisk Commander。
  • Lisk Service:在区块链和用户界面之间充当中间件,聚合并提供区块链数据访问。
  • 侧链架构:通过允许独立区块链与主链并行运行来增强可扩展性和灵活性。
  • 共识和安全性:使用委托权益证明(DPoS)和拜占庭容错(BFT)来确保网络的安全和高效运行。
免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.