Skip to content

[p2p-research] 比特币:点对点货币的开源实现 ​

历史档案 / 镜像

打开历史存档
查看 1 个交叉存档

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

下载比特币 v0.1:http://www.bitcoin.org

传统货币的根本问题是,它的运作需要如此多的信任。人们必须信任中央银行不会让货币贬值,但法定货币的历史充满了对这种信任的背弃。人们必须信任银行保管我们的钱并以电子方式转账,但银行却在一轮信贷泡沫中把钱贷出去,手中只保留极少一部分准备金。我们必须把隐私托付给它们,信任它们不会让身份窃贼掏空我们的账户。它们巨大的运营开销使小额支付变得不可能。

一代人以前,多用户分时计算机系统也有类似问题。在强加密出现以前,用户必须依靠密码保护来保障文件安全,相信系统管理员会为他们的信息保密。管理员可以根据自己的判断,在隐私原则与其他顾虑之间权衡后,或应上级要求,随时推翻隐私保护。后来大众也能使用强加密了,信任便不再是必需的。数据可以得到保护,使他人在物理上不可能访问,无论出于什么理由,无论借口多么充分,无论如何都不行。

现在是时候让货币也拥有同样的东西了。使用基于密码学证明的电子货币,无需信任第三方中间人,资金可以安全,交易也可以轻松完成。

这种系统的基本构件之一是数字签名。一枚数字币包含其所有者的公钥。要转移它,所有者会对这枚币连同下一位所有者的公钥一起签名。任何人都可以检查签名,以验证所有权链。这对于保障所有权很有效,但留下了一个尚未解决的大问题:双重支付。任何所有者都可以再次签署一枚已经花掉的币,把它重新支付给另一位所有者。通常的解决办法是由一家拥有中央数据库的可信公司检查双重支付,但这又回到了信任模型。公司处于中心位置,可以推翻用户的决定,而维持公司所需的费用又使小额支付变得不切实际。

比特币的解决方案是使用点对点网络来检查双重支付。简而言之,网络像一个分布式时间戳服务器,为首次花费某枚货币的交易加盖时间戳。它利用了信息易于传播却难以压制这一性质。有关其工作方式的详情,请参阅设计论文:http://www.bitcoin.org/bitcoin.pdf

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

中本聪 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

为历史保存,为中文读者整理。每篇档案均附来源与英文原文。