Martti Malmi 通信

回复:Bitcoin

中本聪 · 2009 年 5 月 3 日

SN-10059 附来源、原文与上下文。

阅读语言
Martti 的来信Martti Malmi来源 ↗

好的,网站和常见问题解答可以由我来做。我现在就开始写常见问题解答,先写我能想到的问题。

All right, I can do the website and the FAQ. I'll start writing the FAQ now with the questions that I can think of.

那太好了!我已经把你(dmp1ce)添加为 SourceForge 项目的开发者,并给了你编辑网站空间和其他内容的权限。

That would be great! I added you (dmp1ce) as a dev to the sourceforge project and gave you access to edit the web space and everything.

Martti 的来信Martti Malmi来源 ↗

我对程序有个功能建议:做一个界面工具,用来创建受密码保护的私钥,并保存到自选位置。为了避免失去对币的控制,也为了在多台电脑上使用这些币,需要备份密钥。密码保护可以让碰巧找到密钥文件的人,更难使用你的钱。

I have a feature suggestion for the program: a UI tool for creating password protected private keys and saving them into a custom location. Backups of the key will be needed to be safe from losing the control of your coins, and for using the coins on more than one computers. Password protection would be needed to make using your money more difficult for someone who happens to find your key file.

当然。等事情发展起来,这会是一个绝对必需的功能,让你能用强加密锁住财富,并以比任何实体保险箱都更安全的方式备份。到目前为止,我一直把它往后推,优先做其他功能,因为在比特币开始有价值之前,它还不是关键。

Definitely. This will be an absolutely essential feature once things get going, making it so you can lock your wealth up with strong encryption and back it up more securely than any physical safe. So far I've been putting it off in favour of other features because it's not crucial yet until bitcoins start to have value.

我计划接下来做托管功能,这对让实物交易更安全是必需的,也是在开始用法币为这种货币提供支持之前必须具备的。

I plan to work on the escrow feature next, which is needed to make actual trades for physical stuff safer and before backing the currency with fiat money can begin.

Martti 的来信Martti Malmi来源 ↗

只要 PC 开着,我就一直运行比特币节点,也就是大约全天候运行。比特币是个很棒的项目,能够参与真的很酷!

I'm running a bitcoin node always when my PC is powered on, which means about 24/7. Bitcoin is a great project, and it's really cool to participate!

谢谢!现在网络里有很多人不能接收入站连接,所以每个能接收的节点都很有帮助。在我于 v0.1.6 中降低“(未接受)”问题的发生概率之前,更多这类节点有助于减少这个问题。

Thanks! Right now there are a lot of people on the network who can't receive incoming connections, so every node that can really helps. Having more helps keep down the "(not accepted)" issue for now until I reduce the chances of that happening in v0.1.6.

我想,常见问题解答里应该有一条,解释如何设置防火墙转发 8333 端口,以便接收入站连接。问题可以类似“如果我的连接数是 0,怎么办”,答案可以说,原因可能是不做这个设置,能够连接的节点就很有限。

I guess one answer for the FAQ should be how to set up your firewall to forward port 8333 so you can receive incoming connections. The question could be something like "what if I have 0 connections" and that could be the answer that it might be because the nodes you can connect with is limited if you don't set that up.

这里汇集了我在论坛和电子邮件中回答过的问题,应该能帮助你了解大家常问什么,以及我用过的一些回答。不是要把这里的材料全部或者大部分用上,只要挑选即可。这只是把我回答过的所有内容倒出来。

Here's a compilation of questions I've answered in forums and e-mail that should help you see what questions are frequently asked and some answers I've used. It's not intended to use all or most of the material here, just pick and choose. This is just a dump of everything I've answered.

有些问题我们没有简单的答案,最好不主动提起。普通用户似乎愿意直接相信系统能按所述方式运作(它确实如此),而深入设计细节,只会引出一连串麻烦的问题,没有对系统的深入理解就无法回答。我收到的进阶问题大多因人而异,最好分别回答。

Some issues that we don't have easy answers for are best not to bring up. Casual users seems content to assume that the system works as stated (which it does), and getting into the design details just opens a can of worms that can't be answered without a deep understanding of the system. The advanced questions I've received have mostly been unique per person and best answered individually.

**** 问答汇集 ****

**** QUESTION AND ANSWER DUMP ****

凡是用在常见问题解答中的问题,大概都应该换一种表述。

Any questions used for the FAQ should probably be rephrased.

问题:

questions:

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

界面底部显示:

The bottom of the UI shows:

正在生成 4 个连接 4024 个区块 164 笔交易

Generating 4 connections 4024 blocks 164 transactions

我理解“正在生成”;我猜我连接到了另外 4 个节点;也知道我记录了 164 笔交易(包括失败的生成尝试)。我不清楚“区块”这个数字指什么。它远小于我所有交易旁边显示的区块数量总和。

I understand "generating"; I assume I am connected to 4 other nodes; and I know I have recorded 164 transactions (including failed generation attempts). I'm not clear what the "blocks" figure describes. It's much smaller than the total of all the blocks shown against all my transactions.

它是区块链中的区块总数,也就是网络的区块链,每个人都有一份副本。每个比特币节点都显示同样的数字,大约每 10 分钟,有人生成一个区块时,它就增加一次。如果你有一阵子没运行程序,连接上后,它会快速增长,因为程序正在下载你离开期间生成的区块,追上网络进度。我不确定该如何准确描述它(要能放进状态栏,1 个词,最多也许 2 个词),你有什么想法吗?

It's the total number of blocks in the block chain, meaning the network's block chain, which everyone has a copy of. Every Bitcoin node displays the same number and it goes up about every 10 minutes whenever someone generates a block. When you haven't had it running for a while, once you're connected it spins up rapidly as it downloads what was generated while you were gone to catch up. I'm not sure exactly how to describe it (that would fit on the status bar in 1 word, maybe 2 words max), any ideas?

交易旁边状态栏里的区块数,是那笔交易之后出现的区块数量。实质上,你的交易“包含在”这么多个区块里。

The blocks number in the status column next to your transactions is the number of blocks that have come after that transaction. Your transaction is essentially "in" that many blocks.

Satoshi

Satoshi

问答汇编中的引文Mike Hearn来源 ↗

我最合理的猜测是:这是全局链的长度,而开始时快速增长,是因为软件正在下载并验证链中已有的区块是否有效。

My best guess - it is the length of the global chain, and the rapid advance at the start is as the software downloads and verifies the preceding blocks in the chain as being valid.

对。我正在想更清楚的表述,也许用“%d 个网络区块”或者“%d 个区块的链”。

Right. I'm trying to think of more clear wording for that, maybe "%d network blocks" or "%d block chain".

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

我的“区块未接受”失败出现得异常频繁,我想告诉你一声,看看这是否有什么意义。

I'm having an unusual run of (block not-accepted) failures, and thought I'd let you know in case this was of any significance.

你看到的未接受比例是多少?我这里没看到异常。如果连续出现超过,比如说 4 个,那就不正常,可能是网络通信中断。如果只是零散出现,比例低于 25%,那就是随机的坏运气。随机出现一定比例的未接受是正常而且无害的,当然,随机事件有时也会扎堆,看起来像某种规律。

What rate of not-accepted did you see? I didn't see anything unusual on my end. If you had more than, say, 4 in a row, that would be abnormal and probably a loss of network communication. If it's scattered and less than 25%, just random bad luck. It's normal and harmless to randomly get some per cent of not-accepted, and of course randomness can sometimes bunch up and look like a pattern.

