Self-Forking Blockchain Protocol
Briefly describe two major challenges faced by traditional blockchain technology in IoT applications and microtransactions.
Explain how the blockchain protocol described in solves the scalability problem of traditional blockchains.
What do "stateless" and "stateful" chains refer to? Give examples of potential use cases for each.
Describe the three categories of miners proposed in (primary miners, auxiliary miners, and candidate miners), and explain how this classification improves the efficiency and reliability of the blockchain.
Explain the role of miner "reserves" in preventing malicious behavior, and explain when miners can withdraw their reserves.
What role does sharding play in this blockchain protocol? Explain how sharding increases data access speed and reduces storage requirements.
What role do blobs play in this blockchain protocol? How are they different from sharding?
Briefly describe how the blockchain protocol described in solves Sybil attacks, outsourcing attacks, and generation attacks related to data storage.
Explain how this blockchain protocol incentivizes code and content contributors.
How does the blockchain protocol described in handle parallel execution of transactions? How does it ensure thread safety and prevent malicious transactions?
Answer
Scalability and high consensus costs are two major challenges facing traditional blockchain technology, especially for IoT devices and microtransactions.
The scalability issue is addressed by introducing a self-forking mechanism that allows multiple chains to coexist based on forkable parameters such as data types, block times, and transaction fees.
A "stateless" chain is a blockchain that does not need to store previous state information, such as IoT datasets or oracles. A "stateful" chain, on the other hand, needs to track state changes, such as processing microtransactions or executing smart contracts.
Three categories of miners are described in the : primary miners are responsible for generating new blocks, auxiliary miners verify blocks generated by primary miners, and candidate miners serve as backups and take over the work of primary miners or auxiliary miners when they are offline. This classification ensures redundancy of the network, prevents censorship, and increases transaction speed.
Miner "reserve" is a portion of the miner's income that is locked for a certain period to discourage malicious behavior. Miners can only withdraw their reserves after completing the specified period of mining and maintaining honest behavior.
Sharding is the process of splitting blockchain data into smaller parts and distributing it across multiple nodes in the network. This approach improves data access speed and reduces storage requirements by allowing parallel processing and reducing the load on individual nodes.
Blobs are off-chain storage units used to store large, unstructured data, such as images, audio, and video files. Unlike shards, blobs are not stored on the blockchain but are accessed through protocols such as IPFS.
The protocol prevents data storage attacks by using a random selection and replacement algorithm. For example, miners randomly select blob replicas for retrieval to prevent Sybil attacks and outsourcing attacks. Regularly replacing blobs from the active set to the candidate set also helps prevent long-term attacks.
The protocol incentivizes code and content contributors through a reward mechanism that awards tokens based on how often the code or content is used.
The protocol supports multi-threaded transaction processing but ensures thread safety by serializing state changes within each block. Each transaction has a limited "wall time" to complete its operation, preventing malicious transactions from clogging the network.
Glossary
Self-forking: Refers to the ability of a blockchain to automatically create new branches to accommodate different parameters and use cases.
Blockchain: A decentralized, immutable record of transactions stored in chronological order in linked lists called blocks.
Consensus: A mechanism by which nodes in a distributed network reach agreement on a shared state.
Internet of Things (IoT): A network of physical devices connected to each other via the internet that are able to collect and exchange data.
Microtransactions: Financial transactions involving small amounts of money.
Sharding: A technique for partitioning blockchain data across multiple nodes to improve scalability.
Blobs: Off-chain storage units used to store and retrieve large datasets external to the blockchain.
DPS (Delegated Proof of Stake): A consensus mechanism in which token holders vote for representatives to validate transactions.
Smart Contracts: Self-executing contracts stored on a blockchain that trigger actions when predefined conditions are met.
Oracles: Entities that provide external data to smart contracts.