A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> 2) Block Organization, Hash Pointer and Merkle Tree: <s> A new digital signature based only on a conventional encryption function (such as DES) is described which is as secure as the underlying encryption function -- the security does not depend on the difficulty of factoring and the high computational costs of modular arithmetic are avoided. The signature system can sign an unlimited number of messages, and the signature size increases logarithmically as a function of the number of messages signed. Signature size in a 'typical' system might range from a few hundred bytes to a few kilobytes, and generation of a signature might require a few hundred to a few thousand computations of the underlying conventional encryption function. <s> BIB001 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> 2) Block Organization, Hash Pointer and Merkle Tree: <s> Bitcoin is a disruptive new crypto-currency based on a decentralized open-source protocol which has been gradually gaining momentum. Perhaps the most important question that will affect Bitcoin’s success, is whether or not it will be able to scale to support the high volume of transactions required from a global currency system. We investigate the implications of having a higher transaction throughput on Bitcoin’s security against double-spend attacks. We show that at high throughput, substantially weaker attackers are able to reverse payments they have made, even well after they were considered accepted by recipients. We address this security concern through the GHOST rule, a modification to the way Bitcoin nodes construct and re-organize the block chain, Bitcoin’s core distributed data-structure. GHOST has been adopted and a variant of it has been implemented as part of the Ethereum project, a second generation distributed applications platform. <s> BIB002
A block is a container of an arbitrary subset of transaction records and can only be created by a node participating in the consensus process. To protect the integrity of the transaction records and to specify the ordering of adjacent blocks in a consensus node's local view, a data field known as the hash pointer is kept in the block's data structure. In addition, to reduce the on-chain storage, the cryptographic data structure of Merkle tree is also enabled to generate the tamper-evident digest in the transaction set of a block (see Figure 2 ): Illustration of a chain of blocks, where the transactions in a single block is represented by a Merkle root. • Hash pointer: A hash pointer to a block is the hashcode of the concatenated data fields in that block. The hashcode of the current block is stored as the header of that block. The hashcodes of the reference blocks are stored as the hash pointers of a block to indicate that at the local view, the block recognizes that the transactions in the reference blocks are created earlier than those in the current block. • Merkle Tree BIB001 : A Merkle tree represents a transaction set in the form of a binary tree. Therein, each leaf is labeled with the hashcode of a transaction and a non-leaf nodes is labeled with the hashcode of the concatenated labels of its two child nodes. The root node of the Merkle tree is known as the Merkle digest/root. A block storing only the Merkle root of the selected transactions is known to be in a lightweight form, which is sufficient for quick validation and synchronization. When using the lightweight-form storage, the node has to query its peers to retrieve the complete transaction records in the blocks. In addition to the Merkle digest, block header and the hash pointers, a block may also contain auxiliary data fields, whose definition varies with the adopted protocol of block generation based on different consensus schemes. At a local view of the blockchain, the blocks are organized based on the hash pointers to their references/predecessors. Every blockchain admits a unique block with no reference as the "genesis block", namely, the common ancestor block of all valid blocks in the chain. According to the number of hash pointers to the predecessors that are allowed to be kept by a block, the block organization can vary from a linear linked list to a tree of blocks (e.g., GHOST BIB002 ) or a Directed Acyclic Graph (DAG) (e.g., SPECTRE  ). Without specification, we limit most of our discussion on blockchains to the linear-list case, where the total order of the blocks is guaranteed (see Figure 2 ).