加入显示/隐藏未接受区块的选项,是个好主意;显示/隐藏所有生成区块也不错,这样就更容易看到收款交易。看到未接受区块只会让人烦恼和沮丧。每个人面对的未接受比例都一样,这只是过程的一部分。最好大概是默认隐藏未接受区块,免得显示出先给你、又拿走实际上从未得到的东西;新生成的区块,也至少等到有一个确认再显示。这只意味着你比通常晚 15 分钟知道自己生成了一个区块,而且反正还要再等 119 个区块才成熟。这已经列入 v0.1.6 的待办事项。

The idea of an option to View/Hide unaccepted blocks is a good one, as well as View/Hide all generated blocks so you can more easily see incoming transactions. Seeing the unaccepted blocks is just annoying and frustrating. Everyone faces the same rate of unaccepted, it's just a part of the process. It would probably be best to default to hide unaccepted blocks, so as not to show giving and taking away something that never was, and not show new generated blocks at all until they have at least one confirmation. It would only mean finding out you have a generated block 15 minutes later than normal, and then you still have 119 blocks to go before it matures anyway. This is on the to-do list for v0.1.6.

Satoshi

Satoshi

[注:我在 0.1.6 中做了一些改进,可以一定程度上减少这个问题;网络规模变大后,情况也会改善]

[note: I have some improvements in 0.1.6 to reduce this problem somewhat, and it'll also improve when the network is larger]

问答汇编中的引文Mike Hearn来源 ↗

不知道为什么,你给我的转账显示“来自:未知”,尽管我已经把你加进了地址簿。

For some reason your transfer to me shows up as "From: unknown" even though I added you to my address book.

我的交易列表里有一行“已生成(未接受)”,看起来是一次生成币的尝试出了问题。不清楚这里发生了什么——难道我的节点成功求解了一个区块,但在发送到网络之前,我就离线了?

I have a "Generated (not accepted)" line in my transaction list, it seems like an attempt to generate a coin went wrong somehow. Not sure what happened here - presumably my node successfully solved a block but then I went offline before it was sent to the network?

发送到比特币地址的交易总会显示“来自:未知”。交易只说明收款对象是谁。按比特币地址发送存在一些问题,但能有这样一个备用选项,无论对方是否在线都能向其付款,实在很好。以后有几个想法可以尝试改进。如果事情像现实世界一样发展,绝大多数交易都是与商家进行,那么目前商家基本上总会确保设置好按 IP 接收。点对点文件共享网络似乎相当成功,能让很大比例的用户设置防火墙,转发一个端口。

Transactions sent to a bitcoin address will always say "from: unknown". The transaction only tells who it's to. Sending by bitcoin address has a number of problems, but it's so nice having the fallback option to be able to send to anyone whether they're online or not. There are a number of ideas to try to improve things later. For now, if things work out like the real world where the vast majority of transactions are with merchants, they'll pretty much always make sure to set up to receive by IP. The P2P file sharing networks seem fairly successful at getting a large percentage of their users to set up their firewalls to forward a port.

我非常想找到一种办法,在间接转账中附带备注,但实在没有办法。比特币使用 EC-DSA,这对让区块链足够紧凑、能在当今技术条件下实际使用至关重要,因为它的签名比 RSA 小一个数量级。但 EC-DSA 不能像 RSA 那样加密消息,只能用来验证签名。

I badly wanted to find some way to include a comment with indirect transfers, but there just wasn't a way to do it. Bitcoin uses EC-DSA, which was essential for making the block chain compact enough to be practical with today's technology because its signatures are an order of magnitude smaller than RSA. But EC-DSA can't encrypt messages like RSA, it can only be used to verify signatures.

“已生成(未接受)”通常发生在两个节点几乎同时找到区块时,其中一个不会被接受。这是正常而且无法避免的。我计划在 v0.1.6 中隐藏这些条目,因为它们只会令人困惑和烦恼,用户没有必要看见。在网络像现在这样规模仍小时,如果你不能接受入站连接,就会更吃亏,因为你无法那么直接地收到区块公告。

The "Generated (not accepted)" normally happens if two nodes find a block at close to the same time, one of them will not be accepted. It's normal and unavoidable. I plan in v0.1.6 to hide those, since they're just confusing and annoying and there's no reason for users to have to see them. While the network is still small like it is now, if you can't receive incoming connections you're at more of a disadvantage because you can't receive block announcements as directly.

问答汇编中的引文Dustin D. Trammell来源 ↗

……到目前为止,出现了两条“已生成”消息,但它们的“收入”栏都是 0.00,余额也没有变化。这是因为币要有效,就必须达到规定的年龄或成熟期吗?

...So far it has two "Generated" messages, however the "Credit" field for those is 0.00 and the balance hasn't changed. Is this due to the age/maturity requirement for a coin to be valid?

对,收入栏在成熟之前一直是 0.00,成熟后就会变为 50.00。顺便说一下,你可以双击一行查看详情。

Right, the credit field stays 0.00 until it matures, then it'll be 50.00. BTW, you can doubleclick on a line for details.

问答汇编中的引文Mike Hearn来源 ↗

……如果我理解正确,只有一条(或者几条)全局链,所有交易都通过哈希纳入其中。如果只有一条链记录所谓“经济的故事”,它如何扩展?假设在全世界部署,每小时就会有数百万乃至数十亿笔交易通过哈希纳入链中……

...understand correctly, there is only one (or maybe a few) global chain[s] into which all transactions are hashed. If there is only one chain recording "the story of the economy" so to speak, how does this scale? In an imaginary planet-wide deployment there would be millions of even billions of transactions per hour being hashed into the chain...

……我觉得激励那一节很难理解。尤其是,我不清楚,是由什么触发了从为了铸造新币而运行节点,转变为收取手续费(BitCoin 的目的,不就是在很大程度上消除交易成本吗?)。想必有某个人掌管着系统……

...I found the section on incentives hard to follow. In particular, I'm not clear on what triggers the transition from minting new coins as a reason to run a node, to charging transaction fees (isn't the point of BitCoin largely to zero transaction costs anyway?). Presumably there's some human in charge of the system...

……你如何决定 v1 的通胀时间表?2100 万个币是怎么来的?这些币是什么面额?你提到了合并和拆分价值的方法,但我不清楚它如何工作。例如,比特币总是以整数为单位,还是可以有不足一个的比特币?……

...How did you decide on the inflation schedule for v1? Where did 21 million coins come from? What denominations are these coins? You mention a way to combine and split value but I'm not clear on how this works. For instance are bitcoins always denominated by an integer or can you have fractional bitcoins?...

……我很少遇到真正革命性的想法。上次让我对一种新货币方案如此兴奋,还是发现 Ripple 的时候。如果你对 Ripple 有什么看法,我也很想听听。

...it's rare that I encounter truly revolutionary ideas. The last time I was this excited about a new monetary scheme was when I discovered Ripple. If you have any thoughts on Ripple, I'd also love to hear them.

全世界只有一条链。

There is only one global chain.

现有的 Visa 信用卡网络,每天在全球处理约 1500 万笔网上购物。凭借现有硬件,比特币已经可以扩展到远超这个规模,而成本只需其中一小部分。它实际上不会碰到规模上限。如果你有兴趣,我可以详细说明它如何应对极大的规模。

The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling. If you're interested, I can go over the ways it would cope with extreme size.

根据摩尔定律,我们可以预期硬件速度在 5 年后变为 10 倍,在 10 年后变为 100 倍。即使比特币以疯狂的速度普及,我也认为计算机速度的增长会超过交易数量的增长。

By Moore's Law, we can expect hardware speed to be 10 times faster in 5 years and 100 times faster in 10. Even if Bitcoin grows at crazy adoption rates, I think computer speeds will stay ahead of the number of transactions.

