As in other cryptocurrencies, the ledger of WCG transactions is built and stored in a linked series of blocks, known as a blockchain. This ledger provides a permanent record of transactions that have taken place, and also establishes the order in which transactions have occurred. A copy of the blockchain is kept on every node in the WCG network, and every account that is unlocked on a node has the ability to generate blocks, as long as at least one incoming transaction to the account has been confirmed 1,440 times. Any account that meets these criteria is referred to as an active account.
In WCG, each block contains up to 255 transactions, all prefaced by a 192-byte header that contains identifying parameters. Each transaction in a block is represented by a maximum of 128 bytes, and the maximum block size is 256KB.
All blocks contain the following parameters:
- A block version
- A block timestamp, expressed in seconds since the genesis block
- The ID and hash of the previous block
- The number of transactions stored in the block
- The total amount of WCG transaction volumes in the block
- The total amount of transaction fees in the block
- The payload length of the block
- The hash value of the block payload
- The account’s public key generated by the block
- The block’s generation signature
- A signature for the entire block
Each block on the chain has a “Generation signature” parameter. Activate the account with its own private key to sign “Generation signature” on the original block. This produces a 64-byte signature, followed by SHA256 hash column for the signature. The hash generated by the first eight bytes gives a number as a “hit”. The “hit” is compared with the current target value (which is a 64bit number). If the calculated “hit” value is lower than the “target value”, then the next block can be generated.
Thus, the “Proof of stake” algorithm is generated because the “target value” is proportional to the balance it confirms for each activation account. An account holding 1,000 coins has a target value of 50 times the target value of a 200-dollar account. Thus, the number of blocks produced by holders of 1,000 coins is more than 50 times (from a long-term perspective) of those who hold 20 coins.
The “target” value is not fixed. With the passage of the time of the previous block, it is growing every second. If there is no account in the first second of the “hit” and the value is lower than the “target” value, then the next second target value will turn. The “target” value will continue to double until the “hit” value of an active account has a lower value. There is also a “base target” value set to the target value at intervals of 60 seconds. It is for this reason the average time for a block will be generated within 60 seconds. Even if there are only a few active accounts on the network, one of them will eventually produce a block because the “target” value will become quite large. By comparing the “hit” value of your account to the current “target” value, you can estimate how long your “hit” value will be successful.
When an activation account wins the right to generate a block, any available and unacknowledged transactions can be placed in the block and the block is filled with all the required parameters. Then the block will be propagated to the network as an alternative to the blockchain.
The load value, “hit” in each block, the generated account, and the signature can be acknowledged by the node on the network that receives it. Each block refers to the previous block, and the block-formed blockchain can be used to trace to the history of the transaction that is known to the network, all of which can be traced all the way back to the genesis block.