其基础设施以什么为基础

核心提示简介随着跨链桥、新一代测试框架和其他加密协议的迅速出现,如何有效地绘制区块链基础设施蓝图,仍然是用户、开发人员和投资者的一个重磅问题。"区块链基础设施 "可以包括从底层网络栈到共识模型/虚拟机中各种不同的产品和服务。在以后的文章中我们也将对

简介

随着跨链桥、下一代测试框架和其他加密协议的快速出现,如何有效地绘制区块链基础设施的蓝图仍然是用户、开发者和投资者面临的一个沉重问题。“区块链基础设施”可以包括从底层网络堆栈到共识模型/虚拟机的各种产品和服务。在以后的文章中,我们还将对构成L1/L2链的各种“核心”组件进行更深入的分析。在本文中,我们探讨的具体目标是:

全面概述区块链基础设施的其他关键组成部分。

将这些组件分解成更清晰、更容易理解的子部分。

基础设施图

我们将区块链基础设施的“生态系统”定义为旨在支持L1和L2在以下关键领域发展的协议:

第0层基础设施

分散式云服务

节点基础设施

夹层

数据可用性

通信/消息传输协议

区块链发展

和安全测试。

开发者工具

第0层基础设施

分散式云服务

对于云服务Web2的发展至关重要——随着应用计算和数据存储需求的增加,云服务提供商以低成本的方式快速提供数据和计算至关重要。在区块链的概念下,Web3应用对数据和计算有类似的需求。因此,去中心化版本的云计算服务协议应运而生。

分散式云服务有3个核心部分:

存储-数据/文件存储在由多个实体运行的服务器上。因为数据可以跨多个服务器复制或存在,所以这些网络也可以实现高度的容错。

计算——就像存储一样,计算集中在Web2范式中。分布式计算侧重于将计算分布在多个节点上,以实现更高的容错能力。

索引——在Web2世界中,数据已经存储在一个或一组由一个实体控制和操作的服务器上,查询这些数据相对容易。因为区块链节点是分布式的,所以数据也可能是孤立的,并且分散在不同的区域,并且通常处于不兼容的标准之下。索引协议聚集了这些数据,并提供了一个易于使用的标准化API来访问这些数据。

可以提供存储、计算和索引的两个项目:Aleph和Akash network。

细分领域的专业化项目:如专业索引的Graph和专业存储的Arweave/Filecoin。

节点基础设施

远程过程调用是各种软件系统的核心功能。

它们允许一个程序调用或访问另一台计算机上的程序,这特别适合区块链,因为区块链必须处理来自运行在不同区域和环境中的机器的大量传入请求。Alchemy、syndication和Infura等网络协议提供了这种基础设施即服务,允许开发人员专注于高级应用程序开发,而不是专注于涉及中继或路由节点调用的底层机制。Alchemy和很多RPC厂商一样,掌握并操作了所有节点,但对于加密货币社区的很多人来说,集中式RPC的危险是显而易见的——仅仅引入单点故障就可能危及整个区块链的有效性。最近也有像Pocket这样的去中心化RPC协议可以解决这个问题,但是这种方法的有效性还有待大规模测试。

承诺者/验证者-区块链的安全性依赖于一组分布式节点来验证链上的交易,但是必须有人实际运行来参与共识节点。

在大多数情况下,运行一个节点所需的时间、经济成本和能源消耗都是非常大的,导致很多人选择退出,依靠别人来承担保障链条安全的责任。但是,这种行为也带来了严重的问题——如果每个人都决定把安全转嫁给他人,就没有人去验证了。而像P2P和Blockdaemon这样的服务运行基础设施,并允许没有经验或资金不足的用户通过筹集资金来参与共识。有人认为这些承诺的供应商引入了不必要的集中化程度,但另一种情况可能更糟糕——没有这些供应商,对于普通网络参与者来说,运行节点的门槛会极高,这可能导致更高的集中化程度。

夹层

数据可用性

应用程序是数据的大量消费者。在Web2范式中,这些数据通常以集中的方式直接来自用户或第三方供应商。

DApp也是一个数据消耗大户,但它需要节点向用户或链上运行的应用程序提供这些数据。为了最小化信任问题,以分布式方式提供这些数据也是极其重要的。应用程序快速高效地访问高保真数据有两种主要方式:

Oracle提供了链下数据流的访问通道,因此加密网络可以以高度可靠和分布式的方式与传统/过时的系统和其他外部信息连接,包括高质量的财务数据。这项服务对于将DeFi扩展到贸易、贷款、体育博彩、保险等广泛领域至关重要。

可用性层是一个链,专门处理事务排序并向其支持的链提供数据。通常,它们为用户提供了数据可用性的高概率确认证明,即所有块数据都已在链上发布。可用性证明是保证Rollup分拣机可靠性、降低Rollup交易处理成本的关键。Celestia的数据可用性层就是一个很好的例子。

通信和消息传输协议

随着第一层数量的增加及其生态系统的发展,对管理跨链的可组合性和互操作性的需求也在增加。跨链桥允许孤立的生态系统以有意义的方式互动——类似于帮助连接不同地区的贸易路线,以迎来知识共享的新时代。虫洞、零层和其他跨链桥接方案支持通用消息传递,允许所有类型的数据、信息和令牌在多个生态系统之间流通——应用程序甚至可以跨链进行任意函数调用,使其能够进入其他社区和其他协议,而无需部署在其他地方。Synpase和Celer等其他协议仅限于资产或令牌的交叉链。

在线信息传输仍然是区块链基础设施的一个关键组成部分。随着DApp开发和零售需求的增长,分布式协议和与用户交互的能力将成为增长的关键驱动力。以下是几个潜在的信息传输领域。

