FQAs
Unfortunately, these calls are not compatible with Vite. Synchronous calls must be changed to asynchronous calls to work in Vite.
At a high level, the differences can be compared to C and C++. In basic syntax, the two languages are largely compatible. The largest difference lies in the synchronous (Ethereum) and asynchronous (Vite) calls as mentioned earlier.
In addition, a series of standard libraries, such as string manipulation, floating-point operations, basic mathematical operations, containers, and sorting will be provided in Solidity++.
Vite will provide Solidity++ contract language and a complete SDK to reduce the cost of asynchronous programming.After rigorous research, we found that in practical use cases, strong consistency semantics can be replaced by BASE semantics. Since the HDPoS consensus algorithm of Vite can guarantee transaction confirmation within one second, any potential latency increase is still under control.
Vite employs a ledger structure called a block-lattice where each account corresponds to a blockchain and each transaction refers to the hash of the previous transaction in the account. Transactions are divided into two types: request transactions and response transactions. A response transaction needs to quote the corresponding hash of the request transaction.The DAG 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 will not drop over time. Vite's Snapshot Chain technology is meant to address this issue.
Yes. Vite will support value transfers between different chains but not other inter-chain functions such as message transfers or smart contract calls between chains.
Yes, one of Vite's goals is to reduce the cost of porting over dApps from Ethereum. Vite tries to maximize compatibility with the Ethereum Virtual Machine (EVM).
Vite smart contracts will not have mobile support. There are no current plans to support other languages. In the future, we will set up a Virtual Machine (VM) Lab to continue research in smart contract and virtual machine languages. We welcome participation from experts in these areas. For inquiries, our Human Resources email is: hr@vite.org.
Vite has taken Solidity's problems into account and has adopted countermeasures when designing smart contracts. These operational improvements are seen within our Solidity++ language. One of those improvements, for example, is the incorporation of a series of standard libraries. This serves a dual purpose of increasing security protection while simplifying programming complexity. Because Solidity++ inter-contract calls rely on asynchronous architecture, the attacks facilitated by contract synchronous calls are inherently prevented. The classic Ethereum example of a 'reentrancy attack' scenario is not applicable in Vite's case. Vite will implement contractual formal verification technology to tackle smart contract development and we are considering offering a smart contract solution based on WebAssembly (WASM). In short, we present users with a variety of solution-based options.
Vite's asset issuance is similar to ERC-20, but in other ways it is different. ERC-20 is a specification, but not a part of Ethereum's protocol. The issuance of new tokens with Ethereum requires the user to develop and deploy a smart contract. Token balance is maintained by the state of the contract. If contract development is flawed, security risks surface. For example, if a user forgets to refer to the SaftMath library, an overflow may occur. Vite token is built into the Vite protocol. The token balance is maintained in the state of the user's account. The new token and the Vite native token share the same underlying protocol thus bringing the same measure of security to the new token and native token. When a user decides to issue a new token in Vite, all they need to do is initiate a transaction. The transaction then puts the new token parameters in the transaction data. The fact that our network does not require smart contract writing inherently leaves less room for bugs to occur.
We will open source the code for review and a security audit. In the event of a major security problem, remediation of tokens and 1:1 mapping may be considered.
Vite is based on the block-lattice ledger structure. Under this setup, it is impossible to have one successful request with a failed response in a given transaction. Instead of a failed response, a successful request can be met with an unconfirmed response from the recipient. There will be no rollback.Such a transaction will not be confirmed by the system until the recipient logs into their account and signs off on the transaction. If the recipient does not confirm the transaction, it's status will remain pending.
We do not think that delegated nodes consensus is a good idea. Critical contracts should be defined as static. Non-static contracts are the role of the dApp's backend. The owner of the contract is responsible for the accuracy of the contract.Like the Ethernet, contract updates rely on an audit mechanism.
We will limit the character set to American Standard Code for Information Interchange (ASCII) and provide a library to hash the name into a prime image.See here: https://github.com/ethereum/blockies. The name's text may look similar, but the profile picture is completely different.
Strong consistency is not guaranteed on Vite, but eventual consistency is. To improve its performance and scalability, Vite abandons the strong consistency model in Ethereum but implements a message-driven architecture to treat each smart contract as an independent service. The contracts communicate through messages but it does not share it's status. The message sent by a contract will not be reverted due to the failure of receiving the message by another contract.
Vite adopts the DAG ledger structure called block-lattice. Each account on Vite corresponds to a chain, and each transaction refers to the hash of the previous transaction of the account. There are two types of transactions: request transactions and response transactions. A response transaction needs to quote the hash of the corresponding request transaction. ,This DAG structure has an inherent security flaw. Block-lattice groups transactions by accounts. A transaction will solely be attached to the end of the account chain it corresponds to, while transactions initiated by other accounts will not become the successor of the transaction. Therefore, the probability of rolling back the transaction will not decrease over time. To tackle this problem, Vite invented Snapshot Chain technology to take a snapshot of the account chains at every second and attach them to the snapshot chain as new block. Attackers are unable to revert transactions on the account chain if the snapshot chain is not reverted at the same time, thus eliminating the vulnerability.
Vite used block-lattice as its ledger structure. It is impossible that a request is successful and the response fails. The status of a response transaction can only be confirmed or unconfirmed, there is no rollback.It is possible that a response transaction is not confirmed because the transaction must be signed and propagated by the receiver. If the receiver does not sign the transaction with the private key and broadcast the block, the response transaction will be in an unconfirmed state.
The execution of smart contracts is highly related to the DAG architecture of Vite. Similar to account, each smart contract has an independent chain on Vite where blocks are produced by the consensus group that the contract belongs to and is usually a different consensus group from the Snapshot Chain. This means that the execution of the smart contract is in an asynchronous process separate from snapshot block producing, leading to higher throughput.
At present, the cross-chain capability is mainly provided by Vite Labs' gateway. The gateway passed a strict audit conducted by a well-known security firm, and no security vulnerabilities were found. In Vite 2.0, we will provide a separate decentralized cross-chain protocol to ensure that cross-chain value transfers are more secure and efficient.