我预计近期不需要手续费,但如果运行节点的负担变得过重,就可以运行一种只处理附带手续费的交易的节点。节点所有者自行决定能接受的最低手续费。目前,这样的节点什么也赚不到,因为没人附带手续费;但如果足够多的节点这么做,用户附带手续费就会更快得到接受,不附带则会更慢。市场最终确定的手续费应该很低。如果一个节点要求更高手续费,就会放弃所有手续费更低的交易。尽可能处理更多付费交易,它就能增加业务量,也可能赚得更多。不过,这个转变不是由某个掌管系统的人控制的,而是个人各自对市场力量作出反应。

I don't anticipate that fees will be needed anytime soon, but if it becomes too burdensome to run a node, it is possible to run a node that only processes transactions that include a transaction fee. The owner of the node would decide the minimum fee they'll accept. Right now, such a node would get nothing, because nobody includes a fee, but if enough nodes did that, then users would get faster acceptance if they include a fee, or slower if they don't. The fee the market would settle on should be minimal. If a node requires a higher fee, that node would be passing up all transactions with lower fees. It could do more volume and probably make more money by processing as many paying transactions as it can. The transition is not controlled by some human in charge of the system though, just individuals reacting on their own to market forces.

比特币的一个关键特点是,网络的安全性会随着网络规模和需要保护的价值增加而增强。缺点是,它在起步阶段规模很小时容易受到攻击,不过,能够偷走的价值应该始终低于行窃所需付出的代价。如果有人出于其他动机,想证明某一点,那他们证明的也只是我已经承认的一点。

A key aspect of Bitcoin is that the security of the network grows as the size of the network and the amount of value that needs to be protected grows. The down side is that it's vulnerable at the beginning when it's small, although the value that could be stolen should always be smaller than the amount of effort required to steal it. If someone has other motives to prove a point, they'll just be proving a point I already concede.

币的数量和发行时间表,是我根据已有认识作出的估计。这是个艰难的选择,因为网络一旦开始运行,规则就固定下来,我们只能接受它。我想选一个能让价格与现有货币类似的方案,但不知道未来,这很难做到。最后,我选了一个折中的方案。如果比特币一直是小众事物,每单位的价值就会低于现有货币。如果设想它被用于世界商业活动的一部分,那么全世界只有 2100 万个币,每单位价值就会高得多。金额用 64 位整数表示,保留 8 位小数,所以 1 个币在内部表示为 100000000。如果通常的价格变得很小,仍有足够细的精度。例如,如果 0.001 值 1 欧元,改变小数点的显示位置可能更方便:你如果有 1 个比特币,就显示为 1000,而 0.001 则显示为 1。

My choice for the number of coins and distribution schedule was an educated guess. It was a difficult choice, because once the network is going it's locked in and we're stuck with it. I wanted to pick something that would make prices similar to existing currencies, but without knowing the future, that's very hard. I ended up picking something in the middle. If Bitcoin remains a small niche, it'll be worth less per unit than existing currencies. If you imagine it being used for some fraction of world commerce, then there's only going to be 21 million coins for the whole world, so it would be worth much more per unit. Values are 64-bit integers with 8 decimal places, so 1 coin is represented internally as 100000000. There's plenty of granularity if typical prices become small. For example, if 0.001 is worth 1 Euro, then it might be easier to change where the decimal point is displayed, so if you had 1 Bitcoin it's now displayed as 1000, and 0.001 is displayed as 1.

Ripple 很有意思,因为除了比特币,它是唯一没有把信任集中到中央服务器、而是对信任采取其他处理方式的系统。

Ripple is interesting in that it's the only other system that does something with trust besides concentrate it into a central server.

Satoshi

Satoshi

问答汇编中的引文Mike Hearn来源 ↗

如果我们认为 0.1% 是可以接受的风险率,那么 z=5,因此任何交易都必须等待将近一小时,才能在链中确定下来。用于网页内容或虚拟商品等的微支付,顾名思义就需要很低的额外负担,等一小时似乎是个相当大的障碍。

If we assume that 0.1% is a good risk rate, then z=5 thus any transaction must wait a bit less than an hour before being solidified in the chain. As micropayments for things like web content or virtual goods are by definition something that requires low overhead, waiting an hour seems like quite a significant hurdle.

计算实际风险时,要把 0.1% 乘以买家是一个拥有庞大计算机网络的攻击者的概率。

For the actual risk, multiply the 0.1% by the probability that the buyer is an attacker with a huge network of computers.

对于微支付,你可以安全地立即接受付款。金额太小,不值得费力去偷。微支付几乎总是购买知识产权,商家不会有实物损失。试图偷取微支付的人,无论如何大概都不会成为付费客户;而且,如果他们想窃取知识产权,可以使用文件共享网络。

For micropayments, you can safely accept the payment immediately. The size of the payment is too small for the effort to steal it. Micropayments are almost always for intellectual property, where there's no physical loss to the merchant. Anyone trying to steal a micropayment would probably not be a paying customer anyway, and if they want to steal intellectual property they can use the file sharing networks.

目前,商家会接受一定比例的坏账。我相信,即使只有 1 个、甚至 0 个确认区块,风险也会远低于已验证信用卡交易的拒付率。

Currently, businesses accept a certain chargeoff rate. I believe the risk with 1 or even 0 confirming blocks will be much less than the rate of chargebacks on verified credit card transactions.

对不等待确认区块的商家,常见的骗局会是先向商家付款,然后赶在商家的交易副本之前,迅速尝试向网络传播一笔双重支付。商家可以广播自己的交易,再监测网络中是否出现任何双重支付副本。窃贼无法在监测期间广播,否则商家的节点就会收到副本。商家只需监测一两分钟,直到大多数网络节点拥有自己的版本,而窃贼的版本已经来不及追上并传遍大量节点。只延迟一两分钟,就能把不付款而得手的概率压低到不足以值得诈骗的程度。窃贼通常需要很高的概率免费拿到商品,才值得做。除了上述骗局,再投入大量 CPU 算力进行论文中讨论的暴力攻击,也不会显著增加窃贼的胜算。

The usual scam against a merchant that doesn't wait for confirming blocks would be to send a payment to a merchant, then quickly try to propagate a double-spend to the network before the merchant's copy. What the merchant can do is broadcast his transaction and then monitor the network for any double-spend copies. The thief would not be able to broadcast during the monitoring period or else the merchant's node would receive a copy. The merchant would only have to monitor for a minute or two until most of the network nodes have his version and it's too late for the thief's version to catch up and reach many nodes. With just a minute or two delay, the chance of getting away without paying could be made much too low to scam. A thief usually needs a high probability of getting an item for free to make it worthwhile. Using a lot of CPU power to do the brute force attack discussed in the paper in addition to the above scam would not increase the thief's chances very much.

凡是授予某种访问权限的东西,例如需要一段时间才能下载的内容、网站访问、虚拟主机、订阅或服务,都可以在几分钟后交易被拒绝时取消。

Anything that grants access to something, like something that takes a while to download, access to a website, web hosting, a subscription or service, can be cancelled a few minutes later if the transaction is rejected.

问答汇编中的引文Mike Hearn来源 ↗

每个区块所要求的难度,是如何在网络中传播并达成一致的?

How is the required difficulty of each block communicated through the network and agreed upon?

它不需要传播。公式硬编码在程序里,每个节点都进行相同的计算,从而知道下一个区块要求的难度。如果有人偏离公式,他的区块就不会被大多数节点接受。

It's not communicated. The formula is hardcoded in the program and every node does the same calculation to know what difficulty is required for the next block. If someone diverged from the formula, their block would not be accepted by the majority.

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

代码是自由/开源的,还是仅仅开源?

