Stored on ethereum: 0xc5c451b5229baebbca31a58cd635220ad28d8fefa09b1d37d6b968cec4ae05c8
========================================================================================
PODV: A consensus mechanism based on data validation
November 18, 2018
podv.org
Part I. Background and motivation
Over the past ten years since the release of bitcoin, the blockchain has grown rapidly, more and more people have joined the revolution. In Venezuela, where the economy collapsed, many people chose to hold cryptocurrencies for a long time in order to avoid 40 times their national currency inflation a year. Encrypted currencies or public chains that claim to be used in various ways have been created. However, the public chain that has been recognized by most people is rare. Many blockchain projects have their own problems.
First of all, the ICO model, one of the financing methods for blockchain projects, has been abused. The private equity and others cause the market to be manipulated, hindering the free flow of project tokens. In addition, some public chains select mining nodes by selecting the delegate nodes, which undoubtedly gives capital a clear advantage. And most of the blockchains are designed to be open to the entire data, which is inconsistent with the needs of a large number of applications, and the user's data privacy needs to be protected. The central server may be more likely to store private data, but even giants such as Facebook or Google have caused problems with user data leakage this year, not to mention that some application providers will privately buy and sell user personal data. Apart from this, the necessary data such as transactions can never be falsified to ensure the authenticity, but a large number of time-sensitive application data affect the development of the chain.
If the blockchain is to be widely used, the user's cost of use must be considered. Although the usage scenarios of blockchain applications and centralized applications should be clearly distinguished, and the cost calculation method is different, at present, the cost of many public chain is too high, and resources such as pictures or videos cannot be directly stored. The way most developers endorse is to store resources through a separate file system, but this does not guarantee the permanent storage security of the data.
We have developed a PODV consensus mechanism to solve the above problems. It is necessary to determine the price of the token based on the physical cost of the storage to maintain the price relatively stable. The application data and the transaction data are hierarchically stored to ensure the high rate access of the chain to reduce the storage cost of data. Ensure that user privacy is not violated, and private data can only be read by private key owners themselves.
Part II. PODV Consensus
PODV is called data verification consensus. It realizes reliable storage through mutual data verification between nodes during storage, and constitutes and stores an inseparable consensus mechanism. Different from the POW consensus, PODV realizes the randomness of the block nodes by the verifiable random function, and uses the regional-wide beacon strategy under the BLS to allow more people to participate in the construction of the same random number to ensure the unpredictability of the results. This random number will be the key to the entire consensus. The general design of PODV is as follows:
1. Deposit: The initial operation of the node mining needs to be transferred to the deposit. After the deposit meets the requirements, it can participate in the award. The amount is at least 300 times the new block reward and is greater than or equal to half of the user's pledge token. If it is not full, the reward will be converted into a deposit to prevent cheating and attack and ensure the reliability of the node.
2. Storage: Becoming the full node is the premise of mining, and the additional dividends that can be obtained when the application data storage is high are more.
3. Supervision: By default, all nodes will be randomly checked to prioritize the nodes in the network that have received fewer random checks. Deduct the deposit of the non-compliant storage node and determine whether to cancel the mining qualification. Supervisors are divided into whistleblowers and verifiers, and will receive corresponding rewards.
4. Incentives: In addition to the new block reward and the up-and-coming fee income, there are also supervisory rewards and tokens additional dividends.
A fixed IP that can be accessed by an external network serves as an entry point for identification and inspection, while providing an entry for the frontend request API. The IP address will be used as a parameter to obtain a unique identification when the node is supervised, ensuring that multiple stores of the same data are independent of each other. The hard disk IOPS of the node is limited, and it can effectively avoid storing the witch attack that acts as multiple times at a high usage rate. Moreover, the content of the check must meet specific clearance requirements, so that the data provided by the node to others for query does not satisfy the verification condition, thereby preventing outsourcing attacks using other node data. In addition, there are successive requests to arrive at each node randomly, so a generation attack that displays a large amount of data but actually stores only a small amount of data cannot be realized.
Part III. Mining Server
The mining server implement is DVN, and the server running DVN normally is a PODV node. The node participates in verifying the transaction writing block and providing application backend support, which is both a data depositor and a data verifier. For the application user, there is no need to run the node, and the client can connect to the PODV network through the interface provided by the node. The node participates in the mining needs to have complete block data to become the full node. The miner does not need to care about the setting of the commission or other, and the configuration can be unattended for the first time when the configuration is completed.
DVN will open the voting interface. PODV has a voting mechanism. Except for the tokens such as exchanges, the number of tokens is weighed against the results. In order to avoid being disturbed by the number of votes or by the media, a few people represent the majority. At least the following two points are met: 1. The voting result is already on the chain but not disclosed in real time, but the result is released after the result is announced. 2. The token is lost due to the attack. The holders can also get the voting rights and count the weights of the same amount of tokens. In the end, the PODV community developers will use the voting results as the basis for decision-making, and all of them will focus on the common interests of DVC holders.
Part IV. Data Storage And Access
Data storage is at the heart of PODV. After the transaction data stored on the chain, it can never be tampered with, and the storage occupied by the application data can choose to pay the handling fee to the node for permanent winding or pledge storage for the corresponding amount of token free storage.
Take each block size to 1MB, and increase the height of the block every 3 seconds. Each block can hold about 4,000 transactions, so the TPS of the chain can exceed 1,000. The QPS at the time of reading can be infinitely expanded, and increases with the increase of nodes in a large interval in the previous period, and the theory can reach millions of QPS.
The attributes of the application data are private or publicly selectable, and the public data obtained by the application side is encrypted and uploaded by the user using the application public key. The user's private data is symmetrically encrypted and uploaded using its own private key. At this time, the data obtained by the application is the encrypted data, and the private key is stored in the user's own hands. Except that no one knows the content of the private data, the encrypted data can be Put it in any node for secure storage.
The locally completed encryption and decryption process requires a private key as a key for symmetric encryption, and the key is not transmitted over the network. The PODV application is supervised by the user and does not transmit any user privacy data. All authorizations are done in the official wallet. When registering the application, you need to use the private key to authorize locally. The user with the private key is the sole owner of his own data.
Part V. Economic Analysis
In the PODV DVC (Data verification credentials) is used to act as a token. The unit DVC can be split into smaller units, and the decimal is retained to 6 decimal places. DVC is the only token of the PODV blockchain that is used for value storage and serves as a transaction medium for PODV applications and as a credential for using services. In addition to the initial 500 million amount, each new block will create 10 DVC, generating approximately 100 million DVCs per year, and a portion of the additional tokens to accommodate additional liquidity growth. Additional statistics are available. Total issuance = 500 million + block height * 10 + additional amount, all sources can be traced.
1. value anchor
The tokens that are required to be paid for each unit of storage are fixed. Each DVC can be used to pay for the storage of 1 MB of data, and the physical cost of storage is used as an anchor for value, so that the price of DVC is strongly correlated with the market's expectation of storage price.
The price of a single DVC issued for the first time is $0.01. The estimated price of the token is as follows: Store the estimated price of $0.02/GB per month. If the storage period is about 100 months, and 5 nodes store the same data. There is 0.02*100*5=10 USD/GB, which is 0.01 USD/MB.
If the DVC price fluctuates abnormally, both developers and users will be affected. Although the total circulation of DVC will gradually increase over time, because the deposit strategy will lock a part of DVC, the passive will increase the user's willingness to hold the currency. To some extent, the stability of the DVC price has been improved.
2. additional strategies
If the demand of DVC increases sharply, the market transaction price will rise rapidly or the big sell order will be used as the basis for judgment. At this time, the supply and demand relationship will affect the price stability, so we designed an additional issuance strategy and provides contract method for all applications. The additional issuance will occur in the absence of token sales. When triggered, the system will sell the issued DVC at a stable market expectation price. The whole process will be automatically carried out in the PODV system contract. The tokens sold will be frozen in the contract and cannot be diverted. When the demand declines, the additional DVC is automatically purchased by the system at a stable market expectation price. The recovered DVC will be fully allocated to the node providing the storage according to the proportion of the tokens pledged on the node, which is the above-mentioned additional dividend.
The issuance strategy needs to be based on the DVC trading market within PODV. Any node running the DVN server can access the transaction with DVC, or use the third-party application that connects to the PODV transaction market to conduct DVC trading. It can be regarded as a decentralized exchange without fee. In the process of automatic issuance and repurchase in this market, DVC prices will gradually stabilize.
3. use cost
The transaction fee and the application data storage fee are the same standard. If the user does not store it permanently, then he cannot sell the DVC before deleting the information. If permanent storage is performed, the payment is made according to the price of 1DVC for 1MB data. At this time, the DVC will be paid as a mining fee to the mining node.
If charge for a single operation, it will affect the application experience and increase the user's psychological burden. The user pays for each operation, so the psychological experience and the feeling of use are more in line with the user's habits. Through the market mechanism, on-demand issuance, the issuance of dividends is equivalent to paying the storage costs, so users only need to pledge the tokens to use the corresponding share of storage resources for free. In addition, the application developer does not need to pay the storage fee for the user, and the application storage is also freely used by the developer to pledge the token, so there is no reason to pass the application running cost to the user, thereby helping to reduce the user's use cost.
4. mining incentives
New block rewards is the most basic incentive method for PODV. The reword of each block is fixed at 10DVC, assuming 100 nodes get new block reward, so the average base reward per node per day is 10*20*60*24/100=2880DVC.
The new block reward only account for a small portion of all rewards, and the value of liquidity is the key to getting incentives for nodes. The fee paid by the user is obtained by the node providing the storage, and the reward obtained when the spot check task is successfully completed. These will increase according to the increase of node contribution, so as to ensure the participation and storage reliability of mining nodes.
In addition, nodes that provide premium bandwidth and quality storage are more likely to get execution rights for storage tasks. The amount of pledge tokens obtained by the node is the basis for the additional dividends. The more storage the node provides, the more tokens that are pledge, and the more rewards you can get.
The initial release of 500 million DVC is used to ensure the initial liquidity of PODV, of which 50% is required for operations, 30% is awarded to developers, and 20% is reserved for founding teams. All funds flow will be announced on the official website to ensure that the credibility of PODV is not affected. The initial number of shares is not large, which means that the founding team will withdraw earlier and give control of the project to the community. The team members will personally participate in the PODV community to continue to provide technical support.
DVC is more like a stable currency than bitcoin or other currency. The price of DVC held first or later is not much different, and the speculative is small. Therefore, if the pioneers of PODV want to gain an advantage, the better way is not to hold a large number of DVC but to start PODV application development as soon as possible, to occupy market share and to prepare for the challenge of latecomers.
Part VI. Application and Ecology
PODV's smart contract is different from general smart contracts. It simplifies the development process by means of configuration methods, allowing developers to quickly implement their own application logic. The system will review when the contract is deployed, eliminating the developer's own review and testing of the code, which is relatively safer. The contract cannot be tampered with and publicly verifiable, and the application developer can choose whether to redirect the old contract address to the new contract address, and then the application user will need to re-authorize when using the new contract. In addition, the PODV contract has built-in methods for the DVC trading market, and it is connected with the mainstream currency transactions, which can be used to support the token exchange function of more applications, so as to adapt to the needs of the application in more scenarios.
The PODV application consists of a frontend UI and smart contract, which can be registered for application after the smart contract released on the chain. There is a common tool set js-lib for the frontend UI. After the frontend library is referenced, it will find the corresponding endpoint when the contract is registered from the seed.podv.org seed server according to the current domain name, that is the registered IP address, and then initiate a request to the PODV network for data interaction. The endpoint will be chosen by js-lib at the time of the call.
PODV has proposed Dpwa (Decentralized Progressive Web App) on the basis of Pwa. Web applications have always been more consistent with decentralized features, without relying on the app store as a distribution center. The frontend implements interface docking through a configuration-type smart contract and directly interacts with the DVN. This whole is called Dpwa, which is the Dapp of PODV. The following are the important Dpwa provided by PODV:
1. podv.org official website
The official website is an important bridge between PODV and followers, and the first Dpwa in PODV. In order to allow more people to participate, promotions will be held from time to time. In addition to information disclosure and related introductions, the official website also has documents to help use and develop, and will provide a block browser to obtain information about each block and the overall running status of the network.
2 dvc.podv.org DVC wallet
DVC wallet is the official management application of DVC. In addition to the basic functions of asset management and transfer, there is also an application market section. A large number of developers and officially provided Dpwa will also be listed. DVC owners can use valuable applications and have The right to supervise. After scanning the code, the application has the authorization information and the account in the corresponding application.
DVC wallet can be authorized, scanned, transferred, recharged, etc., all applications will be clear at a glance. The DVC wallet combines the encoding library in the frontend js-lib to create a wallet based on the user's random behavior or self-provided numbers without relying on built-in functions to ensure security. Authorization is also performed in the frontend environment. Unencrypted information does not transmission through the network. For wallet creation in the frontend environment, you need to pay special attention to device security. Don't choose to believe, you should verify.
3 git.podv.org GIT repository
After Github was acquired by Microsoft, the community rules were adjusted. At least we encountered account suspended that we had never had before. In order to be free from the constraints of centralized applications, GIT code hosting services are provided in the PODV.
The official GIT repository not only serves as a normal code-managed application, but also provides special configuration for Dpwa hosting. Upload the Dpwa configuration contract to the GIT repository to generate the corresponding https certificate for the application and obtain the corresponding entry, which can be used to match the API domain name resolution. In addition to the hosting contract, Dpwa's frontend code can also be hosted, and only need to configure the application domain name resolution to save the extra static file server. The above operations can be configured on the GIT application or on the DVN. All PODV-related code is hosted open source, the community has the right to know and supervise the code, and it is also to promote the rapid participation of interested developers in the development of the public chain and applications.
Dpwa is not without managers, because a lot of content needs to be reviewed, and managers have special permissions, which are the same as centralized applications in many scenarios. Dpwa's credibility needs to be judged by users, and also pay attention to the data types in Dpwa. In general, permanent winding requires a publicly available transaction address to provide verification, while storage for free use after pledge tokens is all different.
As a decentralized application, Dpwa is able to do things that are not possible with centralized applications, such as fully open and transparent voting and sweepstakes, and many other applications that require fairness. The decentralization features of Dpwa ensure the user's community autonomy behavior, and the centralized application has the risk of being controlled by human beings. It is inevitable that the implementation regulations will be mixed with subjective factors. Dpwa can make the regulations be formulated by people, and the implementation is completely handed over to the consensus mechanism, so that the objective performers become fair defenders.
Part VII. Development Planning
PODV will undergo two stages of development, with a stable version of DVN release as a demarcation. The following is the plan for PODV for nearly a year:
In November 2018, a white paper was released, the PODV homepage was opened, and Dpwa app developers were recruited through events.
In December 2018, the DVN beta was released, and the beta version of the DVC wallet was released, user guide and development documentation was opened.
In the first quarter of 2019, the GIT warehouse application was released, and the open source related code, DVN opened mining and released the official version of the DVC wallet, and the cooperative development application will be launched.
In the second quarter of 2019, collect issues during application use, improve DVN and application interfaces, and update documentation.
In the third quarter of 2019, the stable version of DVN was released, and the developer community was completed to create more Dpwa applications.