Technical Articles

Tech Articles from your friends at Oracle and the developer community.

Topics
          Topics

          Getting Started with Web3: A Guide

          Introduction

          Web3 is an evolving take on the existing Web (referred to variously as Web 2.0 or Web2), which places a strong emphasis on decentralized applications and makes extensive use of blockchain-based technologies. Some have viewed this as not so much of an extension of Web 2.0, but a reaction to it, where it is believed that control has become concentrated in a small group of companies occasionally referred to as “Big Tech” or by the acronym FAAMG (Facebook, Apple, Amazon, Microsoft, and Google), resulting in security risks and the commodification of user data. Proponents argue that Web3 would help reverse these trends by “democratizing” the web through decentralization and in so doing provide increased data security, scalability, and privacy for users. The often-stated goal of Web3 is to enable Internet-based content creators and owners where everyone can 1) control access to their information and 2) monetize it.

          However, there are broader definitions of web3 that incorporate a number of inter-related capabilities, including:

          • Portable digital assets (tokenization)

          • Decentralized identities

          • Decentralized storage

          • Decentralized governance

          Enabled by these capabilities, Web3 can be described as a complex set of services and capabilities powered by blockchain and AI technologies to support the next generation of P2P, B2C, B2B, and potentially G2C interactions. Some of these interactions are expected to be taking place in a Metaverse amplified by virtual, augmented, and extended reality.

          Key characteristics

          Decentralized services – The Web3 is a distributed set of peer-to-peer nodes that retains no centralized organizational structure, avoiding dependence on API and service providers that embody centralization of pathways into the decentralized world of blockchain.

          Decentralized access governance – A centralized authority isn’t required to decide who can access certain services.

          Trustless - An intermediary isn't necessary for virtual transactions to occur between two or more parties. Interactions are mediated by smart contracts, which are immutable and autonomous pieces of code that run on the blockchain. Since all parties can be assured of the details of the contract and know that it will be executed automatically, there is no need for an additional layer (or a third party) to ensure trust in the system.

          Data sovereignty – Another key aspect of Web3 is the belief that a user should be in complete control of their personal data, both in terms of where it resides and how it is to be used. The use of digital wallets as accounts and DIDs (digital IDs) are both efforts to implement this in Web3.

          Private and anonymous – Since users on Web3 retain control of their identity, only their wallet address is revealed unless they specify otherwise. This provides a significant measure of privacy in this context.

          In general, the distributed nature of Web3 makes it less vulnerable to attack, but there are still other security concerns that need to be addressed to minimize risks (see Security below)

          “Your wallet is your login” – Once again, your identity is not revealed when connecting to a site on Web3. Instead, your wallet provides a Verified Credential (i.e., a proof of entitlement) or uses a VC to respond to a challenge, and you can control what information is provided at any given time. This provides both anonymity and data sovereignty.

          Transparent – Since significant transactions and events in Web3 are anchored on a blockchain, this means that every transaction or event record in its immutable ledger can be accessible as proof of that transaction or event.

          Key technologies

          Onramp to Web3

          Web3 is most often associated today with digital wallet applications used to trading cryptocurrency or NFTs. While the exchange of tokens and proof of identity associated with a digital wallet is intrinsic to many aspects of the technology, Web3 represents a rich (and growing) ecosystem of applications intended to replicate and/or improve upon those in Web2.

          Web3 can be accessed from nearly any internet-capable device. If you trade cryptocurrency or have a crypto wallet, you could be using Web3, at least in some capacity.

          Components of Web3 can be accessed through decentralized applications (or dApps). dApps can either be built as browser extensions (although the caveat here is that many come with inherent security risks since they are easily spoofable) or directly downloaded from a dApp marketplace.

          In most cases, to safely access Web3, it’s best to use a privacy-based web browser like the ones listed at https://www.zdnet.com/article/best-browser-for-privacy/.

          Developing in Web3 - what you need to know

          Now that we have a little perspective on Web3, let’s look at some of the ways in which a developer can become involved in developing for it. At present, there are two development pathways a developer can pursue when building applications in this space, and like most things related to Web3, it comes down to the type of blockchain you choose. Typically, development for the Web3 ecosystem has meant accessing platforms for public blockchains, like Ethereum or Bitcoin. However, permissioned blockchain solutions, offered with private on-premises nodes or through Blockchain as a Service (BaaS) cloud offerings, such as Oracle Blockchain Platform, have become a popular way for business customers to use cloud-based blockchain solutions to develop and host their own applications, smart contracts, and other functions while the cloud service provider manages deployment, provisioning, and infrastructure upkeep.

          No matter which of the development routes you choose, however, in general, there are effectively three layers to Web3 applications. The blockchain ledger infrastructure, smart contracts running on blockchain nodes, and the client software that provides a user interface.

          Like Web2, there are both broad-based and tailored development platforms designed to accommodate the pieces noted above. In addition, it’s important to keep in mind that the current Web3 space is highly fragmented, with many tools and applications designed only for a specific blockchain.

          General

          Since development for public blockchains is a much more diverse environment than for BaaS applications, we’ll start with some of the most utilized public blockchains and solutions.

          Ethereum (or EVM-based blockchains)

          Ethereum has introduced smart contracts in a blockchain landscape, and since then has enabled developers to create and host their decentralized applications, becoming the most popular platform for dApp developers.

          Ethereum continues its migration to the Ethereum 2.0 upgrade. Once completed, the blockchain will be able to support additional users and provide enhancements geared toward efficiency and transaction speed.

          Go Ethereum (Geth)

          Go Ethereum is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source, and licensed under the GNU LGPL v3. It’s available either as a standalone client called Geth or as a library that can be embedded in your Go, Android, or iOS projects.

          Other blockchains

          Inevitable extensions of Bitcoin and Ethereum have been developed. Multichain is one well-known extension of Bitcoin, which provides certain specialized capabilities for business use. Another open-source effort led by Hiro have sought to extend Bitcoin to unlock the potential of smart contracts using Stacks (Stacks API, Clarinet, Stacks.js).

          While Ethereum has attracted a large share of attention from developers, due to volatility of its transaction pricing (based on “gas” model tied to the cryptocurrency valuation) and occasional breaches, many alternatives have been developed, some running independently called side-chains, others as so called “layer 2” networks, which roll up batches of their transactions to a single Ethereum transaction as “Layer 1” blockchain.

          The hype around NFTs have made Flow blockchain as well as chains such as Polygon and Solana popular in that realm. More recently blockchains such as NEAR and Algorand have seen prominence based on sports league associations (NEAR with SailGP and Algorand with FIFA.)

          dApp development

          If you want to develop dApps, then you’ll need to learn both front-end and back-end development.

          The main technologies used in dApps are:

          Frontend: JavaScript frameworks for wallet apps and UIs, like React, Vue, Angular

          Backend: smart contracts (chaincode) languages, like:

          • Solidity on Ethereum

          • C++ or Rust on SolanaGo, Node.js (JavaScript or TypeScript), and Java on Hyperledger Fabric

          There’s a broad variety of development tools and frameworks that assist developers:

          • HardHat is a tool that allows you to develop decentralized applications on the Ethereum network. It was created by the Ethereum Foundation to provide developers with a way to easily create and deploy decentralized applications and smart contracts.

          • Truffle is the most popular development framework for Ethereum.

          • Ganache is a simplified Ethereum blockchain that you can use for testing dApps.

          • Alchemy is a suite of developer tools for prototyping, debugging, and deploying applications. Alchemy supports a variety of blockchains including Ethereum, Polygon, Starknet, and Flow.

          • Moralis provides APIs, SDKs, and data for building high-performance dApps. Allows you to integrate Web3 into any tech stack. Trying to position itself as the Firebase of Web3.

          • Embark Framework is another all-in-one development platform for building and deploying dApps and smart contracts.

          • Oracle Blockchain App Builder is a low-code development tool for creating chaincodes for Oracle Blockchain Platform and other Hyperledger Fabric implementations. It supports generic asset models defined in yaml or json templates, which are then used to generate Go or TypeScript chaincodes. This includes tokenization templates for fungible and non-fungible chaincodes based on TTF for ERC-20 equivalent FTs, ERC-721 for NFTs, and ERC-1155 for combining FTs and NFTs in a single template and single generated chaincode.

          • Web3 game development – see the section on Gaming below

          Connecting your dApp front end: Web3.js or Ethers.js or Oracle REST API

          There are many ways to connect a front-end to a dApp. Two of the most popular options are Web3.js and Ethers.js.

          • Web3.js is a JavaScript library that allows you to interact with the Ethereum blockchain.

            Because it is lightweight, fast, and feature-rich (supports polling and WebSocket), it’s currently more popular than Ether.js. When using an EVM deployed on Oracle Blockchain Platform, Web3 JSON RPC API is supported via fab3 provider.

          • Ethers.js is a library that allows you to interact with both the Ethereum blockchain and the Bitcoin blockchain.

          Smart contracts

          • Solidity is the most popular contract-oriented programming language for developing and deploying smart contracts on the Ethereum blockchain. Solidity is a high-level language that resembles JavaScript and was designed to make writing smart contracts easier.

            Once a contract has been compiled it can be deployed directly to the Ethereum blockchain or any EVM-supporting platform, such as Oracle Blockchain Platform. You can do this using either the Ethereum client or a third-party deployment service.

            Remix IDE allows you to develop, deploy, and administer smart contracts for Ethereum- like blockchains using Solidity.

          • Truffle is the most popular development framework for Ethereum. It provides extensive tools for developing, testing, and deploying smart contracts.

          • Hardhat also provides tools for developing smart contracts.

          Blockchains-as-a-Service (BaaS)

          If you’re either bridging centralized Web2 applications with those in Web3 or developing under a BaaS model for your organization, these are some of the common tools and service providers for public blockchains:

          • Alchemy - Alchemy provides a simple backend API for a Web3 Developer to query nodes on Ethereum, Polygon, and other blockchains.

          • Infura - Infura provides Web3 infrastructure similar to Alchemy, offering high-quality Ethereum APIs and IPFS APIs.

          BaaS providers

          • Amazon – Amazon Managed Blockchain (supporting Hyperledger Fabric and private or public Ethereum)

          • IBM – IBM Blockchain Platform (supporting Hyperledger Fabric)

          • Oracle – Oracle Blockchain Platform (supporting Hyperledger Fabric and private Ethereum Virtual Machine-based networks)

            The Oracle Cloud Infrastructure Blockchain Platform is a managed blockchain service for running smart contracts and maintaining a tamper-proof distributed ledger. Built on the open source Hyperledger Fabric, it simplifies the development of secure and verifiable applications that share immutable, trusted data with third parties such as suppliers and financial institutions. It can also run EVM to support Solidity smart contracts in a private network.

          Note: For some additional information, see also the BaaS section below.

          Educational resources

          • Oracle University – Blockchain Learning Path and online tutorials.

          • Buildspace - Buildspace is a cohort-based learning platform. Use it to build DApps, NFT collections, NFT browser games, and DAOs with Solana, Polygon, and Ethereum

          • LearnWeb3DAO – LearnWeb3 is a free resource that allows you to learn how to build dApps, NFT collections, ICO tokens, DAOs, and DeFi protocols

          • CryptoZombies - CryptoZombies is “an interactive school that teaches you all things technical about blockchains. Learn to make smart contracts in Solidity by making your own crypto-collectibles game”

          • Remix – aside from providing a comprehensive IDE, Remix can also be used as a learning platform

          Other topics

          The Blockchain Trilemma

          Coined by Vitalik Buterin, one of the co-founders of the Ethereum blockchain, the Blockchain Trilemma attempts to encapsulate the continuous series of trade-offs that a blockchain project must face, namely balancing decentralization, scalability, and security. In the end, the trilemma states that it’s hard for blockchain to achieve optimal capabilities in all three aspects simultaneously – there are trade-offs that need to be understood and weighed.

          Decentralization

          While decentralization is a core component of a blockchain, achieving it without significant performance issues can be difficult. Unfortunately, the major trade-off for pure decentralization is speed. As described above, since decentralized networks essentially crowdsource consensus, achieving optimal decentralization requires the maximal number of node participation, leading to a decrease in overall network throughput. Typical throughput in highly decentralized public chains is measured in single or low double-digit transactions per second (TPS), while in permissioned chains with federated governance models and smaller number of nodes you can reach thousands of TPS.

          Security

          To address the issue of network speed, the most immediate solution would be to reduce either the total number of participating nodes or the distance between them. Unfortunately, doing so decreases decentralization and runs the risk of introducing issues over security.

          Typically, for a distributed network to reach consensus, a simple majority (51%) of its node must agree. A critical security concern in crypto-currency applications is double-spend, when a given amount of coins are spent more than once. As a blockchain network relaxes the condition on the number of participating nodes, it becomes easier for malicious actors to achieve control exceeding 50% of the total network hashing rate for a blockchain and override the consensus mechanism of the network, known as Sybil attack. An attacker could modify the ordering of transactions to enable double-spend, or other malicious acts.

          In addition, the consensus mechanism requires that each node face a cost of participation, whether it be computing power or financial collateral. This non-zero investment, while slowing network speed, is seen as a hedge against another form of attack, where hackers spam a network with transactions until it crashes.

          Other, broader concerns related to security are discussed below.

          Scalability

          The general idea behind blockchain security is that it works as a counterpoint to blockchain scalability. Blockchain security requires additional computational power to ensure that no one exploits the network. The downside to this, however, is that the network consequently has far fewer resources available to process transactions, meaning that it once again faces concerns over diminished throughput speeds.

          Overall, the more decentralized a network is, the longer it takes to reach consensus, making it increasingly difficult to achieve both blockchain decentralization and security.

          Scalability is the only way for blockchain networks to reasonably compete with current Web2 platforms whose network settlement times and usability currently outstrip anything that Web3 can offer. While many blockchain platforms have established some degree of decentralization and security, scalability remains a major challenge.

          Some of the workarounds to the issue of scalability have been discussed below.

          Security

          Since there are significant overlaps in the technology underpinning both Web2 and Web3, many of the same security risks and responsibilities are the same. However, there are some concerns specific to Web3 which will be outlined below.

          Responsive vs proactive

          The traditional IT approach tends to be responsive, applying software patches/upgrades or restoring to a last-known-good system state once a vulnerability has been detected.

          However, since the blockchain is an immutable ledger, effects of potential errors could be embedded in the ledger and require compensating transactions to be applied to correct them. This means that it’s best that any patches are applied proactively, with the goal of preventing ledger data corruption before it occurs rather than requiring compensating transactions afterwards.

          Identity

          In Web3, users are typically identified by their private/public key combination and blockchain address, so key management is a security concern as well as a usability concern for key recovery when it’s lost or forgotten. In this area, emerging approaches, such as Decentralized Identifiers (DIDs) are being explored to try and provide a means for on-chain identity verification.

          Decentralized Governance

          A decentralized, p2p network is one of the fundamental aspects of Web3. However, since there is no centralized management, this means that system-wide security enhancements can be difficult to enforce and implement. DAOs offer one way forward, but even if properly implemented their reach and scalability may not be sufficient. The updates from the Ethereum Foundation, such as the recent Ethereum Merge, involve a degree of complexity and significant testing and adoption timelines, which means this approach won’t be particularly responsive.

          Transparency

          Another aspect of Web3, transparency, can be a double-edged sword when it comes to security. Since many projects are open source, this means that easy access to the code base increases the likelihood that vulnerabilities will be discovered and exploited. This increases the need for fixing any issues before they become deployed to the blockchain. When it comes to data posted on public chain, transparency prevents any confidentiality or privacy, which means that no transactions involving private or business data can use the public chains. A new approach has emerged where these transactions take place on private or permissioned blockchains, with the one-way hash to prove the transaction published on a public chain.

          Web3 Tech stack

          L4 - Application layer - acts as the user interface (UI), combining business logic and customer interactions

          Protocol-extensible user-interface cradle (“browsers”) (Status, Metamask, MyCrypto, Parity)

          • dApp browsers

          • decentralized applications

          • application hosting

          • programming languages/development environments

          L3 - Services and optional components - enables application operations to connect with other technologies and platforms

          Protocol extensible developer APIs and languages (Web3.js, ether.js, oo7.js, Solidity, Rust)

          • Data feeds

          • Off-chain computing

          • Multi signatures

          • Oracles

          • Wallets

          • Governance/DAOs

          • State channels

          • Smart contracts

          • Digital IDs

          L2 - Protocol layer - decides which consensus mechanisms to use and the level of network participation

          Second layer protocols; state channels, plasma protocols, encrypted storage, storage incentivization, heavy computation, distributed secret management, oracles

          • Consensus algorithms

          • Side chains

          • Permissioned and permissionless

          • EVMs

          L1 - Network layer - acts as a transportation medium and interface for the peer-to-peer (p2p) network and determines how data should be packetized, addressed, transmitted, routed, and received

          Zero/low-trust interaction protocols (Ethereum, Bitcoin, Zcash, Polkadot parachains); data distribution protocols (IPFS, Bluzelle, Fluence, Swarm); zero/low-trust interactions

          • RPLx

          • Block delivery networks

          • Trusted execution environments

          • Peer-to-peer

          L0 - Infrastructure layer - in-house infrastructure or Blockchain as a Service (BaaS) to control the nodes

          Peer-to-peer (p2p) internet overlay protocols (Devp2p, Lib2p); protocol-neutral computation description language (EVM, WASM, UTXO)

          • Mining

          • Network

          • Virtualization

          • Nodes

          • Tokens

          • Storage

          Use cases

          Web3 has already found a wide array of applications. In the section below, we’ll touch on some of the most significant use cases.

          CeFi

          An opposite of DeFi (Decentralized Finance), CeFi attempts to bridge the gap between the traditional (centralized) financial systems and some of the benefits operating on a blockchain can provide. For those more comfortable with a familiar face, it provides a trusted company as a front end that allows the user access to the cryptocurrency trading and other applications. Unlike the permissionless nature of DeFi, CeFi users have to register and open an account. This usually comes with mandatory eKYC requirements, optional custodial wallets maintained by the institution, and it enables flexible fiat/crypto exchanges and cross-chain transactions. Trust depends on the institutional processes provided by the CeFi institution, with support from technology, rather than purely on technology underpinned by the decentralized protocols with no central authority. Users can connect their non-custodial wallets to DeFi service, to perform necessary actions like fund transfers, trading, and many others. However, it’s important to note that some wallet software connects to blockchain through specific vendor proxies and gateways, which bring in an element of centralized authority to a lesser or greater degree.

          Some examples of CeFi institutions would be crypto exchanges like Coinbase or Binance, or NFT marketplaces like OpenSea. For more information, here’s a good introductory article with a detailed comparison table.

          DAO (Decentralized Autonomous Organization)

          In their ideal form, DAOs promote oversight and management of an entity like a corporation. The key aspect of a DAO is its lack of central authority, meaning that its participants collectively act together as the governing body.

          How DAOs Work

          DAOs rely heavily on smart contracts to support voting on decisions related to the organization. Through the execution of these contracts, a decision may be made to increase the circulating supply of tokens or issue rewards to select token holders.

          The voting process for DAOs is posted on a blockchain and the amount of voting power each participant has is based on the number of tokens they hold.

          In addition, DAOs often have treasuries that store tokens that can be issued in exchange for fiat currency. Members can vote on how to use those funds, like acquiring digital assets or dispersing funds in exchange for assets.

          While many advantages can come from such a decentralized organizational structure, these same benefits can also lead to significant hindrances if a DAO is set up improperly.

          Limitations

          • Inefficiency - It can take longer for decisions to be made because of the sheer number of voting participants.

          • Education – Since voting topics can be as diverse as the potential voting population, there can be an associated burden of educating users about initiatives that are being voted on.

          • Security – Exploits such as theft of treasury reserves or digital assets are possible if the DAO's security is not properly established and maintained.

          Protocols

          • MakerDAO – A community of MKR token holders that govern the Maker Protocol, the smart contracts that power the Dai currency.

            A diverse set of applications including DeFi and games.

          • Uniswap - The Uniswap Protocol is a public good owned and governed by UNI token holders. Built on the Ethereum blockchain.
            Geared towards creating a DeFi marketplace.

          Tools/Platforms

          • Harmony - Open platform for assets, collectibles, identity, and governance.

          Areas for potential development

          • Administration – governance, voting, and setup

          • Membership – community management, marketing, education, onboarding, analytics

          dApp (Decentralized Application)

          A decentralized application (dApp) is an application that can operate autonomously using smart contracts built on a blockchain or other distributed ledger system. These applications offer the same utility and functionality as traditional apps built for Web 2.0 but run in a distributed fashion without the need for a centralized governing authority or system.

          Some examples

          • web browser: Brave – an open-source browser released under the Mozilla Public License 2.0

          • Reddit alternative: Aether - an open-source, point-to-point platform for self-governing communities with auditable moderation and mod elections.

          • Twitter alternative: Mastodon – an open-source network of thousands of communities operated by different organizations and individuals that provide a social media experience

          • YouTube alternatives:

            Peertube – a decentralized video streaming platform that makes use of the BitTorrent protocol.

            Dtube – a decentralized blockchain-based YouTube clone

          dApp marketplaces

          At present, Web3 can be a somewhat unstructured ecosystem of applications, making it difficult for a user or developer to find an application that they need. Out of this necessity for a single point of direct access, dApp marketplaces have emerged as a one-stop-shop destination where applications can be created, utilized, and shared by members of the community.

          Examples: DappRadar (dApp store), dapp.com (dApp store), OpenSea (NFTs)

          Decentralized Storage Network (DSN)

          Decentralized storage networks operate as a distributed p2p network of untrusting nodes that can hold a portion of the overall data. This distributed solution creates a failure-resilient and censorship-resistant data storage system, designed to be fault-tolerant with intentional data redundancy techniques built in. Trustless data security and recovery should not be affected by nodes joining or leaving the network.

          It is important to note that DSNs do not all rely on the same technologies. While many DSNs use a blockchain-based structure, others may use different decentralized network architectures. The early generation of p2p DSNs like Napster often used Torrents for sharing music and video files. The new generation of distributed storage networks is differentiated from the first generation DSNs by:

          • Economic models to incentivize users to achieve data permanence, and participation, using service-specific tokens.

          • Consensus mechanism to prove data storage

          • High scalability and robustness.

          IPFS, Sia, SafeNetwork, Arweave, 0Chain (available in Oracle Cloud Marketplace), Storj, BitTorrent File-System, and Swarm are some prominent examples of new generation DSNs.

          More information on DSNs is available in this hackernoon article.

          DeFi (Decentralized Finance)

          Decentralized finance (DeFi) is a financial system that offers an alternative to traditional centralized financial systems and services. DeFi systems are built on top of a blockchain (usually Ethereum or Bitcoin) and use tokens supplemented by smart contracts (on Ethereum) or metadata (on Bitcoin) to replicate existing financial services. Because DeFi doesn’t rely on intermediaries and centralized institutions like banks, it’s seen as operating in a more open, interoperable, and transparent way. Additionally, since all transactions are verified algorithmically, they can be assured to be secure as well. To participate in DeFi, users can download wallet software or a full blockchain node. According to 101Blockchains, most popular wallets in 2022 include:

          • Metamask

          • Eidoo

          • Coinbase Wallet

          • Trezor

          • Argent

          These wallets are key-based (referring to unique private/public key pair), with users having to take responsibility for protecting their private key. There’s no custodian (e.g., a service provider) involved, so a lost key means users can no longer access the crypto funds through their wallet.

          Hot vs. cold wallets

          Hot wallets are most convenient since they provided by Internet-connected software running on a computer or a mobile device – so all your transactions are immediately reflected in the wallet. Cold wallets are offline devices (and in some cases they are paper based), which maintain your private key in a more secure manner. Since they are offline, the private key is better protected, but your transactions require extra steps to sign using the offline device, and then execute the signed transaction online. Hot wallets are more vulnerable to hackers due to Internet connectivity, while with cold wallets private keys are not exposed online.

          It's important to note that despite its decentralized nature, DeFi does not provide anonymity. Every transaction is traceable by the parties that have access, such as governments, law enforcement, specialized DeFi analytics services, or other participants.

          Protocols

          The smart contracts employed by DeFi systems support many financial instruments and operations, including lending, cross-token exchange, yield farming, and support leverage and derivatives. In addition, DeFi protocols include specific rules for asset governance and voting that can be helpful in the governance of certain tasks. These protocols help participants operate in DeFi ecosystem by enforcing agreement to a certain set of operating rules. Some of the DeFi protocols offer liquidity in the DeFi ecosystem, while also ensuring interoperability.

          Some examples of DeFi protocols are listed below:

          • Aave – one of the leading protocols in DeFi; Aave is an open-source decentralized protocol that allows users to lend and borrow crypto; offers the AAVE token for supporting security and DAO governance; deployed on the Ethereum blockchain

          • yEarn – a protocol that provides several options for yield farming through the automated liquidity aggregation

          • Compound – an open-source lending and interest-rate protocol built for DeFi services; built on the Ethereum blockchain

          • Uniswap – another one of the top protocols in the DeFi space for crypto trading; supports a large ecosystem of DeFi apps; largest DEX in the DeFi space; DAO governance

          • Maker – a top decentralized lending protocol that helps in the development of the DAI stablecoin

          Areas for potential development in DeFi

          • Cross-chain interoperability – building bridges between different blockchains to allow seamless transactions

          • Decentralized Identity – verification and approval

          • Tools – data APIs, bots

          • Analytics – data visualization and analysis, dashboards

          DID (decentralized identifier)

          A decentralized identifier (DID) is a new type of digital ID. The decentralized identity (DID) system aims to support privacy by giving Web3 users control over their identity and other personal information (sovereign identity management). In a decentralized identity framework, the user receives credentials proving their identity from multiple Issuers (e.g., Government, Employer, University etc.) and stores them in a digital wallet. Since DID would provide both the point of entry to the blockchain and the means to verify transactions on it, DID could provide a fundamental component of Web3 development.

          DIDs are URIs that associate a DID subject with a DID document allowing trustable interactions associated with that subject. DID URI can be dereferenced to an address for a DID document on the blockchain ledger, which includes user’s public key and information about a set of verification methods or services. Once a user has established a set of credentials, DIDs allow them to verify and use their identities without a centralized authority, identity provider, or related third party. This is accomplished using an identity wallet that uses private/public key-pair cryptography to verify a user’s identity.

          Related to DIDs are Verified Credentials (VCs) – a set of claims made by an issuer about DID holder, which include the proof in a form of the issuer’s DID, and can be validated by a verifier, who retrieves the holders and issuers public keys via their DIDs and verifies the signatures on the claims using the public keys. The VCs from a variety of issuers are stored in the identity wallet and can be presented by the holder to an issuer as individual Verified Claims at their discretion.

          Three types of identity systems

          • Centralized identity – register once, trusted by one

            Service provider establishes and maintains users’ identity for their system (e.g., Facebook, Google, Microsoft, etc.) User’s information is maintained in the service provider’s system, which can be breached.

          • Federated identity – register once, trusted by many

            Service provider trusts identities established and maintained by other identity providers (e.g., licensing bureaus, driver’s license, passport, university diploma). Similar to the above, a user’s information is maintained by the service provider and can be leaked or breached.

          • Decentralized identity – register once, trusted universally

            Users maintain a self-managed digital identity that is accepted by all members of a system (both users and service providers alike) and is independent of any individual service provider. Unlike the above, the user’s information in the form of VCs is maintained in their identity wallet so there’s no system with aggregated information that would attract breaches. Also, since the user is always in control of who to present any claims to, they have a way to track any potential leaks.

          Implementations

          One of the more popular approaches uses Hyperledger Indy blockchain framework and Hyperledger Aries identity wallet framework. A parallel implementation has been done on more broadly used Hyperledger Fabric using Oracle Blockchain Platform smart contracts.

          Gaming

          In Web3, multi-player gaming is reimagined as a decentralized process where all the activities of a gaming ecosystem (including ownership of game assets and decision making) are no longer in the hands of a central authority.

          Aspects of Web3 gaming

          • Games are built by integrating blockchain into the gaming ecosystem and allowing gamers to express their opinion as to when and how the game should evolve.

          • Provides a mechanism of play-to-earn for players by offering asset trading, tradeable game tokens, and opportunities to earn tokens while gaming.

          • By extension, player-ownership of game assets provides a means for virtual markets. Game assets are stored in the form of gaming NFTs.

          • Allows for a means of interoperability among various gaming ecosystems by linking the in-game assets and players across platforms. The degree of interoperability depends on the type of blockchain platform game designers select for a particular system.

          Gaming tech stack

          • Digital wallets

            Like every Web3 component, blockchain-based digital wallets are essential for accessing the capabilities of a Web3 gaming platform. A unique wallet address is required both to identify players and store digital gaming assets.

          • Node/Web3 providers

            Node providers are important since they extract gaming information stored on the blockchain network. Without them, Web3 libraries wouldn’t be able to interact with smart contracts.

          • Smart contracts

            Smart contracts wear many hats in Web3 gaming. They monitor and govern various game processes as well as manage voting and decision-making related to game evolution.

            Development: As noted above, developers use a variety of tools (like Remix IDE) to write, compile, and deploy smart contracts.
            Tools such as Truffle, Hardhat, and Brownie that are easy to use when a local development ecosystem is required.

          • Web3 libraries/dApps

            These libraries and dApps support in-game transactions and assets and help interact with smart contracts.

            Development: Web3.js, ether.js, Web3.py, etc.

          Gaming DAOs

          In the Web3 gaming arena, gaming DAOs function as gaming platforms based on open-source codes and are not affiliated with any single gaming administrator or operator. Gaming DAOs are entirely community-managed and operated, with a focus on creating a player-driven gaming ecosystem.

          Types
          • Gaming guilds – Usually an informal group of highly-motivated gamers that engage in play-to-earn to pool resources to acquire in-game digital assets.

          • Incubators and accelerators – A purely investment-based DAO focused on growing Web3 gaming platforms by sharing tools and expertise with the platform’s founders. They also support the advancement of Web3 gaming by providing grants and undertaking a variety of strategic initiatives.

          • Developers – These DAOs are the most fundamental of the types associated with Web3 gaming. They define the parameters of a game’s development and outline how smart contracts should be employed to moderate game content, digital asset trading, and voting.

          Guilds

          Essentially another form of DAO that bears similarities to the open-source movement in the Web 2.0 space. Members participate collectively in a project with the opportunity to earn financial rewards.

          Some examples include:

          • Education

            • dOrg – full-stack Web3 development collective
            • Developer DAO - works towards educating a new generation of Web3 developers and amplifying their impact
          • Gaming/gamification

            • GuildFi – provides an infrastructure connecting investors, guilds, and players with the goal of targeted game financing

            • Rabbithole – earn tokens while learning how to use and contribute to dApps

          Metaverse

          The metaverse is seen as a shared, interactive 3D virtual space serving as both a social forum and transactional space. It is envisioned to incorporate social media, virtual reality, video streaming, and the ability to exchange cryptocurrency. While born off multi-player gaming virtual spaces, it has been extended to business interactions leveraging virtual, augmented, and extended reality.

          Metaverse use cases in the business sector have emerged around customer interactions, training and skills development, field and service business operations, HR onboarding, immersive entertainment, real estate viewing, etc. Some of these use cases are implemented as standalone experiences hosted by individual companies, while others are being integrated into the popular public Metaverse sites. More details and some of the company examples are listed in this article and this Oracle blog on Metaverse in digital marketing and CX. Some examples of Oracle partners involved in these areas are Tech Mahindra and LivePlex.io.

          The digital assets creation and transactions are often built on the foundational principles of Web3, meaning that it is based on public blockchains and decentralized technology. However, in business settings, digital assets can also leverage permissioned networks to ensure stronger control over authenticity, privacy, and confidentiality, as well as higher performance and SLAs.

          NFT (Non-Fungible Token)

          NFTs represent a digital asset or identity recorded on a blockchain ledger. Initially NFTs were created to capture unique digital art assets and enable trading them for speculative purposes. While digital art NFT markets have tempered since the original hype, NFT concepts have spread to other types of digital assets, including acting as digital twins of physical assets, evolving to provide identification credentials. So called “soulbound NFTs” (term coined by Vitalik Buterin, Ethereum’s co-founder, in a paper titled “Decentralized Society: Finding Web3’s Soul”) are not tradeable but are uniquely linked to an individual (or legal entity) and can be used to represent any credentials or qualifications.

          Both tradeable and soul-bound NFTs are finding their way into business use cases, such as:

          • VIP rewards in loyalty systems

          • Unique component traceability in regulated production supply chains or distribution chains

          • Electric vehicle battery passports

          • Electronic Bill of Lading (eBL) in global logistics

          • Supplier certifications and qualifications

          Protocols

          The primary protocols for trading fungible or non-fungible tokens on Ethereum are:

          • ERC-20 for Fungible Tokens (FT) used to create various “coins” for tradeable cryptocurrencies and loyalty programs.

          • ERC-721 for Non-Fungible Tokens (NFT) used widely for digital art NFTs and those used in rewards/loyalty programs today.

          Emerging protocols that evolved to address ERC-20 and ERC-721 limitations:

          • ERC-1155 combined FTs & NFTs, enabling more dynamic NFTs, batch transfers, multi-URI NFTs, etc.

          • ERC-1400 for standard tokenization of securities with core compliance components, document handling and notification, delegation and forced token transfers, and partial fungibility, which allows metadata to be attached to partial balances called partitions.

          • ERC-1404 for security tokens, tokenized securities and other tokens that carry complex compliance requirements based on transfer restrictions (who can transfer, when, how many, under what conditions, etc.)

          The future

          While Web3 certainly has the promise to deliver on some of its key principles such as data sovereignty, the technology is still in its infancy. And the present time, much of what constitutes Web3 is more akin to a hybrid version of Web2, with many technologies still dependent on centralized sources for both the front end (e.g., domain hosting) and the back end (e.g., computation, storage, etc.), which is sometimes referred to as Web2.5. Indeed, many of the fundamental issues facing the growth of Web3 can be summarized by the Blockchain Trilemma: that blockchains are often forced to make trade-offs that prevent them from achieving decentralization, scalability, and security simultaneously. This is not to say that these limitations have not been recognized by Web3 proponents. In fact, many of these areas continue to be in active development by Ethereum and other blockchains.

          But what would future iterations of the Web actually look like? There are numerous contenders vying for our attention. Many see a long tail on Web2, with the expansion of cloud computing to further realize many of the goals of continuous access and flexibility sought by Web3.

          Others see a new, emergent version that fully embraces the concept of the Internet of Things (IoT) and ubiquitous computing (through embedded and wearable devices) while finally achieving a true semantic web with the assistance of AI in a more “emotional” or “symbiotic” Web5.

          Over its long history, the social, technological, and business state of the web has always been a dynamic state, with trends evolving and vying for prominence over time. As new use cases, business models, and user trends develop, many of the solutions proposed by Web3 (and Webn, in general) will find their own areas of application.

          In fact, some of the Web3 capabilities have already been enabled in permissioned blockchains for use in business applications: e.g., portable digital assets based on tokenization, decentralized identity, etc.). The enterprise adoption Web3 capabilities and the rapid evolution of interoperability between public and permissioned blockchains to support digital asset portability and enable complex processes that span multiple ledgers is also impacting the types of future governance models that will blur the lines between public and permissioned blockchains. This divide may no longer come from a rigid architectural difference, but rather become a configurable policy based on specific purpose and user needs ranging from completely open and anonymous membership to open but KYC-constrained membership to more restricted federated or private consortium networks.

          Ultimately, whatever form it might take, the future composition of the web is likely to draw inspiration from each of the proposed ideas described above.

          Glossary of terms

          Blockchain

          In broad terms, a blockchain is a system for maintaining a tamper-evident transaction ledger in a distributed peer-to-peer (p2p) network of nodes. In essence, blockchains serve as a decentralized way to store information in a manner that makes it very difficult to delete or modify.

          Each of these distributed nodes maintains a copy of the ledger by aggregating transactional blocks that have been verified by a consensus protocol and signed with a hash (or cryptographic signature) that binds that block to a preceding one. Each computer in a blockchain network maintains its own copy of the shared record, making it nearly impossible for a single computer to alter past transactions or for malicious actors to overwhelm the network. In this way, the network maintains an unbroken chain of events.

          Blockchain-as-a-Service (BaaS)

          BaaS refers to a cloud-based infrastructure and managed services for provisioning and running a blockchain for developers or companies building and operating blockchain apps. The BaaS model is one of several methods that provide a bridge between Web2 and Web3 systems.

          Like the software as a service (SaaS) model on which it is based, BaaS allows customers to use cloud-based solutions to build, host, and operate their own blockchain apps and related functions on the blockchain. The service provider is responsible for keeping the blockchain network of nodes infrastructure secure, extensible, and available.

          Participants in the BaaS space

          Amazon - Amazon Managed Blockchain uses open-source frameworks including Ethereum and Hyperledger Fabric

          IBM – IBM Blockchain is a platform built on the open-source Hyperledger Fabric

          Microsoft – relies on partners to provide Ethereum blockchain-as-a-service on Microsoft Azure

          Oracle - Oracle Cloud Infrastructure Blockchain Platform

          Oracle Cloud Infrastructure Blockchain Platform (OBP) is a managed blockchain service for running smart contracts and maintaining a tamper-proof distributed ledger. Built on the open source Hyperledger Fabric project from the Linux Foundation with a number of enterprise-grade extensions and low-code Blockchain App Builder toolset, it simplifies the development of secure and verifiable applications that share immutable, trusted data with third parties such as suppliers and financial institutions.

          OBP also supports tokenization with fungible and non-fungible tokens, managed NFT marketplaces, Ethereum Virtual Machine (EVM) deployments for Solidity smart contracts, and atomic transactions orchestration across Hyperledger Fabric and Ethereum/EVM-based blockchain networks.

          CBDC

          A Central Bank Digital Currency (CBDC) is essentially the digital form of a country’s fiat currency issued and regulated by a centralized monetary authority or Central Bank (CB). According to this CBDC tracker, at latest count 114 countries are exploring a CBDC and 11 countries have fully launched a digital currency. Many CBs are leveraging blockchain based DLTs, a few are using traditional technologies, and some have built a hybrid system combining blockchain and traditional systems. Oracle has been involved in a number of CBDC initiatives and provides a CBDC sandbox that includes both OCI Blockchain Platform-based Interbank CBDC solution and Oracle Database Blockchain Tables based implementation as presented at the Hyperledger Foundation Global Forum 2022. The US Federal Reserve is currently evaluating the prospects of pursuing a CBDC based on the US dollar as part of Project Hamilton and an MIT-built OpenCBDC project in collaboration with Federal Reserve Bank of Boston.

          Consensus mechanism

          A consensus mechanism is a way in which blockchain nodes come into agreement about which transactions are processed and how they are ordered (sequenced) in blocks to be appended to the blockchain’s distributed ledger. The ordering of transactions, particularly financial transactions, is critical – just think of the different outcomes when a bank account with $100 balance is processing two debits, $50 and $70. Which one of these will get handled first and which one will fail makes a critical difference in a bank or in a token-based cryptocurrency.

          Since blockchains are dynamic and constantly changing states, the shared ledger technologies that they rely upon require an efficient, reliable, and secure mechanism to ensure that all the transactions occurring on the network are genuine and that all participants agree on the state of the ledger. This way, ledgers are protected against potential threats or anomalous states by reaching a mutual agreement about how the ledger should look.

          In a bank you can have a policy to process transactions in order of arrival to the centralized processing system, but in a distributed system with nodes all over the world, a consensus mechanism is required to ensure that despite all the latencies and different arrival order at different nodes, the network as a whole reaches agreement on the order of transactions.

          At its core, the consensus mechanism is a fault-tolerant set of rules that decides on the legitimacy of contributions made by the various participants of the blockchain.

          Currently, there are two most prevalent types of consensus mechanisms are Proof-of-Work (PoW) and Proof-of-Stake (PoS). PoW is the consensus mechanism on the Bitcoin blockchain and requires proof that a difficult but arbitrary puzzle has been solved using a complex computational effort – the more compute capacity you can amass, the greater the chances that you will be the first and earn the right to form the new block and confirm the transactions. The successful “miner” is also rewarded ​​with a predetermined amount of crypto, known as a “block reward.” In the PoS mechanism, participants, also known as validators, establish their “stake” in a particular smart contract by locking up set amounts of crypto tokens. The higher the stake the greater the chance of validating new transactions and earning a reward in tokens. Cardano, Solana, and Terra use the PoS mechanism and Ethereum is in the process of transitioning to it. For more details on these and other consensus mechanisms see this article.

          Crypto wallet

          Unlike a normal wallet, crypto wallets technically don’t store tokens, but rather the private keys required to access them. The tokens themselves exist on the blockchain and can only be accessed using a private key. These keys prove ownership of the tokens and allow transactions to be made with them.

          There are generally two types of wallets to store your tokens: online and offline (a.k.a. cold wallets) with different levels of security. Online wallets are web-based or mobile apps connected to the Internet, which makes them easier to hack. Offline or cold wallets are come in paper form or specialized hardware devices, which are more secure as they are not connected to the Internet. However, they require extra steps to sign transactions using the offline private key, so they lack the convenience of online wallets.

          In either case, the private key is how the security of your holdings is maintained. If you lose or forget it, or a holder of a key passes away, the tokens become inaccessible unless provisions have been made to replicate or recover the private key.

          To avoid this complexity and risk, some companies offer to manage the wallet and your private key for you in a regular online account accessible through typical authentication mechanisms. These, so called, custodial wallets, is a web2 bridge to web3 world, often offered by crypto exchanges (CEX) and others. The convenience comes at the cost of losing anonymity for your transactions as opening an account typically requires some identifying information. This also carries some risk of the company being hacked or have an insider subvert their security policies to access user’s private key information.

          DAO (Decentralized Autonomous Organizations)

          A decentralized autonomous organization (DAO) is a type of decentralized organizational structure built on a particular blockchain using smart contracts.

          Every DAO has a different mission and a different set of goals, whether it be in service of the blockchain itself or purely speculative in nature.

          Since a DAO has no leader or centralized authority, every member within a DAO typically shares a common goal and (theoretically) acts in the best interest of the entity.

          Proponents believe that this gives every member (a token holder in the DAO) a voice, a vote, and an opportunity to propose initiatives that affect the organization, such as increasing the circulating supply of tokens, issuing select rewards to existing token holders, or allocating funds for a specific purpose.

          DEX

          A DEX or decentralized exchange is a peer-to-peer marketplace where transactions occur directly between token holders without the need for an intermediary.

          Distributed ledgers

          A distributed ledger is a database that is not stored in a central location, but instead one that is asynchronously shared across multiple sites and is equally accessible to all holders. In the area of cryptocurrency, distributed ledger technology underlies a blockchain network, and is used to accurately store and verify any transactions or contracts on the network.

          EVM (Ethereum Virtual Machine)

          The Ethereum platform has other duties beyond that of a distributed ledger system meant to support a blockchain like Bitcoin. Because it must execute smart contracts, it is also responsible for maintaining a continuous awareness of the state of the distributed network. As such, it is more akin to a distributed state machine rather than a distributed ledger. The EVM defines the rules for how Ethereum will determine the new valid state on a per-block basis and supports execution of smart contracts, typically written in Solidity EVMs have been developed to run on non-Ethereum ledger infrastructure to facilitate porting of Solidity smart contracts to other networks. Oracle offers an EVM for OCI Blockchain Platform (OBP) that is deployed and runs as Hyperledger Fabric chaincode that can host and emulate Solidity chaincodes.

          Fiat currency

          Any government-issued legal currency that is not backed by a physical commodity, such as gold or silver, but rather by the government that issued it. Most legal currencies in today’s world are fiat currencies. This term is used in contrast to non-government issued digital currency, but the introduction of CBDCs issued by central banks begins to blur the lines.

          Gas coin

          Like other transactional aspects of Web3, the functionality is dependent on a particular blockchain. These transactions are mediated using a so-called gas coin, essentially acting as the “fuel” that powers a particular blockchain network. They amount to the fee required to successfully conduct a transaction or execute a contract on a particular platform.

          For instance, every transaction on Ethereum requires a small amount of ETH to be paid to the network and miners to process smart contracts. These payments are measured in gwei (sometimes also called a nanoeth), which is a small denomination of ETH.

          Similarly, STX is used to “fuel” smart contracts for Bitcoin, reward miners on the open Stacks network, and enables holders to earn Bitcoin by a process called “stacking.”

          Layer-n blockchains (scaling solutions)

          One of the main challenges facing Web3 is the ability to compete with the mature financial ecosystem of Web2 that can process much higher transactional loads and expand cost-effectively when the load grows. To address this, a variety of scaling mechanisms have been proposed to increase blockchain transaction rates.

          Blockchain scalability

          In this context, scalability refers to a blockchain network’s ability to support high transactional volumes and support future growth and expansion. Scalability is crucial because it represents the only way blockchain networks to reasonably compete with existing centralized platforms with rapid settlement times. For reference, the most advanced transaction processing systems used in credit card processing by companies like Visa, can handle tens of thousands of transactions per second (TPS), typical corporate systems can handle thousands of TPS, while blockchain networks like Bitcoin and Ethereum handle somewhere from 5 – 20 TPS.

          Layer-1 scaling solutions

          In a decentralized Web3 system, a Layer-1 network refers to a blockchain such as Bitcoin, Litecoin, or Ethereum.

          Layer-1 scaling solutions directly modify the rules of a blockchain protocol. These enhancements serve to increase transaction capacity and speed while also allowing more users and data. Some possible solutions involve increasing the amount of data contained in each block or accelerating the rate at which blocks are confirmed, to increase overall transaction speeds.

          Other foundational updates to a blockchain to achieve Layer-1 network scaling include:

          • Consensus protocol improvements: Some consensus mechanisms are more efficient than others. The Proof of Work (PoW) consensus protocol is secure but can also be slow. Therefore, many newer blockchain networks favor using Proof-of-Stake (PoS) as their consensus mechanism.

            Ethereum is currently transitioning to a PoS mechanism.

          • Sharding - Sharding is a scaling mechanism adapted from distributed databases and is currently one of the most popular Layer-1 scaling solutions.

            Sharding entails breaking down the state of the entire blockchain network into smaller and distinct datasets called "shards." Operating on these subsets represents a much more manageable task than requiring that all nodes maintain the entire network. These network shards are simultaneously processed in parallel by the network, allowing for sequential work on numerous transactions.

            In addition, individual shards provide proofs and interact with each another to share addresses, balances, and general states.

            It is important to note that despite its popularity, it is still considered experimental.

            Blockchains exploring shards: Ethereum 2.0, Zilliqa, Tezos, and Qtum.

          Layer-2 scaling solutions

          Layer-2 refers to a network or technology that operates on top of an underlying blockchain protocol to improve its scalability and efficiency. A layer-2 scaling solution seeks to shift a portion of a blockchain’s transactional burden to an adjacent system. This auxiliary chain is then responsible for handling the brunt of the network’s processing and only reports back to the main blockchain to finalize its result, typically in a form of a batch of transactions.

          By freeing the base blockchain from the responsibility of a large portion of its data processing responsibilities, it can be more resilient and adaptable. So long as these secondary systems provide a scalable and efficient mechanism, they represent a potential for scaling the entire network.

          In many instances, these solutions tend to be third-party integrations with the main blockchain.

          Implementations:
          • Bitcoin: Lightning Network, Liquid Network

          • Ethereum: Arbitrum One, Optimism, Boba Network

          Layer-2 mechanisms

          Currently, there are several different approaches to layer-2 scaling solutions.

          • Nested blockchains: In nested blockchains, the main blockchain oversees a broader network while subsidiary tasks are performed on an interconnected web of secondary chains. In this implementation, multiple blockchain levels can be built off the main blockchain, with each level maintaining a parent-child connection. The parent chain delegates work to child chains that process and return it to the parent after completion. In the meantime, the main blockchain doesn’t take part in any of the network functions of the secondary chains unless dispute resolution is necessary.

            Example: OMG Plasma project built on the Layer-1 Ethereum protocol (OMG is the creator of the Boba Network)

          • State channels: A state channel is a means for allowing users to process multiple blockchain transactions (e.g., token transfers) without utilizing capacity on the main blockchain.

            A state channel aims to improve overall transaction capacity and speed by facilitating two-way communication between a blockchain and off-chain transactional channels. It exists as a completely walled-off network-adjacent resource, meaning that it doesn’t require validation by nodes on the main Layer-1 network. It achieves this isolation by using a multi-signature or smart contract mechanism. Once a transaction or batch of transactions is completed on a state channel, the final state of the channel and all its inherent transitions are recorded to the underlying blockchain.

            Note: state channels sacrifice some degree of decentralization to achieve greater scalability (see Blockchain Trilemma)

            Examples: Liquid Network, Celer, Bitcoin Lightning, and Ethereum's Raiden Network

          • Rollups: A variation on the older state channel mechanism, rollups involve bundling (or “rolling up”) collections of transactions and presenting them to the blockchain as a single transaction.

            Currently, there are two main types of rollups: optimistic and zero-knowledge

            • Optimistic rollups – these assume that all of this rolled-up data is valid and meaningful (i.e., a user or application isn’t attempting to pass intentionally false or corrupted data). To protect against fraudulent transactions, the optimistic rollup protocol allows users to contest trades. The disputed transaction is submitted directly to the network to act as an arbiter in settling the dispute. The idea is that the participants are incentivized to be truthful because both parties have staked tokens that they would lose if the vote went against them.

              Examples: Optimism, Arbitrum, Boba Network

            • Zero-knowledge rollups (aka, zk-rollups) - these rely on a piece of cryptography referred to as a zero-knowledge proof which allows a system to mathematically prove that a statement is true without disclosing additional information about that statement.

              Unlike with optimistic rollups, there is no need for a dispute-resolution mechanism since there’s an algorithmic way of validating transactions before they are rolled up with others.

              Examples: Loopring, Immutable X, ZkSync

          • Sidechains: Another type of secondary chain that’s typically used for processing large batch transactions. Sidechains allow for additional optimization by utilizing a consensus mechanism separate from the one on the main blockchain. With this type of architecture, the primary roles of the main chain are maintaining overall security, confirming batched transaction records, and resolving disputes.

            Unlike in the case of state channels, sidechain transactions are publicly recorded to the ledger (i.e., not private). Additionally, because sidechains are separate, security breaches do not impact the mainchain or other sidechains.

          oracles

          Often a blockchain smart contract needs some real-world data to apply its rules. Depending on the function of a small contract it may need to look up foreign exchange rates, capital market prices for securities or closing value of an index, flight delay time (e.g., for a travel insurance policy payout contract), etc. “oracles” help drive interoperability between disparate systems: they mediate between different blockchains and connect a blockchain to external, real-world information so that this data can be queried by smart contracts. Blockchain smart contracts use a computer science principal of idempotency to ensure that when executing on multiple nodes using the current ledger state information and any parameters provided in the execution request generates the same result across all the nodes. When adding any external world data to this mix, it is critical that the response from oracles to all the nodes is trusted (i.e., not easily compromised), authenticated (typically with digital signature for attribution) and identical for a specific request.

          Since oracles represent a bridge between a presumed decentralized (and secure) network and one that is not (Web2), they must be applied with some consideration to avoid abandoning decentralization. For example, if a smart contract required the need of a stock price, it could rely on a single source of truth for this information (provided by the oracle), but this would break the decentralization precept of smart contracts. This particular concern is commonly referred to as the oracle problem.

          One solution is to employ a decentralized oracle system that draws information from multiple data sources, so that way even if a single source is compromised, a smart contract can still operate as intended. Thus, for oracles to be trusted they must be decentralized and operate on a consensus protocol to generate these consistent responses. Overall, oracles offer the potential for a transparent and scalable offering in the Web3 ecosystem.

          Implementations

          “Third-party” blockchain oracles

          Chainlink is an open-source cryptocurrency (LINK) and blockchain platform that enables non-blockchain systems to securely connect to ones on the blockchain. It is hosted on the Ethereum platform and attempts to solve the oracle problem by using hybrid smart contracts. In addition, Chainlink can access any of the major blockchain networks, including Ethereum, Solana, and Terra.

          However, some consider that Chainlink’s approach does not achieve a true solution to the oracle problem since its approach only introduces internal decentralization and in so doing remains subject to a single point of failure. In addition, wrapping up decentralization inside a non-blockchain piece of middleware introduces concerns over vulnerability, redundancy, and transparency, any of which run contrary to the principles of Web3.

          “First-party” blockchain oracles

          One potential solution that achieves something closer to a true decentralized oracle is to allow API providers to run their own oracle instances on a per-request-basis.

          API3 offers its open source Airnodes, fully-serverless oracles nodes explicitly designed to address all of the node-related problems plaguing traditional middleware oracle solutions that it had identified in its white paper on the subject.

          Use cases

          • Blockchain gaming – Random number generation and complex game logic are intrinsic to game design, but they can be challenging to achieve via on-chain smart contracts, in particular idempotency of random numbers regardless of which nodes execute the smart contract. The layer-1 environment in which smart contracts typically operate imposes significant computational restraints on any system. This means that in practice, game logic is frequently executed in centralized layer-2 settings (like those provided by Web2 cloud providers).

          The hope is that a decentralized oracle network could fill this role by spreading the computational load over multiple systems

          • dApp communication – In many cases, information flows into the blockchain through oracle networks, but there are many instances where a user might wish to receive an even notification from it.

            Some examples might include:

            • receiving an update when a digital asset has been sold or when the price of an investment fluctuated

            • invoking an action in another blockchain in response to an event on-chain

          Event subscription and reliable delivery of a callback notification is a challenge typically solved in various orchestration layers surrounding blockchain. In a distributed system where smart contract executes on multiple nodes, once-and-only-once delivery is an important consideration to ensure that any downstream systems see only one event notification regardless of how many nodes executed a transaction through a smart contract.

          Public benefit corporation

          A corporation is created to generate social and public good and to operate responsibly and sustainably. Some entities in the Web3 space working towards the benefit of the entire community have incorporated in this manner.

          Settlement finality

          In financial systems this is defined as the irrevocable and unconditional transfer of an asset or financial instrument. Adapting this to blockchain transactions has resulted in two approaches:

          1. Probabilistic finality based on the probability that a transaction can't be reverted. It increases the more blocks are added to the chain. The deeper the block with your transaction is in the chain, the higher the chances that the block is on the longest chain, the chain that nodes will follow.

            There’ve been circumstances in public blockchains when a rewrite of a significant number of blocks has been forced to resolve a problem or a malicious attack, resulting in so called “forks”, where some nodes do not agree on the blocks in the ledger with other nodes and may require a software upgrade, or splitting the blockchain into two new ones, as occurred when first Bitcoin Cash and later Bitcoin SV were created.

            Throughout Ethereum's lifespan, there have been (and still will be) three big ETH hard forks - Ethereum Classic, EtherZero, and Metropolis. Ethereum Classic is the original Ethereum branch that didn’t fork when “The DAO” breach occurred (hackers stole US$50M in ether (ETH)). To correct the breach, new Ethereum fork was created reversing the hackers’ transactions and overwriting the effected blocks.

          1. Absolute or deterministic finality in leader-based consensus protocols, such as pBFT or Raft. When transacting on such a protocol the transaction is immediately considered finalized as soon as it’s included in a block and added to the blockchain. In these models, a leader node proposes blocks, and once enough other nodes (called a quorum) approve it’s added and final. Deterministic finality is usually employed in permissioned blockchains.

          Settlement time

          The time it takes to resolve a smart contract transaction for all parties. The length of settlement times can vary widely depending on the structure of the different networks and organizations that process the transaction. Settlement finality above can impact settlement time, with networks operating on probabilistic finality usually taking longer those that operate on deterministic finality.

          Smart contracts

          A type of autonomous program that executes a specific transaction on the blockchain in response to a request, an event, or a set of predetermined conditions. Contained within them is the business logic that encodes the details of the agreement between each participant in the transaction. Smart contracts help to ensure that transactions are both trackable and irreversible. Simple smart contracts generally persist the update on the ledger after applying some validation rules, for example storing an updated account balance or shipment record, or a new business object representing a purchase order, an invoice, etc. More complex smart contracts could apply extensive programming to process and match business objects comparing ledger data with inputs provided, create and persist new ledger updates, and generate custom events for downstream systems. For example, comparing purchase order details with invoice line items and shipment records to generate a payment request. Or a travel insurance policy contract checking flight arrival time and generating a payment request if it’s been delayed by certain time exceeding policy thresholds.

          Characteristics of smart contracts

          • They’re self-verifying due to programmability in multiple > programming languages;

          • They’re self-enforcing based on the rules codified in the business > logic;

          • They’re tamper-proof, as any execution result is linked to a > specific version that cannot be changed, only updated to a new > version for subsequent transactions.

          Capabilities of smart contracts

          Smart contracts can:

          • Securely automate processes done manually through autonomous > execution;

          • Maintain users’ data and state information, subject to validation > logic;

          • Enable peer-to-peer trusted transactions without intermediaries;

          • Support multi-signature transactions or accounts, e.g., record that > buyer and seller have reached an agreement as to status of a > property sale or distribute funds once all parties involved > confirm the agreement;

          • Provide utility to other smart contracts as a software library.

           

          Semantic Web

          The Semantic Web, sometimes referred to as Web 3.0 (not to be confused with Web3), is a vision for a true extension of Web 2.0 which would add further data descriptors to existing content and data on the Web. This would allow applications to traverse the web and be able to make meaningful interpretations of and connections between data that wouldn’t otherwise be readily accessible to standard navigation or searches.

          The idea of a semantic web where AI governs autonomous agents to gather and interpret data from disparate nodes across a network is also a shared goal with many Web3 proponents as well.

          Web epochs

          Web 1.0 (Web1) – (ca 1990 to 2004) The first iterations of the world wide web that was mostly composed of static web pages joined by hyperlinks. Because of the lack of interactivity, Web 1.0 is sometimes referred to as the “read-only” or static web.

          Transition to Web 2.0 began around the turn of the century, as 1999 marked the beginning of the so-called read-write-publish era. This latter era of Web 1.0 was notable for its growing democratization of user-generated content through platforms such as LiveJournal (launched April 1999) and Blogger (launched August 1999) that required little-to-no technical proficiency (such as understanding HTML or CSS).

          Web 2.0 (Web2) – (ca 2004 to present) “responsive web”, “interactive web”, “read/write” web; characterized by user-specific and easily self-published content, social media, streaming, cloud storage, and computing.

          Web3 – (ca 2014 to present) a decentralized version of Web2 with greater emphasis on privacy, security, and enhanced user control over personal information (data sovereignty); extending the metaphor of previous eras, Web3 is seen as the “read/write/execute” web, where “execute” generally refers to a decentralized network of web services executing trusted transactions – cryptocurrency payments, broader DeFi, decentralized identity and verified credentials validations, etc. (see: dApp, DeFi, smart contracts, decentralized identity above).

          Web 3.0 – also known as the Semantic Web, it refers to a concept outlined by Tim Berners-Lee in 1999; it proposes an extension of the current web through standards set by the World Wide Web Consortium (W3C) and seeks to make all internet data machine-readable and parsable.

          Using AI, this content would be intelligently tailored to respond to user queries in a natural-language format.

          Web 4.0 (Web4) – while not a wholly separate version of the existing web, it is parallel to it. The mobile web shadowed earlier versions of the web, starting with centralized information portals and developing towards its present interactive state, connecting remote devices in real time.

          Web 5.0 (Web5) – a term first proposed by Tim Berners-Lee in 2009 that envisions an open, linked, and “intelligent” or “emotional” web; although its nature and form are still in their nascent stages, in general, Web 5.0 seeks to abstract the interface to the web even further, allowing users to directly interact with data through more natural, socially-based interactions (natural-language queries, emotional awareness, visual cues, etc.). This connection is further viewed as a two-way interaction, with data self-organizing according to a user’s preferences, needs, and emotional state into something of a “symbiotic” web. This behavior will make Web 5.0 a read/write/execution/concurrency web. In many ways, this draws upon Lee’s original concept for Web 3.0 (semantic web).

          References and public blockchain resources

          Oracle Blockchain references and resources

          Latest content

          Explore and discover our latest tutorials

          Serverless functions

          Serverless functions are part of an evolution in cloud computing that has helped free organizations from many of the constraints of managing infrastructure and resources. 

          What is a blockchain?

          In broad terms, a blockchain is an immutable transaction ledger, maintained within a distributed peer-to-peer (p2p) network of nodes. In essence, blockchains serve as a decentralized way to store information.

          OCI CLI

          The CLI is a small-footprint tool that you can use on its own or with the Console to complete Oracle Cloud Infrastructure tasks. The CLI provides the same core functionality as the Console, plus additional commands.