Is the code free/open source or just open source?

它是自由开源的。采用 MIT 许可证,只要求在源代码中保留一些免责声明文字,除此之外,你几乎可以随意使用。源代码包含在主下载包里。

It's free open source. It's the MIT license, which just requires some disclaimer text be kept with the source code, other than that you can do just about anything you want with it. The source is included in the main download.

Satoshi

Satoshi

问答汇编中的引文Mike Hearn来源 ↗

有没有办法获知新版本?应用会自动更新吗?有个邮件列表之类的就太好了。

Is there a way to be told of new versions? Does the app auto update itself? Some kind of mailing list would be excellent.

我会一直在那里公告新版本。自动更新,或者至少通知新版本,肯定在计划之中。

I'll always announce new versions there. Automatic update, or at least notification of new versions, is definitely on the list.

[这段通胀讨论发生在手续费机制和固定发行 2100 万个币的计划公布之前,因此如今可能已经不太适用了]

[this inflation discussion was before the transaction fee mechanism and fixed plan of 21 million coins was posted, so it may not be as applicable anymore]

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

既然可以免费创造它们(或者成本只是人们原本就因其他原因拥有的计算能力),那么把它们货币化,就等于白送钱。

Since they can be created for free (or at the cost of computer power people have anyway for other reasons), monetizing them means simply giving away money.

你仍然在假设难度会低到让人们想生成多少比特币就生成多少。

You're still thinking as if the difficulty level will be so easy that people will be able to generate all the bitcoins they want.

设想一下,你必须让电脑全天候运行一个月,才能生成 1 分。一年后,你能生成 12 分。这不会让人们想生成多少比特币拿去花,就生成多少。

Imagine you have to run your computer 24/7 for a month to generate 1 cent. After a year, you could generate 12 cents. That's not going to make it so people can just generate all the bitcoin they want for spending.

比特币的价值会与生成它们消耗的电力相关。所有现代 CPU 在空闲时都会节电。如果你全天候运行计算任务,不让它空闲,它的耗电量会显著增加,你也会注意到它产生更多热量。额外消耗的电力会直接体现在电费账单上,而你生成的比特币的价值,会比这个数额低一些。

The value of bitcoins would be relative to the electricity consumed to produce them. All modern CPUs save power when they're idle. If you run a computational task 24/7, not letting it idle, it uses significantly more power, and you'll notice it generates more heat. The extra wattage consumed goes straight to your power bill, and the value of the bitcoins you produce would be something less than that.

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

既然他们靠生成新币就能赚钱,为什么还要那么做?

Why would they, when they make money by generating new ones

不,他们不能靠这种方式赚钱。他们付的电费会比卖出这些比特币得到的钱更多。

No, they can't make money that way. It would cost them more in electricity than they'd be selling the bitcoins for.

历史上,人们曾把稀缺商品当作货币,必要时就用手边的东西,例如贝壳或石头。每种东西都有一点实际用途,帮助这个过程起步,但货币价值最终远高于单纯的功能价值。大部分价值来自其他人赋予它的价值。例如,黄金美观、不易腐蚀、容易塑形,但它的大部分价值显然不是由此而来。黄铜也有光泽,颜色也相似。绝大多数黄金闲置在金库中,归那些根本不在乎它是否美观的政府所有。

Historically, people have taken up scarce commodities as money, if necessary taking up whatever is at hand, such as shells or stones. Each has a kernel of usefulness that helped bootstrap the process, but the monetary value ends up being much more than the functional value alone. Most of the value comes from the value that others place in it. Gold, for instance, is pretty, non-corrosive and easily malleable, but most of its value is clearly not from that. Brass is shiny and similar in colour. The vast majority of gold sits unused in vaults, owned by governments that could care less about its prettiness.

在此之前,还不存在一种稀缺商品,可以不经过可信第三方,直接通过通信渠道交易。如果人们想采用一种无需可信第三方就能在互联网上交易的货币,那么现在,这已经可以做到了。

Until now, no scarce commodity that can be traded over a communications channel without a trusted third party has been available. If there is a desire to take up a form of money that can be traded over the Internet without a TTP, then now that is possible.

Satoshi

Satoshi

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

随着更强大的计算机硬件出现,每个用户的自然供应量会在摩尔定律的每个周期翻倍。

As more capable computer hardware comes out, the natural supply per user doubles at every cycle of Moore's law.

实际上,这已经处理了。系统使用一个移动平均值,对投入的总计算量作出调整,使总产量保持不变。随着电脑变强,难度也会提高,作为补偿。

Actually, that is handled. There's a moving average that compensates for the total effort being expended so that the total production is a constant. As computers get more powerful, the difficulty increases to compensate.

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

我不记得经济史上有哪一种自然供应量不断增长的商品曾被当作货币。

I do not recall any economic history of a commodity subject to natural inflation ever being used as money

黄金就是一个。黄金供应量每年增加约 2%-3%。任何法币的平均通胀率,通常都比这高。

There's gold for one. The supply of gold increases by about 2%-3% per year. Any fiat currency typically averages more inflation than that.

问答汇编中的提问(原存档未具名)提问者未具名来源 ↗

随着电脑变快、能更快求解工作量证明问题,难道不会出现大规模通胀吗?

Won't there be massive inflation as computers get faster and are able to solve the proof-of-work problem faster?

难度由一个移动平均值控制,它会对投入的总计算量作出调整,使总产量保持不变。随着电脑变强,难度也会提高,作为补偿。

The difficulty is controlled by a moving average that compensates for the total effort being expended to keep the total production constant. As computers get more powerful, the difficulty increases to compensate.

问答汇编中的引文Ray Dillinger来源 ↗

如果有人进行双重支付,交易记录就可以解除盲化,揭露作弊者的身份吗?

If someone double spends, then the transaction record can be unblinded revealing the identity of the cheater?

系统不使用身份,也不依赖事后追索。全都靠事前防止。

Identities are not used, and there's no reliance on recourse. It's all prevention.

问答汇编中的引文Ray Dillinger来源 ↗

……你的意思是,根本不尝试识别并排除不合作的节点?我怀疑这会带来麻烦,甚至可能导致 DOS 攻击。

...You're saying there's no effort to identify and exclude nodes that don't cooperate? I suspect this will lead to trouble and possible DOS attacks.

系统不依赖识别任何人。正如你说的,这没有意义,用马甲身份就能轻易绕过。

There is no reliance on identifying anyone. As you've said, it's futile and can be trivially defeated with sock puppets.

证明某个人是真实参与者的凭据,是提供 CPU 算力的能力。

The credential that establishes someone as real is the ability to supply CPU power.

问答汇编中的引文Ray Dillinger来源 ↗

但在没有身份的情况下,如果他们已经拿到了通过双重支付换来的商品(网站访问、下载,或其他东西),那么即使支付无效,对他们也没有坏处。商家只会拿着“无效”的币吃亏,除非他们等上那神奇的“几个区块”(而且他们怎么知道要几个?),再把付款人视为已经付款。

But in the absence of identity, there's no downside to them if spends become invalid, if they've already received the goods they double-spent for (access to website, download, whatever). The merchants are left holding the bag with "invalid" coins, unless they wait that magical "few blocks" (and how can they know how many?) before treating the spender as having paid.

消费者花了币,却要等一小时结算后才能得到所购买的东西,他们就不会使用它。商家发现币因为客户双重支付而无效,却又没办法向客户追收款项,他们也不会使用它。

The consumers won't do this if they spend their coin and it takes an hour to clear before they can do what they spent their coin on. The merchants won't do it if there's no way to charge back a customer when they find the that their coin is invalid because the customer has doublespent.

