V God: How to participate in Casper and sharding? What does a validator need to do?
2018-06-03 07:08
本文约3740字,阅读全文需要约15分钟
The block mechanism supports the decentralization of the protocol, which will be fairer to those who have less ether.

At the 2018 Ethereum Technology and Application Conference, Ethereum founder Vitalik Buterin shared the Casper Pos/sharding technology in his speech on "Casper and the latest progress in sharding technology", especially analyzing how to become a Verification nodes, what responsibilities do verification nodes have, etc. In addition, V God said that at present, the combination of the financial industry, the game industry and blockchain technology is better.

The following is the full text of V God's speech:

Casper has a brand new algorithm, and the sharding of the algorithm is the solution. I will explain the process of these two technologies in detail.

If you participate in Casper and sharding, what will you do from the perspective of nodes?

The first step is to make a deposit. Casper is a verification system. In other words, in order to join Casper, you need to have a deposit in the equity, and the deposit needs to send a deposit transaction, which is a normal transaction on Ethereum. This transaction requires a public key, 32 ether and a withdrawal address.

Everyone should pay attention here that the signature public key and the withdrawal address may not be exactly the same, which means two things: one is that the right to sign can be assigned to others. For example, if I travel all over the world, it is impossible to carry a computer with me all the time, so I can give this key to your friends, and let your friends sign and verify for you, helping you participate in the algorithm. But you will not entrust all the funds to a friend. Even if your friend can sign for you, he cannot withdraw your money. The only address where your money can enter is the withdrawal address provided before. It means the second thing, that is, you can use the hot wallet to sign and withdraw money to the cold wallet. We just mentioned the state verification mechanism. The public key is on an online computer, but the funds will always stay in the cold wallet. This public key is to activate this part of the funds, prevent them from being sent to others, and keep your funds in the cold wallet. on your own computer. In this case, as a verifier, it is more secure and secure.

Once you've completed the withdrawal transaction, it's time for the second step: waiting to join. This may take a day (this part of the agreement has not been fully determined), and wait for the agreement to add you to the pool of validators.

The third step is to participate in the verification mechanism. After you have a deposit, you wait for another day. You join this mechanism and have entered the verification pool of active verifiers. At this time, you are a verifier. As a verifier, there are two key functions in the network. The first one is the process of Casper, to participate in and finalize the main chain, which means that it can ensure that the blocks on the main chain exceed a certain point, and the blocks on the main chain Blocks are irreversible. Once that's done, the main chain is finalized and you're done. The second is to verify the blocks on the shards. Not everyone in our system will verify the blocks. These blocks may be distributed to 100 or more shards, and the transactions are also separated. Different validators to verify different blocks and transactions. These are the two main functions of a validator.

The main purpose of this tool, Casper, is a finalization tool, which is part of the consensus mechanism on the chain and is used to finalize blocks, which can give blocks more security.

The sharding proposal looks like this. Ethereum's sharding proposal includes 100 sub-chains, and account transaction information is stored on the sub-chains.

The main chain is responsible for generating random numbers, randomly selecting which validators enter which shard, who can create a partition, and keeping track of validating nodes. If you are a verifier, it will always track the relevant information of your verification node, such as what shard you are assigned to, and whether you have rewards and penalties now. All of this information is done by the main chain, which, among other things, keeps track of blocks on sub-chains.

The responsibility of the sub-chain is relatively simple, mainly doing transaction processing and storing account/contract status. It can store information that most users are more concerned about. Each stage is about 1 hour. Each verification node is randomly assigned a shard by the system. For this stage or for this hour, the work of the verification node is verification, and Help confirm that this block is on this shard. At any point in time, if validators are assigned to a particular shard, say we have a total of 100 shards, someone randomly selects 1% of validators to confirm blocks on any shard.

Next is "secondary sharding". Suppose a node can process N transactions, then the main chain can track N shards, and each shard can process N transactions, so the system can process N^2 transactions in total. This is why it is called secondary sharding. If the computing power of your computer is doubled, then the main chain can track 2 times the shards, and the system can handle 4 times the transactions before.

Next, look at cross-links. Cross-links are the way to communicate with each other and the way the main chain tracks shards. The main chain does not track every block in each shard, but only cross-links. couplet. Each crosslink is about 100 signatures assigned to this sharding node, and the block of this sharding node is confirmed on the main chain.

Validator nodes have the following responsibilities:

1. Work as a verification node, verify the main chain, and verify each block on the main chain. The main chain includes sub-chains, transactions, rewards and fines for verification nodes.

2. To verify the blocks of two nodes, the purpose is to generate blocks and confirm blocks/crosslinks. We can also often exchange back and forth between different shards, do block confirmation, and cross-link between shards and the main chain.

3. Generate blocks on the shard.

4. Generate blocks on the main chain.

