SN-10050 附来源、原文与上下文。
你好,中本聪:
Hi Satoshi,
我很感兴趣地读了你的比特币论文。不过,我觉得有些地方不太好懂——如果你能给出一些例子,可能会更容易理解。
I read your paper on BitCoin with great interest. I found it a bit confusing though - I believe it may be easier to follow if you provide some examples.
具体来说,我不太清楚区块里包含什么。如果我理解正确,所有交易都会被哈希进一条(或者几条)全局链。如果只有一条链,可以说它记录了‘整个经济的历史’,那要怎样扩展规模呢?假设在全球范围内使用,每小时就会有数百万甚至数十亿笔交易被哈希进这条链。我知道每份工作量证明可以把很多交易装进一个区块,但这仍然意味着要对大量数据做哈希计算。如果有多条链,交易又该如何分配,才能让攻击者依然难以压倒网络?例如,如果有 10 条全局链,攻破系统所需的 CPU 算力就只有原来的 10%。
Specifically, it's not quite clear to me what blocks contain. If I 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. I realize that each PoW can wrap many transactions in one block, nonetheless, that's a large amount of data to hash. If there are many chains, how are transactions assigned to each chain such that it is still difficult to overpower the network? Eg, if there are 10 global chains, the amount of cpu power you need to beat the system is only 10% of what it was previously.
我也想知道,‘1 个核心 = 1 票’这个假设是否可靠。如果大多数节点都运行在普通电脑上,攻击者似乎很可能通过 FPGA 或定制 ASIC 获得明显更高的性能。你怎么看用专用硬件超越这条链的可能性?
I also wonder if the assumption of 1 core = 1 vote is sound. If the majority of nodes are on standard computers, it seems likely that an attacker could use FPGA or custom ASICs to get significantly better performance. What are your thoughts on using custom hardware to beat the chain?
激励那一节我读起来有些困难。特别是,我不清楚是什么触发了运行节点的理由从铸造新币转向收取手续费(比特币的主要意义之一,不就是把交易成本降到零吗?)。我猜系统里有某个人负责管理——例如,你以某种方式决定 2400 万枚币是合适的数量,然后分发某种规则文件,规定‘在这个时间戳之后铸造的币,必须有 N+1 个零比特的前缀’,再由诚实节点执行这些规则。
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 - eg, you decided somehow that 24 million coins was a good number to have, and would distribute some kind of rules file saying "coins minted after this timestamp must have an N+1 zero bits prefix", which honest nodes enforce.
你是怎样决定 v1 的通胀安排的?2400 万枚币这个数字是怎么来的?这些币有哪些面额?你提到了拆分和合并价值的方法,但我还不清楚它如何运作。例如,比特币的数量总是整数,还是也可以有不足一枚的比特币?
How did you decide on the inflation schedule for v1? Where did 24 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 有什么看法,我也很想听听。
So many questions :) But 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.
谢谢——mike
thanks -mike
Mike,你好,
Hi Mike,
我很乐意回答你的任何问题。如果有时间,我应该写一份常见问题解答,作为论文的补充。
I'm glad to answer any questions you have. If I get time, I ought to write a FAQ to supplement the paper.
全世界只有一条链。
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.
最终,大多数节点可能由配备多张 GPU 显卡的专业人士运行。目前,任何有 PC 的人都可以参与,而不用担心自己用的是什么显卡,这很好,希望还能保持一段时间。如今,越来越多电脑出厂时都配有相当不错的 GPU,所以也许以后我们会转向那种方式。
Eventually, most nodes may be run by specialists with multiple GPU cards. For now, it's nice that anyone with a PC can play without worrying about what video card they have, and hopefully it'll stay that way for a while. More computers are shipping with fairly decent GPUs these days, so maybe later we'll transition to that.
比特币的一个关键特点是,网络的安全性会随着网络规模和需要保护的价值增加而增强。缺点是,它在起步阶段规模很小时容易受到攻击,不过,能够偷走的价值应该始终低于行窃所需付出的代价。如果有人出于其他动机,想证明某一点,那他们证明的也只是我已经承认的一点。
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