这是第 2 版要解决的问题。我相信,对于大多数应用,都能相当令人满意地解决。

This is a version 2 problem that I believe can be solved fairly satisfactorily for most applications.

竞争在于先让你的交易在网络中传播。想想 6 个自由度——传播是指数式的。大概只需 2 分钟,一笔交易就能传播得足够广,使后来起步的竞争者几乎不可能在第一笔交易覆盖整个网络前,抢到很多节点。在这 2 分钟里,商家的节点可以留意有没有双重支付交易。双重支付者无法把另一笔交易大规模发往全球,却不让商家收到,因此必须等一等才能开始。

The race is to spread your transaction on the network first. Think 6 degrees of freedom -- it spreads exponentially. It would only take something like 2 minutes for a transaction to spread widely enough that a competitor starting late would have little chance of grabbing very many nodes before the first one is overtaking the whole network. During those 2 minutes, the merchant's nodes can be watching for a double-spent transaction. The double-spender would not be able to blast his alternate transaction out to the world without the merchant getting it, so he has to wait before starting.

如果真正的交易到达了 90% 的节点,而双重支付交易到达了 10%,双重支付者就只有 10% 的机会不付款,有 90% 的可能仍然会花掉钱。对几乎任何商品来说,这都不值得骗子去做。

If the real transaction reaches 90% and the double-spent tx reaches 10%, the double-spender only gets a 10% chance of not paying, and 90% chance his money gets spent. For almost any type of goods, that's not going to be worth it for the scammer.

网站访问或下载等信息商品,无法作为赃物转卖。没人能靠偷取网站访问或下载权限谋生。要偷这些,他们可以去文件共享网络。对于大多数即时访问类产品,人们不会有很大的偷窃动机。

Information based goods like access to website or downloads are non-fencible. Nobody is going to be able to make a living off stealing access to websites or downloads. They can go to the file sharing networks to steal that. Most instant-access products aren't going to have a huge incentive to steal.

如果商家确实遇到偷窃问题,可以让客户等 2 分钟,或者等一封邮件,许多商家本来就这样做。如果真想优化,而且是个大文件下载,可以在交易被发现双重支付时,中途取消下载。如果是网站访问,通常先让客户访问 5 分钟,再在交易被拒绝时切断访问,也不是什么大问题。反正很多这样的网站都有免费试用。

If a merchant actually has a problem with theft, they can make the customer wait 2 minutes, or wait for something in e-mail, which many already do. If they really want to optimize, and it's a large download, they could cancel the download in the middle if the transaction comes back double-spent. If it's website access, typically it wouldn't be a big deal to let the customer have access for 5 minutes and then cut off access if it's rejected. Many such sites have a free trial anyway.

Satoshi

Satoshi

[回应一个关于规模的问题]

[in response to a question about scale]

考虑大规模运行时,可以用 100,000 个生成区块的节点作为大致规模。按今天的价格,一笔交易在整个网络传播两遍,总共会消耗价值 US$ 0.02 的带宽。实际中,许多节点用掉的只是分配带宽中多余的部分,或者某个较便宜骨干网络提供的不限量套餐。SPV 客户端可能有数百万个。它们的影响只在于产生多少交易。如果支付 1 或 2 美分手续费,就足以承担自身成本。我已经把代码写成,你可以自愿支付任意金额的手续费。当激励补贴最终逐步减少时,可能需要为交易附上由市场决定的手续费,确保节点及时处理。

100,000 block generating nodes is a good ballpark large-scale size to think about. Propagating a transaction across the whole network twice would consume a total of US$ 0.02 of bandwidth at today's prices. In practice, many would be burning off excess allocated bandwidth or unlimited plans with one of the cheaper backbones. There could be millions of SPV clients. They only matter in how many transactions they generate. If they pay 1 or 2 cents transaction fees, they pay for themselves. I've coded it so you can pay any optional amount of transaction fees you want. When the incentive subsidy eventually tapers off, it may be necessary to put a market-determined transaction fee on your transactions to make sure nodes process them promptly.

为了设想真正庞大的交易负载是什么样,我参考了现有的信用卡网络。我又找到一些关于网上购物交易数量的估算。全世界互联网的全部电子商务负载,大约是每天 1500 万笔交易。按每笔交易 1KB 计算,每个生成区块的节点每天需要 15GB 带宽,大约相当于两部 DVD 电影。即使采用今天的技术,看起来也做得到。

To think about what a really huge transaction load would look like, I look at the existing credit card network. I found some more estimates about how many transactions are online purchases. It's about 15 million tx per day for the entire e-commerce load of the Internet worldwide. At 1KB per transaction, that would be 15GB of bandwidth for each block generating node per day, or about two DVD movies worth. Seems do-able even with today's technology.

要记住,即使比特币以互联网企业那样的速度增长,也要多年后,才会占全部交易中一个可观的比例。我相信,硬件最近已经变得足够强大,能够处理大规模应用;但即使对此还有疑虑,等到真正需要时,带宽速度、价格、磁盘空间和计算能力,也都会改善很多。

Important to remember, even if Bitcoin caught on at dot-com rates of growth, it would still take years to become any substantial fraction of all transactions. I believe hardware has already recently become strong enough to handle large scale, but if there's any doubt about that, bandwidth speeds, prices, disk space and computing power will be much greater by the time it's needed.

Satoshi

Satoshi

问答汇编中的引文Dustin D. Trammell来源 ↗

我还有一个问题……是什么阻止拥有最多 CPU 算力的单个节点生成并保留大多数比特币?如果每个节点都独立工作,而其中一个明显比其他节点强大,那么这个节点难道不很可能比其他节点更早得出正确结果吗?算力不足的节点或许偶尔会走运,但如果它们在算力上有显著优势,我会预期大多数比特币都由最强大的节点生成。

One other question I had... What prevents the single node with the most CPU power from generating and retaining the majority of the BitCoins? If every node is working independently of all others, if one is significantly more powerful than the others, isn't it probable that this node will reach the proper conclusion before other nodes? An underpowered node may get lucky once in a while, but if they are at a significant horsepower advantage I would expect the majority of BitCoins to be generated by the most powerful node.

这不像赛车,某辆车速度快一倍,就总会赢。这里做的是一次不到一微秒的 SHA-256 计算,每次猜测都有独立的成功概率。每台电脑找到哈希碰撞的概率,与其 CPU 算力成线性正比。速度只有一半的电脑,得到的币也只有一半。

It's not like a race where if one car is twice as fast, it'll always win. It's an SHA-256 that takes less than a microsecond, and each guess has an independent chance of success. Each computer's chance of finding a hash collision is linearly proportional to it's CPU power. A computer that's half as fast would get half as many coins.

[关于应该备份什么的问题]

[question about what to backup]

文件位于“%appdata%\Bitcoin”,这就是要备份的目录。

The files are in "%appdata%\Bitcoin", that's the directory to backup.

%appdata% 采用各用户分别的访问权限。Firefox 等大多数新程序都把设置文件保存在那里,尽管 Microsoft 每发布一版 Windows 就更改目录名,而且路径里全是空格,长到超出屏幕,这些都很碍事。

%appdata% is per-user access privilege. Most new programs like Firefox store their settings files there, despite the headwind of Microsoft changing the directory name with every Windows release and being full of spaces and so long it runs off the screen.

[关于应该备份什么的问题]

[question about what to backup]

目录是“%appdata%\Bitcoin”里面有空格,所以需要引号 cd "%appdata%\bitcoin"

The directory is "%appdata%\Bitcoin" It has spaces in it so you need the quotes cd "%appdata%\bitcoin"

在 XP 上通常是: C:\Documents and Settings[username]\Application Data\Bitcoin

