原始文献 / 邮件 / [p2p-research] Bitcoin open source implementation of P2P currency

[p2p-research] Bitcoin open source implementation of P2P currency

P2P Research List · 2009-02-11 22:37:54 UTC

FromSatoshi Nakamoto
Subject[p2p-research] Bitcoin open source implementation of P2P currency
Date2009-02-11 22:37:54 UTC
ListP2P Research List · 原文

我开发了一个全新的开源 P2P 电子现金系统,叫 Bitcoin。它是完全去中心化的,没有中央服务器,也没有可信方,因为一切都建立在密码学证明而非信任之上。试用一下,或者看看截图和设计论文:

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

传统货币的根本问题在于让它运转所需的信任太多。中央银行必须被信任不会让货币贬值,但法定货币的历史充满了对这种信任的背叛。银行必须被信任来保管我们的钱并电子化转移它,但它们却在一波波信贷泡沫中放贷,准备金只有微不足道的一小部分。我们必须把隐私托付给它们,信任它们不会让身份窃贼掏空我们的账户。它们庞大的运营成本让微支付成为不可能。

一代人以前,多用户分时计算机系统也有类似的问题。在强加密出现之前,用户只能靠密码保护来保障文件安全,把隐私托付给系统管理员。管理员总能根据自己对隐私原则与其他关切的权衡、或其上级的要求,来凌驾于隐私之上。然后,强加密普及到了大众手中,信任不再是必需的。数据可以被保护到让他人在物理上无法访问的程度,无论出于什么原因、无论借口多么充分、无论如何。

是时候让货币也拥有同样的东西了。基于密码学证明的电子货币,不再需要信任第三方中间人,货币可以安全,交易可以轻松。

这类系统的基本构件之一是数字签名。一枚数字币包含其所有者的公钥。要转移它,所有者将这枚币与下一位所有者的公钥一起签名。任何人都可以检查签名来验证所有权链。它在保障所有权方面很有效,但留下一个大问题未解决:双重支付。任何所有者都可能把一枚已经花过的币再次签名给另一位所有者来重新花费。常规方案是由一家拥有中央数据库的可信公司来检查双重支付,但那又回到了信任模型。凭借其中心位置,该公司可以凌驾于用户之上,而维持该公司所需的费用让微支付变得不切实际。

Bitcoin 的解决方案是用点对点网络来检查双重支付。简而言之,网络像一台分布式时间戳服务器,给第一笔花费某枚币的交易盖上时间戳。它利用了信息易于传播、难以封杀的特性。工作原理详见设计论文:
http://www.bitcoin.org/bitcoin.pdf

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

Satoshi Nakamoto
http://www.bitcoin.org

英文原文

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:

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.

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