Skip to content
/ .block Public template

web5 schema, solely utilizing the .block extension to uniquely identify and safeguard completed, onchain blocks, strategically avoiding assigning ownership to smaller elements within said blocks on any given chain

Notifications You must be signed in to change notification settings

brvc-org/.block

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

.block

web5 schema, solely utilizing the .block extension to uniquely identify and safeguard completed, onchain blocks, strategically avoiding assigning ownership to smaller elements within said blocks on any given chain

We present a unique opportunity to address/achieve this by creating custom, ownership-free dDNS (decentralized Domain Name System) solutions: the .block extension and its ability to act as conceptual pointers issuing DIDs offering verifiable claims of any completed block anywhere on any given chain, leaving ownership to its rightful owner(s): network consensus itself: remaining a truly peer-to-peer public good.

Web1, web2 and even web2.5's respective Domain Name System (DNS) version(s) still to this day pose a fundamental challenge for the decentralized nature of the Bitcoin blockchain. Web5 presents a unique opportunity to address this by creating a custom, blockchain-native DNS solution. Even just as a potential intra-web3 or -web5 feature for researchers and developers to study the blockchain, somewhat akin to network engineers surveying server-to-server traffic, this system would conveniently deviate from the traditional domain name model, solely utilizing the .block extension to uniquely identify entire Bitcoin blocks in the future; this would also, its worth noting, be a huge potential benefit to developers, lawmakers and casual end-users alike.

Put simply, the block designation strategically avoids assigning ownership to smaller elements within blocks. This mitigates potential legal battles and disagreements arising from the ongoing debate surrounding data ownership within the blockchain and individual blocks. By not creating micro-domains for individual transactions or allowing bad actors to create micro-domains for nefarious purposes, and by not creating micro-domains for Unspent Transaction Outputs (UTXOs), we pre-empt said bad actors from exploiting legal loopholes to claim ownership of specific data points. This approach safeguards the permissionless nature of the blockchain. Data remains a public good, freely accessible for analysis and verification by academics, researchers and the broader Bitcoin community.

Traditional DNS systems could potentially be used to establish ownership. This seemingly simple approach unlocks significant technical benefits on multiple fronts.

The concept of a .block web5 schema for uniquely identifying and safeguarding completed, on-chain blocks across any blockchain, while avoiding ownership assignment to smaller elements within those blocks, is an interesting thought experiment that touches on core web5 principles and blockchain architecture.

Here's how such a schema could conceptually work within the web5 paradigm, along with its implications and challenges:

Understanding Web5's Core Principles

Before diving into the .block schema, let's recap web5's foundational elements, as they are crucial for this concept:

  • Decentralized Identifiers (DIDs): Self-owned and self-controlled digital identities.
  • Verifiable Credentials (VCs): Cryptographically secured and privacy-preserving digital proofs of attributes or claims.
  • Decentralized Web Nodes (DWNs): Personal data stores and message relays controlled by the DID owner, not a centralized entity.

web5 aims to put users in control of their identity and data, shifting away from reliance on centralized platforms and even from the token-centric focus often seen in Web3. Crucially, web5 is not blockchain-specific; while it can leverage blockchains (especially for DID anchoring), its primary focus is on decentralized identity and data sovereignty.

The .block Web5 Schema: Concept and Functionality

The .block extension, in this context, wouldn't be a traditional file extension but rather a conceptual identifier or URI scheme within a web5 context, specifically designed to reference and provide verifiable information about entire blockchain blocks.

Core Idea:

Instead of a user "owning" a .block file in the traditional sense, the .block schema would enable a DID (Decentralized Identifier) to issue or attest to a VC (Verifiable Credential) that cryptographically points to a specific, completed and immutable block on any blockchain. The .block would serve as a well-defined, standardized way to refer to this block.

