Summary of MultiVAC daily AMA with CTO Dr. Shawn
We have collected some frequently asked and technically related questions from the community, our CTO Dr. Shawn Ying has answered them and the following is a summary.
We will keep updating the Q&A in this article.
5th community AMA
In MultiVAC, does miner need to save complete blockchain data? If not, how does a miner validate transactions and produce blocks without complete data?
Miners do not need to save complete data. We have a very neat design that allows miners to validate transactions and generate new blocks without complete data.
In MultiVAC, miners are required to keep track of
• All block headers;
• Roots of all shards’ main Merkle trees;
• Merkle Paths as required to perform updates to the Merkle Roots of all shards.
At present, the above data does not exceed 100MB in total. Even with the continuous operation of MultiVAC, we estimate that the future data growth will not exceed 1GB/year. So the data stored by ordinary miner is very small.
Only storage nodes are required to be aware of all blocks, comprising all historical transactions. However, they only maintain and update transaction outputs whose accounts are in the shard they are responsible for. For this reason, storage nodes of different shards will have different main Merkle Trees because storage nodes are only responsible for updating the state of transactions in their shard. Once the state is updated, the block hash changes and is propagated up to the Merkle root, resulting in each storage node having recorded the same transactions but updating only the transactions that it is responsible for serving up. Storage nodes may then optionally choose to prune the records of transactions that it is not responsible for.
So how does the miner update the block?
Recall that miners store not only all block headers but also the Merkle root from all shards and some Merkle paths from all shards as required for bookkeeping. When a miner is a block proposer, he is responsible for producing a block whose header contains two Merkle roots: the root of the attached block Merkle tree and the shard’s new main Merkle root upon addition of the block. Miners must update state changes from newly spent transactions when calculating the new main Merkle root. In addition, Merkle roots of blocks received from other shards must be appended to miners’ local versions of that shard’s Merkle root and Merkle paths in order to stay consistent with the other shards. Finally, the miner’s pending transaction pool consists of Merkle paths generated according to the current Merkle tree. After a new block is confirmed, these Merkle paths need to be updated in order for the system to stay consistent. These comprise a miner’s update tasks in MultiVAC. MultiVAC designs a process allowing miners to update their local state without knowledge of the whole Merkle tree. To do this, the miner requires the following information:
• The Merkle paths of all inputs spent in a miner’s newly generated block.
• All roots of block Merkle trees included in block headers received from other shards since the miner’s last update.
• The right-most Merkle path of each shard’s top main Merkle tree, that is, the Merkle path marking the locations where new blocks should be added in each shard. These provided by the shard’s storage node when the miner first joins the shard.
You can find more details in Section 4.3 of the MultiVAC Yellowpaper: http://www.mtv.ac/assets/file/MultiVAC_Sharding_Yellowpaper.pdf.
4th community AMA
1.) MTVs websocket (wss://websocket.mtv.ac) seems to be configured to only accept incoming connections from ‘localhost’, which means I can’t acess it on my service frontend (using a browser). Is it the expected behavior? Is there any way I get access rights from a different origin?
Shawn: We have responded to your question by mail. However, we need to disclose our answer: our websocket server rejects users from cross-site requests for safety reasons. If it is really necessary to request on-chain data on the client side, I recommend using the RPC server instead of directly connecting to the websocket server by initiating client requests on the browser page, which may have greater security risks. The same goes for Ethereum’s default settings. The websocket server is only for server-side applications. However, if you think it is really necessary, you can contact us to ask for an archival node, and you can set up this node for your users to connect to.
2.) Will we get a blockchain Explorer like etherscan, bscscan and ftmscan?
Shawn: We are still in communication with the etherscan team, but their offer is way above our expectations (millions of dollars per year) and is currently very busy and has not been able to work with us in recent quarters. We are still striving for the possibility of further cooperation. Additionally, our community is building new browser projects that are expected to provide more functionality. In any case, we are working hard to build a new explorer and are committed to providing a better on-chain application experience for everyone.
3.) Some people told that the whole MTV network runs on one server. Into the last AMA you told that the network will add automatically so many nodes as needed. How many server you have ready for this and are they hosted at different locations?
Shawn: We have thousands of nodes running on hundreds of servers spread across Asia, North America, Europe. We have used many different cloud service providers such as Google Cloud, Amazon EC2, and Alibaba Cloud. MultiVAC’s network can resist force majeure such as earthquakes, storms, tsunamis and other regional natural disasters.
To say we only have one server is really ridiculous. Just an insult to us.
4.) As per last questions, it was stated that the gas limit for a single transaction is about 4 million which limit it to ~480 transfers per call & increasing this will increase the size of a single block, affecting broadcast speed. Is the broadcast speed determined by gas per block or net gas of total blocks (all shards)? (i.e. do 10,000,000,000 blocks with a blocksize of 1 process faster than 1 block with a block size of 10,000,000,000).
Shawn: The more gas a single block has, the larger the block may be (but this is not absolute). The larger the block, the more time it takes to propagate. Just like the difference between BCH and BTC, the block of BTC is only 1MB, while the block of BCH can be very large. For a block generation period of 10 minutes, a slightly larger block is fine. But for the 3-second MultiVAC network, once our block is too large, when the entire network is completely decentralized in the future, it may become a problem whether our miner node can receive the block in time.
I think at this stage we are confident to increase the gas limit of a single block, so that a single contract can run more content. However, we still make this decision cautiously, because it is not necessary to do so at present, but it may bring risks.
3rd community AMA
1) People want also know which steps are still needed to start the final audit and the hackathon.
Shawn: As we have covered in the previous AMA, MultiVAC conducted a code audit and found some important issues during the audit, which we are still developing and trying to solve. Some problems are more complex, involving the underlying architecture and consensus algorithms, and the amount of engineering development is relatively large, so it is difficult for us to quickly fix them. We’re still in development, and we’ll do another code audit when we’re done fixing existing issues. No specific dates are planned yet. We will share the specific timetable with you after major technical issues are resolved.
We are in the preparations for Hackathon, and there are currently no technical obstacles. We will choose a suitable time according to the activity of the community and the time of the technical team.
2) Currently only one shard is activated. If the usage on the network is high, the shard-split behavior will be triggered. Is this meaning that MultiVAC is ready to support unlimited Shards? Out of my view this would be huge.
Shawn: There won’t be an infinite number of shards. Instead, a shard can be split into two, and then one of the two can continue to be split into two, or two can be split into four. Splitting needs to be based on network load.
3) What are the computer technical needs to operate a node. (What do I need to purchase?)
Shawn: The current hardware requirements are Linux operating system, dual-core 2.0GHz CPU, 1GB memory, 512Kbps network bandwidth (both upstream and downstream must meet this standard). It is not expected to be higher than this standard.
4) How many Multivac will I need to operate a node?
Shawn: 1 million. There are many voices in the community suggesting to reduce the number of staking for a single node. We are still considering it and have not made a decision to change at this time.
5) I wanted to build a smart contract to send tokens but there is an upper gas limit per transaction which limit it to just ~480 transfers per call. Any plans on increasing that or any more details?
Shawn: Yes, our current gas limit for a single transaction is about 4 million. We think it is sufficient for the time being. When necessary in the future, we can consider increasing it, but at this stage we still need to carefully observe the operating status of the network. Increasing this limit will significantly increase the size of a single block, which will affect the broadcast speed of the block and cause a larger delay.
6) How does MTV intends to provide long-term rewards to stakers or nodes. With actual APR there would be about two years of coins in the reserve. What mechanism will be put in place?
Shawn: We are working on it and are already developing it. But I can’t share more information with you at the moment until all the details are formalized.
2nd community AMA
1) Please can you give us an option to create a password on unstaking?
Reply: Sorry this is not possible, there is no centralized password in the crypto world. The crypto world is verified with signatures.
2) Do you have any info on the community plan?
Reply: There are currently plans to promote the influence of the MultiVAC community through KOLs. However, the specific plan is still under discussion.
3) Can you make a MTV announcement telegram channel where only MTV can write in News/Updates? So all the news can be seen there and don’t need to be asked constantly in the main channel (but please hold it clean from twitter people who post hundred of messages about their activity)?
Reply: We will update the reply later on this channel
4) Can you give us an Anagramm and an Organigramm about MultiVAC (it can also be without the names of the persons that work for MultiVAC)?
Reply: This is not a technical question, so this question is not answered by the technical team.The answer is from Cathy, for the protection of team members, we will not publish the above information of the team. But what I can share is that Shawn is in charge of the team overall, Cici is in charge of marketing, and Cathy is in charge of the community and ecosystem. In addition, our technical team is located in Singapore and London.
5) Which strategy MultiVAC follows? How is the mainnet development going on?
Reply: Our mainnet has been live for almost a year and has been running safely. There were no major problems, proving the safety and reliability of the MultiVAC mainnet. There were some minor issues in between, but they have all been resolved. We will continue to update and iterate on the mainnet.
6) Are there any news about the incoming audit and about the nodes and the hackathon?
Reply: The team is working on the above related work, but there is no new news to announce for the time being. If there is any new news, we will announce it on social media as soon as possible.
7) MultiVAC was planning a Defi portal named dfed.finance! But suddenly all news stopped about it. Will we get the planned platform? See also https: https://dfed-finance.medium.com
Reply: There is currently no new progress on this project.
8) Which types of nodes will exist and how are the requirements to run different types of nodes?
Reply: We first release miner nodes, and then release light nodes. There is no specific plan for storage nodes at present, and will be announced when there are further plans.
1st community AMA
1) Why is everything on the MTV Blockchain at the moment occurring on Shard 0? Is it because the remaining shards are not functional at the moment or is there any other reason for it?
Shawn: Currently only one shard is activated. If the usage on the network is high, the shard-split behavior will be triggered.
2)Is the testnet still available for testing dApps pre-deployment? If not what other viable option(s) are there if we are not considering deployment to the mainnet initially?
Shawn: Currently we have no testnet deployed. The main reason is that the cost of deploying the testnet is relatively high (dozens of servers are required). The gas fee of the MultiVAC mainnet is still very low, so the deployment cost on the mainnet is completely acceptable. You can deploy the test app directly on the mainnet. If there is any other necessity to deploy a testnet, welcome to communicate with us. Or we will consider deploying a testnet with only a few nodes.
3) What are the specifications required for deploying a dApp on the MultiVac Blockchain (including Smart Contracts)?
Shawn: There aren’t too many special constraints at the moment. Deploying contracts on MultiVAC is basically the same as other EVM platforms. However, the current MultiVAC limit for a single contract is about 4 million gas. This is the only thing to be aware of.
4)Some clarification on how the dApp Incubator that is mentioned on the MultiVac website will work in the future.
Shawn: We welcome developers to develop various applications on MultiVAC. We will provide various forms of support such as social media promotion, financial support, etc. You can also contact our ecosystem lead directly, Cathy: firstname.lastname@example.org
5) In spite of the sofistication of the PoIE algorithm and the punishment of penalization of malicious behavior, what is the level of security that is offered against intrusion or data theft, given that compared to other level 1 blockchain technologies and their PoW or PoS algorithms, PoIE is relatively untested so far? And do Merkle Trees offer some sort of additional data security with regards to the aforementioned concern?
Shawn: PoIE is the consensus at the bottom data verification level. We also have a PoS mechanism on the user side to ensure that most nodes in the network are honest and reliable. MultiVAC’s data verification method based on Merkle tree is very efficient and brief, and we have not found any new security issues yet. We believe this is a more efficient and decentralized means of data storage and transmission.
MultiVAC is a high-throughput flexible blockchain platform based on all-dimensional sharding. It’s a next-generation public blockchain platform built for integration with large-scale decentralized applications.
MultiVAC is developing the first solution in the world characterized by speediness, efficiency, and all-dimensional sharding to expand its capacity in computation, transmission, and storage. It realizes the maximum throughput while maintaining decentralization and without sacrificing security.
Listed Exchange: Kucoin.com, Gate.io, MEXC.com
Swap on DEX: Binance DEX, PancakeSwap, DODO DEX, BurgerSwap