2

Just trying to get my head around this.

I thought we forked?

How is it that a transaction made in:

geth --fast console 2>>~/geth.log

also appears in:

geth --fast --oppose-hard-fork console 2>>~/geth.log

I can see the address created using:

geth account new in both

https://etherscan.io/address/0x

and

http://classic.aakilfernandes.com/#/address/0x

  • It's only the blockchain that forked. The network is still shared. – Afr Jul 27 '16 at 21:05
1

When you send to your new address, you are creating and signing a transaction and sending it to the network. Since the address you are sending from exists and is funded on both chains, the transaction is also valid on both chains.

You are probably only sending the transaction to one of the chains. However, someone, whether out of malice or in the hope of being helpful, is sending it to the other chain as well. There are various ways to stop this happening: See the other answers on avoiding replay attacks.

Note that once you do manage to move coins to different addresses on both chains, any subsequent transaction will only happen on that chain, because the address you'll be sending from will not be funded on the other one.

BTW the 0x address you link to is not an actual address.

| improve this answer | |
1

Don't forget that an address is only (forgive me to simplify) a hash of a public key generated from a private key using a particular algorithm. So as key algorithm and protocol is still the same for ETC and ETH, an address is valid on both chains.

Your address doesn't really exist anyway. It's never stored on the chain. Only transactions are stored on the chain.

Then your key gives you the ability to claim transactions that were aimed to or issued from your address.


Let's explain it with an analogy (I admit I could probably seem strange, but explaining it in physical world puts magic apart and help understand that something can't be in both places at the same time):

You can see transactions as pieces of paper with some informations on it, a sender address, a receiver address, an amount transferred and possibly some additional data.

To claim one of these papers, you have to show the proof that you either are the sender or the receiver, using your private key to show that you can generate one of the address on the paper. Then you collect all papers with your address on it as sender or receiver. Once you walked all around the first room (ETH room) to collect all your papers, you simply make two stacks.

One with papers where you are identified as the sender and one where you are the receiver. Once the two stacks are done, make the sum of each stack amounts.

Start calculating with an amount of zero and add the total amount of the received stack and substract the total amount of the sent stack.

Go to the other room (ETC room) and proceed the same way. Of course you can use the same key to claim your papers in this room as you did it in the first room.

You could have as many room as you want (as many versions of Ethereum) and use the same key to claim your transaction papers in each rooms.

Your key (and your address that is only another view of your key), are only linked to the protocol (the procedure used to write papers), not to the chain (the room) which is only the storage for transactions.

Also note that it's the reason why replay attack is possible on both chains since the fork.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.