风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

Celestia:测试模块化区块链软件简介

对于模块化区块链,测试过程更为复杂,因为有更多的节点类型和可能的设置。

Nhu Viet Nguyen
Nhu Viet Nguyen
热度 ...

原文来源:Celestia

原文作者:Nhu Viet Nguyen

原文标题:Intro to testing modular blockchain software

编译:录觉麟,GWEI Research

生产网络中的简单错误和常见问题是威胁去中心化区块链弹性的问题。考虑到众多用户和应用程序都依赖这些区块链,这个问题尤为重要。我们希望强调一个在讨论中被忽视,而且更重要的是,在确保区块链稳定性方面被低估利用的关键组成部分。

这篇文章将讨论测试区块链的重要性以及有效测试它们的策略。

TL;DR

  • 区块链网络的健壮性涉及对节点类型、定制化和网络范围内的性能进行严格测试,以确保安全性和可靠性。
  • 随着模块化区块链中节点设置的灵活性增加,加强维护网络安全性和可靠性的测试实践至关重要。
  • 有效的测试策略包括单元测试、集成测试和系统测试。
  • 测试模块化区块链的挑战包括复杂性、互操作性问题以及缺乏标准化框架。

测试区块链的重要性


测试区块链网络对于确保其安全性、可靠性和长期稳定性至关重要。测试确保如果网络没有按预期运行,问题会在部署之前被识别和解决。

对于模块化区块链,测试过程更为复杂,因为有更多的节点类型和可能的设置。

每种节点类型都必须单独测试,然后作为整个网络的一部分进行测试。由于每种节点类型都可以进行定制,因此测试过程还必须包括定制的测试。

区块链的测试策略 在进行测试过程时要记住的事项 所有团队,Celestia Labs也不例外,在软件开发的每个方面都有有限的人力资源。由于区块链开发节奏很快,测试被认为是相对于发布新功能的较低优先级。即使在测试时间有限制的情况下,团队应该记住,如果他们遵循简单的指导原则,测试可以是有效的:

  1. 穷尽测试是不可能的。你不能覆盖所有内容,但通过识别和优先测试高风险元素,你可以覆盖很多内容。
  2. 尽早发现并修复错误。随着错误从规格到测试网到主网的传播,修复它们的成本逐渐增加。
  3. 任何自动化都比没有好。在进行大型网络端到端测试时,自动化变得至关重要。
  4. 在将软件发布给公众之前,在内部开发网上进行测试。确保软件在发布到测试网之前是稳定的,这样可以减少社区的工作量和挫败感。
  5. 手动测试总比没有测试好。虽然手动测试不是可扩展的长期解决方案,但它仍然对短期目标有用。你可以在以后引入自动化。


区块链测试金字塔


与任何软件测试一样,区块链的测试过程应该既包括功能测试,也包括非功能测试。功能测试侧重于检查单个模块及其与其他模块的相互作用。另一方面,非功能测试评估网络的性能、安全性和可扩展性,以确保一个健壮且可靠的区块链系统。

以下策略可用于有效地测试区块链:

节点

1.单元测试

单元测试涉及对每个模块单独进行测试,以确保其正确运行。在这种情况下,一个模块的示例是celestia-node的头部,它封装了如何在网络中的不同节点之间传播头部的信息。它对区块链至关重要,因为它允许对每个模块的定制进行测试。

节点这种测试策略有助于在模块集成到网络之前发现任何问题。对于模块化区块链与模块化软件设计相结合的情况,隔离测试每个组件是非常有益的。


2.集成测试

集成测试对于区块链至关重要,以确保模块之间的交互如预期一样。这种测试策略涉及将模块与其他模块一起进行测试,以确保它们之间的互操作性。

关于【Celestia:测试模块化区块链软件简介】的延伸阅读

  • Movement的公链新解:“将 Move 引入 EVM”如何重塑以太坊与 Move?

    LFG Labs推出基于Move语言的以太坊L2,旨在将Move系智能合约的安全性和高性能与EVM系的流动性和用户群结合。Movement SDK提供了模块化的MoveVM虚拟机、编译器和自定义适配器,解决了Move生态系统的破碎化问题。M1和M2公链架构集成了以太坊虚拟机,允许开发者在M2上启动并引入EVM系的DApp。M2使用零知识证明提高隐私和安全性,同时支持EVM和Move语言编写的智能合约。顶级VC机构已开始布局,为新的场景用例和生态增长奠定基础。

  • 以太坊 meme 又行了?

    特朗普成为美国史上首位被判有罪的前总统,引发加密社区反应。特朗普相关概念币大幅波动,以太坊和Solana是唯一存活的公链,但市值差异明显。以太坊上的特朗普概念币涨幅数百倍,Solana上的相关代币存活时间短且涨幅较小。最近讨论度高的名人币Caitlyn Jenner在以太坊走向归零。Meme文化对公链发展至关重要,是公链生态繁荣的标志。以太坊是公链中的" 世界名城",近期Solana上的名人meme币再次引发关注,但以太坊仍受投资者青睐。

节点一个模块与模块测试的例子是一个节点与另一个节点进行测试。在Celestia的情况下,我们通常会测试一个轻节点从一个单一的桥节点同步和抽样。它们都是从一个代码库编写的,但打包方式不同。

集成测试有助于发现模块之间交互和网络中的任何问题。

在这个测试级别中,通常需要准备一个同一台机器上的小型节点网络来进行测试。


3.系统测试

系统测试涉及测试整个网络,以确保其符合必要的要求。这种测试策略涉及测试网络的性能、可扩展性和安全性。系统测试有助于发现网络整体功能和性能方面的问题。

节点在系统测试中,通常使用较大的节点网络来模拟真实环境。这种测试策略有助于发现由于网络的去中心化特性而可能出现的问题。

Celestia在系统级别发现的一个很好的例子是在提交交易或DA节点进行简单余额检查过程中出现的密钥不匹配问题。在PayForBlob功能的负载测试期间发现了这个功能性错误。系统测试通常会揭示那些单元/集成测试无法发现的问题,尽管测试场景简单,有时与测试计划的测试目标无关。

另一个例子是在系统发布测试中发现的误报,其中DA节点正常运行,但经过严格审查后发现实际上并未运行。

此外,系统测试还有助于确保网络能够处理大量的交易和用户。

系统测试是区块链测试过程的关键部分。它有助于确保网络按预期运行,并在部署之前识别和解决任何问题。通过在系统级别测试区块链,我们可以确保它们被社区成功采用和使用。

这种测试级别被认为是最昂贵的,不应该像单元/集成测试那样具有相同的覆盖范围。对于模块化设计的区块链来说尤其如此,因为在设计系统测试时需要考虑更多的上下文。

我们将在本系列的第二部分更详细地介绍这个测试级别。


模块化区块链测试的未来


随着区块链的不断发展,测试也必须发展。新的测试策略和框架将出现,现有的策略和框架将得到改进。测试过程将变得更加自动化和简化,从而减少测试时间和成本。

随着区块链的广泛应用,标准化测试框架的需求将变得越来越明显。标准化框架将帮助测试扩展到更多类型的网络和用例。如果你喜欢这篇介绍性文章,我们将在第二部分解释Celestia Labs如何使用一个名为Testground的工具进行大规模网络测试。

免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Nhu Viet Nguyen,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1691124277.html

下一篇:

长推:复盘如何快速、准确捕获百倍币

一个 meme能不能成,要看项目方。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5