Author

Topic: Asynchronous Communication in Vite.org (Read 125 times)

newbie
Activity: 59
Merit: 0
October 30, 2018, 12:31:46 PM
#7
Lol I've really surpised by your replies, guys. Let me show you some explanation Smiley

Firstly, Vite applies an asynchronous architecture to the message-driven of smart contract. Nano (a DAG project) divides the transfer into two actions: billing and recording. Meanwhile, Vite draws on Nano and extends it to the smart contract. Transactions are divided into accounts. A call transaction has two parts: a request and a respond transaction. In Block-lattice, there are a independent chain for each account, while DAG (Directed Acyclic Graph) usually says a tangle structure which does not support the mentioned feature. Transactions in DAG could refer to multiple blocks while in Vite the transaction pair only happens between sender account chain and receiver account chain. In Vite, the transaction is written onto the ledger and is asynchronous.

Secondly, in Vite, users can write a lot of transactions to the ledger within limit TPS, but the throughput is confirmed asynchronously, which smooths the confirmation of transactions, maximizes the use of the system resources, and improve the throughput of the whole system. In the meantime, transactions are sent in one account, leaving those in other accounts unrecognized for a longer periods.

Last but not least, Vite is expected to use the asynchronous design for inter-contract calls. With an event-driven architecture, every smart contract is viewed as an independent service. Contracts communicate via messages without sharing state. Vite adopts message-driven architecture. There is no state sharing between contracts. Users only communicate by sending message to each other.

Transactions in Vite are grouped by accounts. That is, each transaction only changes the state of one single account. Sending transactions are separated from receiving transactions, which obviates waiting for a transaction to be completed before the initiation of another one. The hierarchical design of the consensus algorithm allows horizontally scale in consensus groups.

jr. member
Activity: 222
Merit: 2
October 30, 2018, 11:51:52 AM
#6
So, another DApp that is using DAG. I am not a hater of DAG because it seems that DAG is faster than blockchain but I would prefer blockchain anyway since it is fail proof. I don't want to take any chance while moving money.


You have a bad idea about the project. Vite isn't a DApp, it is a distinctive DAG project whose founders were inspired by the NANO, while making a number of improvements, including smart contracts.

This is just another Dapp using DAG technology rather blockchain. Don't get me wrong DAG is also good as it is faster and cheaper but blockchain is much more trustworthy.


Can you give some explanation, why Blockchain is more trustworthy then DAG ?
newbie
Activity: 3
Merit: 0
October 29, 2018, 10:55:08 AM
#5
This is just another Dapp using DAG technology rather blockchain. Don't get me wrong DAG is also good as it is faster and cheaper but blockchain is much more trustworthy.
newbie
Activity: 3
Merit: 0
October 29, 2018, 10:54:13 AM
#4
Asynchronous technologies have always been effecient. Hope the asynchronous communiation module will help Vite.org to acheive some form of effeciency.
newbie
Activity: 3
Merit: 0
October 29, 2018, 10:53:55 AM
#3
So, another DApp that is using DAG. I am not a hater of DAG because it seems that DAG is faster than blockchain but I would prefer blockchain anyway since it is fail proof. I don't want to take any chance while moving money.
newbie
Activity: 3
Merit: 1
October 29, 2018, 10:53:33 AM
#2
I haven't heard of this DApp before. Is it legit? How do they plan to maintain a smart contact call if the recepient is offline? I don't get it.
newbie
Activity: 6
Merit: 0
October 24, 2018, 02:52:38 AM
#1
There are always been the innovation of blockchain technology, the one can be named following is one example - The asynchronous design in Vite.org
The design mainly includes three aspects:

1. Asynchronous design of requests and responses
2. Asynchronous design of transaction writing and confirmation
3. Asynchronous design of communication among smart contracts

Transactions in Vite are separated into request and response transactions. Whether it is a token transfer or a smart contract call, two transactions will be generated on the ledger. The system throughput is effectively improved because sending a transaction or calling a smart contract will not be blocked due to an offline recipient or slow response. In addition, transactions of different accounts can be distributed on different nodes in the network at a certain time, implying higher system scalability.

Ledger writing and transaction confirmation are also asynchronous. Non-related users can write transactions into the ledger in parallel, and the snapshot chain takes a snapshot of the ledger at a fixed rate. Once a transaction is snapshot, it can be considered as confirmed. As the height of the snapshot chain grows, the confirmation number will increase. The asynchronous confirmation mechanism eliminates transaction peaks and process transactions at a relatively stable rate, so as to maximize the utilization of system resources.

Vite inter-contract communication leverages the message-driven architecture that relies on message sending. In this architecture, smart contracts do not share states among each other. Vite’s ledger plays a role as message middleware to guarantee the Exactly Once semantics of the messages. Message-based architecture has the advantage of high throughput and scalability.

However, the cost includes complex programming model, lack of strong consistency, and possible longer delay. After in-depth research, we found that in the actual scenario, strong consistency semantics can be replaced by BASE (final consistency) semantics. Since Vite’s HDPoS consensus algorithm can guarantee that the transaction can be confirmed in one second, the small increase in latency is still an acceptable trade-off.

Jump to: