214 total views
This is not only a problem faced by decentralized oracles, but also a single point of failure hidden in the Ethereum ecosystem.
Original title: “Analysis | Ethereum mining pool refused to package attack”
Written by: Yuheng and Yuyi, NEST Research Research Group
Unlike centralized oracles based solely on trusted third parties, NEST distributed oracles hope to allow as many users on the chain as possible to participate in the process of determining the price conversion relationship, thereby further improving the reliability of the oracle output data results And the security of the entire oracle system.
It is precisely because of this characteristic that distributed oracles often encounter problems where data cannot be effectively verified, such as malicious miners who provide malicious quotations to affect prices. In order to solve this problem, NEST has designed a quotation-take order submission verification mechanism, which allows the verifier to trade according to the price of the quotation to obtain the assets pledged by the quotator, and propose a new quotation for correction. In this way, the NEST distributed oracle can effectively restrict malicious quotations to a certain extent, and at the same time can correct malicious quotations in a timely manner.
However, the smooth operation of this method for price correction is based on taking orders and new quote transactions to appear in new blocks on the chain in a timely manner during the verification period. As we all know, the miners in the entire blockchain network are no longer working alone as they did at the beginning. In order to ensure the stability of income, the miners will organize together to form a mining pool to achieve the integration of computing power, because in the proof of work Under the consensus of (PoW), greater computing power also means higher probability of gaining income.
The essential problem caused by the emergence of mining pools is their monopoly on transaction packaging rights. Because in the public chain, only miners or mining pools who dig a block can decide which transactions should be included in the next block, and compared to a single individual miner, a mining pool often has an overwhelming advantage in computing power. Under circumstances, those mining pools with larger computing power will choose to package some transactions that are beneficial to them or with higher transaction fees, even though these transactions may not be the first to be announced on the chain.
When this situation occurs in the NEST distributed oracle, it will cause the submitted new quotation to not be verified in time during the verification period, which will eventually cause NEST to output incorrect price data, which will cause some mining pools to capture arbitrage. Opportunities, which in turn threaten the environmental security of the entire DeFi ecosystem. Next, this article will specifically introduce the details of this mining pool refusal to pack attack against NEST distributed oracle.
Attack process and analysis
In order to facilitate the explanation of this attack method, we first assume that all members participating in mining are mining pools (a single miner can also be regarded as a mining pool with a small computing power), and each mining pool has a different percentage of computing power , And each knows their respective computing power percentages.
First of all, before launching an attack, malicious mining pools can pre-hoard cryptocurrencies used for arbitrage through lightning loans and other methods. For example, malicious mining pools will hoard a large amount of ETH in advance, and then manipulate the price ratio between ETH and USDT to achieve arbitrage.
Next, the malicious mining pool will submit an offer to NEST, which will be significantly different from the current actual market price. Since there is a huge difference between the quotation and the actual market price, it also represents a huge arbitrage space. Therefore, during the verification period of S blocks, according to NEST’s own take-order verification protocol, the verifier will inevitably propose a take-order transaction and make the most reasonable correction to the quotation to obtain the greatest benefit.
At this time, when assembling blocks in each verification period, all mining pools face two identical choices, and pack the transaction into the next block being assembled by themselves (or their own offer for this Take the order and re-quote) or not pack the quote into the next block being assembled (or do not propose the order-taking transaction). Since each mining pool knows the percentage of each other’s computing power and the strategic choices that can be adopted between each other, during the verification period, whether each mining pool chooses to modify the quote can actually be regarded as all mining pools A number of independent and complete information static games played together. The final result of the whole game, the so-called Nash equilibrium point , is the income of each participant under various decision-making combinations, because each participant will choose to maximize his own income under various circumstances. Decision-making. The prisoner’s dilemma is a typical static game with complete information.
If a mining pool chooses to modify the quotation, then it is obvious that the mining pool can get immediate benefits. We assume that the revenue corresponding to the revised quotation is a. And if a mining pool does not choose to modify an offer, it seems that the mining pool cannot get profits immediately, but the mining pool can also hoard the cryptocurrency involved in the malicious offer, and finally arbitrage after the offer is established. We can set this final profit as b and usually b> a.
But we need to note that in the blockchain, only the mining pool that has dug a new block can obtain the accounting right, which means that even if a mining pool chooses to immediately correct the malicious offer, it can only obtain a with a certain probability Income, and this probability is proportional to the mining pool’s computing power, so we can express the income of a mining pool to choose a revised quote as Pia. Similarly, if the quotation is not revised, after the quotation is established, the income that a mining pool can get is also Pib. However, once the quotation is revised, the subsequent game will no longer exist, which means that all mining pools will not receive b revenue. Therefore, in the verification period, when the mining pool determines the transaction content of each block, the The two benefits considered are actually as follows:
Among them, T represents the decision of the mining pool, Y represents the modification of the quotation, and N represents the quotation not to be modified; Pn represents the probability that the quotation will not be modified in all blocks in the next verification period.
When assembling each block corresponding to the verification period, all mining pools will compare these two benefits to choose their own decisions. Finally, according to the proportion of their own computing power and the proportional relationship between the two kinds of income a and b, choose whether to modify the quote, so as to finally reach the Nash equilibrium state.
As mentioned above, the mining pool may delay and hinder the revision and update of the quotation by virtue of its own computing power, so as to use the NEST oracle machine for arbitrage. But this is not just a problem faced by the NEST oracle. In fact, the decentralization concept of the entire blockchain is being impacted by the phenomenon of mining pools. Therefore, how to solve the problems caused by the mining pool is ours. An inevitable challenge in the path towards true decentralization.
Disclaimer: As a blockchain information platform, the articles published on this site only represent the author’s personal views, and have nothing to do with ChainNews’ position. The information, opinions, etc. in the article are for reference only and are not intended as or regarded as actual investment advice.