复制成功

分享至

主页 > Web3.0 >

AppLayer 详解:跨链应用的模块化 EVM 层

2024.09.11

作者:Dewhales Research 来源:翻译:substack 善欧巴,金色财经

简介

AppLayer实际上有着相当长的开发历史,专注于扩展解决方案。最初,该团队致力于 Æverest++,它是在 2022 年 Avalanche 峰会的黑客马拉松期间出现的。该项目有一个简单的目标——构建一个满足两个关键要求的确定性子网:支持高吞吐量并使用 C++ 构建。这一发展后来演变为 SparqNet——一种协议,其中包含用于创建子网和去中心化应用程序的工具,具有破纪录的交易速度,实现了曾经被认为不可能实现的事情。

SparqNet 在一系列协议级服务中提供了巨大的价值,首先是处理来自 SparqNet 内及之外的任何 EVM 链的交易的桥接器。此外,SparqNet 不依赖于语言,其桥接器与任何链兼容,确保智能合约和资产的无缝转移。早在 2022 年,该团队就倾向于 GameFi 和 DeFi,他们继续沿着这条轨迹前进。

目前,我们将该项目视为AppLayer——用于跨链应用程序的模块化 EVM 层。它如何工作,与其他解决方案有何不同?让我们仔细看看。

2. AppLayer 评审