On XP it would typically be: C:\Documents and Settings[username]\Application Data\Bitcoin

备份整个目录。所有数据文件都在这个目录里。没有临时文件。

Backup that whole directory. All data files are in that directory. There are no temporary files.

[关于应该备份什么的问题]

[question about what to backup]

需要备份的关键文件是 wallet.dat。如果 Bitcoin 正在运行,就必须备份整个 %appdata%\bitcoin 目录,包括 database 子目录;但即使程序没有运行,始终备份整个目录,显然也让人更安心。

The crucial file to backup is wallet.dat. If bitcoin is running then you have to backup the whole %appdata%\bitcoin directory including the database subdirectory, but even if it's not running it certainly feels safer to always backup the whole directory.

不幸的是,数据库把文件命名为“log.0000000001”。对其他人来说,“log”意味着可以随便删;但对数据库人员来说,它意味着删了就会丢掉其他文件中的所有内容。我把它们放到 database 子目录里,尽量避免误伤。以后我会编写代码,在钱包每次变化后刷新日志,让 wallet.dat 几乎始终能独立安全地使用。

The database unfortunately names its files "log.0000000001". To the rest of the world, "log" means delete-at-will, but to database people it means delete-and-lose-everything-in-your-other-files. I tried to put them out of harm's way by putting them in the database subdirectory. Later I'll write code to flush the logs after every wallet change so wallet.dat will be standalone safe almost all the time.

问答汇编中的引文Dustin D. Trammell来源 ↗
引文中再次引用的中本聪旧信中本聪来源 ↗

你知道,我觉得 90 年代对此感兴趣的人多得多,但经过十多年基于可信第三方的系统(Digicash 等)接连失败,他们认为这件事已经没有希望了。我希望他们能看出区别:据我所知,这是我们第一次尝试一种不以信任为基础的系统。

You know, I think there were a lot more people interested in the 90's, but after more than a decade of failed Trusted Third Party based systems (Digicash, etc), they see it as a lost cause. I hope they can make the distinction that this is the first time I know of that we're trying a non-trust-based system.

是的,这就是最吸引我的特点。真正难的是让人们切实认可比特币的价值,使它成为货币。

Yea, that was the primary feature that caught my eye. The real trick will be to get people to actually value the Bitcoins so that they become currency.

Hal 有点提到,它可能被看成一种成功概率很低的投资。既然我们已经知道一种实现方法,不会在可信第三方临阵退缩时不可避免地被削弱,那么如果 10 年后我们仍没有以某种形式使用电子货币,我会很意外。

Hal sort of alluded to the possibility that it could be seen as a long-odds investment. I would be surprised if 10 years from now we're not using electronic currency in some way, now that we know a way to do it that won't inevitably get dumbed down when the trusted third party gets cold feet.

一旦起步,如果你能像往自动售货机里投币一样,轻松向网站支付几分钱,就会有很多应用。

Once it gets bootstrapped, there are so many applications if you could effortlessly pay a few cents to a website as easily as dropping coins in a vending machine.

[下面这部分后来引起了很大争议。人们对垃圾邮件解决方案,尤其是工作量证明,存在极深的成见。]

[this next bit turned out to be very controversial. there is extreme prejudice against spam solutions, especially proof-of-work.]

它现在已经可以用于付费发送电子邮件。发送对话框可以调整大小,你可以输入任意长度的消息。连接建立后,消息会直接发送。收件人双击交易,就能看到完整消息。如果某位名人收到的电子邮件多到读不完,但仍想让粉丝有办法联系自己,就可以运行 Bitcoin,并在网站上公布 IP 地址。“向这个 IP 上的优先热线发送 X 个比特币,我会亲自阅读消息。”

It can already be used for pay-to-send e-mail. The send dialog is resizeable and you can enter as long of a message as you like. It's sent directly when it connects. The recipient doubleclicks on the transaction to see the full message. If someone famous is getting more e-mail than they can read, but would still like to have a way for fans to contact them, they could set up Bitcoin and give out the IP address on their website. "Send X bitcoins to my priority hotline at this IP and I'll read the message personally."

需要让免费试用多一点工作量证明,以免影响付费订阅的订阅网站,可以对试用收取比特币。

Subscription sites that need some extra proof-of-work for their free trial so it doesn't cannibalize subscriptions could charge bitcoins for the trial.

[再说一次,我也不知道为什么要把这段放进来,因为最好避开关于垃圾邮件的主张。只要有人提出垃圾邮件解决方案,人们就会自动作出激烈的反对反应。]

