In the first link, the answer says, "It is similar to create a new blockchain with a new init point. We could create a hard fork in which we rollback all the DAOs transactions done by the hacker". What does it mean by "a new init point"? How does "roll back" happens? Could anyone give me a detailed example? Many thanks!
to roll back the transactions miners adopt new rules invalidating some valid blocks thus the belonging transactions are also invalid so we cancel these transactions and we go back to the past the previous state. to do so we need a fork. what's happend in the hardfork in case of the Dao is : we forked the chain at the block 1920000 invalidating all the blocks coming after look at the picture below.
Block 1920000 contained the execution of an irregular state change which transferred ~12 million ETH from the “Dark DAO” and “Whitehat DAO” contracts into the WithdrawDAO recovery contract.
to understand more you could browse and compare the blocks in ethereum and ethereum classic : e.g the last common block between the eteheum blockchain and its fork was 1919999.
The DAO hard fork is a little bit different from the recent hard fork to reprice the gas:
The DAO hard fork involved marking the hard fork block with the extra data "dao-hard-fork", and then transferring the ETH balance from all The DAO and child DAO contracts into the curators multisig contract. Further details can be found at Give a summary of the fork state changes in block 1920000 .
The transactions were not rolled back. The ETH amounts were just transferred automatically at 1,920,000 .
The recent hard fork to reprice the gas is a little bit different. There is no rollback of transactions, or changes to the balances like The DAO hard fork. In this case, the cost of the transactions on the hard forked chain will be different from the cost of the transactions on the non-hard forked chain. Because of this, the blocks on the hard forked chain will have different fees from from the blocks on the non-hard forked chain.
In both cases, the data from the non-hard forked chain will be different from the data in the hard forked chain. And the node client software on both chains will reject the other's chain data as the blocks from the alternate chain will be invalid.