# Introduction
# Action
# Economics of ZPNChain tokens
The initial issue of ZPN tokens will be 1000000000
# Block head
The structure of the Block Header contains:
・ a 64-bit numeric sequence representing the numeric position of a block from the Genesis block.
・ the storage of the previous block, that is, the 32-byte storage in the previous block.
A 32-byte storage space that represents the root of the Merkle tree.
・ A 32-byte storage space represents the root of the Merkle Tree formed by intrablock exchanges.
 € ¢ the target is a 32-byte number, so the block hash value calculated using Hasche's algorithm must be numerically lower than this target.
・ randomness (sometimes called random numbers) is an adjustment item used to ensure that the hash value of the block header calculated by the algorithm is numerically lower than the target value.
. Landscape Field, which is an arbitrary data field of 32 bytes.
# Time of the target block
Ten seconds
# Launch curve
The release curve starts at 86 million Genesis coins. After the first year, the amount of new coins generated by mining prizes was a quarter of the Genesis coinage, or 21.5 million pieces. Each year less and less coins are produced until the final supply of 6 billion pieces is reached. The formula for determining how many new coins will be minted in a given year after creation is:
Where s is the initial supply of 86 million coins in the Genesis block, X is the number of years since the main network was started, and K is the attenuation factor with a value of -0.05.
Assume that the average target block time is 10 seconds.
# Block rewards
Mining blocks are awarded in the form of ZPN coins to miners who succeed in digging blocks accepted by the network.
Using the emissions curve formula, round to the nearest 27.27 coins:
When a miner proposes a block, he also adds a special miner reward transaction to the block, which is used to receive the block reward and any transaction fees for user transactions contained in the block.
# Target block time and difficulty adjustment
At present, the average target block time is 10 seconds. The block difficulty is adjusted each time the block is out to achieve the target block time.
The target is a 32-byte number, and the block header hash computed by the ZPN Hasche algorithm is numerically smaller than the target. Difficulty is the inverse of the goal.
If the network generates a block for more than 15 seconds, it is less difficult than the previous block. Conversely, if the miner wants to generate a block in less than 15 seconds from the previous block, the difficulty increases.
Based on the timestamp of the incoming block and the timestamp of the previous block, calculate the difficulty of the incoming block as follows:
timeFromPreviousBlockInSeconds = currentBlockTimestamp - previousBlockTimestamp
adjustment = floor((timeFromPreviousBlockInSeconds - 65) / 10)
difficulty = previousBlockDifficulty -(previousBlockDifficulty / 2048) * adjustment;
difficulty = max(difficulty, minDifficulty)
# Block mining
Block mining is the process of finding an effective block that meets the difficulty requirement. In the case of the proof-of-work system, this process involves calculating the difficulty of the potential block and then hashing the contents of the block head according to the Hasche algorithm until the target is reached.
Development fund-50000000
(1) ecological development
SDAO foundation allocations will be held by the foundation to support the ongoing operations of ZPNChain, ecosystem allocation expands the ZPN ecosystem by supporting community and growth initiatives (e.g. ecological improvement, partnerships, R & D, network upgrading) , which will be retained for use by SDAO governance directives
- Technology research and development
ZPN follows the spirit of daring to be the first in the world to support the ZPNCHAIN technology. The technology ecology will create a complete ecological upgrade for DAPP, RWA, Privacy Subchain and enterprise services.
- Marketing
Future incentives will focus on market leader program and partnership directions, providing compensation to creators of web architecture content or tools
- Ecological Management
In the future ecological construction, the development fund SDAO will ensure that the direction of governance does not shift through consensus meetings. Walk-zero knowledge proves the pace of enterprise-level incubation and data up-chain.
Community awards-100000000
- Early participants
Early backers with 1-year participation or early becoming nodes, token-locked linear release
- Airdrop
ZPN airdrops are among the most widely distributed airdrops in history and represent a step toward the universalization of the privacy subchain.
- Community contributors
Core community contributors will receive community award airdrops in the future
Investor-100000000
Early investors in the ZPNChain chain will lock up their positions for 5 years, releasing them year after year in a linear fashion. The locked tokens can not be pledged
Teams and consultants-1500000000
Teams and consultants set lock-up periods and phase-outs
Teams account for 10% , Lock-in period is 10 years, release year by year
Consultants 5% , phased release for 10 years, linear release to ensure long-term team development.
Mining bonus-600000000
Allocation based on contributed computing resources and network participation
POW accounts for 40% and gets ZPN based on block computing power
POS accounts for 20% and gets ZPN tokens according to the authentication node
# Guide
# Identity mechanisms
The ZPNCHAIN platform enables developers to use ZKP technology to protect user privacy, while developing digital identity authentication and proof solutions that are both secure and compliant with legal and regulatory requirements.
This enables developers to create privacy-preserving applications on the ZPN blockchain while adhering to the rules. The operation and maintenance of the ZPN network rely on the joint efforts of three different actors in the network, namely
- pledger
They support network security by locking down the ZPN, which in turn helps the verifier participate in the network consensus. An individual or organization that locks its own ZPN to support ZPN network security. By pledging ZPN, they can not only help maintain network security, but also get a reward when the number of pledges reaches a certain standard.
- certifier
The use of dedicated hardware to generate zero-knowledge proof, to solve a series of problems to strengthen network security. The prover (also known as a zero-knowledge miner or a zero-knowledge prover) plays a special role in the operation of ZPN networks by specializing in tasks related to zero-knowledge proofs.
- verifier
They are responsible for running network nodes, validating transactions, and participating in the network consensus process. Verifiers are key participants in ZPN networks, and they are responsible for maintaining and protecting network security using the ZPNPBW consensus mechanism. ZPNPBW is an efficient and secure proof-of-interest consensus mechanism that builds on the latest consensus algorithm research on Bullshark and its unique directed acyclic graph (DAG)-like memory pools. Become the verifier node, at least pledge more than 1 million ZPN.
# ZPNPOS pledge
Explanation of pledge mechanism
By pledging ZPN tokens, contributions to the protection of the network are rewarded
How to pledge
You can pledge ZPN in the future by purchasing ZPN tokens and delegating them to the super router for a reward. The minimum pledge amount is 10000 ZPN, and the reward is issued every 3 seconds. If you decide to cancel the pledge, exit the delegation, go back to ZPN tokens
ZKPWhale
The ZKPSOC programmable chip adopts multi-scalar multiplication (MSM) , which has the advantages of high performance, low cost and high energy efficiency ratio of zero-knowledge proof mining machine, and provides strong infrastructure support for public link network and private computing.
The role of multi-scalar multiplication (MSM) in zero-knowledge proof
Multiscalar multiplication is one of the core computational operations in zero-knowledge proofs, especially in elliptic curve-based proof systems such as zk-SNARKs and zk-STARKs. Its main task is to efficiently compute the sum of the products of scalars and points on an elliptic curve:
Where ki is a scalar (usually a large integer) ,
pi is a point on an elliptic curve.
The importance of MSM in zero-knowledge proof
・ the core operation of proof generation: in zk-SNARKs and other proof systems, MSM is one of the most time-consuming steps in the proof generation process, occupying most of the computing resources.
Performance Bottleneck: the computing efficiency of MSM directly determines the speed of generating zero-knowledge proofs and the performance of mining machine.
· Key to hardware acceleration: due to the high computational complexity of MSM, optimizing the implementation of MSM (especially through hardware acceleration) can significantly improve the efficiency of the mining machine.
MSM optimization method
Parallel Computing: using hardware such as GPU or FPGA to implement parallel computing of MSM can greatly improve the computing speed.
・ algorithm optimization: Using efficient algorithms such as Pippenger algorithm or Bucketing algorithm to reduce the amount of computation.
· hardware customization: designing dedicated asics that are optimized for MSM computing features.
The advantage of 5.12 to the 26th power in the zero-knowledge proof mining machine
2 to the 26th power is a very large number (about 72 trillion) , and its application in zero-knowledge proof is mainly reflected in the following aspects:
- safety
Anti-attack ability: in zero-knowledge proof, the security of elliptic curve depends on the difficulty of large number decomposition and discrete logarithm problem. 2 to the 26th power, the scale ensures sufficient security to prevent brute force cracking and quantum computing attacks.
Randomness guarantee: in the generation of zero-knowledge proof, the need to use random number to ensure the privacy and security of the proof.
· 2 to the 26th power random number space is large enough to effectively prevent random number collision and prediction attacks.
(2) computational efficiency
Optimal Range: 2 to the 26th power is a common range in MSM and other zero-knowledge proofs. Optimizing for this range through hardware designs such as asics or fpgas can significantly improve computational efficiency.
Reduce memory footprint:
・2 to the 26th power range can reduce memory usage and computational complexity while ensuring security, thereby reducing hardware costs.
(3) hardware design advantages
ASIC optimization: designing a special circuit for the numerical range of 2 to the 26th power can greatly improve the computational efficiency of the mining machine.
Energy consumption optimization: through the optimization of 2 to the 26th power range of calculation, can reduce the power consumption of mining machine, improve energy efficiency ratio.
5.2 MSM and 2 to the 26th power
5.2.1★2 ^ 26 combination advantages in zero-knowledge proof mining machines
By combining the advantages of MSM and 2 to the 26th power, the following goals can be achieved in a zero-knowledge proof miner:
(1) high performance computing
・ through hardware-accelerated MSM computation, combined with the optimization of the numerical range of 2 to the 26th power, the mining machine can complete the complex zero-knowledge: Proof Generation task in a short time.
・ parallel computing and dedicated hardware design can further improve the computing performance.
(2) Low-cost hardware
・ optimizing the hardware design for the numerical range of 2 to the 26th power can reduce the chip area and power consumption, thereby reducing the manufacturing cost of the miner.
・ efficient MSM algorithm and hardware implementation can reduce the dependence on high-end hardware and further reduce the cost.
(3) high energy efficiency ratio
・ by optimizing the computation of MSM and 2 to the 26th power, the miner can complete high-intensity computing tasks with low power consumption and improve the energy efficiency ratio.
・ this is especially important for large-scale deployment scenarios of mining machines, such as public link networks.
(4) scalability
・ the optimization design based on MSM and 2 to the 26th power can be easily extended to other zero-knowledge proof systems (such as zk-STARKs or Bulletproofs) to improve the versatility of the mining machine.
# Blind signature
Blind signature is a special kind of digital signature, which means that the signer does not know the content of the message. It is widely used in e-cash, e-auction and e-voting. Blind signature protocol allows the message owner to obtain the signature, but the signer can not know the signature information. After the message owner interacts with the signer once, only one valid signature is obtained.
In the blind signature scheme proposed by ZKP, G 1 is a gap Diffie-Hellman (GDH) group of prime order P, and g 2 is a factorial P cyclic group. G is the generator of G 1, which Bilinear map eg 1 × g 1→ g 2.
Hasche's function H: * 0,1 + → g 1,1 = (P, G, H) takes a common argument.
First, bilinear pairings are introduced:
Let G 1 be an additive cyclic group of order Q, where Q is a large prime, and g 2 be a factorial cyclic group of Order Q. A map E: G 1 × G 1→ g 2 is a bilinear pair if:
(1) bilinear: for any
P,QEG1,a,bEZq, e(aP,bQ)=e(P,Q)ab
(2) non-degeneracy: there exists p, q ∈ g 1 such that E (p, q)≠1, i.e. , all the antipodes in G 1 × g 1 are not mapped to the identity in G 2;
(3) computability: for any p, q ∈ G 1, E (p, Q) can be computed efficiently.
Blind signature includes (KeyGen, Blinding, Signing, Unblinding, sign) five algorithms:
(1) key generation KeyGen: the Signer Selects X ∈ ZP at random and computes Y = g ^ x, then the Signer's public key is Y and his private key is X.
(2) Blinding: for the message M, the user selects a random number r ∈ ZP, computes α = h (m) g ^ R and sends it to the signer.
(3) blind signature: the signer computes β = α ^ x and sends it to the user. Β is the blind signature of the message M.
(4) Unblinding: the user computes σ = βy ^ {-R } and outputs σ. Σ = H (m) ^ x is a valid signature of M.
(5) verify the VerSign: Given the message M and the signature σ, verify that E (g, σ) = E (y, h (m)) is true, and if so, the signature is valid.
Blind signature has the following two security properties:
(1) blindness: the signer can not obtain any information about the signed message.
(2) special unforgeability: to prevent repeated forgery, that is, a user who has participated in a blind signature protocol once can not obtain more than one signature.
# Network module
The function of the network module is mainly embodied in two aspects. On the one hand, an ad hoc network is formed, including the dynamic entry and exit of cross-chain gateways under multi-chain architecture, as well as the maintenance of network state, such as detection and preservation mechanisms. On the other hand, the network module is responsible for the synchronization and updating of routing tables between gateways and all interactions with the privacy subchain adapter.
ZPK network uses Gossip algorithm based on memberlist as the basic framework, and uses GRPC as the basic communication mode to realize the function of network module.
4.4 network modules
The main functions of the network module are divided into two aspects: one is to build self-organizing network, including dynamic entry/exit of cross-chain Gateway, network state maintenance (such as detection and maintenance mechanism) ; The other is responsible for the synchronization update of routing table between gateways, and the interaction with the privacy subchain adapter. ZPK network uses gossip algorithm based on memberlist as the basic framework, and uses gRPC as the communication method to realize the network module.
Data Management module
(1) network state maintenance
Network state maintenance involves nodes joining, leaving and dynamic keeping alive. When the network is initialized, cross-chain gateways can be started and nodes can be added to the network as seeds through the initialization function (shown in table 4-2) . The entry and exit of cross-chain Gateway will lead to the change of network topology, so the online gateway needs to adjust the routing table and other service layer settings according to this information. The ZPN network uses the event proxy mechanism of memberlist to realize the instant notification of Gateway entry, exit, network configuration update and other events, and other gateways are processed by the business layer after receiving the notification.
In addition, memberlists are supposed to communicate via TCP and UDP. In order to improve the convergence speed and transmission security of cluster information, the ZPN network replaces TCP with GRPC stream connection and UDP with GRPC single connection, and re-implements the transport layer of memberlist (as shown in table 4-3) . The FINALADVERTISEADDR method is used for the final advertisement of the node address.
Click on the network to broadcast access information, including IP and port information, for use by other gateways when connecting. Writeto and PacketCh are the corresponding methods for GRPC single connections, where Writeto is used to create a connection and send data, and PacketCh is used to read data from the connection. DialTimeout and STREAMCH are used to create and read gRPC stream connections. The Shutdown method is called when a node exits the network and is used to disconnect all connections and clean up cached data. In addition, the network module uses the heartbeat detection mechanism of memberlist to randomly select the gateway to send heartbeat information periodically to ensure the stability of the network.
# Multi-chain smart contract
In multi-chain architecture, the contract function can be divided into two categories: one is the bridge contract, which is responsible for the transaction management of cross-chain transactions, such as initiating cross-chain requests and sub-transaction state control; the other is the cross-chain service contract, the business logic of cross-chain transaction is realized, and each cross-chain request is finally reflected in the invocation of business contracts.
4.5.1 bridging contracts
The bridge contract is a bridge between the privacy subchain and the adapter, and all interactions are performed by the bridge contract. It runs on the privacy subchain and is invoked by the adapter through plug-ins. The user interface only provides the function of making cross-chain requests and querying transaction information. The privacy subchain implements the bridging contract according to the specified functional interface, which is shown in table 4-5. The ZPN network will describe the bridging contract function accordingly.
The 'AcrossChainInvoke' method is the starting point to initiate a cross-chain transaction, passing in parameters such as the target chain ID, the contract ID on the chain, the contract method, and parameters. At the same time, the sub-transaction index is recorded on the chain when the request is created. Since the two operations are in the same contract method, and a contract call on the blockchain is atomic, the two operations either succeed or fail at the same time, and no partial success occurs.
Sub-transaction and index mismatch problem. The privacy subchain is indexed by the following rules: Cross-chain transactions are indexed by business ids and serial numbers, which are incremented from 0. Business ID is the unique identification of cross-chain parties in multi-chain architecture, which is determined after joining the multi-chain ecology. Based on this index, the adapter will assign a unique identity to all subtransactions involved in the form of business ID-source Chain ID-target chain D-ordinal.
The TransactionPrepare method is called by the adapter in the first phase of the two-phase control of the transaction, the main functions of the adapter are as follows: 1) the adapter executes sub-transactions on the privacy sub-chain and invokes business contracts for specific transactions; 2) it records the state of sub-transactions as a reliable source for the cross-chain gateway to collect the execution results. In the event of a failure or loss of information, the cross-chain gateway queries the sub-transaction status. Because the operation is completed by inter-contract calls, the transaction execution results and status records have strong consistency, and the cross-chain gateway should be based on the transaction status on the privacy sub-chain.
The TransactionCommit and TransactionRollback methods are called in the second phase of transaction control. The cross-chain gateway collects the results of the first stage of each privacy sub-chain and issues the instructions of the second stage according to the results. If a commit instruction is issued, the adapter calls the TransactionCommit method to update the sub-transaction status to committed. If a rollback instruction is issued, the adapter calls the TransactionRollback method to roll back the data and update the status to failure, recording the reason for the failure.
The Callback method is used to coordinate the specific business on the privacy subchain, indicating the subsequent operation after the completion of the cross-chain request or sub-transaction.
The GetTransactionStatus method is used to query the status of subtransactions on the chain for cross-chain gateways and users. The GetLastTransactionInfo method queries for the most recent transaction information under the specified business ID. Serial number, used by the adapter to verify the order of transactions.
External links
Mining machine official website