[again, I don't know why I'm including this, as it's best to stay away from claims about spam. people automatically react violently against any suggestion of a spam solution.]

问答汇编中的引文Jonathan Thornburg来源 ↗

垃圾邮件发送者的僵尸网络可以轻而易举地突破按次付费发送的邮件过滤器(和往常一样,成本由僵尸网络控制者和垃圾邮件发送者以外的人承担)。

Spammer botnets could burn through pay-per-send email filters trivially (as usual, the costs would fall on people other than the botnet herders & spammers).

那你就可以建立按次付费发送的电子邮件地址,收集所有垃圾邮件付来的钱,赚取可观利润。你可以把这些钱卖回给僵尸网络不够大、无法自行生成货币的垃圾邮件发送者,帮助这种货币的价值起步。随着更多人发现这一点,他们会建立越来越多的假地址来收集它。等到《我如何靠利用垃圾邮件发送者致富,你也可以》这本书出版时,假地址就会多到让垃圾邮件发送者不得不放弃。

Then you could earn a nice profit by setting up pay-per-send e-mail addresses and collecting all the spam money. You could sell it back to spammers who don't have big enough botnets to generate their own, helping bootstrap the currency's value. As more people catch on, they'll set up more and more phony addresses to harvest it. By the time the book "How I got rich exploiting spammers and you can too" is coming out, there'll be too many fake addresses and the spammers will have to give up.

问答汇编中的引文Hal Finney来源 ↗
问答汇编中的引文Jonathan Thornburg来源 ↗
  • 垃圾邮件发送者的僵尸网络可以轻而易举地突破按次付费发送的邮件过滤器
  • Spammer botnets could burn through pay-per-send email filters trivially

如果工作量证明代币真的有用,尤其是成为货币,机器就不会再闲着。用户会期望电脑替自己赚钱(假设收入高于运行成本)。如果一台电脑的收益被僵尸网络偷走,主人会比现在更容易注意到,所以我们可以预期,在那样的世界里,用户会更努力地维护电脑,清除僵尸网络的感染。

If POW tokens do become useful, and especially if they become money, machines will no longer sit idle. Users will expect their computers to be earning them money (assuming the reward is greater than the cost to operate). A computer whose earnings are being stolen by a botnet will be more noticeable to its owner than is the case today, hence we might expect that in that world, users will work harder to maintain their computers and clean them of botnet infestations.

如果工作量证明代币有价值,还有一个因素会减少垃圾邮件:人们会有逐利动机,建立大量虚假邮箱,从垃圾邮件中收集工作量证明代币。实质上,他们是在反过来向垃圾邮件发送者发送垃圾邮件,使用自动邮箱收集对方的工作量证明,却不读消息。虚假邮箱与真人的比例可能变得太高,以至于发送垃圾邮件不再划算。

One more factor that would mitigate spam if POW tokens have value: there would be a profit motive for people to set up massive quantities of fake e-mail accounts to harvest POW tokens from spam. They'd essentially be reverse-spamming the spammers with automated mailboxes that collect their POW and don't read the message. The ratio of fake mailboxes to real people could become too high for spam to be cost effective.

这个过程本身就有可能最初确立工作量证明代币的价值,因为没有僵尸网络的垃圾邮件发送者,可以向收集者购买代币。虽然回购会暂时让更多垃圾邮件通过,但它只会加快这种适得其反的循环,最终让太多收集者从垃圾邮件发送者身上获利。

The process has the potential to establish the POW token's value in the first place, since spammers that don't have a botnet could buy tokens from harvesters. While the buying back would temporarily let more spam through, it would only hasten the self-defeating cycle leading to too many harvesters exploiting the spammers.

有趣的是,一个 e-gold 系统已经有一种叫作“撒尘”的垃圾信息。发送者转出一点点金粉,好在交易备注栏中放入垃圾信息。如果系统允许用户设置愿意接收的最低付款金额,或者至少设置能够附带消息的最低金额,用户就可以设定,收多少钱才愿意接收垃圾邮件。

Interestingly, one of the e-gold systems already has a form of spam called "dusting". Spammers send a tiny amount of gold dust in order to put a spam message in the transaction's comment field. If the system let users configure the minimum payment they're willing to receive, or at least the minimum that can have a message with it, users could set how much they're willing to get paid to receive spam.

问答汇编中的引文John Gilmore来源 ↗

我们最不需要的,就是在整个互联网上部署一个专门耗尽所有可用计算周期、消耗电力并产生二氧化碳的系统,只为了生成少量 bitbux,让电子邮件或垃圾邮件通过。

The last thing we need is to deploy a system designed to burn all available cycles, consuming electricity and generating carbon dioxide, all over the Internet, in order to produce small amounts of bitbux to get emails or spams through.

我们就不能把银行账户里的真金白银换成 bitbux—— 成本低廉,又不用交碳税吗?拜托?

Can't we just convert actual money in a bank account into bitbux -- cheaply and without a carbon tax? Please?

如果我们最终不得不在经济自由和节约资源之间作选择,那就太讽刺了。

Ironic if we end up having to choose between economic liberty and conservation.

不幸的是,工作量证明是我找到的唯一能让点对点电子现金在没有可信第三方的情况下运作的办法。即使我不把它顺便用来分配货币的初始发行,工作量证明对于协调网络和防止双重支付,仍然是根本所在。

Unfortunately, proof of work is the only solution I've found to make p2p e-cash work without a trusted third party. Even if I wasn't using it secondarily as a way to allocate the initial distribution of currency, PoW is fundamental to coordinating the network and preventing double-spending.

如果它发展到消耗大量能源的规模,我认为,比起它所取代的那些耗费大量人力和资源的传统银行业务,它仍然浪费得更少。银行收取数十亿费用,用来支付实体建筑、摩天大楼和垃圾邮件式的信用卡推销,而这里的成本会比那少一个数量级。

If it did grow to consume significant energy, I think it would still be less wasteful than the labour and resource intensive conventional banking activity it would replace. The cost would be an order of magnitude less than the billions in banking fees that pay for all those brick and mortar buildings, skyscrapers and junk mail credit card offers.

Satoshi

Satoshi

问答汇编中的引文Hal Finney来源 ↗

顺便说一下,我不记得我们是否谈过这个,但前几天有人提到了安全时间戳。你想要能够证明,某个文件在过去某个时间已经存在。在我看来,比特币堆叠的区块很适合做这个。

BTW I don't remember if we talked about this, but the other day some people were mentioning secure timestamping. You want to be able to prove that a certain document existed at a certain time in the past. Seems to me that bitcoin's stack of blocks would be perfect for this.

确实,比特币就是一个为交易服务的分布式安全时间戳服务器。只需几行代码,就能创建一笔交易,在其中加入任何需要加盖时间戳的内容的额外哈希。我应该加入一条命令,用这种方式给文件加盖时间戳。

Indeed, Bitcoin is a distributed secure timestamp server for transactions. A few lines of code could create a transaction with an extra hash in it of anything that needs to be timestamped. I should add a command to timestamp a file that way.

以下来自 p2presearch 上的一个讨论串,开头是我对信任的抱怨:信任是所有传统金融系统的根本弱点。 http://listcultures.org/pipermail/p2presearch_listcultures.org/2009-February/thread.html

From a thread on p2presearch which starts with my rant about trust being the root weakness of all conventional financial systems. http://listcultures.org/pipermail/p2presearch_listcultures.org/2009-February/thread.html

我开发了一种新的开源点对点电子现金系统,叫作 Bitcoin。它完全去中心化,没有中央服务器,也没有需要信任的参与方,因为一切都基于密码学证明,而不是信任。试试看,或者看看截图和设计论文:

I've developed a new open source P2P e-cash system called Bitcoin. It's completely decentralized, with no central server or trusted parties, because everything is based on crypto proof instead of trust. Give it a try, or take a look at the screenshots and design paper:

http://www.bitcoin.org 下载 Bitcoin v0.1

Download Bitcoin v0.1 at http://www.bitcoin.org

传统货币的根本问题,在于让它运作所必需的种种信任。我们必须相信中央银行不会让货币贬值,但法币的历史充满了对这种信任的背弃。我们必须相信银行会保管我们的钱,并以电子方式转账,但它们却一轮又一轮地把钱借出去,制造信贷泡沫,储备金只保留很少一部分。我们必须相信它们会保护我们的隐私,相信它们不会让身份窃贼掏空我们的账户。它们庞大的运营成本,使微支付无法实现。

The root problem with conventional currency is all the trust that's required to make it work. The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve. We have to trust them with our privacy, trust them not to let identity thieves drain our accounts. Their massive overhead costs make micropayments impossible.

上一代的多用户分时计算机系统也有类似问题。在强加密出现以前,用户必须依靠密码保护来保障文件安全,相信系统管理员会对自己的信息保密。管理员随时可以凭自己的判断,在隐私原则与其他考虑之间权衡,或者按照上级要求,越过隐私限制。后来,普通人也能使用强加密,信任就不再是必需的了。数据可以得到这样的保护:无论出于什么理由,借口多么充分,无论如何,其他人都无法从物理上访问它。

A generation ago, multi-user time-sharing computer systems had a similar problem. Before strong encryption, users had to rely on password protection to secure their files, placing trust in the system administrator to keep their information private. Privacy could always be overridden by the admin based on his judgment call weighing the principle of privacy against other concerns, or at the behest of his superiors. Then strong encryption became available to the masses, and trust was no longer required. Data could be secured in a way that was physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter what.

钱也该拥有同样的保护了。借助基于密码学证明的电子货币,无需信任第三方中间人,钱可以安全,交易可以轻松。

It's time we had the same thing for money. With e-currency based on cryptographic proof, without the need to trust a third party middleman, money can be secure and transactions effortless.

这种系统的基本组成部分之一是数字签名。数字币包含其所有者的公钥。要转移它,所有者将这个币与下一位所有者的公钥一起签名。任何人都能检查签名,验证所有权的传递链。这能很好地保障所有权,却留下一个大问题没有解决:双重支付。任何所有者都可能尝试把已经花掉的币再次签给另一个人,再花一次。通常的解决办法,是由一家可信公司通过中央数据库检查双重支付,但这又回到了信任模式。公司处于中心地位,就能凌驾于用户之上,而维持公司所需的费用又让微支付不切实际。

One of the fundamental building blocks for such a system is digital signatures. A digital coin contains the public key of its owner. To transfer it, the owner signs the coin together with the public key of the next owner. Anyone can check the signatures to verify the chain of ownership. It works well to secure ownership, but leaves one big problem unsolved: double-spending. Any owner could try to re-spend an already spent coin by signing it again to another owner. The usual solution is for a trusted company with a central database to check for double-spending, but that just gets back to the trust model. In its central position, the company can override the users, and the fees needed to support the company make micropayments impractical.

比特币的解决办法,是使用点对点网络检查双重支付。简单来说,网络像一个分布式时间戳服务器,为花费某个币的第一笔交易加盖时间戳。它利用了信息易于传播、难以压制的特性。工作原理的细节,请参阅设计论文: http://www.bitcoin.org/bitcoin.pdf

Bitcoin's solution is to use a peer-to-peer network to check for double-spending. In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle. For details on how it works, see the design paper at http://www.bitcoin.org/bitcoin.pdf

结果是一个没有单点故障的分布式系统。用户持有自己资金的密码学密钥,彼此直接交易,并由点对点网络帮助检查双重支付。

The result is a distributed system with no single point of failure. Users hold the crypto keys to their own money and transact directly with each other, with the help of the P2P network to check for double-spending.

Satoshi Nakamoto http://www.bitcoin.org

Satoshi Nakamoto http://www.bitcoin.org

问答汇编收录的来信Martien van Steenbergen来源 ↗

Martien van Steenbergen Martien at AardRock.COM Thu Feb 12 08:40:53 CET 2009

Martien van Steenbergen Martien at AardRock.COM Thu Feb 12 08:40:53 CET 2009

很有意思。这与 David Chaum 的匿名数字货币相似吗?他的构想能保证货币匿名,除非规则被破坏,也就是同一笔钱被花费多次。一旦出现这种情况,“造假者”就会立即被公开揭露。

Very interesting. Is this akin to David Chaum's anonymous digital money? His concept makes sure money is anonymous unless it is compromised, i.e. the same money spent more than once. As soon as it's compromised, the 'counterfeiter' is immediately publicly exposed.

另外,比特币的货币供应量是否有限(因而必须管理)?还是说,货币恰好在交易时创建?

Also, in bitcoin, is there a limited supply of money (that must be managed)? Or is money created exaclty at the moment of transaction?

祝成功、愉快,

Succes en plezier,

Martien。

Martien.

问答汇编中的引文Martien van Steenbergen来源 ↗

很有意思。这与 David Chaum 的匿名数字货币相似吗?他的构想能保证货币匿名,除非规则被破坏,也就是同一笔钱被花费多次。一旦出现这种情况,“造假者”就会立即被公开揭露。

Very interesting. Is this akin to David Chaum's anonymous digital money? His concept makes sure money is anonymous unless it is compromised, i.e. the same money spent more than once. As soon as it's compromised, the 'counterfeiter' is immediately publicly exposed.

相似之处在于,币都使用数字签名;不同之处在于保护隐私和防止双重支付的方法。比特币的收款人可以检查,这是否是第一次花费,第二次花费不会被接受。它没有一种离线模式,先允许双重支付,事后再揪出行为人并公开羞辱,因为那会要求参与者具有身份。

It's similar in that it uses digital signatures for coins, but different in the approach to privacy and preventing double-spending. The recipient of a Bitcoin payment is able to check whether it is the first spend or not, and second-spends are not accepted. There isn't an off-line mode where double-spenders are caught and shamed after the fact, because that would require participants to have identities.

为保护隐私,密钥对只使用一次,每笔交易都使用新的密钥对。谁持有一个币的私钥,谁就是它的所有者。

To protect privacy, key pairs are used only once, with a new one for every transaction. The owner of a coin is just whoever has its private key.

当然,最大的区别是没有中央服务器。这是 Chaum 式系统的致命弱点:中央公司关门,货币也就停止运作。

Of course, the biggest difference is the lack of a central server. That was the Achilles heel of Chaumian systems; when the central company shut down, so did the currency.

问答汇编中的引文Martien van Steenbergen来源 ↗

另外,比特币的货币供应量是否有限(因而必须管理)?还是说,货币恰好在交易时创建?

Also, in bitcoin, is there a limited supply of money (that must be managed)? Or is money created exaclty at the moment of transaction?

货币供应量有限。流通量将是 21,000,000 个币。交易只转移所有权。

There is a limited supply of money. Circulation will be 21,000,000 coins. Transactions only transfer ownership.

谢谢你的问题,

Thank you for your questions,

Satoshi

Satoshi

问答汇编中的引文Martien van Steenbergen来源 ↗

这让我想起:

Reminds me of:

* AardRock » Wizard Rabbit Treasurer
  <http://wiki.aardrock.com/Wizard_Rabbit_Treasurer>;以及
* AardRock » Pekunio <http://wiki.aardrock.com/Pekunio>
* AardRock » Wizard Rabbit Treasurer
  <http://wiki.aardrock.com/Wizard_Rabbit_Treasurer>; and
* AardRock » Pekunio <http://wiki.aardrock.com/Pekunio>

确实,在把每笔交易的冗余副本散发给网络中多个对等节点这一点上,它与 Pekunio 很相似,但实现方式并不是 Wizard Rabbit Treasurer 那样的信誉网络。事实上,比特币完全不使用信誉。它把网络看成一个大群体,并不太在乎自己与谁通信、谁告诉了它什么,只要其中至少有一个人转发正在网络中广播的信息就够了。它不在乎,是因为根本没办法对它撒谎。你要么给出某件事的密码学证明,要么它就忽略你。

Indeed, it is much like Pekunio in the concept of spraying redundant copies of every transaction to a number of peers on the network, but the implementation is not a reputation network like Wizard Rabbit Treasurer. In fact, Bitcoin does not use reputation at all. It sees the network as just a big crowd and doesn't much care who it talks to or who tells it something, as long as at least one of them relays the information being broadcast around the network. It doesn't care because there's no way to lie to it. Either you tell it crypto proof of something, or it ignores you.

问答汇编中的引文Martien van Steenbergen来源 ↗

你了解 Ripple 吗?

Are you familiar with Ripple?

就信任系统而言,Ripple 的独特之处,在于分散信任,而不是把信任集中起来。

As trust systems go, Ripple is unique in spreading trust around rather than concentrating it.

[至少还有 4 次,别人问过我“你听说过 Ripple 吗?”]

[I've been asked at least 4 other times "have you heard of Ripple?"]

问答汇编中的引文Michel Bauwens来源 ↗

你的项目运作到什么程度了?你觉得还要多久,人们才能在现实生活中使用它?

how operational is your project? how soon do you think people will be able to use it in real life?

它已经完全可以运作,网络也在增长。如果你试用软件,就把比特币地址通过电子邮件发给我,我会给你发送几个币。

It's fully operational and the network is growing. If you try the software, e-mail me your Bitcoin address and I'll send you a few coins.

我们只需要把消息传播出去,让更多人持续产生兴趣。

We just need to spread the word and keep getting more people interested.

这是最初在 Cryptography 邮件列表介绍论文的链接。(后来我为支持手续费和有限流通量计划作了修改,取代了之前的通胀问题讨论。这个链接所指的内容会变化:这个存档页只是显示往前一定天数的内容,讨论会不断往后滚动到下一页。) http://www.mail-archive.com/cryptography@metzdowd.com/mail3.html

Here's a link to the original introduction of the paper on the Cryptography mailing list. (Inflation issues were superseded by changes I made later to support transaction fees and the limited circulation plan. This link is a moving target, this archive page is just a certain number of days back and the discussion will keep scrolling off to the next page.) http://www.mail-archive.com/cryptography@metzdowd.com/mail3.html

A little follow up when the software was released. http://www.mail-archive.com/cryptography@metzdowd.com/mail2.html

我对比特币如何解决拜占庭将军问题的描述: http://www.bitcoin.org/byzantine.html

My description of how Bitcoin solves the Byzantine Generals' problem: http://www.bitcoin.org/byzantine.html

来源

阅读字号

选择适合你的字号,之后阅读会继续使用。