代币申请通知

允许在钱包中进行信息交流。

重要协议更新公告/通知

跟踪关键问题的通知

链上开发通信协议的几个著名项目:Dialect、以太坊推送通知服务、XMTP。

区块链发展

安全和测试

区块链安全和测试是相对不发达的新生事物,但不可否认,它对整个生态系统的成功至关重要。区块链应用对安全风险特别敏感。由于它们通常直接保证资产的安全,因此设计或实施中的一个微小错误往往会导致巨大的经济损失。

7主要安全和测试方法:

单元测试是大多数软件系统测试套件的核心部分。开发人员编写各种有用的单元测试框架来检查和验证软件中最小的可测试单元。以太坊比较流行的有华夫饼和松露,Solana chain有Anchor测试框架。

集成侧重于将各种软件模块作为一个整体进行测试。尽管这种测试范式在区块链之外被广泛使用,但是它也可以在区块链开发中发挥作用。因为库和高级驱动程序经常以各种方式与其他低级模块交互,所以测试这些模块之间的数据和信息流是必不可少的。

审计已经成为区块链发展安全进程的核心部分。在为用户发布智能合约之前,该协议主要依靠第三方代码审计来检查和验证每一行代码,以确保最高级别的安全性。Trail of Bits、Open Zeppelin和Quantstamp是合同代码审计中几个值得信赖的团队。

形式验证是关于检查一个程序或软件组件是否满足一组属性。通常会有人写一个产品规格说明,详细解释程序应该如何运行,形式验证框架会对规格说明形成一组约束,然后进行处理和检查。Certora是一个领先的项目,它使用形式验证和运行时验证来加强智能合约的安全性。

模拟——长期以来,量化交易公司一直使用基于代理的模拟系统来来回回地衡量交易策略。鉴于区块链测试的高成本,模拟提供了一种测试各种假设和输入的方法。混沌实验室和Guantlet是使用基于场景的仿真来保障区块链协议平台的典型例子。

漏洞奖励——漏洞奖励利用区块链的去中心化概念,帮助解决大规模的安全问题。代币奖励激励社区成员和黑客报告和修复关键问题。因此,奖励计划在将“灰帽子”变成“白帽子”方面发挥了独特的作用。事实上,虫洞现在在Immunefi上有一个价值高达1000万美元的bug赏金(史上最大的软件漏洞赏金之一)。我们也鼓励大家为网络安全事业做贡献!

测试网——测试网提供与主网相同的运行环境和相似的工作原理的demo,允许开发者在开发环境中测试和调试参数。许多测试网络使用PoA共识机制或其他共识机制,以较少的验证者来优化事务速度。因为试水网上的钱没有实际价值,所以试水网没有程序允许用户通过挖矿获得代币,而是通过抽头。同时,建立了许多测试网络来模拟主网络L1的行为。

上述方案各有利弊。当然,它们并不相互排斥,但是相应的测试方案通常用于项目开发的不同阶段。

第一阶段:在构建智能契约时进行单元测试。

第二阶段:当更高层次的抽象功能建立后,集成测试对于测试不同模块之间的交互变得尤为重要。

第三阶段:代码审计通常在测试网/主网发布或大型功能发布时进行。

阶段4:形式验证通常与代码审计相匹配,并作为额外的安全保证。一旦程序在链上运行,后续的过程就可以自动化,这样持续集成或持续部署工具就可以很容易地与之配对。

第五阶段:应用在测试网络上运行时,需要检查吞吐量、流量等扩展参数。

第六阶段:主网部署完成后,启动漏洞奖励策略,利用社区资源发现和修复问题。

测试计划摘要

开发者工具

任何技术或生态系统的发展都依赖于其开发者的成功,尤其是在区块链。

我们将开发人员工具分为3个主要类别:

现成的工具

SDK有助于抽象创建和部署底层共识核心的过程。预建模块允许提高开发速度和标准化,同时确保灵活性和定制。Cosmos SDK使Cosmos生态系统中的新PoS公链得以快速发展。币安链和泰拉是基于宇宙链的优秀范例,堪称行业典范。

智能合同开发——市场上有许多工具可以帮助开发人员快速创建智能合同。例如,Truffle Boxes提供了一个易于使用的Solidity契约示例,社区也可以扩展和补充其资源库。

前端/后端工具

现在有很多工具,让应用开发变得方便简单,同时可以把应用部署到链上。

升级和契约交互——不同的生态系统有不同的工具来处理RPC请求、发布IDL和生成客户端。

和语言IDE

区块链的编程模型通常与传统的软件系统有很大不同,用于区块链开发的编程语言是为了促进区块链编程模型的发展。Solidity和Vyper在EVM兼容链中广泛使用,而Rust等其他语言在Solana和Terra等链中广泛使用。

摘要

“区块链基础设施”可能是一个定义过度、难以理解的术语——它通常是一系列产品和服务,涵盖从智能合同审计到跨链桥的所有内容。

关于加密货币基础设施的讨论要么过于宽泛或令人困惑,要么对于普通读者来说过于专业,因此我们希望这篇文章能够在刚刚进入加密领域的小白和那些寻求更专业解释的人之间取得适当的平衡。

当然,加密领域正在快速发展,本文中提到的协议甚至在未来两三个月内可能不再构成合适的解释。但即使如此,我们相信这篇文章的主要目标在未来将具有更大的意义,我们一定会随着区块链基础设施的发展更新和补充清晰准确的观点。

-

作者拉胡尔·马甘迪

翻译:小橙校对:美第奇排版:邱老师

 
友情链接
鄂ICP备19019357号-22