EOS.IO system

in eos •  4 years ago 

The EOS.IO system cannot force block producers to send any messages to other accounts. Each block producer has its own subjective measure of the computational complexity and time complexity of processing transactions, regardless of whether the transaction is generated by the user or automatically generated by the script.

In the launched blockchain that uses EOS.IO software, at the network level, all transactions calculate bandwidth costs based on the number of WASM instructions executed. However, each block producer using the software uses their own algorithms and metrics to calculate resource usage. When a block producer discovers that a transaction or account has consumed a disproportionate amount of computing power, they will reject the transaction when generating their own block; however, if other block producers think it is valid, they still The transaction will be processed.

Generally speaking, as long as a block producer believes that a transaction is valid and the resources consumed are controllable, all other block producers will also accept it, but the transaction may take 1 minute to find the producer.

In some cases, the block producer can create a block that includes transactions that are several orders of magnitude outside the acceptable range. In this case, the next block producer may choose to reject the block and will be terminated by the third block producer. This is no different from the situation caused by network propagation delays caused by a large area. The community will notice this abnormal pattern and eventually clear the vote of the rogue block producer.

This subjective evaluation of computational costs makes it unnecessary for the blockchain to accurately measure how long it takes to run a task. With this design, there is no need to count instructions accurately, which will greatly increase optimization opportunities without breaking consensus.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!