原始文献 / 论坛帖 / Re: What happens when network is split for prolonged time and reconnected?
Re: What happens when network is split for prolonged time and reconnected?
Bitcointalk · 2010-08-03 22:45:07 UTC
creighto:我同意这个想法。几小时后,客户端应该能察觉区块流是否以超出偶然可能的幅度减少。它能听出自己是不是再也听不到世界的"嗡鸣"了。
【引用 knightmb 于 2010年8月3日 19:02:13(https://bitcointalk.org/index.php?topic=661.msg7303#msg7303)】
"
【引用 gavinandresen 于 2010年8月3日 18:38:44(https://bitcointalk.org/index.php?topic=661.msg7293#msg7293)】
或者,如果分叉持续得够久(超过 100 个区块),涉及较短链上生成币的交易在合并时就会失效。
"
有意思的信息,所以除了一些双重支付问题,只要区块链分离不超过 100 来个区块(或 16 个多小时),
实际上,分叉很可能极不对称。把世界对半分开很难。更可能是一个国家对世界其他地区,比如 1:10 的分叉。这种情况下,少数分叉生成 100 个区块要花 10 倍的时间,也就是大约 7 天。而且客户端会非常容易察觉自己听到的区块太少,肯定出问题了。
【引用 knightmb 于 2010年8月3日 19:02:13(https://bitcointalk.org/index.php?topic=661.msg7303#msg7303)】
"分叉延迟有硬编码的上限吗?意思是,如果我的小网络和公共网络分离了,在里面花了些币,几天后回来再和公共网络同步(除了可能发生的币生成),交易应该没问题吧?"
没有时间限制。只要你花的不是在少数分叉上生成的币,也不是花掉了收到的别人的双重支付,你的交易之后随时都能进入另一条链。
英文原文
creighto: I agree with that idea. After a few hours, it should be possible for the client to notice if the flow of blocks has dropped off by more than would be likely just by chance. It could tell if it's not hearing the hum of the world anymore.
【引用 knightmb on August 03, 2010, 07:02:13 PM(https://bitcointalk.org/index.php?topic=661.msg7303#msg7303)】
"
【引用 gavinandresen on August 03, 2010, 06:38:44 PM(https://bitcointalk.org/index.php?topic=661.msg7293#msg7293)】
Or if the split lasted long enough (more than 100 blocks), transactions that involve generated coins on the shorter chain would be invalid at the merge.
"
Interesting info, so other than some double-spending issues, as long as the block chain isn't separated for more than 100 or so blocks (or 16+ hours),
In practice, splits are likely to be very asymmetrical. It would be hard to split the world down the middle. More likely it would be a single country vs the rest of the world, lets say a 1:10 split. In that case, it would take the minority fork 10 times as long to generate 100 blocks, so about 7 days. Also it would be super easy for the client to realize it's hearing way too few blocks and something must be wrong.
【引用 knightmb on August 03, 2010, 07:02:13 PM(https://bitcointalk.org/index.php?topic=661.msg7303#msg7303)】
"If there a hard coded limit on split delay? Meaning if I had a small network split from the public network, spent some coin around, came back a few days later and got them sync up to the public network (other than coin generation if it happened) transactions should be fine?
"
There's no time limit. Assuming you weren't spending coins generated in the minority fork, or spending someone's double-spends you received, your transactions can get into the other chain at any time later.