首先,值得注意的是,虽然AppLayer是 EVM 特有的,但它具有几个独特的功能。特别是,AppLayer旨在解决固有的 EVM 问题。例如,在以太坊虚拟机的情况下,您将无法执行以下任何操作:

  • 由于 gas limit 限制,执行某个函数循环超过 50 次;

  • 由于 EVM 的限制,堆栈大小大于 16 个变量;

  • 并行执行多个合约(例如,每次新区块包含与不同合约交互的多个交易时,您需要加载合约、分析合约,并按照特定顺序将每个合约的更改保存到数据库中)。

  • 正如AppLayer开发人员 Itamar 所说:“最大的问题是每个人都共享同一台计算机,而那台计算机是 Commodore 64。”

    因此,App Layer 是一个具有多层的模块化区块链,旨在解决这些限制。它引入了一个包含状态跟踪预编译的区块链系统,允许第三方在共享其状态的统一网络中部署和初始维护这些合约。所有这些都由 EVM 集成、状态保存预编译和链抽象支持。

    此外,区块链开发中最大的挑战之一是处理区块回滚。例如,在比特币链中,如果我们假设有一个最终区块,后面跟着另一个区块,并且一个节点收到一个替换最后一个区块的区块,那么下一个区块及其内的所有交易也会被替换,从而导致区块链状态回滚一个区块。

    比特币和其他衍生区块链遵循“最长链规则”。然而,回滚暴露了该规则中的问题。例如,当开发人员创建必须处理此类特殊情况的 dApp 时,可能需要付出巨大努力,具体取决于应用程序的大小和/或复杂性。

    解决这个问题的方法是完全避免回滚条件。这可以通过确定性地定义哪个网络节点可以创建块来实现,从而消除块竞争条件并使网络中的每个人都与同一个最终块同步。

    App Layer 将这一概念实现为随机确定性权益证明 (rdPoS),它结合了区块过载系统和随机数生成器系统,在任何给定时间只允许一个验证者创建一个区块,从而避免回滚并在超快速网络中达成共识。

    3. AppLayer 组件和网络参与者

    从基本层面上讲,AppLayer网络由三部分组成:

  • 一个区块链开发工具包(以下简称BDK),拥有丰富的开发人员文档,让他们能够以前所未有的自由度轻松创建自己的AppLayers。

  • 使用区块链开发工具包构建的 EVM 网络,允许开发人员部署 EVM 智能合约并使用 C++ 预编译和状态跟踪对其进行扩展。

  • 实现这些应用链与外部链之间数据和资产聚合的网络,称为链抽象网络(CAN)。

  • 因此,使用 BDK 创建的区块链可以通过AppLayer相互交互。

    为了使该系统正常运行,AppLayer有几个参与者和辅助组件:

  • 验证者——一台计算机,通常托管在数据中心,通常称为服务器,其唯一目的是操作和保护区块链网络。验证者需要质押至少 200,000 个 $APPL 代币,并负责创建区块、生成用于选择下一个区块创建者的“随机”种子,以及收集和签署桥接和区块数据。根据文档,该团队正在探索实施削减机制的可能性。

  • Sentinels与 Validators 类似,不同之处在于它们不能创建区块或独立运行。随机选择的 Validators 和 Sentinels 都必须向请求方提交相同的数据;否则,它们将被报告给网络作为恶意节点。AppLayer Labs 及其合作伙伴托管它们以确保这种情况不会发生。Sentinels 可以由受信任的第三方托管,并接受严格的 KYC 流程。最终,随着网络和核心技术的发展,Sentinels 将逐渐被淘汰,取而代之的是完全无需许可的系统。Sentinels 还需要质押 200,000 美元 APPL。

  • 应用程序链— 核心部分,也称为 AppLayer™,由使用 AppLayer 的区块链开发工具包 (BDK) 构建并部署在 AppLayer 的链抽象层上的区块链组成。AppLayer 的 BDK 目前支持使用 C++ 和 Solidity 进行开发,并计划添加其他语言,如 Rust、C#、Golang 等。这些应用程序链被编译成二进制文件,以便与 Solidity 字节码一起高效执行。

  • 桥接器— 允许 AppLayer 支持的区块链使用链抽象网络 (CAN) 作为中介进行本地通信的组件,其中 AppLayer 充当两个试图通信的 dApp 链之间的桥梁。该桥接器也由一组验证器和哨兵维护。

  • rdPoS(随机确定性权益证明)——允许验证者和哨兵处理区块过载和随机数生成。rdPoS 的核心是 RandomGen,这是一个确定性的 uint256_t 生成器,几乎用于与共识相关的所有事情。这种确定性的随机性确保每个节点都有机会响应给定的请求(区块、随机性、桥接等),同时还确保所选节点是真正随机的,不会受到恶意行为者的攻击。

  • 4. AppLayer 中的交易生命周期

    1.网络验证器列表是随机生成的,并使用来自前一个块的“随机性”种子进行排序。

    AppLayer 详解:跨链应用的模块化 EVM 层

    2.列表中的第一个验证者成为块创建者,而至少另外四个验证者生成一个随机的 32 字节字符串并使用它执行两个交易:一个包含指定字符串的哈希值,另一个包含字符串本身,两者都经过签名。

    AppLayer 详解:跨链应用的模块化 EVM 层

    3.对哈希进行验证以确保它们与相应的随机字符串匹配。

    4.第一个验证者通过组合和散列其他验证者的随机字符串来创建一个新块,以生成新的“随机性”种子,该种子将在下一个块中使用。

    AppLayer 详解:跨链应用的模块化 EVM 层

    4.该区块由第一个验证者签名并发布到网络,而其他验证者验证所有交易签名(随机和散列)是否与一开始生成的列表匹配。

    6.创世块(链中的第一个块)提供了有效的固定随机性,因为在创世块之前没有可以产生随机性的前一个块。此外,至少需要五个硬编码验证器来引导网络,因为每个块至少需要四个验证器来确认字符串和哈希交易签名,一个验证器来签署块本身。

    另外,该文档对 BDK 和合约(包括常规、EVM 和预构建)的内部功能和文件有非常详细的描述。

    5. AppLayer 为 GameFi 和 DeFi 开发者提供了哪些优势

    GameFi:

    以前,GameFi 开发人员必须手动解码交易数据并调用动态合约中的相应函数。例如,在玩家达到某个阶段后获得游戏内代币的游戏中,开发人员必须手动解码此交易并启动代币发行。这个过程可能很耗时,而且容易出错。
    有了新的自动注册功能,这个过程就自动化了。动态函数识别和注册允许系统在玩家到达检查点后立即自动发行代币。

    过去,使用 std::string 存储各种类型的数据会导致混乱和复杂性,尤其是在使用多种数据类型的游戏中。例如,游戏可能使用字节来存储图像数据,使用文字字符串来存储玩家姓名,使用十六进制来存储颜色代码。将所有这些都存储在 std::string 中并不直观。
    借助新更新,开发人员可以将这些类型存储在适当的类型(Bytes、BytesArr 和 BytesArrView)中,从而提高代码的可读性并减少调试问题。

    P2P 协议的全面改进可以彻底提高多人游戏的性能。在快节奏的多人游戏中,每一毫秒都至关重要。使用 Websockets 进行 P2P 通信可能会导致延迟并降低游戏体验。
    通过在新更新中切换到原始 TCP 套接字,对等体之间的通信变得更快、更高效。这意味着更快的游戏同步和数据传输,从而带来更好的游戏体验、更多的实时互动和更快乐的玩家。

    在通过反射简化合约管理之前,开发人员必须在合约管理器中手动注册动态合约,这可能会导致复杂的工作流程。想象一下,一款游戏涉及多个智能合约——一个用于玩家排名,一个用于代币发行,还有一个用于游戏内购买。每个合约都必须手动注册,这是一个繁琐的过程。
    引入适当的合约返回类型可以简化开发过程。考虑一款有市场的游戏,玩家可以在其中购买、出售和交易游戏内资产。以前,当玩家购买物品时,合约函数会返回通用类型,需要开发人员处理类型转换和解释。这很复杂,而且容易出错。

    DeFi:

    以前在 DeFi 中,如果开发人员想要在允许代币交换的动态合约中编码函数,他们必须手动解码交易数据。例如,将一种加密货币兑换成另一种加密货币需要手动注册交易的每个步骤。
    使用自动注册,这个过程变得简单,因为系统可以动态识别和注册动态合约中的函数。

    在 std::string 中存储各种数据类型(例如交易详细信息、地址或代币信息)可能会导致混乱并增加调试时间,从而降低 DeFi 操作的整体效率并减慢智能合约的执行速度。

    P2P 协议的重大改革可以增强 DeFi 应用程序的性能。以前,使用 Websockets 可能会减慢交易速度或导致数据传输效率低下。

    在更新之前,必须在合约管理器中手动注册用于管理流动性池、质押协议或收益耕作方案的动态合约。这可能既耗时又复杂。
    现在,此更新使注册过程自动化,简化了多个合约的管理,使开发人员可以专注于构建更高级的 DeFi 协议,而不是管理管理任务,从而加速 DeFi 应用程序的发展。

    随着适当的合约返回类型的引入,交互变得更加简单。例如,如果用户想要查看其贷款余额,合约函数现在会返回正确的类型,无需进行复杂的类型转换。这简化了用户体验,使 DeFi 更容易被更广泛的受众所接受。

    6. 团队

    AppLayer 拥有经验丰富的创始人以及 5 名开发人员、3 名 BD 和 3 名营销团队成员。

    联合创始人兼业务主管 Michael Weinrub自比特币诞生之初就一直涉足加密货币领域。Michael 拥有从 0 到 1 的创业经验,并曾在 Microsoft 和 Citrix 等公司从事技术解决方案销售工作。

    Itamar Carvalho,联合创始人兼首席技术官- Itamar 自 2016 年以来一直在为企业构建定制区块链,并利用了这些定制实施中的大量知识和经验。此外,Itamar 一直致力于创建一种高度灵活的区块链解决方案,该解决方案可以追溯到 2018 年,允许实施超级定制区块链系统,我们决定在 2022 年将我们的两个框架合并为一个 SDK,其他构建者可以利用该 SDK,从而在 Avax 峰会上赢得黑客马拉松。

    7. 合作与整合

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier