比特币:点对点电子现金论文
原始发布页
打开来源页面查看 1 个交叉存档
James A. Donald 写道:
那么,在竞争中落败的那枚币怎么样了?
……如果第二个到达的人很可能会失去他的币,这就有些苛刻了。
同一笔交易存在多个双重支付版本时,其中只有一个、也只能有一个会成为有效交易。
支付接收方必须等待大约一小时,才能相信这笔支付有效。届时,网络会解决任何可能出现的双重支付竞争。
收到后来变为无效的那笔双重支付的人,从一开始就不曾认为自己拥有它。他的软件会显示这笔交易从“未确认”变为“无效”。如有必要,可以让用户界面隐藏交易,直到它们在区块链中达到足够的深度。
此外,你对事件的描述意味着时间和新币生成会受到限制——整个网络生成新币的速度,要慢于一枚新币的消息传遍网络所需的时间
如果我之前没有说清楚,很抱歉。区块之间的目标间隔时间可能是 10 分钟。
每个区块都包含它的创建时间。如果该时间的偏差超过 36 小时,其他节点就不会在它上面工作。如果最近 62430 个区块的时间跨度少于 15 天,就说明区块生成得太快,工作量证明难度将翻倍。所有人都用相同的链数据进行同样的计算,所以都会在链上的同一个链节得到相同结果。
我们希望支付者在一笔支付传遍网络所需的时间内,就能确定他们的交易有效,而不是要等到分支竞争得到解决所需的时间。
即时不可否认性并不是一项特性,但它仍然比现有系统快得多。纸质支票在一两个星期后仍可能退票。信用卡交易在 60 到 180 天后仍可能受到争议。比特币交易在一两个小时内就可以达到足够不可逆的程度。
如果一个节点忽略所有它不关心的支付,它不会遭受任何不利后果。
采用我最近发布的基于交易费的激励系统后,节点将有动力纳入它们收到的所有支付了交易费的交易。
Satoshi Nakamoto
英文原文
展开英文原文
James A. Donald wrote:
So what happened to the coin that lost the race?
... it is a bit harsh if the guy who came second is likely to lose his coin.
When there are multiple double-spent versions of the same transaction, one and only one will become valid.
The receiver of a payment must wait an hour or so before believing that it's valid. The network will resolve any possible double-spend races by then.
The guy who received the double-spend that became invalid never thought he had it in the first place. His software would have shown the transaction go from "unconfirmed" to "invalid". If necessary, the UI can be made to hide transactions until they're sufficiently deep in the block chain.
Further, your description of events implies restrictions on timing and coin generation - that the entire network generates coins slowly compared to the time required for news of a new coin to flood the network
Sorry if I didn't make that clear. The target time between blocks will probably be 10 minutes.
Every block includes its creation time. If the time is off by more than 36 hours, other nodes won't work on it. If the timespan over the last 62430 blocks is less than 15 days, blocks are being generated too fast and the proof-of-work difficulty doubles. Everyone does the same calculation with the same chain data, so they all get the same result at the same link in the chain.
We want spenders to have certainty that their transaction is valid at the time it takes a spend to flood the network, not at the time it takes for branch races to be resolved.
Instantant non-repudiability is not a feature, but it's still much faster than existing systems. Paper cheques can bounce up to a week or two later. Credit card transactions can be contested up to 60 to 180 days later. Bitcoin transactions can be sufficiently irreversible in an hour or two.
If one node is ignoring all spends that it does not care about, it suffers no adverse consequences.
With the transaction fee based incentive system I recently posted, nodes would have an incentive to include all the paying transactions they receive.
Satoshi Nakamoto