您的位置:首页 > 其它

MGC TOKEN technical explanation —— Data Format

2019-02-15 14:31 99 查看

Data format
All data in MGCtoken is stored in the form of “recursive length prefix encoding (PLP)”, which concatenates arrays of strings of arbitrary length and dimension into strings.
Blockchain, a blockchain data structure that is unforgeable, non-tamperable, and traceable through transparent and trusted rules in a peer-to-peer network environment. It implements management, processing, and data patterns through definition, identification, and identification. , a data unit that represents and allows a series of attribute descriptions.
Data Type: The format used to collect letters, numbers, and symbols and the description of data values as determined by data element operations.
Smart Contract: Defines the automatic execution of the terms contract in digital form. The MGC token uses a smart contract to schedule event triggering, non-tamperable, automatic execution and other computer programs in the blockchain technology field.
PKI: public key infrastructure, ID identification
Data object structure
The data object structure related to the MGC Token blockchain technology includes the above six main data objects: block, transaction, entity, contract, account, and configuration. The data objects of the blockchain core include blocks, transactions, entities, and contracts. Each block data object includes one or more transaction data objects, each transaction object includes an entity data object of the attribute class, and also includes the business logic of the transaction, that is, a contract data object. In addition to the blockchain core data object, including the configuration data object, the configuration information required during the normal operation of the blockchain system is provided. The configuration data and the blockchain core data together construct the data foundation required for the blockchain operation, and the personal account data represents the actual initiator of the blockchain service and the data structure corresponding to the relevant party.

Data Classification
Account data: The data of the actual initiator and related parties of the blockchain transaction. The transaction information recorded in the block is associated with the associated account, and each blockchain service client has one or more accounts to use the blockchain service.
Block data: The underlying chained data of the blockchain network, which is persisted into a blockchain data structure by the resulting transaction processing results. The block is composed of a block header and a block body, and the block header contains block-related control information, and the block body includes specific transaction data.
Transaction data: specific business action data carried on the blockchain system. The transaction is divided into two transaction type transactions and non-transaction transactions.
Entity data: Static attribute data for a transaction. Remarks by originator address, recipient address, transaction amount, transaction fee, storage data, and entity data.
Contract data: Dynamically process logic data, using smart contracts, commitments defined in the form of computer code, contract participants must implement the promised agreement, where MGC TOKEN’s contract data processing logic uses executable code, as well as processing logic. Results of the.

Configuration data: Configuration information required during normal operation of the MGC Token system, including consensus protocol, network communication, and other information about the configuration of the underlying node.
Data element attribute
The data classification and data elements are respectively sequenced and recorded in sequence, the first segment code is the data classification number, and the latter segment code is the data element serial number.
Data type: data element features and basic elements. The data types used in MGC Token mainly include: string, integer, and array.
Data length: The length of the data element, the MGC Token standard fixed length, and the recommended byte length is agreed to use.
The account data is mainly for the following data elements;
Account public key: 64 bytes of string (data description: the public part of the key pair generated for the user according to the PKL system)
Account private key: string 32 bytes (data description: the non-public part of the key pair generated for the user according to the PKL system)
Account assets: array, variable length (data description: account ownership asset description, including asset name, asset list, balance display)
Digital certificate: array, variable length (digitally signed by digital authority, including public key owner certificate and holding file)
Account owner: Array, variable length (account data is added to the blockchain network, and the independent operation account can be certified as a person or company by certificate)
The block data uses the following data elements;
Block height: identifies the block number, the block is in the blockchain position
Block ID: Block summary, the unique identifier of the block in the blockchain
Version information: current block version 2.0
The previous block digest value: the unique identifier of the 32-byte block in the blockchain
Merkel root: 32 bytes, aggregated by tree structure algorithm to generate summary values
Block timestamp: 8 bytes, block generation time scale, precision in milliseconds
Block random number: block random number, MGC Token is used for node competition billing right, using hash algorithm variable parameter
Difficulty factor: MGC Token is used to indicate the parameter of the Hash calculation difficulty of the accounting node competing for the accounting right.
Transaction list: a list of transactions in a block, each transaction representing a business operation
Transaction data format

