SPoRA (Succinct Proofs of Random Access)
Spindle Structure: Akashic's data structure is not strictly a single linked list but rather a slightly more complex graph structure. Each block in the structure is related to three blocks: the previous block, the next block, and a randomly selected block referred to as the recall block or recall chunk. This configuration forms a block spindle. The recall block is determined based on the hash and height of the previous block, and cryptographic principles ensure that the recall block selection is both deterministic and unpredictable.
PoA = PoW + Proof of Access: Proof of Access (PoA) serves as an enhanced version of Proof of Work (PoW), incorporating the entire recall block data into the input of the hashing operation, with the result serving as input for the proof of work. PoA utilizes a probabilistic and incentive-driven approach to maximize the redundancy of copies of any data within the network, incentivizing miners to create as many redundant copies of data as possible within the network.
According to the requirements of Blockweave on nodes, for mining or validating new blocks, nodes must possess the recall block of that block. Proving that miners can access the recall block is part of the process of constructing a new block (on the other hand, the verification of the proof of access is part of the work of validating a new block). Therefore, Akashic adopts Proof of Access (PoA) as its consensus mechanism, later improving it with the SPoRA (Succinct Proofs of Random Access) mechanism.
Data Structure: Blockweave
Akashic differs from the traditional block structure of blockchain. In traditional blockchain, blocks are continuously linked to the previous one, forming a chain-like structure. In addition to this, Akashic also points to a randomly chosen previous recall chunk (previously known as recall block), resulting in a spindle-like structure when viewed from a three-dimensional perspective. In terms of stored content, conventional chains primarily store indexes, with data distributed among nodes. However, in Blockweave, block storage includes data information, such as images types, which can be viewed on Akashic's blockchain explorer. This design inherent to Blockweave provides sharding capabilities, offering extremely strong scalability performance. Compared to other storage projects, Akashic can significantly increase TPS (transactions per second) and greatly reduce long-term storage costs.
Wildfire Node Scoring Mechanism
Wildfire serves as an incentive measure for data retrieval in Akashic. Since Akashic only charges for data storage and reading is free, in order to encourage nodes to respond to read requests and block generation speed, Akashic has introduced Wildfire: a node scoring mechanism. Its operation involves Akashic nodes creating a ranking system for other nodes, which is based on two factors: 1. Generosity: the frequency of sending new transactions and blocks; 2. Responsiveness: the speed of responding to network requests. The higher the score given by each node to its neighboring nodes, the greater the probability of block generation for the other node.
BlockShadow
During node validation, there is no need to verify the entire storage file. When a node generates a block, it does not submit the entire storage file for review by other nodes. Instead, it places the storage content within the block, transmitting only a segment of hash values and account lists. This segment of hash values represents the content, and other nodes verify whether these hash values correspond to those in the file pool. This approach speeds up the verification process by shifting some of the work off-chain. Similarly, during invocation, only the BlockShadow is required to locate the stored block and complete the invocation.