比特币:点对点电子现金论文
原始发布页
打开来源页面查看 1 个交叉存档
中本聪写道:
我一直在研究一种全新的电子现金系统,它完全是点对点的,不需要可信第三方。
我们非常、非常需要这样的系统,但按我对你方案的理解,它似乎无法扩展到所需的规模。
可转移的工作量证明代币要有价值,就必须具有货币价值。要有货币价值,它们就必须在一个非常庞大的网络中转移——例如类似 bittorrent 的文件交易网络。
为了及时发现并拒绝双重支付事件,必须掌握交易中这些币的大多数历史交易;如果朴素地实现,这就要求每个对等方拥有大多数历史交易,或者至少拥有最近发生的大多数历史交易。如果有数亿人在交易,那会产生很大的带宽需求——每个人必须知道全部交易,或其中相当大的一部分。
早在网络接近那种规模以前,用户就可以安全地使用简化支付验证(第 8 节)检查双重支付,这只需要拥有区块头链,也就是每天约 12KB。只有试图创建新币的人才需要运行网络节点。起初,大多数用户都会运行网络节点;但随着网络超过某个规模,就会越来越多地交给拥有专业硬件服务器群的专家。一个服务器群只需要一个节点接入网络,其余机器通过局域网连接到该节点。
所需带宽可能没有你想象中那么难以承受。典型交易约为 400 字节(ECC 十分紧凑)。每笔交易必须广播两次,所以算作 1KB 每笔。Visa 在 FY2008 处理了 370 亿笔交易,平均每天 1 亿笔。这样的交易量需要 100GB 带宽,相当于 12 张 DVD 或 2 部高清电影的大小,按当前价格约为 18 美元带宽费。
如果网络真能达到这么大规模,需要几年时间;到那时,在互联网上发送 2 部高清电影大概也不会再显得是什么大事。
中本聪
英文原文
展开英文原文
Satoshi Nakamoto wrote:
I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party.
The paper is available at: http://www.bitcoin.org/bitcoin.pdf
We very, very much need such a system, but the way I understand your proposal, it does not seem to scale to the required size.
For transferable proof of work tokens to have value, they must have monetary value. To have monetary value, they must be transferred within a very large network - for example a file trading network akin to bittorrent.
To detect and reject a double spending event in a timely manner, one must have most past transactions of the coins in the transaction, which, naively implemented, requires each peer to have most past transactions, or most past transactions that occurred recently. If hundreds of millions of people are doing transactions, that is a lot of bandwidth - each must know all, or a substantial part thereof.
Long before the network gets anywhere near as large as that, it would be safe for users to use Simplified Payment Verification (section 8) to check for double spending, which only requires having the chain of block headers, or about 12KB per day. Only people trying to create new coins would need to run network nodes. At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. A server farm would only need to have one node on the network and the rest of the LAN connects with that one node.
The bandwidth might not be as prohibitive as you think. A typical transaction would be about 400 bytes (ECC is nicely compact). Each transaction has to be broadcast twice, so lets say 1KB per transaction. Visa processed 37 billion transactions in FY2008, or an average of 100 million transactions per day. That many transactions would take 100GB of bandwidth, or the size of 12 DVD or 2 HD quality movies, or about $18 worth of bandwidth at current prices.
If the network were to get that big, it would take several years, and by then, sending 2 HD movies over the Internet would probably not seem like a big deal.
Satoshi Nakamoto