How it would work:

  1. DID as the "Custodian" (not owner) of the reference: A DID, representing an entity (e.g., a blockchain explorer, an archival service, a specific node operator, or even a community collective), would be the issuer of a Verifiable Credential about a block. This DID doesn't "own" the block itself (which is owned by the network consensus), but rather asserts a verifiable claim about its existence and integrity.

  2. Verifiable Credential for Block Integrity:

    • Issuer: The DID of the entity attesting to the block's existence and integrity (e.g., did:example:123abc).
    • Subject: The unique identifier of the block itself. This would be a standardized URI using the .block extension.
    • Credential Claims (Payload):
      • blockIdentifier: A unique, canonical identifier for the block (e.g., its hash, or a combination of chain ID and block height).
      • blockchainType: E.g., "Bitcoin", "Ethereum", "BRVC" (your coin).
      • networkId: (e.g., "mainnet", "testnet").
      • blockHash: The cryptographic hash of the block.
      • blockHeight: The block number/height.
      • timestamp: The timestamp of the block.
      • rootHash (if applicable): Merkle root or state root.
      • proofOfInclusion: A cryptographic proof (e.g., Merkle proof) demonstrating the block's inclusion in a chain of other blocks (not its internal transactions).
      • blockSchemaVersion: The version of the .block schema used.
      • attestationTimestamp: When the VC was issued.
    • Proof: The VC would be cryptographically signed by the issuing DID, making it tamper-evident and verifiable.
  3. The .block URI Structure: The .block would function as a clear, human-readable, and machine-parsable way to refer to a block. It wouldn't be a file you download, but a conceptual pointer.

    Example URI structure: blockchain://<chain_type>/<network_id>/block/<block_hash_or_height>.block

    • blockchain://: A new URI scheme indicating a reference to blockchain data.
    • <chain_type>: e.g., bitcoin, ethereum, brvc
    • <network_id>: e.g., mainnet, testnet, ropsten
    • block/: Denotes that the target is a block.
    • <block_hash_or_height>: The unique identifier for the specific block. Using the block hash is more robust for unique identification across chains, but height could be used if combined with chain ID.
    • .block: The conceptual extension signifying this refers to a full, completed block.

    Example: blockchain://ethereum/mainnet/block/0xabc123...def456.block (referring to a specific Ethereum block by its hash) blockchain://brvc/mainnet/block/12345.block (referring to a BRVC block by its height, assuming the chain's design allows for this unique resolution)

  4. DWN Integration: While the block data itself resides on the respective blockchain, the Verifiable Credentials asserting the integrity of these blocks could be stored and managed within Decentralized Web Nodes (DWNs). An entity interested in maintaining a verifiable record of specific blocks could have a DWN that contains VCs for those blocks.

    • No ownership of internal elements: The key here is that the .block schema and its associated VC only refer to the entire, completed block as a singular, immutable unit. It explicitly avoids specifying or assigning ownership to individual transactions, accounts, or data points within that block. Their integrity is implicitly covered by the block's cryptographic hash.

Advantages of this .block Web5 Schema:

  • Universal Block Identification: Provides a standardized, cross-blockchain way to refer to completed blocks.
  • Enhanced Integrity Verification: Allows anyone to verify the integrity of a referenced block by checking the Verifiable Credential and cross-referencing it with the actual blockchain data.
  • Decentralized Archiving/Indexing: Entities can maintain their own verifiable records of important blocks in their DWNs, fostering a decentralized ecosystem of blockchain data integrity.
  • Privacy-Preserving Proofs: While the block itself is public, the act of referencing or attesting to it via a VC could be part of more complex, privacy-preserving interactions (e.g., proving that a transaction occurred in a specific block without revealing the transaction details directly).
  • Avoids "Ownership" Ambiguity: By explicitly focusing on the entire block and its integrity, it sidesteps the complex legal and philosophical issues of "owning" individual transactions or data within a public blockchain. The block is a fact, a verifiable record.

Challenges and Considerations:

  1. Resolution Mechanism: How would a web5 application or agent "resolve" a blockchain:// URI? It would require a standardized mechanism (perhaps part of the web5 SDK) to:

    • Parse the URI to extract chain_type, network_id, and block_identifier.
    • Connect to the appropriate blockchain's node/API.
    • Fetch the block data (or its hash) to verify consistency with the VC.
  2. Trust in the Issuer DID: While the VC provides cryptographic proof, the initial trust in who is issuing the VC for a block (e.g., why trust this specific DID's claim about an Ethereum block?) remains important. This would likely rely on established reputation systems or community-recognized entities (e.g., major blockchain explorers, foundation DIDs).

  3. Scalability of VC Issuance: For a high-throughput blockchain, issuing a VC for every block might be computationally intensive or generate a lot of data. The focus might be on "significant" blocks, or automated services that continuously issue VCs for all blocks.

  4. Semantic Precision: Ensuring that the schema is precise enough to capture all necessary information for a block's unique identification and integrity across diverse blockchain architectures (e.g., UTXO vs. Account-based, different hashing algorithms).

  5. Integration with Existing Blockchain Tools: This schema would need to be adopted and integrated by blockchain explorers, wallets, and development tools to be truly useful.

  6. "Safeguarding" vs. "Identifying": The .block schema primarily identifies and verifies the integrity of a completed block. "Safeguarding" in this context refers to cryptographic assurance and verifiable referencing, not preventing tampering with the blockchain itself (which is handled by the blockchain's consensus mechanism).

In essence, the .block web5 schema would establish a new layer of verifiable addressing and attestation for fundamental units of blockchain data (blocks), enabling a more robust, decentralized, and user-centric approach to interacting with and proving facts about blockchain history, all while respecting the inherent decentralized and ownerless nature of the blocks themselves.

About

web5 schema, solely utilizing the .block extension to uniquely identify and safeguard completed, onchain blocks, strategically avoiding assigning ownership to smaller elements within said blocks on any given chain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published