Transaction ID: A unique identifier used to guarantee transaction data, using a hash value
Transaction type: used to define transaction operation events when performing transaction operations, and one or more
Signer: A collection of transactions that perform transaction operations and multi-signatures
Transaction timestamp: 32 bytes, precision in milliseconds
The recipient address operates the receiver in the transaction as the unique identifier of the transaction operation object. When the transaction occurs, the amount of account assets and the transaction amount are involved in the operation. A certain transaction cost is generated in a single transaction, in order to prevent transaction slips, traffic attacks, and the like. When the block processing part of the service, it is necessary to provide an alternative field, which can add additional data related to the business requirement. In a transaction operation, the text and hash memo fields for the transaction.

Contract data format
After the contract is deployed on the blockchain, the code, status, storage, etc. of the user’s access contract are identified by a uniquely determined address.
MGC Token creates the contract account + serial number + other contract information of the logo, which can be generated by the digest algorithm, the generated standard, determined, avai 20000 lable, and optional. For the code of the smart contract and the binary code data compiled and released to the blockchain, the version number is used to identify different versions. The smart contract will continue to provide business functions, but has different characteristics for different problems, where the MGC Token adopts the version. The partitioned, contract executable instructions are compiled and generated by the compiler for execution by the virtual machine on the blockchain. The MGC Token is written in different computer languages according to different virtual machine systems, and the binary is generated by different compilers. Execution instructions, a collection of state data generated by the contract execution process, the content will be closely related to the logic of the contract, and the MGC Token is saved as a database using the key-value format.
Configuration data format

Protocol version number: For protocols that communicate and interact between blockchain nodes and external applications and blockchain nodes, the MGC Token uses different version numbers to identify different protocol versions. The blockchain protocol can have different interfaces as the software version is upgraded. As well as the function, the blockchain software will be backward compatible with the protocol layer and differentiated by the protocol version number. The software can provide services for multiple clients using different protocols.
Version software number: For the blockchain software itself, the code and binary software form use the version with different identification. The blockchain software can be used for different customers for different software lifecycles and different application scenarios. Program
Node ID: The unique identifier of the blockchain node. MGCToken selects the public key of the node as the unique identifier.
Node address: Define the IP address of the blockchain network node according to IPV4 and PIV6
Node public key: public key information of the blockchain network node
Consensus mechanism related data format

The Byzantine fault-tolerant consensus algorithm is a problem that optimizes the traditional BFT-DPOS algorithm and is a similar algorithm developed by the PBGT algorithm and its evolution.
Verify the address: the address is used as the identity to verify the identity, the verifier cannot change the address
Verifier public key: The certifier public key can be used to verify that the signature is correct, and the corresponding certifier address can also be obtained after the public key is encoded.
Verifier voting weight: The verifier votes according to all voting weights, and a certain percentage of the voting weights can enter the next round of voting.
Verifier address list: The certifier list includes all certifiers in the blockchain, and the certifier has the right to block accounting
Proposer: Submit the task of packaging the next block proposal
Sumifier’s voting weight sum: the sum of all verifier votes in the current blockchain system
Voter address: The address is the identity of the voter in the blockchain. The address is generated by the public key.
Voter serial number: The voter will have a unique serial number in the list as the voter’s identity
The height of the voter block: the height of the next block to be packed, that is, the height of the next block
Voting rounds: In the process of packing a block, the node will pass the multiple rounds and there will be a corresponding time limit.
Type of voting: When submitting a block, there are multiple voting types, pre-voting and pre-submission
Voting block identifier: a summary of the projected block, this summary is hashed by the contents of the block.
Voter’s signature: The voter’s signature on the voting information. This signature can be used to represent what the action is actually doing, not others.
Duration of equity accumulation: The length of time to participate in the voting equity. The equity certificate successfully generates new equity, and the equity time will be cleared.
Random number: The blockchain system based on the workload proof will require the biller to find the appropriate random number, perform a hash operation on the random number and the block content merge information to be billed, and require the calculated hash value to be satisfied. Specific format
Block Biller: Identifies the biller (absent) information actually submitted to this block, indicated by the biller’s public key address or account address.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: