原始文献 / 邮件 / Bitcoin P2P e-cash paper

Bitcoin P2P e-cash paper

Cryptography Mailing List · 2008-11-10 22:18:20 UTC

FromSatoshi Nakamoto
SubjectBitcoin P2P e-cash paper
Date2008-11-10 22:18:20 UTC
ListCryptography Mailing List · 原文

James A. Donald 写道:
> 那么输掉竞赛的那枚币会怎样?
>
> ……如果第二名很可能丢掉他的币,那有点太残酷了。

当同一笔交易有多个双重支付版本时,有且仅有一个会成为有效的。

收款方在确认支付有效前必须等待一小时左右。届时网络会解决所有可能的双重支付竞赛。

收到后来变为无效的双重支付的那个人,从一开始就不会认为自己得到了它。他的软件会显示交易从"未确认"变为"无效"。如有必要,UI可以隐藏交易,直到它们在区块链中有足够深度。

此外,您对事件的描述暗示了对时间和币生成速度的限制——整个网络生成币的速度,相对于新币消息传遍网络所需的时间而言很慢。

抱歉,如果我没有说清楚的话。区块间隔目标时间可能是10分钟。

每个区块都包含其创建时间。如果时间偏差超过36小时,其他节点不会在它上面工作。如果最近 6*24*30 个区块的时间跨度小于15天,说明区块生成过快,工作量证明难度加倍。每个人都用相同的链数据做同样的计算,因此在链的同一环节都会得到相同结果。

我们希望支付方能在支付传遍网络的时间内就确信交易有效,而不是在分支竞赛解决的时间内才确信。

即时不可否认性不是一个特性,但这仍然比现有系统快得多。纸质支票可能在一两周后被退票。信用卡交易在60到180天内都可能被争议。比特币交易在一两小时内就足以不可逆。

如果一个节点忽略所有它不关心的支付,它不会遭受任何不利后果。

采用我最近发布的基于交易费的激励机制,节点会有动力把收到的所有付费交易都纳入。

Satoshi Nakamoto

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com

英文原文

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 6*24*30 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

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com