Home > Blockchain >  Implementation "decentralized storage" new chain, annual growth only 1 g block data, junk
Implementation "decentralized storage" new chain, annual growth only 1 g block data, junk

Time:09-21

Program still call bitcoind, critical revision, Mac and running Ubuntu, there is no central server
The block size is 2 m, TPS for bitcoin2 times, at the end of the article have a download link
Usage: $/download directory/bitcoind - invoke the=? .? .? .? (Ubuntu) same bitcoins. Conf configuration files as well as
Bitsupercoin: Peers' Counting and Clearing Ispruned The Transactions On The Disk In Batches Can something

Satoshi Nakamoto

For an ‘Ispruned’ transaction(not point to a coinbase), it should be pruned on the disk instead of being removed in ‘Coinsviewcache’. Hence the blocks are needed to be stored in the form of single file, to achieve ‘Storage Decentralization’. Meanwhile, to solve the problem of ‘mining pool centralization’ and ‘online exchange centralization’, we have to launch a new spare decentralized currency. The original goal ‘Reclaiming Disk Space’ cannot be reached because of no big block all-txs-pruned existing. The transactions’ hashes only exist in the memory while a lot of many-to-many transactions with dusts constantly being packaged.

Based on bitcoin-0.10.2, the insecure SegWit is not an adoption. The version of top 1000 blocks of the active chain always keeps 4, which means the transaction data is intact. The version of blocks below 1000 depth mostly keeps 3, which means the ‘IsPruned txs’ had been being pruned to "IsNull" each time the block reaches having 250 IsPruned transactions. The total number of non empty transactions in the version3 will be continuously pruned until it belows 250. Pruning changes the nversion of ‘IsPruned tx’ to 0 so that the ‘tx’ does not serialize ‘vin’ and ‘vout’, and will be in ‘IsNull’ state after being unserialized from disk. The original number of non empty transactions is put into the block header to mine, and the version3 blocks from other peers join via a loose check, but pruning will not affect the block header.

In a presistent vector, we count the number of ‘IsPruned’ transactions in each old block when some block’s ‘vtx’ causing some old transactions being ‘IsPruned’. We always track a block whose depth is 1000 below the current accepted height: if its ‘vtx’ cause the parent transaction (term called source-tx) to become IsPruned, then the source-tx’s height which corresponds the position of the vector, will increase its byte until the byte reaches 250 and zeros, and then the height will be recorded, waiting to be trimmed, to the state that its ‘vtx’ being mixed with empty txs. The pruning exclude coinbase, but it won’t happen double-spending because the mining peers always have 1000 version4 blocks strictly verified at the top section.

Each new block received can make about 5000 old The transactions become 'IsPruned', so The about 20 old blocks The depth below 1300 will be reconstructed every time. The maturity of all outputs is 300. So The Merkle tree will change due to The pruning reconstruction but won 't be checked in version3; The pruning results of peers with different heights are also naturally corrupt: For example, an entrant first download the blocks from a backward peer and then download the blocks from a higher, will find that the child transaction has been pruned to be empty before its parent transaction(source-tx), or conversely receive a block containing a child transaction with missing or wrong inputs. The correct source-txs may also be intentionally cleared and instead by the other fictional txs to keep the ‘IsNull’ txs number in block version3 is a multiple of 250). But this will not lead to double-spending and no-source-spending, because the mining peers have 1000 version4, which will be strictly verified when accepted, that ensures the security. Accepting to the top has to go via many conflicts, such as corrupt backward peers spreading blockchain virus, but the peers can repaire themselves by an ingenious mode.

Since the number of 'IsNull the transactions in block version3 must be a multiple of 250, and the number of the original the transactions has had been put into the block header, of every transaction' s fee is fixed to 500 satoshi; then the non top counterfeiters can spread the virus by inv messages. They added transactions, and cleared equally, or cleared and added 250 or multiples of 250 transactions at a time. These transactions may be fictitious. The transaction of version3 block is either ‘haveInputs’ or ‘IsNull’, and with source-txs existing either or not, rather than from a wrong source-tx. Because this will cause download interruption. So the loose verification of the ‘vtx’ part of version3 block, allowing coins without source-tx to be updated into viewcache, but for the wrong source-tx (! nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  • Related