5. Confirm that the blocks on the shard have been cross-linked.

These are our main responsibilities as verification nodes, and also our main work in a sharding system.

If the normal online operation sends out the information that should be sent, everything is normal. In this case, it will be found that the other two-thirds of the nodes are normal, and you can get the interest.

If it's an offline issue, but with at least two-thirds of the nodes up and running, there is some small penalty. However, if a majority of nodes are offline, then there is a large penalty.

The third case is the worst case, that is, the signature is wrong or conflicts with itself. You may be online, but the signed information is incorrect. When I said that the information you signed is incorrect, I can talk about it in more depth, but now I won’t talk about why it is like this, but I only know that this happened. This situation is that you want to attack the network, or you are hacked, and if this happens, you will have some penalties. This penalty is proportional to the number of other erring validators.

In addition, if you are innocent, if this happens because you were hacked, or there is a problem with the computer, or there is a problem with the data, then you will be punished less. If there is an attack that requires a lot of verification nodes, then your fine will be very large. The cost of attacking the system is very high. If you have a problem as a personal verification node, the cost is not so high and it is fair.

This mechanism hopes to encourage everyone to be a verification node, and also hopes that everyone can better protect their own mechanism when setting up, and try not to fail at the same time as the security protection of other nodes. For example, if you are a highly decentralized network, different nodes will go online or offline at different times, and different nodes will be hacked at different times. If it is a decentralized network, everyone has the same equity pool, and everyone uses a different equity pool. If the equity pool is hacked, assuming we are very centralized, everyone will have a very high fine.

This means:

1. Do not join the same equity pool as others.

2. Do not use the same VPS as others.

3. Don't use the same system as everyone else. If all your nodes are on this, avoid crashing with other people. Once you are hacked, everyone will lose a lot of money. If you are the only one who is hacked, you will also lose a lot, so don’t use the same system.

4. Do not use the same client as other people. This mechanism is to hope that everyone can configure themselves better, so that the network does not have a very high risk at the same time.

Now suppose that everyone has received their own rewards, and you want to be able to withdraw this ether, what should you do?

The last step is to exit. That is, your private key or withdrawal address can trigger the withdrawal process. Once the withdrawal process is triggered, your verification node will be closed in about 7 days. After you withdraw, you need to wait for 4 months to withdraw ETH.

Q&A session:

Question 1: We have made four applications that are all based on Ethereum. What is your new customer plan?

V God: Our contract can help users.

Question 1: It's frustrating for us to rewrite a lot of things.

V God: In fact, many are the same. We hope to have the same things in the contract design. Even if there are changes, many are similar. The big difference is to consider the use of web S (transliteration), and some contracts need to be rewritten. Of course, we have other projects that can help you automatically convert previous contracts, all of which have automatic procedures.

Question 1: Do you wish to convert deferred codes with automatic application?

V God: Yes. If you have a production application, this application may be placed on a shard. This system is similar to the current system. If you're using a translator, the process shouldn't be too difficult.

Question 1: I want to say the last sentence to you - "I love you so much".

Question 2: Hello! Thank you so much for sharing! My question is what can be used and when can I be a shard validator?

V God: We hope to complete this work in one or two months. Now the team has started to use it on the ground, but it may take a year to promote it. We hope that part of the system will be used by everyone, but it is too early to say. Thank you so much!

Question 3: Hello, I especially admire you! My question is when will it be able to rise to 10,000?

V God: I don't know.

Moderator: Thank you! "I love you" and "I like you" will be recorded on the chain.

Question 4: You mentioned cross-linking, and I am also very interested in it. Developers like us look at the updates about Ethereum, you mentioned a lot of new names, we wonder if its ability to run on different blockchains? If we use other codes on other blockchains, is the cross-join interoperability you mentioned very strong?

V God: There are many teams working hard in this area, hoping to improve interoperability. Different projects run code concurrently on different blockchains. There are also cross-linked decentralized projects. Once you see a multi-functional blockchain, multiple applications can be performed on it at the same time. Many people hope to combine these different blockchains together. So overall, I feel its interoperability is achievable.

Question 5: It's an honor to meet you here, I'm from blockchain media. I saw some roundtable discussions in South Korea before, and many participants came from the blockchain field. My question is: when can the blockchain be combined with a specific field or industry? Now there are many applications running on Ethereum. Which industry do you think can go ahead of other industries and become the leader, and is most likely to use blockchain in its own industry?

V God: I think the financial industry may be the first to apply it, and there is also the game industry, which is also rapidly applying it. Of course, we have also seen that many other industries have various ideas, such as identity authentication, value chain, etc., and there are many applications for capacity expansion.

I am Qi Ming from Odaily, exploring the real blockchain, please add WeChat qingmoruoshui for communication, please note your name, company, and position.


作者文库