Bitcoin Forum
May 25, 2024, 08:15:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Question about selfish mining on: August 28, 2017, 03:49:42 AM
Let's say the nonce is from 0~100, and each node has to find one nonce to satisfy the requirement. The attacker has to start at 0, maybe it's just the one he needs, maybe not. The probability is 1%. While for the public network, they may start at 50(cause they try the nonce all along), and the probability is 2% now. It seems clearly that they have different base point.

That's not how mining works.

Each miner is working on a different nonce, because each miner is working on a different block.

There is no guarantee that any of the nonce values will work. The miner that is "at 50" could continue all the way to 100 and still not find a working nonce. The miner that is starting at 0 may find their nonce before they get to 100.

Prior to calculating the hash, each hash has the same chance of success.  It doesn't matter it this is the 1,000,000,000,000,000th hash that you've computed or the first hash that you've computed. The chances that the hash will be successful are the same.
Get it. Thanks a lot. Each hash will generate a random 256-bit number, so the probability that the number is smaller than the target is a constant.
2  Bitcoin / Development & Technical Discussion / How to judge illegal transactions? on: August 26, 2017, 02:15:08 PM
I wonder how the bitcoin protocol judge illegal transactions. As they say, the miner will look throughout the public ledger to make sure the transaction is alright. There are thousands of transactions in each block, if the miner has to check throughout the public ledger for each transaction, this would be very inefficient.
3  Bitcoin / Development & Technical Discussion / Re: Question about selfish mining on: August 26, 2017, 01:21:14 PM
Even without the collecting time, I still doubt about the probability X. When the "selfish miner" begin the next block, they are not at the same base point as the public network.

There is no base point.  Every hash is unique with the same probability of success.
Let's say the nonce is from 0~100, and each node has to find one nonce to satisfy the requirement. The attacker has to start at 0, maybe it's just the one he needs, maybe not. The probability is 1%. While for the public network, they may start at 50(cause they try the nonce all along), and the probability is 2% now. It seems clearly that they have different base point.
4  Bitcoin / Development & Technical Discussion / Re: Question about selfish mining on: August 25, 2017, 05:54:36 AM
When it comes to State 2, I doubt that the probability is still X, because the public network has been working all along, while the attacker starts after 1 block ahead and he/she may needs some time to collect transactions.

Transactions are continuously collected. There is no delay for collecting transactions.  The "selfish miner" can immediately begin the next block as soon as they complete one.
Even without the collecting time, I still doubt about the probability X. When the "selfish miner" begin the next block, they are not at the same base point as the public network.
5  Bitcoin / Development & Technical Discussion / Re: Question about selfish mining on: August 25, 2017, 03:35:27 AM
Unless the attacker has over 50% of the hash power, there is no reason for him to not broadcast the block since his block chain is just going to be overtaken by the rest of miners.
He may not have over 50% of the hash power, but he has a chance to gathering that much.
6  Bitcoin / Development & Technical Discussion / Re: Question about selfish mining on: August 25, 2017, 03:29:13 AM
I find this post very confusing. First, as I can see, you declared an unused variable Z, which is pretty weird.

Also as I understand, selfish mining is when a miner finds a block he keeps it secret for some time, just to have a head start at finding the other block. It would be quite risky if he was just waiting for another block, he would have to have more than half of the hashpower to be sure that the block he found doesn't go to waste.

It is more profitable to publish a block, then to try to race the entire network, But it is pretty safe to keep it for few seconds. In the long run, I am not sure that this strategy is profitable, but it is maybe possible that sometimes it is.

I can tell you that if an attacker waited to find the second block before he publishes his fist one, he will have to throw away at least 100% - X of his blocks he finds, just to get two block rewards, because for each one he will have at most X chance of finding another block before the network. So if he throws away more then 2 blocks for every time he finds a second block on his secret one, he will be at a loss. That would mean that this has to happen at least one in three blocks, that he finds a second one. That would suggest he has at least  1/3 of the network hashrate. That is assuming he finds a block in a fist second, as with time his chances decrease. If he finds it in a 10th minute, he might as well publish it. Maybe... It is a risky business...
Sorry about the weird Z. In the long run the honest nodes that want to maximize their profit may join the local chain, potentially allowing for 51% attacks as a second stage.
7  Bitcoin / Development & Technical Discussion / Question about selfish mining on: August 24, 2017, 08:00:03 AM
The attacker’s precise strategy for selfish mining is stated by Vitalik Buterin at bitcoinmagzine.com, which is excerpted below:
Suppose the attacker’s portion of the network hashpower is X, and when there are two competing public chains the portion of the network that picks up on the attacker’s chain is Z.
State 0: If the attacker’s private chain is the same as the public chain, mine on the private chain. With probability X, the attacker discovers a block and advances to state 1 (private chain 1 block ahead). With probability 1-X, the public network discovers a block, and the attacker resets his private chain to the public chain.
State 1: If the attacker’s private chain is 1 longer than the public chain, mine on the private chain. With probability X, the attacker advances to state 2 (private chain 2 blocks ahread). With probability 1-X, the public network discovers a block, setting the system to state 0′.

At state 0, with probability X, the attacker will be 1 block ahead and keep it unexposed. So the public network will work on the block continuously. When it comes to State 2, I doubt that the probability is still X, because the public network has been working all along, while the attacker starts after 1 block ahead and he/she may needs some time to collect transactions.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!