4 ms·
I'm starting to see a bit clearer on how a fork would pan out: Miners: Hashing power has little influence. As long as there are miners, and two chains rejectin
by BenoitP 9y ago
I'm starting to see a bit clearer on how a fork would pan out:
Miners: Hashing power has little influence. As long as there are miners, and two chains rejecting each other transactions will be processed. At first, transactions processing might take a while, but difficulty will adapt. This will create two legitimate currencies. Now everybody in possession of 1 BTC would have 1 BTCa + 1 BTCb.
Exchanges: Little power. They will trade both BTCa and BTCb, and accept commissions.
Trader of goods, in embedded devices: They might have to modify their client to accept both currencies, but they would have to follow the market rates. Otherwise they would have to suffer income loss from people using them to profit from arbitrating the markets.
BTC-rich individuals: They have now 1 BTCa + 1 BTCb. But there is transaction replayability. If they spend 1 BTCa, their BTCb can also get spend the same way. And they lose their BTCb. Chains have a strategic advantage to replay transactions getting to the other one because: 1) they get to keep the commission, 2) they ascertain themselves as more encompassing economically (not sure on this one maybe, they want to stay neutral).
Now, if BTC-holders can wallet-emptying-double-spend them to 2 different addresses they control on the 2 chains. And, compared to the ones who got their transaction replayed, they have kept both their BTCa and BTCb.
TL;DR: IMHO, come the technical fork, some BTC-holders will be tumbling until they irrevocably acquire their BTCa + BTCb, and use them to make runs on the markets, effectively materializing the economic fork.
----
I'd love the opinion of someone who lived through the ETH-ETC split, especially about the transaction replayability part.
- woah 9y agoThey fixed the transaction replay ability I believe. I still have all my ETC, seems like it's not going anywhere.
- BenoitP 9y agoHow is that technically possible to prevent? The miners in the two chains gain from listening to what is going on in the other chain, and could just copy transactions and take the commission. Have no miner attempted to grab some fees? Or maybe the price of ETC is so low that it would be unprofitable? ---- Addendum: It is addressed in EIP #155 [1], where they changed the signing of transactions and put some sort of chain identity to be included in the transaction signatures. Which brings the question: Is there something changed in transaction signatures in the segwit2x hard fork? Is there already some chain identity in it? [1] https://github.com/ethereum/eips/issues/155 https://github.com/ethereum/eips/issues/155
- kbaker 9y agoIn btc1 there is not any replay protection right now, as the timeline didn't allow for development of this. It is an important feature request though, maybe follow along here: https://github.com/btc1/bitcoin/issues/34 https://github.com/btc1/bitcoin/issues/34
- gomox 9y agoI was there at the ETH/ETC split and replay was a thing. Someone put together a special smart contract that received 2 addresses (one for the ETH chain and one for the ETC chain), checked which chain you were in and wired ether to either address accordingly. After doing that (and because valid transaction execution was contingent on the actual chain you were in) each wallet became independent and you were free to use funds in each as desired. This is the contract: https://etherscan.io/address/0xaa1a6e3e6ef20068f7f8d8c835d2d22fd5116444#code https://etherscan.io/address/0xaa1a6e3e6ef20068f7f8d8c835d2d... And this is the related helper that checks which chain you are in: https://etherscan.io/address/0x2bd2326c993dfaef84f696526064ff22eba5b362#code https://etherscan.io/address/0x2bd2326c993dfaef84f696526064f... I'm not clear on what a BTC equivalent of this operation would be. Seems like smart contracts saved the day, as trying to move BTC to 2 different wallets on split chains by hand risks a race condition.
- BenoitP 9y agoThanks for this reference code! I got to say, Ethereum really is showing the way to Bitcoin here. The smart contract ecosystem surrounding it is astounding. ---- The BTC equivalent would be to do it by hand; and I don't think it is all that risky, as long as you keep control of all three addresses. Or, ... maybe a BTC smart contract could help us do it easily? What do we need to enable smart contracts on BTC? Oh wait, that's right. We need Segwit. The thing potentially causing a fork itself. We're supposed to have it by the time Segwit2x's double-sized blocks hardfork come, though ^^.
- gomox 9y ago> and I don't think it is all that risky, as long as you keep control of all three addresses. By "doing it by hand" I meant the following: - Original wallet A holds BTC before hard fork - Chain splits and forks coexist (lets call them C1 and C2) - New wallet W1 is created for use in the new chain C1 exclusively - New wallet W2 is created for use in the new chain C2 exclusively - You connect to network that uses C1, and move all the funds from A to W1 - You connect to network that uses C2, and move all the funds from A to W2 The problem is in such a scenario you can expect that malicious software will exist that monitors transactions being broadcasted in C1 to try to replay them in C2. By the time you attempt to perform the last step outlined above, you might find that the funds are gone from A in C2 because some replayed your transaction on C2 already.