Access data on the blockchain
Overview:
Title: Computer-implemented systems and methods for allowing access to data stored on a blockchain
Method overview: Store and restrict access to data by generating a blockchain transaction while creating another transaction to enable specific participants to access the data.
Blockchain transaction generation:
First Transaction: Generate at least one blockchain transaction containing first data that is inaccessible without corresponding access data.
Second Transaction: Generate a blockchain transaction that includes a means of making the first access data available to the first participant.
Access control and security mechanisms:
Encryption and decryption: Use a cryptography system to encrypt data and decrypt it with the corresponding private key to ensure data security.
Scripting and unlocking conditions: Transactions contain scripts that allow data to be accessed only when certain conditions are met (such as providing the correct private key or hashed preimage).
Transaction and data segmentation:
Data Splitting: When the amount of data is large, it can be split into multiple parts and stored in multiple blockchain transactions, which are related in a specific way (such as a hash function).
Transaction linking: Use relationships between parent transactions and child transactions to build a hierarchy of data, allowing users to access different parts of the data on demand.
Rabin signature:
Signature Algorithm: A signature algorithm using the Rabin cryptosystem is introduced, which allows arbitrary data to be signed and the signature to be embedded in blockchain transactions.
Verification process: Verify the validity of the signature through square and modular operations to ensure the integrity and authenticity of the data.
Metadata and content management:
Attribute storage: Store attributes of content (e.g. type, encryption scheme) in separate outputs of transactions for easy search and management.
Meta Network Flags: Use meta network flags to identify transactions associated with the meta network protocol to facilitate identification and processing by nodes in the network.
Naming and addressing:
Node and edge structure: defines the node and edge structure of the meta-network, allowing nodes to be uniquely identified through public keys and transaction IDs, and relationships between nodes represented through edges.
MURL: A URL-like Meta Web URL (MURL) is proposed for locating and accessing content stored on the blockchain.
Browser wallet application:
Functional components: Describes a browser wallet application that includes functional components such as a blockchain search engine, a display window, and a cryptocurrency wallet, allowing users to search, decrypt, reorganize, and display content stored on the blockchain.
Key Management: Use a hierarchical deterministic key management approach to manage keys used to access content and funds.
Use Cases:
Swapp Store: Demonstrates how to use Ben’s approach to create a decentralized app store that allows developers to sell encrypted app data to consumers via atomic swaps.
Atomic swap: The process of atomic swap is described in detail to ensure that data purchase and payment are carried out simultaneously without relying on a third-party trust agency.
Through detailed technical descriptions and illustrations, this document shows how to use blockchain technology to securely store, access and manage data, while providing an innovative meta-network protocol to achieve distributed storage and sharing of data.