A Next Generation High-performance Decentralized Application Platform
The Core Key Designs of Vite
Asynchronous Architecture | DAG Ledger | HDPoS Consensus Algorithm | Reactive Contract | Integrated Value System
Specifications- Name: Vite
- Symbol: VITE
- Initial Supply: 1,000,000,000 Vite
- Inflation: Less than 3% per year
- Transaction Fee: Quota Based Resource Allocation Protocol
- 1. A PoW is calculated when the transaction is initiated (Just like Nano)
- 2. Mortgage a certain amount of vite
- 3. Destroy a small amount of vite
- Consensus Algorithm: HDPoS Consensus Algorithm
- Snapshot Chain Block Time: 1 seconds
- Ledger: DAG (Block-Lattice) + Snapshot Chain
- Smart Contract: Reactive Contract (Asynchronous Contract)
- Smart Contract Language: Solidity++
- Token Address: 0x1b793E49237758dBD8b752AFC9Eb4b329d5Da016
- Private Sale Investor: Bitmain, Node Capital, LinkVC, Genesis Capital, Ok Capital
Test Net 0.1 Exchange Resources IntroductionVite is a next-generation Reactive Blockchain that adopts a message-driven, asynchronous architecture and a DAG-based ledger. The goal for Vite’s design is to provide a reliable public platform for industrial dApps, with features of ultra-high throughput and scalability.
The most important innovation of Vite is its asynchronous architecture.
The following are the main asynchronous characteristics in Vite’s designs:
- Asynchronous model of requests and responses
- Asynchronous model of writing and confirmation of transactions
- Asynchronous model of communications between contracts
In addition, Vite makes use of a DAG ledger structure called block-lattice, which has far better performance than the traditional blockchain structure. To make up for the inherent security deficiency of the DAG structure, Vite incorporates the Snapshot Chain technology.
Vite's consensus algorithm, called HDPoS, is a hierarchical consensus algorithm with low latency and high scalability.
In order to accommodate the existing ecosystem, the Vite virtual machine maintains maximum compatibility with EVM, while providing a more powerful smart contract language, which we call solidity++.
Vite's original quota-based resource model and resource-leasing function ensure that system resources get allocated with maximum efficiency. Commercial Heavy users can be guaranteed sufficient quotas, while lightweight users do not have to pay commissions.
Vite's design of token issuing, token exchanging via loopring protocol and cross-chain protocol constitutes a complete closed-loop value system. Users can conveniently issue, store and exchange their digital assets in Vite system.
In the future, Vite’s mobile app will come with an HTML5 engine for creating dApplets (Decentralized Applets). Smart contracts on the Vite platform and corresponding SDK support will make it easy to develop and deploy dApps on Vite.
The DAG ledger
Vite makes use of a DAG ledger structure called block-lattice. Each account has its own chain. Each transaction refers to the hash of the previous transaction in the same account. Transactions are divided into two types: "request transactions" and "response transactions.” A response transaction needs to refer to the hash of the corresponding request transaction. This setup creates a grid-like DAG structure.
Such a structure allows parallel writing of individual transactions, reducing the probability of collisions and improving system throughput.
Note that this structure has an inherent deficiency in security. This is because transactions are grouped by accounts, and each transaction is only attached to the chain associated with the relevant account. Transactions generated by other accounts do not automatically become the subsequent nodes of the previous transaction. Therefore, for some transactions, the rollback probability of their reversion will not drop over time. To address this issue, Vite makes use of the snapshot chain technology.
The Model of Asynchronous Requests
Transactions in Vite can be categorized as request transactions and response transactions. Regardless of whether an event is a transfer or the call of a contract, two successive transactions get generated on the ledger.
A transfer can be split into a receive transaction and a send transaction; a transaction to invoke a contract can be split into a contract request transaction and a contract response transaction; the message call within each contract can be split into a request transaction and a response transaction.
After the split, each transaction only affects the state of a single account, and transactions do not interfere with one another, which improves throughput. In addition, transactions by different accounts are also allocated to different nodes in the network, thereby increasing scalability.
The Model of Asynchronous Confirmation
In the Vite framework, writing transactions into a ledger and receiving confirmations by the system are also asynchronous. Different users may write transactions into the ledger in parallel., and the snapshot chain will take snapshots of the ledger at a constant rate. A confirmation happens once a snapshot of a transaction is taken. As the snapshot chain grows, the number of confirmations will also increase.
The mechanism of asynchronous confirmation will reduce the peaks and troughs of the speed of transaction writing, thus optimizing usage of resources.
Vite employs a hierarchical HDPoS consensus algorithm. Each account chain in the ledger generates local consensus results, and the snapshot chain at the highest level selects the final consensus result from the local consensus results.
The Model of Asynchronous Communication
Vite's inter-contract communications incorporate a message-driven architecture, where the contracts do not share states but only communicate by sending messages to each other.
If a contract calls another contract, the former needs to send a request transaction first. This is logically similar to producing a message in MQ. After the node running the target contract observes the request transaction, the node writes a corresponding response transaction in the ledger, and updates the state of the contract. This process is equivalent to consuming a message from MQ.if a return value is needed, the target contract will send another message to the source contract in the same way.
In this model, Vite's ledger serves the role of the message middleware, and can guarantee the exactly-once semantics of messages.
The message-based architecture features high throughput and scalability. But on the flip side, the programming models become more complex. Not only is strong consistency not guaranteed, but latencies may become longer.
To address the above issues and reduce the cost of asynchronous programming, Vite will provide a contract language called Solidity++ and a full SDK associated with it. After rigorous research, we found that in actual scenarios , BASE semantics can replace ACID semantics. The increase in delay is still under control since the HDPoS consensus algorithm guarantees completion of the transaction confirmation within 1 second.
Other Designs
Vite’s design also comes with a few other features. They are practical solutions to problems and pain points in the realm of decentralized applications. The development of Vite's community and implementation of the VEPs( Vite Enhancement Proposals) will drive continual improvement of Vite protocol.
Vite’s protocol supports multiple tokens. Unlike the ERC20 scheme, user-issued tokens and Vite tokens share the same underlying trading protocol. This ensures identical level of security between types of tokens, and obviates security concerns due to poor implementation (e.g., those caused by stack overflow).
Vite will have the Loopring protocol built in, enabling exchange of multiple tokens. Therefore, the Vite wallet has functions of a decentralized exchange.
In addition, Vite proposed the VCTP cross-chain protocol that allows the transfer of assets between chains. The Vite team will implement the cross chain gateways with Ethereum. Cross-chain gateways with other target chains will open to the community.
The resource allocation mechanism in Vite is based on the stake of VITE tokens, the one-time fee, and the difficulty of PoW for a transaction. The mechanism provides flexibility for users with different needs. Users can choose to stake VITE for a period, to get fixed amount of TPS quotas. They can also pay a one-time fee to increase quotas temporarily. They could also lease resource quotas from existing VITE stake holders. Lastly, they could even obtain quotas by computing a PoW.
Moreover, the design of Vite includes the naming services, contract updating, timer scheduling, Solidity++ standard library, block pruning, and so on.
The white paper contains more specifics.
DistributionThe financing of the Vite project has been successfully completed, with a total of approximately 60,000 ETHs (including some BTC converted according to market prices).
A total of 400,000,000 Vite was issued, which accounted for 40% of the total circulation. It is expected that the first token will be issued before June 15 .
All token issuance is divided into 5 times, 20% each time, one month apart.
Vite’s investment institutions include:
Bitmain,
Node Capital,
LinkVC,
Genesis Capital, etc.