Original title: "
Original title: "Peeking Under the Hood: Key Pillars of Crypto Infrastructure》
Jump Crypto: How to Build a Layer 1 Analysis Framework
Related Reading
Jump Crypto: How to Build a Layer 1 Analysis Framework
Introduction
With the rapid emergence of cross-chain bridges, new frameworks, and other core cryptographic protocols, effectively planning blockchain infrastructure remains a key challenge for users, developers, and investors. The term "blockchain infrastructure" can cover a variety of different products and services, from underlying networking stacks to consensus models or virtual machines. We reserve a more in-depth analysis of the various "core" components that make up the L1/L2 chain for a future post (stay tuned!). In this article, our specific goals are:
Provides a broad overview of key components of blockchain infrastructure.
Break down these components into clear, digestible subsections.
infrastructure map
We define an ecosystem around blockchain infrastructure as protocols designed to support L1 and L2 development in the following key areas:
Layer 0 infrastructure:(1) Decentralized cloud services (storage, computing, indexing); (2) Node infrastructure (RPC, pledge/validator)
Middleware:(1) Data Availability; (2) Communication/Messaging Protocol
Blockchain development:first level title
secondary title
Decentralized cloud service
storage
storagecalculate
calculate-- Like storage, computing is centralized in the Web2 paradigm. Decentralized computing is concerned with distributing this computation across many nodes for greater fault tolerance (if one or a group of nodes fails, the network can still serve requests with minimal disruption to performance).
index--In the Web2 world, data is already stored on a server or a group of servers owned and operated by an entity, and it is relatively easy to query this data. Because blockchain nodes are distributed, data can be siled, scattered across different regions, and often under incompatible standards. The indexing protocol aggregates this data and provides an easy-to-use and standardized API to access it.
Node infrastructure
Node infrastructure
Remote procedure calls (RPCs) are central to the functionality of many types of software systems. They allow one program to call or access programs on another computer. This is especially useful for blockchains, which must service a large number of incoming requests from various machines running in different regions and environments. Protocols such as Alchemy, Syndica, and Infura offer this infrastructure as a service, enabling builders to focus on high-level application development rather than the underlying mechanisms involved in transporting and routing calls to nodes.
Like many RPC providers, Alchemy owns and operates all nodes. The dangers of centralized RPC are obvious to many in the crypto community—it introduces a single point of failure that can compromise blockchain liveness (i.e., if Alchemy fails, applications will not be able to retrieve or access zone data on the blockchain). More recently, decentralized RPC protocols like Pocket have grown to address these issues, but the effectiveness of this approach remains to be tested at scale.
Staking/Validators - Blockchain security relies on a distributed set of nodes to validate transactions on the chain, but someone must actually run the nodes participating in consensus. In many cases, the time, cost, and energy required to run a node have been prohibitive, causing many nodes to opt out and rely on other nodes to assume responsibility for securing the chain.
data availability
middleware
data availability
Applications consume a lot of data. In the Web2 paradigm, this data usually comes directly from the user or a third-party provider in a centralized fashion (the data provider gets paid directly for aggregating and selling the data to specific companies and applications - like Amazon, Google or other machines learning data provider).
DApps are also large consumers of data, but require validators to make this data available to users or applications running on-chain. In order to minimize trust assumptions, it is important to provide this data in a decentralized manner. Applications can access high-fidelity data quickly and efficiently in two main ways:
Data oracles such as Pyth and Chainlink provide access to data streams, allowing encrypted networks to interface with traditional systems and other external information in a reliable and decentralized manner. This includes high-quality financial data (i.e. asset prices). This service is critical to expanding DeFi to a wide range of use cases in trading, lending, sports betting, insurance, and many other areas.
secondary title
Communication and Messaging
As the number of Layer1 and its ecosystem grows, the need for cross-chain management composability and interoperability becomes more urgent. Cross-chain bridges enable otherwise isolated ecosystems to interact in meaningful ways, similar to how new trade routes help connect otherwise disparate regions, ushering in a new era of knowledge sharing! Wormhole, Layer Zero, and other cross-chain bridge solutions support universal messaging, allowing all types of data and information (including arrests) to move across multiple ecosystems, and applications can even make arbitrary function calls across chains, enabling them to enter other community without having to deploy elsewhere. Other protocols like Synpase, CELER, etc. are limited to cross-chain transfers of assets or tokens.
On-chain messaging remains a key component of blockchain infrastructure. As DApp development and retail demand grow, the protocol's ability to interact with its users in a meaningful but decentralized manner will be a key driver of growth. Here are a few potential areas where on-chain messaging could be useful:
Notification of token collection.
Allows communication messaging to be built into the wallet.
Notice regarding important updates to the agreement.
Track notifications for critical issues (e.g. risk indicators for DeFi applications, security breaches).
first level title
secondary title
Safety and Testing
The security and testing of encryption technology is relatively in its infancy, but it is undeniably critical to the success of the entire ecosystem. Encrypted applications are especially sensitive to security risks because they often have a direct relationship with user assets. Small mistakes in their design or implementation can often have serious economic consequences.
There are 7 main security and testing methods:
unit testIntegration Testing
Integration Testingaudit
auditformal verification
formal verificationInvolves checking whether a program or software component satisfies a set of properties. Usually, someone writes a formal specification detailing how the program should behave. A formal verification framework will turn this specification into a set of constraints, which are then solved and checked. One of the leading projects to enhance the security of smart contracts. Certora is a leading project that uses Runtime Verification to implement formal verification to support the security of smart contracts.
simulation— Quantitative trading firms have long used agent-based simulations to backtest algorithmic trading strategies. Given the high cost of experimenting in blockchains, simulation methods provide a way to parameterize protocols and test various hypotheses. Among them, Chaos Labs and Guantlet are two high-quality platforms that utilize scenario-based simulations to secure blockchains and protocols.
bug bountyHelps leverage the decentralized ethos of the crypto space to solve large-scale security challenges. High bounties incentivize community members and hackers to report and fix critical bug issues. Thus, bounty programs play a unique role in turning "gray hats" into "white hats". For example, Immunefi, a bounty platform created by Wormhole, offers bug bounties worth up to $10 million! We encourage anyone to get involved!
test networkProvide a display form similar to the mainnet network, and support developers to test and debug parameters in the R&D environment. Many testnets use Proof-of-Authority/other consensus mechanisms with a small number of validators for speed optimization, and tokens on the testnet have no real value. Therefore, users have no other way to acquire tokens other than through a faucet. There are many testnets built to mimic some projects on the mainnet L1 (e.g. Rinkeby, Kovan, Ropsten in Ethereum).
Each approach has its own advantages and disadvantages, and they are certainly not mutually exclusive. Different testing styles are usually used in different stages of project development:
Phase 1: Write unit tests while building the contract.
Phase 2: Once the higher-level program abstractions have been built, integration tests are important for testing the interactions between modules.
Phase 3: Code audits are performed at testnet/mainnet launches or large feature releases.
Phase 4: Formal verification is often combined with code auditing and uses additional security guarantees. Once the program is specified, the rest of the process can be automated, which makes it easy to pair with Continuous Integration or Continuous Deployment tools.
Stage 5: Launch the application on the test network to check throughput, flow and other scaling parameters.
secondary title
developer tools
The growth of any technology or ecosystem depends on the success of its developers — and this is especially true in the crypto space. We group developer tools into four main categories:
out-of-the-box tools
An SDK for developing the new L1 that helps abstract the process of creating and deploying consensus models. Prebuilt modules allow for flexibility and customization, but are optimized for development speed and standardization. A good example of this is the Cosmos SDK, which enables rapid development of new proven blockchains within the Cosmos ecosystem. Binance Chain and Terra are well-known examples of Cosmos-based public chains.
Smart contract development - there are many tools that can help developers quickly develop smart contracts. For example, Truffle boxes contains simple yet useful examples of Solidity contracts (voting, etc.). The community can also suggest addenda to this repository.
Frontend/Backend Tools- There are many tools to simplify application development. Connect the application to the chain (ie, ethers.js, web3.js, etc.).
Upgrade and interact with contracts(e.g. OpenZeppelin SDK) — There are various tools specific to the ecosystem (e.g. Anchor IDL for Solana smart contracts, Ink for Parity smart contracts) that handle writing RPC request handlers, issuing IDLs, generating clients from IDs.
Languages and IDEsin conclusion
in conclusion
Blockchain infrastructure can be an overloaded and confusing term, often synonymous with a range of products and services, covering everything from smart contract auditing to cross-chain bridges. As a result, discussions of cryptographic infrastructure are either too broad and disjointed, or too specific and focused for the average reader. We hope this article strikes the right balance for those just getting into the crypto industry and those looking for a more in-depth overview.
Of course, the crypto industry is changing rapidly, and it is likely that the protocols referenced in this article will no longer constitute a representative sample of the ecosystem in 2 or even 3 months. Even so, we believe that the main goal of this paper (i.e. decomposing infrastructure into more comprehensible and comprehensible parts) will be of greater relevance in the future. But as the blockchain infrastructure landscape evolves, we will also make sure to provide clear and consistent updates to our thinking.
